Bug #10077 2007-01-20 22:14
bjoernp
DebuggerDriver crashes CB <<- Stop Debugger, close App
CB rev 3516, gcc 3.4.5-mingw, gdb 6.3 Debug-Session, app is free running... When I stop the Debugger clicking the Stop-Button nothing happens (visibly), the App-Window stays active. When I close the app afterwards, CB crashes (SIGSEGV). Note: this does not happen, when the debugger is in break-mode, stepping through. Stopping the debugger works as expected then, all is fine. Here's the bt from crashreport and 2 detailed bt's from inside CB: ... ------------------- Error occured on Saturday, January 20, 2007 at 22:48:54. C:\CodeBlocks\codeblocks.exe caused an Access Violation at location 024cc618 in module C:\CodeBlocks\share\codeblocks\plugins\debugger.dll Reading from location 00000000. Registers: eax=00000000 ebx=00b908c0 ecx=77bfc2e3 edx=0466b70c esi=025678d0 edi=0424f194 eip=024cc618 esp=0022f128 ebp=0022f140 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246 Call stack: 024CC618 C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024CC618 024F62A8 C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024F62A8 024D7CB2 C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024D7CB2 024DB07D C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024DB07D 6D36A9C8 C:\lib\wxmsw26u_gcc_custom.dll:6D36A9C8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent 6D36AD8C C:\lib\wxmsw26u_gcc_custom.dll:6D36AD8C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler 6D36BD69 C:\lib\wxmsw26u_gcc_custom.dll:6D36BD69 _ZN12wxEvtHandler12ProcessEventER7wxEvent 6D36BBA6 C:\lib\wxmsw26u_gcc_custom.dll:6D36BBA6 _ZN12wxEvtHandler20ProcessPendingEventsEv 6D2C1C94 C:\lib\wxmsw26u_gcc_custom.dll:6D2C1C94 _ZN12wxAppConsole20ProcessPendingEventsEv 61877AB6 C:\CodeBlocks\codeblocks.dll:61877AB6 _ZN7Manager20ProcessPendingEventsEv 6190BD5A C:\CodeBlocks\codeblocks.dll:6190BD5A _ZN13SimpleTextLog6AddLogERK8wxStringb 6187EC87 C:\CodeBlocks\codeblocks.dll:6187EC87 _ZN14MessageManager3LogEiRK8wxString 024D0D07 C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024D0D07 024F626E C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024F626E 024D7CB2 C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024D7CB2 024DB07D C:\CodeBlocks\share\codeblocks\plugins\debugger.dll:024DB07D 6D36A9C8 C:\lib\wxmsw26u_gcc_custom.dll:6D36A9C8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent 6D36AD8C C:\lib\wxmsw26u_gcc_custom.dll:6D36AD8C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler 6D36BD69 C:\lib\wxmsw26u_gcc_custom.dll:6D36BD69 _ZN12wxEvtHandler12ProcessEventER7wxEvent 6D36BBA6 C:\lib\wxmsw26u_gcc_custom.dll:6D36BBA6 _ZN12wxEvtHandler20ProcessPendingEventsEv 6D2C1C94 C:\lib\wxmsw26u_gcc_custom.dll:6D2C1C94 _ZN12wxAppConsole20ProcessPendingEventsEv 6D719958 C:\lib\wxmsw26u_gcc_custom.dll:6D719958 _ZN18wxHtmlSearchStatus8IsActiveEv 77D1EAF2 C:\WINDOWS\system32\USER32.dll:77D1EAF2 EnableMenuItem 77D1EA9E C:\WINDOWS\system32\USER32.dll:77D1EA9E EnableMenuItem 77D1EBF3 C:\WINDOWS\system32\USER32.dll:77D1EBF3 CallNextHookEx 7C91EAE3 C:\WINDOWS\system32\ntdll.dll:7C91EAE3 KiUserCallbackDispatcher 6D3AD194 C:\lib\wxmsw26u_gcc_custom.dll:6D3AD194 _ZN11wxEventLoop8DispatchEv 6D3AD020 C:\lib\wxmsw26u_gcc_custom.dll:6D3AD020 _ZN11wxEventLoop3RunEv 6D446D7E C:\lib\wxmsw26u_gcc_custom.dll:6D446D7E _ZN9wxAppBase8MainLoopEv 00404A08 C:\CodeBlocks\codeblocks.exe:00404A08 6D303C97 C:\lib\wxmsw26u_gcc_custom.dll:6D303C97 _Z14wxUninitializev 6D373C9A C:\lib\wxmsw26u_gcc_custom.dll:6D373C9A _Z7wxEntryP11HINSTANCE__S0_Pci 00401884 C:\CodeBlocks\codeblocks.exe:00401884 004711EA C:\CodeBlocks\codeblocks.exe:004711EA 00401247 C:\CodeBlocks\codeblocks.exe:00401247 004012B8 C:\CodeBlocks\codeblocks.exe:004012B8 7C816FD7 C:\WINDOWS\system32\kernel32.dll:7C816FD7 RegisterWaitForInputIdle And here's a more detailed one from CB debugging itself: #0 030AC618 DebuggerDriver::CurrentCommand(this=0x61c4618) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggerdriver.cpp:98) #1 030D62A8 GDB_driver::ParseOutput(this=0x61c4618, output=@0x22f428) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/gdb_driver.cpp:600) #2 030B7CB2 DebuggerGDB::ParseOutput(this=0x1df5898, output=@0x22f428) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1543) #3 030BB07D DebuggerGDB::OnGDBOutput(this=0x1df5898, event=@0x1cab108) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1916) #4 6D36A9C8 wxEvtHandler::ProcessEventIfMatches() (C:\lib\wxmsw26u_gcc_custom.dll:??) #5 6D36AD8C wxEventHashTable::HandleEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #6 6D36BD69 wxEvtHandler::ProcessEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #7 6D36BBA6 wxEvtHandler::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #8 6D2C1C94 wxAppConsole::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #9 61877AB6 Manager::ProcessPendingEvents() (C:/CodeBlocks/trunk/src/sdk/manager.cpp:108) #10 6190BD5A SimpleTextLog::AddLog(this=0x46efed8, msg=@0x22f948, addNewLine=true) (C:/CodeBlocks/trunk/src/sdk/simpletextlog.cpp:70) #11 6187EC87 MessageManager::Log(this=0x146e0e0, id=6, msg=@0x22f948) (C:/CodeBlocks/trunk/src/sdk/messagemanager.cpp:455) #12 030B0D07 DebuggerGDB::DebugLog(this=0x1df5898, msg=@0x22f948) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:566) #13 030D626E GDB_driver::ParseOutput(this=0x61c4618, output=@0x22f948) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/gdb_driver.cpp:593) #14 030B7CB2 DebuggerGDB::ParseOutput(this=0x1df5898, output=@0x22f948) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1543) #15 030BB07D DebuggerGDB::OnGDBOutput(this=0x1df5898, event=@0x1cab0b4) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1916) #16 6D36A9C8 wxEvtHandler::ProcessEventIfMatches() (C:\lib\wxmsw26u_gcc_custom.dll:??) #17 6D36AD8C wxEventHashTable::HandleEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #18 6D36BD69 wxEvtHandler::ProcessEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #19 6D36BBA6 wxEvtHandler::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #20 6D2C1C94 wxAppConsole::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #21 6D719958 wxIdleWakeUpModule::MsgHookProc() (C:\lib\wxmsw26u_gcc_custom.dll:??) #22 77D1EAF2 USER32!EnableMenuItem() (C:\WINDOWS\system32\user32.dll:??) #23 00000000 ??() (??:??) #24 00000001 ??() (??:??) #25 0022FAEC ??() (??:??) #26 0143A118 ??() (??:??) #27 0022FB90 ??() (??:??) #28 0022FAA8 ??() (??:??) #29 77D1EA9E USER32!EnableMenuItem() (C:\WINDOWS\system32\user32.dll:??) and another one, this snapshot taken just after the first: #0 030D637E GDB_driver::ParseOutput(this=0x63da238, output=@0x22f428) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/gdb_driver.cpp:612) #1 030B7CB2 DebuggerGDB::ParseOutput(this=0x1e03e18, output=@0x22f428) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1543) #2 030BB07D DebuggerGDB::OnGDBOutput(this=0x1e03e18, event=@0x1cab39c) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1916) #3 6D36A9C8 wxEvtHandler::ProcessEventIfMatches() (C:\lib\wxmsw26u_gcc_custom.dll:??) #4 6D36AD8C wxEventHashTable::HandleEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #5 6D36BD69 wxEvtHandler::ProcessEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #6 6D36BBA6 wxEvtHandler::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #7 6D2C1C94 wxAppConsole::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #8 61877AB6 Manager::ProcessPendingEvents() (C:/CodeBlocks/trunk/src/sdk/manager.cpp:108) #9 6190BD5A SimpleTextLog::AddLog(this=0x46efc90, msg=@0x22f948, addNewLine=true) (C:/CodeBlocks/trunk/src/sdk/simpletextlog.cpp:70) #10 6187EC87 MessageManager::Log(this=0x146d340, id=6, msg=@0x22f948) (C:/CodeBlocks/trunk/src/sdk/messagemanager.cpp:455) #11 030B0D07 DebuggerGDB::DebugLog(this=0x1e03e18, msg=@0x22f948) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:566) #12 030D626E GDB_driver::ParseOutput(this=0x63da238, output=@0x22f948) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/gdb_driver.cpp:593) #13 030B7CB2 DebuggerGDB::ParseOutput(this=0x1e03e18, output=@0x22f948) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1543) #14 030BB07D DebuggerGDB::OnGDBOutput(this=0x1e03e18, event=@0x1cab2a0) (C:/CodeBlocks/trunk/src/plugins/debuggergdb/debuggergdb.cpp:1916) #15 6D36A9C8 wxEvtHandler::ProcessEventIfMatches() (C:\lib\wxmsw26u_gcc_custom.dll:??) #16 6D36AD8C wxEventHashTable::HandleEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #17 6D36BD69 wxEvtHandler::ProcessEvent() (C:\lib\wxmsw26u_gcc_custom.dll:??) #18 6D36BBA6 wxEvtHandler::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #19 6D2C1C94 wxAppConsole::ProcessPendingEvents() (C:\lib\wxmsw26u_gcc_custom.dll:??) #20 6D719958 wxIdleWakeUpModule::MsgHookProc() (C:\lib\wxmsw26u_gcc_custom.dll:??) #21 77D1EAF2 USER32!EnableMenuItem() (C:\WINDOWS\system32\user32.dll:??) #22 00000000 ??() (??:??) #23 00000001 ??() (??:??) #24 0022FAEC ??() (??:??) #25 0143A118 ??() (??:??) #26 0022FB90 ??() (??:??) #27 0022FAA8 ??() (??:??) #28 77D1EA9E USER32!EnableMenuItem() (C:\WINDOWS\system32\user32.dll:??) #29 00030000 ??() (??:??) For my guess on it: the debugger-instance is destroyed but still used because the gdb-process is not closed/hanging and producing output.
- Category
- Debugger
- Group
- Status
- Closed
- Close date
- 2007-03-19 14:47
- Assigned to
History
artoj 2007-02-05 09:23
Ubuntu Edgy, wxGTK 2.6.3p2, rev 3564, gdb 6.4.90-debian
I tried to reproduce this but I got a SIGSEGV earlier, when I click the Abort button. I don't know if it's the same bug but Debugger is definitely crashing.
GDB output:
pecan 2007-02-06 19:53
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1230633296 (LWP 2568)] 0xb46a4fe4 in DebuggerDriver::CurrentCommand (this=0x8cde9e8) at plugins/debuggergdb/debuggerdriver.cpp:98 98 return m_DCmds.GetCount() ? m_DCmds[0] : 0; (gdb) bt #0 0xb46a4fe4 in DebuggerDriver::CurrentCommand (this=0x8cde9e8) at plugins/debuggergdb/debuggerdriver.cpp:98 #1 0xb46caa31 in GDB_driver::ParseOutput (this=0x8cde9e8, output=@0xbfc9063c) at /home/pecan/devel/trunk/src/plugins/debuggergdb/gdb_driver.cpp:620 #2 0xb46a8811 in DebuggerGDB::ParseOutput (this=0x8a17b90, output=@0xbfc9063c) at plugins/debuggergdb/debuggergdb.cpp:1543 #3 0xb46aac39 in DebuggerGDB::OnGDBOutput (this=0x8a17b90, event=@0x8a2ae40) at plugins/debuggergdb/debuggergdb.cpp:1916 #4 0xb7991655 in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0 #5 0xb7a20b52 in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.6.so.0 #6 0xb7a20c9d in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0 #7 0xb7a20e1f in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0 #8 0xb7a212d0 in wxEvtHandler::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.6.so.0 #9 0xb7991bef in wxAppConsole::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.6.so.0 #10 0xb776e4dd in Manager::ProcessPendingEvents () at sdk/manager.cpp:108 #11 0xb782d4cf in SimpleTextLog::AddLog (this=0x8b25b58, msg=@0xbfc909cc, addNewLine=true) at sdk/simpletextlog.cpp:70 ---Type <return> to continue, or q <return> to quit---q Quit (gdb) f #0 0xb46a4fe4 in DebuggerDriver::CurrentCommand (this=0x8cde9e8) at plugins/debuggergdb/debuggerdriver.cpp:98 98 return m_DCmds.GetCount() ? m_DCmds[0] : 0; (gdb) p m_DCmds $16 = {<wxBaseArrayPtrVoid> = {m_nSize = 21, m_nCount = 22, m_pItems = 0x17}, <No data fields>} (gdb) Quit (gdb)
pecan 2007-02-11 19:37
This bug fixed by Patch 1881
mandrav 2007-03-19 14:47
This bug has been already fixed in HEAD.
Thank you.