Ticket #3710 (closed bug: fixed)

Opened 11 months ago

Last modified 8 months ago

Tracker crashes with BColumnTitle::Draw

Reported by: PieterPanman Owned by: aldeck
Priority: normal Milestone: R1
Component: Applications/Tracker Version: R1/pre-alpha1
Keywords: Cc: planche2k@…
Blocked By: Platform: All
Blocking: #3642, #3914, #4038

Description

Tracker crashed when I was switching workspaces, but I think I've seen this before. Not sure if it is related to switching workspaces. Revision 29884.

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-pc-haiku"...(no debugging symbols found)

[tcsetpgrp failed in terminal_inferior: Invalid Argument]
Thread 1208 caused an exception: Segment violation
Reading symbols from /boot/system/runtime_loader...done.
Loaded symbols for /boot/system/runtime_loader
Reading symbols from /boot/system/lib/libbe.so...done.
Loaded symbols for /boot/system/lib/libbe.so
Reading symbols from /boot/system/lib/libtracker.so...done.
Loaded symbols for /boot/system/lib/libtracker.so
Reading symbols from /boot/system/lib/libroot.so...done.
Loaded symbols for /boot/system/lib/libroot.so
Reading symbols from /boot/system/lib/libstdc++.r4.so...done.
Loaded symbols for /boot/system/lib/libstdc++.r4.so
Reading symbols from /boot/system/lib/libtranslation.so...done.
Loaded symbols for /boot/system/lib/libtranslation.so
Reading symbols from /boot/system/lib/libtextencoding.so...done.
Loaded symbols for /boot/system/lib/libtextencoding.so
Reading symbols from /boot/system/lib/libiconv.so...done.
Loaded symbols for /boot/system/lib/libiconv.so
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/system/Tracker (100) thread w>/boot/home/projects/TestOutli (1208)]
0x003d0ff2 in BString::BString () from /boot/system/lib/libbe.so
(gdb) bt
#0  0x003d0ff2 in BString::BString () from /boot/system/lib/libbe.so
#1  0x005d0ddc in BPrivate::BColumnTitle::Draw ()
   from /boot/system/lib/libtracker.so
#2  0x005d0166 in BPrivate::BTitleView::Draw ()
   from /boot/system/lib/libtracker.so
#3  0x005cfdb9 in BPrivate::BTitleView::Draw ()
   from /boot/system/lib/libtracker.so
#4  0x0036d354 in BView::_Draw () from /boot/system/lib/libbe.so
#5  0x00371c39 in BWindow::DispatchMessage () from /boot/system/lib/libbe.so
#6  0x00375808 in BWindow::task_looper () from /boot/system/lib/libbe.so
#7  0x002b8e83 in BLooper::_task0_ () from /boot/system/lib/libbe.so
#8  0x0067dcd8 in thread_entry () from /boot/system/lib/libroot.so
#9  0x7003ffec in ?? ()
(gdb) 

Attachments

trackercrash2 Download (2.3 KB) - added by PieterPanman 11 months ago.
Hmm again after a workspace change, but I cannot reproduce it at will
trackercrashed_when_changing_workspaces_via_ALT.txt Download (4.6 KB) - added by Disreali 10 months ago.

Change History

Changed 11 months ago by PieterPanman

Hmm again after a workspace change, but I cannot reproduce it at will

Changed 10 months ago by Disreali

  Changed 10 months ago by Disreali

Also experiencing this issue. Not able to reproduce consistently. bt attached

  Changed 9 months ago by mmlr

  • blocking 4038 added

(In #4038) Duplicate of #3710.

follow-up: ↓ 4   Changed 9 months ago by mmlr

  • blocking 3914 added

(In #3914) That's another duplicate of #3710 actually.

in reply to: ↑ 3   Changed 9 months ago by andreasf

  • cc planche2k@… added

Same cause probably, but it's definitely not (just) related to switching workspaces.

  Changed 8 months ago by aldeck

Has anyone found a reproducible case? If not, can you give more details about what you where doing (and compiler/smp)? Also looked at descriptions of #4038 and #3914. I tried hard but i'm still unable to reproduce here with r31316 gcc2 4cpus.

  Changed 8 months ago by mmlr

I think it has to do with the column state. It usually happens when opening a folder on a read-only volume from an old BeOS installation (with the old column info attribute format) or when opening a freshly unzipped folder (with no column info attributes at all). I think it comes up when no column state is present yet. Opening works, but then when the columns should get invalidated it crashes (most probably because of accessing a deleted BString). It might be more easily visible with single window browse enabled.

  Changed 8 months ago by aldeck

Thanks Michael, i tried the different things you suggested (during the last two hours:)), but unfortunately, except a minor redrawing glitch in one of my tests, i didn't encounter the crash. Other ideas? To the ones that witnessed the bug, anything related to what mmlr suggested?

  Changed 8 months ago by PieterPanman

Unfortunately the laptop I've experienced this bug on is now full with windows and fedora, and I cannot boot Haiku from USB stick (hangs after USB handover I believe). So at the moment I cannot do much to help. I've ordered a larger drive for the laptop, I'll leave some space for Haiku on it. (320G should help :)) My laptop is a compal IFL90, with a santa rosa chipset and core 2 duo processor, always on smp, 2G memory. I've had it intermittently, not always on workspace switching, but most of the time.

  Changed 8 months ago by aldeck

  • owner changed from axeld to aldeck
  • status changed from new to assigned

Ok, it's still hard to get it but now i managed to reproduce it a few times when switching workspaces with a folder open of a read-only r5 partition. Not that great but that should be enough to start working on it. Better/simpler test cases are still welcome :)

  Changed 8 months ago by axeld

I would assume that this is a binary compatibility problem of a changed flattened column format.

  Changed 8 months ago by aldeck

  • status changed from assigned to closed
  • resolution set to fixed

Fixed in r31378

It ended up being a single window navigation issue, that would happen only under certain conditions, see commit log.

For reference, here is the test case (100% reproducible) that i used after understanding the problem:

1) switch to single window navigation mode.

in any folder, add an additional attribute column
create a new sub folder
navigate immediately into it
trigger an invalidation on the column title bar (moving a window over it, or switching workspaces)

  Changed 7 months ago by aldeck

  • blocking 3642 added
Note: See TracTickets for help on using tickets.