Opened 10 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 10 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)

Changed 10 years ago by PieterPanman

Attachment: trackercrash2 added

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

comment:1 Changed 10 years ago by Disreali

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

comment:2 Changed 10 years ago by mmlr

Blocking: 4038 added

(In #4038) Duplicate of #3710.

comment:3 Changed 10 years ago by mmlr

Blocking: 3914 added

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

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

Cc: planche2k@… added

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

comment:5 Changed 10 years 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 hrev31316 gcc2 4cpus.

comment:6 Changed 10 years 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.

comment:7 Changed 10 years 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?

comment:8 Changed 10 years 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.

comment:9 Changed 10 years ago by aldeck

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 Changed 10 years ago by axeld

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

comment:11 Changed 10 years ago by aldeck

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 Changed 10 years ago by aldeck

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