[Bug 235422] New: Crash on closing kdevelop with running debug session
Niko Sams
niko.sams at gmail.com
Mon Apr 26 11:52:47 UTC 2010
On Mon, Apr 26, 2010 at 13:36, Andreas Pakulat <apaku at gmx.de> wrote:
> On 26.04.10 12:30:07, Niko Sams wrote:
>> This crash happens because ICore::self() is 0 during shutdown:
>>
>> > Thread 1 (Thread 0x7f15aa453760 (LWP 17910)):
>> > [KCrash Handler]
>> > #5 0x00007f15a2d58f39 in KDevelop::IVariableController::variableCollection
>> > (this=<value optimized out>) at
>> > /home/gpiez/src/kdevplatform/debugger/interfaces/ivariablecontroller.cpp:41
>> > #6 0x00007f15a2d58fe8 in KDevelop::IVariableController::handleEvent
>> > (this=0x14ea350, event=<value optimized out>) at
>> > /home/gpiez/src/kdevplatform/debugger/interfaces/ivariablecontroller.cpp:88
>> > #7 0x00007f158dc804b8 in GDBDebugger::VariableController::handleEvent
>> > (this=0x14ea350, event=KDevelop::IDebugSession::program_state_changed)
>> > at /home/gpiez/src/kdevelop/debuggers/gdb/variablecontroller.cpp:242
>> > #8 0x00007f15a2d552df in KDevelop::IDebugSession::raiseEvent (this=0x3881e80,
>> > e=KDevelop::IDebugSession::thread_or_frame_changed)
>> > at /home/gpiez/src/kdevplatform/debugger/interfaces/idebugsession.cpp:75
>> > #9 0x00007f158dc74618 in GDBDebugger::DebugSession::raiseEvent
>> > (this=0x3881e80, e=KDevelop::IDebugSession::program_state_changed) at
>> > /home/gpiez/src/kdevelop/debuggers/gdb/debugsession.cpp:1255
>>
>> What's the best way to work around this?
>> adding if(ICore:.self()) everywhere is error-prone. (can be easily forgotten)
>
> Can you explain what the problem is?
the problematic code is:
ICore()::self()->debugController()->variableCollection()
it crashes during shutdown as ICore()::self() is 0.
Is the correct solution to this problem an if(ICore::self()) {...} ?
Niko
More information about the KDevelop-devel
mailing list