Opened 8 years ago

Closed 8 years ago

#8096 closed bug (fixed)

[Debugger] crashes in TeamDebugger::~TeamDebugger ()

Reported by: diver Owned by: anevilyak
Priority: normal Milestone: R1
Component: Applications/Debugger Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This is hrev43204, gcc2hybrid.

Don't know how to reproduce it yet.

Thread 769 caused an exception: Segment violation
[...]
[Switching to team /boot/system/apps/Debugger (769) thread Debugger (769)]
0x002a7617 in TeamDebugger::~TeamDebugger ()
(gdb) bt
#0  0x002a7617 in TeamDebugger::~TeamDebugger ()
#1  0x002a2573 in start_team_debugger ()
#2  0x002a29eb in Debugger::MessageReceived ()
#3  0x00508e9b in BLooper::DispatchMessage () from /boot/system/lib/libbe.so
#4  0x004ffb1d in BApplication::DispatchMessage () from /boot/system/lib/libbe.so
#5  0x0050a809 in BLooper::task_looper () from /boot/system/lib/libbe.so
#6  0x004fe65d in BApplication::Run () from /boot/system/lib/libbe.so
#7  0x002a30d7 in main ()
(gdb)

Change History (3)

comment:1 by diver, 8 years ago

It happened when I accidentally picked Debugger from Teams window.

comment:2 by anevilyak, 8 years ago

Owner: changed from bonefish to anevilyak
Status: newin-progress

comment:3 by anevilyak, 8 years ago

Resolution: fixed
Status: in-progressclosed

Fixed in hrev43208. The debugger can't actually debug its own team directly since that would block itself from executing(one needs two instances of the debugger running in order to do that). This resulted in initialization of the debugger interface terminating early, which wasn't correctly being handled in its destructor, which is now fixed. However, this situation should probably be handled a bit better as far as user feedback goes, since right now, double clicking it will do absolutely nothing.

Two possibilities come to mind: 1) The team should be grayed out/marked not selectable in the Teams window, or 2) Double clicking it should present a warning to the user indicating that the team is not debuggable. I would prefer the first of the two myself, opinions welcome.

Note: See TracTickets for help on using tickets.