Bug 59464 - crashes when saving header file (.h)
Summary: crashes when saving header file (.h)
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: CPP (old) (show other bugs)
Version: git master
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
: 60948 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-06-07 12:16 UTC by Stefan Schmidt
Modified: 2003-08-19 17:55 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Schmidt 2003-06-07 12:16:35 UTC
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
Comment 1 Stefan Schmidt 2003-06-07 12:23:58 UTC
"Save as" using another filename works as expected, but when re-saving as the .h that is in the 
project -> crash. 
Comment 2 Amilcar do Carmo Lucas 2003-06-11 19:45:16 UTC
Comment removeWithReferences() call on line 43 od 
parts/cppsupport/store_walker.cpp, recompile and the problem will go away :)
Comment 3 Amilcar do Carmo Lucas 2003-06-17 16:10:21 UTC
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 
 
Comment 4 Amilcar do Carmo Lucas 2003-06-17 16:55:44 UTC
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 5 Amilcar do Carmo Lucas 2003-06-17 17:37:48 UTC
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 :)  
Comment 6 Alexander Dymo 2003-07-08 23:07:37 UTC
I don't have crushes in my SuSE 8.2 even with removeWithReferences() calls enabled 
Comment 7 Amilcar do Carmo Lucas 2003-07-09 10:12:13 UTC
*** Bug 60948 has been marked as a duplicate of this bug. ***
Comment 8 Amilcar do Carmo Lucas 2003-07-09 10:17:03 UTC
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. 
Comment 9 Jan Mentzel 2003-07-09 10:38:20 UTC
"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 
 
Comment 10 Amilcar do Carmo Lucas 2003-07-10 16:20:20 UTC
"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
Comment 11 Stefan Schmidt 2003-07-10 19:36:19 UTC
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 
 
 
Comment 12 Amilcar do Carmo Lucas 2003-08-19 17:55:38 UTC
Solved by Roberto's new class store