Opened 11 years ago

Closed 10 years ago

#3710 closed bug (fixed)

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: Blocking: #3642, #3914, #4038
Has a Patch: no Platform: All

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 (2)

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

Download all attachments as: .zip

Change History (14)

by PieterPanman, 11 years ago

Attachment: trackercrash2 added

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

comment:1 by Disreali, 10 years ago

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

comment:2 by mmlr, 10 years ago

Blocking: 4038 added

(In #4038) Duplicate of #3710.

comment:3 by mmlr, 10 years ago

Blocking: 3914 added

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

in reply to:  3 comment:4 by andreasf, 10 years ago

Cc: planche2k@… added

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

comment:5 by aldeck, 10 years ago

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 hrev31316 gcc2 4cpus.

comment:6 by mmlr, 10 years ago

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.

comment:7 by aldeck, 10 years ago

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?

comment:8 by PieterPanman, 10 years ago

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.

comment:9 by aldeck, 10 years ago

Owner: changed from axeld to aldeck
Status: newassigned

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 hrev5 partition. Not that great but that should be enough to start working on it. Better/simpler test cases are still welcome :)

comment:10 by axeld, 10 years ago

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

comment:11 by aldeck, 10 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev31378

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)

comment:12 by aldeck, 10 years ago

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