Version: Gideon CVS HEAD (using KDE KDE 3.1.2) Installed from: SuSE RPMs Compiler: gcc 2.95.3 standard configure settings OS: Linux I created a standard KDE program (C++, KDE Application Framework) from the templates. I added some lines of code then. When changing a .cpp file, saving it works fine, while saving changes in a .h file crashes gideon. I reproduced the bug with a new project from template, and it persisted after switching background C++ parsing off, and deactivating all the plugins for the project. [New Thread 1024 (LWP 24174)] [New Thread 2049 (LWP 24194)] [New Thread 2050 (LWP 24197)] 0x412c7079 in wait4 () from /lib/libc.so.6 #0 0x412c7079 in wait4 () from /lib/libc.so.6 #1 0x4133f8c4 in __DTOR_END__ () from /lib/libc.so.6 #2 0x41184177 in waitpid () from /lib/libpthread.so.0 #3 0x40946abe in KCrash::defaultCrashHandler () from /opt/kde3/lib/libkdecore.so.4 #4 0x41181bc4 in pthread_sighandler () from /lib/libpthread.so.0 #5 <signal handler called> #6 0x40e8b4b9 in QString::QString () from /usr/lib/qt3/lib/libqt-mt.so.3 #7 0x403783a6 in ClassStore::removeWithReferences () from /filez/kde/cvs/kdevelop/lib/.libs/libkdevelop.so.1 #8 0x41af9908 in StoreWalker::parseTranslationUnit () from /data/home/stefan/.kde/lib/kde3/libkdevcppsupport.so #9 0x41ad268a in CppSupportPart::maybeParse () from /data/home/stefan/.kde/lib/kde3/libkdevcppsupport.so #10 0x41acf0f5 in CppSupportPart::savedFile () from /data/home/stefan/.kde/lib/kde3/libkdevcppsupport.so #11 0x41ad646d in CppSupportPart::qt_invoke () from /data/home/stefan/.kde/lib/kde3/libkdevcppsupport.so #12 0x40c83465 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #13 0x40c836db in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #14 0x0809222b in KDevPartController::savedFile () #15 0x08071854 in PartController::slotUploadFinished () #16 0x08073c79 in PartController::qt_invoke () #17 0x40c83465 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #18 0x40c832fe in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0x40407525 in KParts::ReadOnlyPart::completed () from /opt/kde3/lib/libkparts.so.2 #20 0x40406f84 in KParts::ReadWritePart::saveToURL () from /opt/kde3/lib/libkparts.so.2 #21 0x40406b6f in KParts::ReadWritePart::save () from /opt/kde3/lib/libkparts.so.2 #22 0x41e76e1c in KateView::save () from /opt/kde3/lib/kde3/libkatepart.so #23 0x41e72003 in KateView::qt_invoke () from /opt/kde3/lib/kde3/libkatepart.so #24 0x40c833c4 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #25 0x40c832fe in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #26 0x4074eac0 in KAction::activated () from /opt/kde3/lib/libkdeui.so.4 #27 0x407442d2 in KAction::slotActivated () from /opt/kde3/lib/libkdeui.so.4 #28 0x4074ecc2 in KAction::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #29 0x40c833c4 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #30 0x40c832fe in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #31 0x40942120 in KAccelPrivate::menuItemActivated () from /opt/kde3/lib/libkdecore.so.4 #32 0x40940de6 in KAccelPrivate::eventFilter () from /opt/kde3/lib/libkdecore.so.4 #33 0x40c812b8 in QObject::activate_filters () from /usr/lib/qt3/lib/libqt-mt.so.3 #34 0x40c81171 in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #35 0x40cad325 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #36 0x40d370d1 in QMainWindow::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #37 0x40c3809a in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #38 0x40c377bc in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #39 0x408e4dcb in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #40 0x40940060 in KAccelEventHandler::x11Event () from /opt/kde3/lib/libkdecore.so.4 #41 0x408e8bd5 in KApplication::x11EventFilter () from /opt/kde3/lib/libkdecore.so.4 #42 0x40be3d29 in qt_set_x11_event_filter () from /usr/lib/qt3/lib/libqt-mt.so.3 #43 0x40bed38c in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #44 0x40bfdf8f in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #45 0x40c48520 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #46 0x40c48467 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #47 0x40c38216 in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #48 0x08069905 in main () #49 0x4123c7ee in __libc_start_main () from /lib/libc.so.6 Here's the tail of it's standard err/out: qeditor: CppSupportPart::activePartChanged() kdevelop (cpp support): CppCodeCompletion::slotActivePartChanged() kdevelop (cpp support): enabling code completion kdevelop (cpp support): CppCodeCompletion::slotActivePartChanged() -- end kdevelop (core): dcop emitting loadedFile /data/home/stefan/kohphone/src/kohphone.h kdevelop (core): [void PartController::editDocument(const KURL &, int = -1)] file:/data/home/stefan/kohphone/src/kohphone.h linenum -1 kdevelop (core): [void PartController::editDocument(const KURL &, int = -1)] file:/data/home/stefan/kohphone/src/kohphone.h linenum -1 kdevelop (cpp support): ProblemReporter::reparse() kdevelop (cpp support): ---> file added kdevelop (cpp support): CppCodeCompletion::computeRecoveryPoints kdevelop (cpp support): found 0 recovery points kdevelop (core): MainWindowIDEAl::slotNewStatus() kdevelop (core): MainWindowIDEAl::slotNewStatus() kdevelop (core): MainWindowIDEAl::slotPartJobCompleted() kdevelop (core): dcop emitting savedFile /data/home/stefan/kohphone/src/kohphone.h kdevelop (cpp support): savedFile(): src/kohphone.h kdevelop (cpp support): CppCodeCompletion::computeRecoveryPoints kdevelop (cpp support): found 0 recovery points
"Save as" using another filename works as expected, but when re-saving as the .h that is in the project -> crash.
Comment removeWithReferences() call on line 43 od parts/cppsupport/store_walker.cpp, recompile and the problem will go away :)
Got another bt that seams related: [New Thread 1024 (LWP 1866)] [New Thread 2049 (LWP 1868)] [New Thread 1026 (LWP 1869)] 0x412de099 in wait4 () from /lib/libc.so.6 #0 0x412de099 in wait4 () from /lib/libc.so.6 #1 0x41358bd8 in __DTOR_END__ () from /lib/libc.so.6 #2 0x41192072 in waitpid () from /lib/libpthread.so.0 #3 0x40946b4e in KCrash::defaultCrashHandler () from /opt/kde3/lib/libkdecore.so.4 #4 0x4118fa74 in pthread_sighandler () from /lib/libpthread.so.0 #5 <signal handler called> #6 0x40e9a4b9 in QString::QString () from /usr/lib/qt3/lib/libqt-mt.so.3 #7 0x403acfd8 in ParsedItem::declaredInFile (this=0x0) at parseditem.h:200 #8 0x4037e566 in ClassStore::removeWithReferences (this=0x819e8e0, fileName=@0xbfffe69c) at classstore.cpp:538 #9 0x41f265d1 in CppDriver::fileParsed (this=0xbfffe6a0, fileName=@0xbfffe69c) at cppsupportpart.cpp:123 #10 0x4203083c in Driver::parseFile (this=0xbfffe6a0, fileName=@0xbfffe69c, onlyPreProcess=false, force=false) at driver.cpp:281 #11 0x41ec9299 in CppSupportPart::parseProject (this=0x8519050) at cppsupportpart.cpp:745 #12 0x41eca724 in CppSupportPart::slotProjectCompiled (this=0x8519050) at cppsupportpart.cpp:975 #13 0x41ecc0a9 in CppSupportPart::qt_invoke (this=0x8519050, _id=13, _o=0xbfffe7d8) at cppsupportpart.moc:194 #14 0x40c923c4 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #15 0x40c922fe in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #16 0x0809cbb9 in KDevProject::projectCompiled (this=0x8afe4e0) at kdevproject.moc:139 #17 0x424a91a9 in AutoProjectPart::slotCommandFinished (this=0x8afe4e0, command=@0x9ed7ce8) at autoprojectpart.cpp:881 #18 0x424a992b in AutoProjectPart::qt_invoke (this=0x8afe4e0, _id=18, _o=0xbfffe954) at autoprojectpart.moc:144 #19 0x40c923c4 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0x40c926db in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #21 0x0809d8ef in KDevMakeFrontend::commandFinished (this=0x819a600, t0=@0x8208ac0) at kdevmakefrontend.moc:90 #22 0x41bdee23 in MakeWidget::slotProcessExited (this=0x82088c8) at makewidget.cpp:536 #23 0x41be0a49 in MakeWidget::qt_invoke (this=0x82088c8, _id=156, _o=0xbfffeac4) at makewidget.moc:155 #24 0x40c923c4 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #25 0x409146da in KProcess::processExited () from /opt/kde3/lib/libkdecore.so.4 #26 0x409136d1 in KProcess::processHasExited () from /opt/kde3/lib/libkdecore.so.4 #27 0x4091544d in KProcessController::slotDoHousekeeping () from /opt/kde3/lib/libkdecore.so.4 #28 0x40915863 in KProcessController::qt_invoke () from /opt/kde3/lib/libkdecore.so.4 #29 0x40c923c4 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #30 0x40c9254b in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #31 0x40eee23d in QSocketNotifier::activated () from /usr/lib/qt3/lib/libqt-mt.so.3 #32 0x40ca922f in QSocketNotifier::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #33 0x40c4709a in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #34 0x40c46ea7 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #35 0x408e4dcb in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #36 0x40c2afd7 in QEventLoop::activateSocketNotifiers () from /usr/lib/qt3/lib/libqt-mt.so.3 #37 0x40c0d4cb in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #38 0x40c57520 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #39 0x40c57467 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #40 0x40c47216 in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #41 0x0806fc24 in main (argc=1, argv=0xbffff234) at main.cpp:124 #42 0x412539ed in __libc_start_main () from /lib/libc.so.6
Updated to latest CVS. here is the new bt: #0 0x412de099 in wait4 () from /lib/libc.so.6 #1 0x41358bd8 in __DTOR_END__ () from /lib/libc.so.6 #2 0x41192072 in waitpid () from /lib/libpthread.so.0 #3 0x40946b4e in KCrash::defaultCrashHandler () from /opt/kde3/lib/libkdecore.so.4 #4 0x4118fa74 in pthread_sighandler () from /lib/libpthread.so.0 #5 <signal handler called> #6 0x403a6073 in QMapIterator<QString, ParsedClass *>::inc (this=0xbfffe434) at /usr/lib/qt3/include/qmap.h:171 #7 0x403a8280 in QMapIterator<QString, ParsedClass *>::operator++ ( this=0xbfffe434) at /usr/lib/qt3/include/qmap.h:143 #8 0x4037e5e0 in ClassStore::removeWithReferences (this=0x820af98, fileName=@0xbfffe6ac) at classstore.cpp:540 #9 0x41f265d1 in CppDriver::fileParsed (this=0xbfffe6b0, fileName=@0xbfffe6ac) at cppsupportpart.cpp:123 #10 0x4203083c in Driver::parseFile (this=0xbfffe6b0, fileName=@0xbfffe6ac, onlyPreProcess=false, force=false) at driver.cpp:281 #11 0x41ec9299 in CppSupportPart::parseProject (this=0x851bb28) at cppsupportpart.cpp:745 #12 0x41eca724 in CppSupportPart::slotProjectCompiled (this=0x851bb28) at cppsupportpart.cpp:975 #13 0x41ecc0a9 in CppSupportPart::qt_invoke (this=0x851bb28, _id=13, _o=0xbfffe7e8) at cppsupportpart.moc:194
Comment out two removeWithReferences() calls: -on line 43 of parts/cppsupport/store_walker.cpp -on line 123 of parts/cppsupport/cppsupportpart.cpp Recompile Gideon and the problem will go away :)
I don't have crushes in my SuSE 8.2 even with removeWithReferences() calls enabled
*** Bug 60948 has been marked as a duplicate of this bug. ***
OK, so it's maybe a problem of the gcc compiler or glib library ... or something else that ships with SuSE < 8.2 Because so far I've see this happen or more than a SuSE box. So could you all please say your versions (SuSE, gcc, KDE, QT etc) so that we could narrow it down? Thanks.
"SuSE 8.0 Proffesional Update" updated from a SuSE 6.2 or so. gcc-2.95.3-216 glibc-2.2.5-177 binutils-2.11.92.0.10-89 $ cat /proc/version Linux version 2.4.18-4GB (root@Pentium.suse.de) (gcc version 2.95.3 20010315 (SuSE)) #1 Wed Mar 27 13:57:05 UTC 2002 $ rpm -qa | grep "^kde" kdesdk3-3.1.2-15 kdebase3-devel-3.1.2-13 kdedb-0.1-394 kdebase3-nsplugin-3.1.2-13 kdebase3-ksysguardd-3.1.2-13 kdelibs3-devel-3.1.2-3 kdegraphics3-3.1.2-4 kde2-compat-2.2.2-87 kdemultimedia3-3.1.2-1 kdeutils3-3.1.2-5 kdenetwork3-3.1.2-3 kdebase3-3.1.2-13 kdelibs3-3.1.2-3 kdelibs3-devel-doc-3.1.2-3 kde3-i18n-de-3.1.2-0 $ rpm -qa | grep "^qt" qt3-postgresql-3.1.2-42 qt3-mysql-3.1.2-42 qt-extensions-2.3.2-138 qt-2.3.2-138 qt3-non-mt-3.1.2-36 qt3-3.1.2-37 qt3-devel-tools-3.1.2-42 qt3-devel-3.1.2-37 qt-freebies-1.7-384 qt3-devel-doc-3.1.2-37 the kde3.1.2 and the qt3 rpms are the updates for SuSE8.0 on www.kde.org
"SuSE 8.0 Proffesional" gcc-2.95.3 20010315 $ cat /proc/version Linux version 2.4.18-64GB-SMP (root@SMP_X86.suse.de) $ rpm -qa | grep "^kde" kdenetwork3-3.1.2-3 kdebase3-SuSE-0.0.3-113 kdevelop3-2.1.5-73 kdegraphics3-3.1.2-4 kdegraphics3-devel-3.1.2-4 kdebase3-nsplugin-3.1.2-23 kdeutils3-3.1.2-5 kdeadmin3-3.1.2-4 kdebase3-ksysguardd-3.1.2-23 kde3-i18n-en_GB-3.1.2-0 kdebase3-devel-3.1.2-23 kdemultimedia3-3.1.2-4 kdepim3-3.1.2-4 kdelibs3-devel-3.1.2-16 kdelibs3-devel-doc-3.1.2-16 kde2-compat-2.2.2-449 kdelibs3-3.1.2-16 kdesdk3-3.1.2-15 kdeaddons3-3.1.2-12 kdegames3-3.1.2-3 kdebase3-3.1.2-23 kdeartwork3-3.1.2-37 $ rpm -qa | grep "^qt" qtcups-2.0-337 qt-2.3.2-213 qt3-non-mt-3.1.2-42 qt3-devel-3.1.2-37 qt3-3.1.2-37 qt3-devel-tools-3.1.2-51 qt3-devel-doc-3.1.2-37
SuSE Linux 7.3 (i386) gcc version 2.95.3 20010315 (SuSE) Linux version 2.4.18-4GB (root@notebook) (gcc version 2.95.3 20010315 (SuSE)) #3 stefan@notebook:~> rpm -qa | grep "^kde" kdebase3-devel-doc-3.0.4-0 kde-i18n-de-2.2.1-27 kde-i18n-2.2.1-27 kdeartwork-2.2.2-3 kdebase-devel-2.2.2-8 kdegraphics-devel-2.2.2-4 kdebase-devel-doc-2.2.2-8 kdegraphics-2.2.2-4 kdebase3-nsplugin-3.1.2-13 kdenetwork-devel-2.2.2-1 kdemultimedia-devel-2.2.2-2 kdelibs-devel-2.2.2-4 kdenetwork-lisa-2.2.2-1 kdebindings3-3.1-44 kdeutils-2.2.2-5 kdeutils3-devel-3.1.2-5 kdebindings3-mozilla-3.1-44 kdegraphics3-devel-3.1.2-4 kdenetwork3-lisa-3.1-60 kdeadmin-2.2.2-2 kde3-i18n-fr-3.1-0 kdegames-2.2.2-5 kde3-i18n-it-3.1-0 kdelibs-devel-doc-2.2.2-4 kdepim3-3.1.1-104 kdepim-2.2.2-0 kdesdk-2.2.2-5 kdesdk-devel-2.2.2-5 kdetoys-2.2.2-2 kdebase3-ksysguardd-3.1.2-13 kdenetwork3-devel-3.0.4-0 kdepim3-kpilot-3.0.4-0 kdesdk3-3.1.2-15 kdesdk3-devel-3.1.2-15 kdegraphics3-kooka-3.0.1-20 kdetoys3-3.1.2-5 kdeutils3-3.1.2-5 kdeaddons3-3.1.2-9 kdelibs3-devel-3.1.2-3 kde3-i18n-de-3.1.2-0 kde2-compat-2.2.2-239 kdeedu3-3.1.2-5 kdegraphics3-3.1.2-4 kdemultimedia3-3.1.2-1 kdeadmin3-3.1.2-4 kdebase3-devel-3.1.2-13 kdegames3-3.1.2-3 kdemultimedia3-devel-3.1.2-3 kdenetwork3-3.1.2-3 kdebase3-3.1.2-13 kdeartwork3-3.1.2-20 kdelibs3-3.1.2-3 kdelibs3-devel-doc-3.1.2-3 stefan@notebook:~> rpm -qa | grep "^qt" qt3-mysql-3.1.2-42 qt3-postgresql-3.1.2-42 qt3-unixODBC-3.1.2-42 qt3-extensions-3.1.2-42 qt-devel-2.3.1-60 qt-2.3.1-60 qt3-non-mt-3.1.2-3 qt-devel-doc-2.3.1-39 qt-designer-2.3.1-92 qt-extensions-2.3.1-60 qt3-3.1.2-37 qt3-devel-tools-3.1.2-5 qtlib-1.45-296 qt3-devel-doc-3.1.2-37 qt3-devel-3.1.2-37 qt3-man-3.1.2-42
Solved by Roberto's new class store