On Fri, May 22, 2015 at 05:51:58PM +0200, Andreas Cadhalpun wrote: > since your NMU, codeblocks crashes, when closing it. > Backtrace: > Program received signal SIGSEGV, Segmentation fault. > 0x0000000000000030 in ?? () > (gdb) bt > #0 0x0000000000000030 in () > #1 0x00007ffff5f8d78b in __tcf_0(void*) (this=0x7ffff623dd40 > <wxTreeListCtrl::sm_eventTableEntries>, __in_chrg=<optimized out>) at > ../include/wx/event.h:3177 > #2 0x00007ffff5f8d78b in __tcf_0(void*) (this=0x7ffff623dd40 > <wxTreeListCtrl::sm_eventTableEntries>, __in_chrg=<optimized out>) at > ../include/wx/event.h:3196 > #3 0x00007ffff5f8d78b in __tcf_0(void*) () at ../src/generic/treelist.cpp:987 > #4 0x00007ffff17b1f4f in __cxa_finalize (d=0x7ffff623b030) at > cxa_finalize.c:56 > #5 0x00007ffff5ef3073 in __do_global_dtors_aux () at > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 > #6 0x00007fffffffe230 in () > #7 0x00007ffff7deb00a in _dl_fini () at dl-fini.c:252
Running it under valgrind is a bit more illuminating. The first issue that picked up is a use of an uninitialised member variable in codeblocks - the attached patch addresses that. This could cause codeblocks to kill a random process on exit, but while the patch fixes the valgrind error, codeblocks still crashes, so I think this is just an unrelated bug. But valgrind also shows that there are double deallocations going on, which seems to be the cause. It is not clear to me quite what's happening, but it looks like it's related to global objects and to shared libraries or plugins. Will dig some more later. Cheers, Olly
Description: Fix uninitialised use on quit Author: Olly Betts <o...@survex.com> Bug-Debian: https://bugs.debian.org/786531 Forwarded: no Last-Update: 2015-05-25 --- codeblocks-13.12.orig/src/plugins/debuggergdb/debuggergdb.cpp +++ codeblocks-13.12/src/plugins/debuggergdb/debuggergdb.cpp @@ -168,6 +168,7 @@ DebuggerGDB::DebuggerGDB() : m_NoDebugInfo(false), m_StoppedOnSignal(false), m_pProject(0), + m_bIsConsole(false), m_stopDebuggerConsoleClosed(false), m_TemporaryBreak(false), m_printElements(0)