Opened 12 years ago

Closed 12 years ago

#9151 closed bug (fixed)

Deskbar crashes when it moved to bottom of screen.

Reported by: mt Owned by: jscipione
Priority: normal Milestone: R1
Component: Applications/Deskbar Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

When I try to move Deskbar to bottom of the screen, it crashes. gcc4 / gcc2 hybrid, hrev44830, real hardware.

KERN: debug_server: Thread 196 entered the debugger: Segment violation
KERN: stack trace, current PC 0x2255be  _ZN11TBarMenuBar19RemoveSeperatorItemEv + 0x4c:
KERN:   (0x780f6b0c)  0x226af4  _ZN8TBarView16PlaceDeskbarMenuEv + 0x1ea
KERN:   (0x780f6b9c)  0x227c3e  _ZN8TBarView12_ChangeStateEP8BMessage + 0x104
KERN:   (0x780f6bdc)  0x228c21  _ZN8TBarView15MessageReceivedEP8BMessage + 0xa1
KERN:   (0x780f6c2c)  0x332b72  _ZN7BLooper15DispatchMessageEP8BMessageP8BHandler + 0x50
KERN:   (0x780f6c4c)  0x3ebbb4  _ZN7BWindow15DispatchMessageEP8BMessageP8BHandler + 0x1766
KERN:   (0x780f6f2c)  0x3e74c6  _ZN7BWindow11task_looperEv + 0x216
KERN:   (0x780f6f9c)  0x333e8e  _ZN7BLooper7_task0_EPv + 0x30
KERN:   (0x780f6fbc)  0x6bd247  thread_entry + 0x1d
KERN: debug_server: Killing team 128 (/boot/system/Deskbar)

Attachments (1)

syslog.txt (143.7 KB ) - added by mt 12 years ago.
syslog

Download all attachments as: .zip

Change History (8)

by mt, 12 years ago

Attachment: syslog.txt added

syslog

comment:1 by anevilyak, 12 years ago

Owner: changed from axeld to jscipione
Status: newassigned

Was that with a full rebuild? I had this same problem as well until I rebuilt libbe.so.

comment:2 by jscipione, 12 years ago

What I need is a backtrace (by typing bt in the crash window) not a syslog. Also, it is likely that you need to rebuild libbe.so as anevilyak suggested. I assure you that I have tested Deskbar in all modes including bottom of the screen and it should work.

comment:3 by mt, 12 years ago

Hi, I rebuild hrev44830, but Deskbar still crashes. backtrace is added.

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 196 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/libsupc++.so...done.
Loaded symbols for /boot/system/lib/libsupc++.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++.so...done.
Loaded symbols for /boot/system/lib/libstdc++.so
Reading symbols from /boot/system/lib/libicudata.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicudata.so.48.1.1
Reading symbols from /boot/system/lib/libicui18n.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicui18n.so.48.1.1
Reading symbols from /boot/system/lib/libicuio.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicuio.so.48.1.1
Reading symbols from /boot/system/lib/libicule.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicule.so.48.1.1
Reading symbols from /boot/system/lib/libiculx.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libiculx.so.48.1.1
Reading symbols from /boot/system/lib/libicutu.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicutu.so.48.1.1
Reading symbols from /boot/system/lib/libicuuc.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicuuc.so.48.1.1
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/libroot-addon-icu.so...done.
Loaded symbols for /boot/system/lib/libroot-addon-icu.so
Reading symbols from /boot/system/servers/input_server...done.
Loaded symbols for /boot/system/servers/input_server
Reading symbols from /boot/system/apps/ProcessController...done.
Loaded symbols for /boot/system/apps/ProcessController
Reading symbols from /boot/system/apps/NetworkStatus...done.
Loaded symbols for /boot/system/apps/NetworkStatus
Reading symbols from /boot/system/lib/libnetwork.so...done.
Loaded symbols for /boot/system/lib/libnetwork.so
Reading symbols from /boot/system/lib/libbnetapi.so...done.
Loaded symbols for /boot/system/lib/libbnetapi.so
Reading symbols from /boot/system/bin/desklink...done.
Loaded symbols for /boot/system/bin/desklink
Reading symbols from /boot/system/lib/libmedia.so...done.
Loaded symbols for /boot/system/lib/libmedia.so
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/system/Deskbar (126) thread w>Deskbar (196)]
0x002255be in TBarMenuBar::RemoveSeperatorItem ()
(gdb) bt
#0  0x002255be in TBarMenuBar::RemoveSeperatorItem ()
#1  0x00226af4 in TBarView::PlaceDeskbarMenu ()
#2  0x00227c3e in TBarView::_ChangeState ()
#3  0x00228c21 in TBarView::MessageReceived ()
#4  0x00332b72 in BLooper::DispatchMessage () from /boot/system/lib/libbe.so
#5  0x003ebbb4 in BWindow::DispatchMessage () from /boot/system/lib/libbe.so
#6  0x003e74c6 in BWindow::task_looper () from /boot/system/lib/libbe.so
#7  0x00333e8e in BLooper::_task0_ () from /boot/system/lib/libbe.so
#8  0x006bd247 in thread_entry () from /boot/system/lib/libroot.so
#9  0x780f6fec in ?? ()
(gdb) 

comment:4 by jscipione, 12 years ago

Try with hrev44837 or greater.

Version 0, edited 12 years ago by jscipione (next)

comment:5 by mt, 12 years ago

Hi, I try hrev44840, Deskbar still crashes. But moving Deskbar to up/down (right/up and right/down corner of screen) seems to work, moving to left or moving as a bar don't work.

backtrace

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 196 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/libsupc++.so...done.
Loaded symbols for /boot/system/lib/libsupc++.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++.so...done.
Loaded symbols for /boot/system/lib/libstdc++.so
Reading symbols from /boot/system/lib/libicudata.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicudata.so.48.1.1
Reading symbols from /boot/system/lib/libicui18n.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicui18n.so.48.1.1
Reading symbols from /boot/system/lib/libicuio.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicuio.so.48.1.1
Reading symbols from /boot/system/lib/libicule.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicule.so.48.1.1
Reading symbols from /boot/system/lib/libiculx.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libiculx.so.48.1.1
Reading symbols from /boot/system/lib/libicutu.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicutu.so.48.1.1
Reading symbols from /boot/system/lib/libicuuc.so.48.1.1...done.
Loaded symbols for /boot/system/lib/libicuuc.so.48.1.1
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/libroot-addon-icu.so...done.
Loaded symbols for /boot/system/lib/libroot-addon-icu.so
Reading symbols from /boot/system/apps/ProcessController...done.
Loaded symbols for /boot/system/apps/ProcessController
Reading symbols from /boot/system/apps/NetworkStatus...done.
Loaded symbols for /boot/system/apps/NetworkStatus
Reading symbols from /boot/system/lib/libnetwork.so...done.
Loaded symbols for /boot/system/lib/libnetwork.so
Reading symbols from /boot/system/lib/libbnetapi.so...done.
Loaded symbols for /boot/system/lib/libbnetapi.so
Reading symbols from /boot/system/bin/desklink...done.
Loaded symbols for /boot/system/bin/desklink
Reading symbols from /boot/system/lib/libmedia.so...done.
Loaded symbols for /boot/system/lib/libmedia.so
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/system/Deskbar (134) thread w>Deskbar (196)]
0x00225503 in TBarMenuBar::AddSeperatorItem ()
(gdb) bt
#0  0x00225503 in TBarMenuBar::AddSeperatorItem ()
#1  0x00226b02 in TBarView::PlaceDeskbarMenu ()
#2  0x00227c92 in TBarView::_ChangeState ()
#3  0x00228c75 in TBarView::MessageReceived ()
#4  0x00332b72 in BLooper::DispatchMessage () from /boot/system/lib/libbe.so
#5  0x003ebbb4 in BWindow::DispatchMessage () from /boot/system/lib/libbe.so
#6  0x003e74c6 in BWindow::task_looper () from /boot/system/lib/libbe.so
#7  0x00333e8e in BLooper::_task0_ () from /boot/system/lib/libbe.so
#8  0x006bd247 in thread_entry () from /boot/system/lib/libroot.so
#9  0x780f6fec in ?? ()
(gdb) 

comment:6 by mt, 12 years ago

Hi, I rebuild hrev44840 with gcc2 / gcc4 hybrid, it works! I think this is gcc4 problem.

comment:7 by jscipione, 12 years ago

Resolution: fixed
Status: assignedclosed

Should now be fixed in hrev44845.

Rebuilt in gcc4 and the bug became obvious. The separator was being added in vertical mode erroneously because the variable was not set to NULL initially, then switching mode it attempted to delete a non-NULL but garbage object causing the crash. gcc2 most likely initiated the object to NULL implicitly while gcc4 did not which is why the bug only showed on gcc4.

Comment on this ticket if the bug is not fixed for you and I'll re-open.

Note: See TracTickets for help on using tickets.