Version: unknown (using KDE 3.1.92 (alpha2, CVS >= 20030921), compiled sources) Compiler: gcc version 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk) OS: Linux (i686) release 2.4.21-0.13mdk I just quit kdevelop (latest CVS) and it crashed. [New Thread 16384 (LWP 10218)] [New Thread 32769 (LWP 10273)] 0x418506ba in waitpid () from /lib/i686/libpthread.so.0 #0 0x418506ba in waitpid () from /lib/i686/libpthread.so.0 #1 0x40d13237 in KCrash::defaultCrashHandler(int) () from /usr/local/kde/lib/libkdecore.so.4 #2 0x4184f5ce in __pthread_sighandler () from /lib/i686/libpthread.so.0 #3 0x419bc3b8 in __libc_sigaction () from /lib/i686/libc.so.6 #4 0x41176696 in ~QWidget (this=0x81fb5a8) at kernel/qwidget.cpp:922 #5 0x4127d1c7 in ~QTabWidget (this=0x81fb5a8) at widgets/qtabwidget.cpp:243 #6 0x40b8a346 in KTabWidget::~KTabWidget() () from /usr/local/kde/lib/libkdeui.so.4 #7 0x41176696 in ~QWidget (this=0x81e4c20) at kernel/qwidget.cpp:922 #8 0x08094c8d in KTabZoomWidget::~KTabZoomWidget() () #9 0x41176696 in ~QWidget (this=0x81b0840) at kernel/qwidget.cpp:922 #10 0x08094c8d in KTabZoomWidget::~KTabZoomWidget() () #11 0x41176696 in ~QWidget (this=0x81f9108) at kernel/qwidget.cpp:922 #12 0x08094c8d in KTabZoomWidget::~KTabZoomWidget() () #13 0x41176696 in ~QWidget (this=0x81c81e8) at kernel/qwidget.cpp:922 #14 0x41240dda in ~QMainWindow (this=0x81c81e8) at widgets/qmainwindow.cpp:918 #15 0x40ab2764 in KMainWindow::~KMainWindow() () from /usr/local/kde/lib/libkdeui.so.4 #16 0x406153ea in KParts::MainWindow::~MainWindow() () from /usr/local/kde/lib/libkparts.so.2 #17 0x08080da1 in MainWindowIDEAl::~MainWindowIDEAl() () #18 0x41143030 in QObject::event(QEvent*) (this=0x81c81e8, e=0x868f790) at kernel/qobject.cpp:750 #19 0x4117c81d in QWidget::event(QEvent*) (this=0x81c81e8, e=0x868f790) at kernel/qwidget.cpp:4401 #20 0x41242cbb in QMainWindow::event(QEvent*) (this=0x81c81e8, e=0x868f790) at widgets/qmainwindow.cpp:1669 #21 0x410e2d21 in QApplication::internalNotify(QObject*, QEvent*) ( this=0xbffff6f0, receiver=0x81c81e8, e=0x868f790) at kernel/qapplication.cpp:2582 #22 0x410e2951 in QApplication::notify(QObject*, QEvent*) (this=0xbffff6f0, receiver=0x81c81e8, e=0x868f790) at kernel/qapplication.cpp:2470 #23 0x40c76446 in KApplication::notify(QObject*, QEvent*) () from /usr/local/kde/lib/libkdecore.so.4 #24 0x4107a00d in QApplication::sendEvent(QObject*, QEvent*) ( receiver=0x81c81e8, event=0x868f790) at kernel/qapplication.h:490 #25 0x410e3c18 in QApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=52) at kernel/qapplication.cpp:3204 #26 0x410f86e5 in QEventLoop::enterLoop() (this=0x8150e48) at kernel/qeventloop.cpp:213 #27 0x410f853a in QEventLoop::exec() (this=0x8150e48) at kernel/qeventloop.cpp:145 #28 0x410e2ea5 in QApplication::exec() (this=0xbffff6f0) at kernel/qapplication.cpp:2705 #29 0x08067869 in main () #30 0x419a97f7 in __libc_start_main () from /lib/i686/libc.so.6
This looks like either a double deletion or dangling pointer. Can you run valgrind on the process and make it crash?
[New Thread 1024 (LWP 5248)] 0x41e258c9 in wait4 () from /lib/libc.so.6 #0 0x41e258c9 in wait4 () from /lib/libc.so.6 #1 0x41ea0c90 in __DTOR_END__ () from /lib/libc.so.6 #2 0x41c80a93 in waitpid () from /lib/libpthread.so.0 #3 0x40de9337 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:242 #4 0x41c7e12b in pthread_sighandler () from /lib/libpthread.so.0 #5 <signal handler called> #6 0x40c59347 in ~KTabBar (this=0xbfffec5c) at /usr/lib/qt3/include/qshared.h:50 #7 0x4125a030 in ~QWidget (this=0x8182ff8) at kernel/qwidget.cpp:922 #8 0x41387e5b in ~QTabWidget (this=0x8182ff8) at widgets/qtabwidget.cpp:243 #9 0x40c5b936 in ~KTabWidget (this=0x8182ff8) at ktabwidget.cpp:46 #10 0x4125a030 in ~QWidget (this=0x8176678) at kernel/qwidget.cpp:922 #11 0x08098f4d in ~KTabZoomWidget (this=0x8176678) at ktabzoomwidget.cpp:101 #12 0x4125a030 in ~QWidget (this=0x8172d20) at kernel/qwidget.cpp:922 #13 0x08098f4d in ~KTabZoomWidget (this=0x8172d20) at ktabzoomwidget.cpp:101 #14 0x4125a030 in ~QWidget (this=0x81676d8) at kernel/qwidget.cpp:922 #15 0x08098f4d in ~KTabZoomWidget (this=0x81676d8) at ktabzoomwidget.cpp:101 #16 0x4125a030 in ~QWidget (this=0x815b040) at kernel/qwidget.cpp:922 #17 0x41344ba8 in ~QMainWindow (this=0x815b040) at widgets/qmainwindow.cpp:918 #18 0x40b7cbb5 in ~KMainWindow (this=0x815b040, __vtt_parm=0x0) at kmainwindow.cpp:315 #19 0x406c9b4b in ~MainWindow (this=0x815b040, __vtt_parm=0x80abbe4) at mainwindow.cpp:84 ... seems to be exactly the same - and on my system (kde3.2cvs; kdevelop-cvs both last week ) i can reproduce it 100% As soon as i use dotNET Style, kdevelop produces this crash at exit. Switching to another style, kdevelop does not crash at exit. i came to the idea of style-switching, because of this valgrind-output: ==5262== Conditional jump or move depends on uninitialised value(s) ==5262== at 0x416D4C89: QComboBox::listBox() const (widgets/qcombobox.cpp:21 12) ==5262== by 0x480DA2CC: dotNETstyle::drawComplexControl(QStyle::ComplexContr ol, QPainter*, QWidget const*, QRect const&, QColorGroup const&, unsigned, unsi gned, unsigned, QStyleOption const&) const (dotnet.cpp:1436) ==5262== by 0x4BFB6604: QComboView::paintEvent(QPaintEvent*) (/usr/lib/qt3/i nclude/qwidget.h:748) ==5262== by 0x416590A0: QWidget::event(QEvent*) (kernel/qwidget.cpp:4529) ( but i guess, this is another issue, if it is one ) the crash itself is reported by valgrind: ==5262== ==5262== Invalid read of size 4 ==5262== at 0x41051341: KTabBar::~KTabBar() (/usr/lib/qt3/include/qshared.h:50) ==5262== by 0x4165202F: QWidget::~QWidget() (kernel/qwidget.cpp:922) ==5262== by 0x4177FE5A: QTabWidget::~QTabWidget() (widgets/qtabwidget.cpp:243) ==5262== by 0x41053935: KTabWidget::~KTabWidget() (ktabwidget.cpp:46) ==5262== Address 0x46CB35E4 is 8 bytes after a block of size 136 alloc'd ==5262== at 0x40213CB0: __builtin_new (vg_replace_malloc.c:172) ==5262== by 0x40213D08: operator new(unsigned) (vg_replace_malloc.c:185) ==5262== by 0x809ECDC: KTabWidget::KTabWidget(QWidget*, char const*) (ktabwi dget.cpp:23) ==5262== by 0x8083A8B: MainWindowIDEAl::createFramework() (mainwindowideal.c pp:240) but i don't get any more information out of this.
I'm using keramik
KDE 3.1.92 kdelibs/kdeui contains ktabwidget.cpp .h and kdevelop/lib/widgets contain ktabwidget.cpp .h but these are different implementsation of the same class, which causes the crash in the destructor. Remove the kdevelop/lib/widgets version and recompile from scratch. If you look at kdevelop-devel mailing list you'll find a patch that fixes this for >=kde 3.1.90 but it doesn't work for kde < 3.1.90 release :( I think there are other issues with headers and the compat/widgets library as well. This really needs a fix but I have no time. Could someone please please please look into this problem. I mailed a second patch for half of the problems I found that should work for kde > 3.1.90 but nobody has tested on those versione so I cannot commit that. (The second patch doesn't fix this problem though) See thread "class libs/widget/KTabBar conflicts with class kdelibs/kdeui/KTabBar" 12/Oct/03
*** This bug has been marked as a duplicate of 61604 ***
Using CVS from yesterday .... [New Thread 16384 (LWP 6808)] [New Thread 32769 (LWP 6855)] 0x41a946ba in waitpid () from /lib/i686/libpthread.so.0 #0 0x41a946ba in waitpid () from /lib/i686/libpthread.so.0 #1 0x40f330bd in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:246 #2 0x41a935ce in __pthread_sighandler () from /lib/i686/libpthread.so.0 #3 0x41c003b8 in __libc_sigaction () from /lib/i686/libc.so.6 #4 0x40d794f6 in ~QMap (this=0x81e2938) at /usr/local/qt/include/qmap.h:643 #5 0x40d772a6 in ~KTabBar (this=0x81e28a8) at ktabbar.cpp:59 #6 0x413ba696 in ~QWidget (this=0x81da4f8) at kernel/qwidget.cpp:922 #7 0x414c11c7 in ~QTabWidget (this=0x81da4f8) at widgets/qtabwidget.cpp:243 #8 0x080aa236 in ~KDevTabWidget (this=0x81da4f8) at kdevtabwidget.moc:166 #9 0x413ba696 in ~QWidget (this=0x819dcb8) at kernel/qwidget.cpp:922 #10 0x080a225f in ~KTabZoomWidget (this=0x819dcb8) at ktabzoomwidget.cpp:101 #11 0x413ba696 in ~QWidget (this=0x81a2db8) at kernel/qwidget.cpp:922 #12 0x080a225f in ~KTabZoomWidget (this=0x81a2db8) at ktabzoomwidget.cpp:101 #13 0x413ba696 in ~QWidget (this=0x81bcca8) at kernel/qwidget.cpp:922 #14 0x080a225f in ~KTabZoomWidget (this=0x81bcca8) at ktabzoomwidget.cpp:101 #15 0x413ba696 in ~QWidget (this=0x81c1d78) at kernel/qwidget.cpp:922 #16 0x41484dda in ~QMainWindow (this=0x81c1d78) at widgets/qmainwindow.cpp:918 #17 0x40c9716d in ~KMainWindow (this=0x81c1d78, __vtt_parm=0x80b6da8) at kmainwindow.cpp:315 #18 0x407aecc7 in ~MainWindow (this=0x81c1d78, __vtt_parm=0x80b6da4) at mainwindow.cpp:84 #19 0x0808ac71 in ~MainWindowIDEAl (this=0x81c1d78) at mainwindowideal.cpp:194 #20 0x41387030 in QObject::event(QEvent*) (this=0x81c1d78, e=0x82878c8) at kernel/qobject.cpp:750 #21 0x413c081d in QWidget::event(QEvent*) (this=0x81c1d78, e=0x82878c8) at kernel/qwidget.cpp:4401 #22 0x41486cbb in QMainWindow::event(QEvent*) (this=0x81c1d78, e=0x82878c8) at widgets/qmainwindow.cpp:1669 #23 0x41326d21 in QApplication::internalNotify(QObject*, QEvent*) ( this=0xbffff6f0, receiver=0x81c1d78, e=0x82878c8) at kernel/qapplication.cpp:2582 #24 0x41326951 in QApplication::notify(QObject*, QEvent*) (this=0xbffff6f0, receiver=0x81c1d78, e=0x82878c8) at kernel/qapplication.cpp:2470 #25 0x40ea4588 in KApplication::notify(QObject*, QEvent*) (this=0xbffff6f0, receiver=0x81c1d78, event=0x82878c8) at kapplication.cpp:509 #26 0x4016b1c3 in QApplication::sendEvent(QObject*, QEvent*) ( receiver=0x81c1d78, event=0x82878c8) at /usr/local/qt/include/qapplication.h:490 #27 0x41327c18 in QApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=52) at kernel/qapplication.cpp:3204 #28 0x4133c6e5 in QEventLoop::enterLoop() (this=0x815f958) at kernel/qeventloop.cpp:213 #29 0x4133c53a in QEventLoop::exec() (this=0x815f958) at kernel/qeventloop.cpp:145 #30 0x41326ea5 in QApplication::exec() (this=0xbffff6f0) at kernel/qapplication.cpp:2705 #31 0x0806cef3 in main (argc=1, argv=0xbffff864) at main.cpp:128 #32 0x41bed7f7 in __libc_start_main () from /lib/i686/libc.so.6