Bug 81810

Summary: kdevelop crashes every second time it loads a project, in case it loads successfully it crashes while editing source code
Product: [Applications] kdevelop Reporter: Daniel Parkot <daniel>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Daniel Parkot 2004-05-18 17:12:45 UTC
Version:           3.0.2 and 3.0.3 all subversion I could get (using KDE KDE 3.2.1)
Installed from:    SuSE RPMs
Compiler:          gnu C++  original from suse 9.1
OS:                Linux

The short discription is quiet precise. When I open an project the computer crashes while reading the project files. The harddisk is working severely during this operation. When I kill the process, which takes some time because the computer reacts very slowly, and restart kdevelop it loads properly. but in that case it crashes when I edit an file.
Strange thing is it ALWAYS crashes when I edit an "if(" after typing the "(".
Comment 1 Daniel Parkot 2004-05-18 17:26:09 UTC
Ok tried now to open a new project.
creating works properly but after typing "if(" its gone.
its not a problem of kate, there it works
Comment 2 Jens Dagerbo 2004-05-20 14:38:05 UTC
Have you defined any Code Completion databases? (PCS)

There are some indications that SuSE 9.1 and bdb are not the best of friends. See for instance:

http://www.kdevelop.org/forum/read.php?f=2&i=11965&t=11965
Comment 3 Daniel Parkot 2004-06-15 16:36:51 UTC
The second part of my problem seems to be resolved. I compiled the bdb41 from the sources and then kdevelop, using the newest version 3.0.4. At least I can now edit and compile the source. The first mentioned problem however is still there. Every SECOND time kdevelop hangs while loading the project files. I am curious if any other user can share my experience.
Comment 4 Reinhard Katzmann 2004-08-14 09:31:55 UTC
I can share your experience concerning kdevelop 3.0.4. I have imported my Pertergrin project as automake-based project which works just fine. In this session I could automake/compile/debug/run the program. Now everytime I start kdevelop it crashes when automatically loading the previous project.

Reinhard Katzmann
Comment 5 Jens Dagerbo 2004-08-16 13:35:50 UTC
Reinhard, Daniel says KDevelop _hangs_ every other time it loads the project, and you say it _crashes_ every time. And yet you're sure this is the same problem? Why?

As with any crash, a good backtrace is perhaps the best information you can give us. Please submit one.
Comment 6 Daniel Parkot 2004-08-16 13:59:22 UTC
Unfortunately I don't have an backtrace but I can be more spectific.
In my project directory there is an file *.kdevelop.ignore_pcs
as long as this file exists everything is working fine. but when I close kdevelop this file seems to be deleted. so when i open the same project after regularly closing kdevelop, the ignore_pcs file does not exist which leads to an crash while updating the classview. the crash however prevents kdevelop from deleting the ognore_psc file so that next time i can start again. 

This is what I meant saying kdevelop crashes every second time. The problem Rheinhard describes seems to be something different. 

Daniel Parkot
Comment 7 Jens Dagerbo 2004-08-17 00:46:34 UTC
Yes, Reinhard's problem is very probably different from yours. That was my point. :)

The .ignore_pcs file is a safety feature. It does exactly what it is supposed to in your case, it keeps KDevelop from attempting to load the project .pcs file in the case that the last attempt to do so was unsuccessful. 

Clearly this not expected to be a common case. Loading the project .pcs file is typically uneventful. ;) 

I think someone else reported something similar. If memory serves he was using AMD64. Anything special about your setup?
Comment 8 Daniel Parkot 2004-08-17 09:25:31 UTC
Well in that point I have the same setup, an AMD64 but hat the same problems on the other machines and they are ordinary ix86. The crash or better say hang, because kdevelop really hangs, appears after loading the project during some kind of update or refresh. In the statusbar "Project Loaded" ist done and durind the following refresh ("Aktualisierung Läuft") it freezes. Maybe it helps. I compile kdev now as debug version so i will try to send you a backtrace.
Comment 9 Daniel Parkot 2004-08-17 09:27:22 UTC
Starting program: /opt/kde3/bin/kdevelop
[Thread debugging using libthread_db enabled]
[New Thread 182975359968 (LWP 5487)]
Xlib:  extension "XInputExtension" missing on display "212b-w2k3-pk.msi.RWTH-Aachen.DE:0.0".
Failed to get list of devices
QLayout "unnamed" added to IndexView "unnamed", which already has a layout
QMetaObject::findSignal:SnippetWidget: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
QMetaObject::findSignal:KFileDetailView: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
QMetaObject::findSignal:KFileDetailView: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
Detaching after fork from child process 6623.
ASSERT: "part && parent" in partwidget.cpp (41)
QObject::connect: No such slot subversionPart::slotActionAdd()
QObject::connect:  (sender name:   'subversion_add')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotActionRemove()
QObject::connect:  (sender name:   'subversion_remove')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotActionAddToIgnoreList()
QObject::connect:  (sender name:   'subversion_ignore')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotActionRemoveFromIgnoreList()
QObject::connect:  (sender name:   'subversion_donot_ignore')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotStopButtonClicked(KDevPlugin*)
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot ClassViewPart::removeNamespace(const QString&)
QObject::connect:  (sender name:   'ClassViewWidget')
QObject::connect:  (receiver name: 'ClassViewPart')
[New Thread 1075837296 (LWP 29590)]

Program received signal SIG41, Real-time event 41.
[Switching to Thread 182975359968 (LWP 5487)]
0x0000002a9a16dcff in __open_nocancel () from /lib64/tls/libc.so.6
Comment 10 Rutger ter Borg 2004-10-04 17:05:19 UTC
I have had these exact same crashes on amd64, and have written short patch which remedies it for me. Please see my comments numbers #64--#67 on bug #69906.



Comment 11 Jens Dagerbo 2004-10-06 01:11:25 UTC
Thanks for the patch, Rutger. I've only read it, but it seems sane. :)

I'm in the process of setting up an AMD64 system and will finally be able to test this problem & patch then.
Comment 12 Eric Sorensen 2004-11-19 09:15:45 UTC
I'm using SuSE 9.2 on an AMD 64 and am also experiencing this problem.  Exactly as the others mentioned, KDevelop crashes every second time.  It also crashes on the average of once every tenth time compiling or starting of my program. One thing is absolutely reliable, when I first login on KDE and start KDevelop there is a 100% chance that it crashes on the first start.  

My code completion also seems to not work like it used to.  It almost never activates although it should - based on previous versions.

KDE Version : 3.1.0 (KDE 3.3.0, SuSE)
Operating System Linux (x86_64) release 2.6.8-24.3-default
Compiler gcc version 3.3.4 (pre 3.3.5 20040809)

Using host libthread_db library "/lib64/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 182977627648 (LWP 7699)]
[New Thread 1075837280 (LWP 7700)]
[Thread debugging using libthread_db enabled]
[New Thread 182977627648 (LWP 7699)]
[New Thread 1075837280 (LWP 7700)]
[Thread debugging using libthread_db enabled]
[New Thread 182977627648 (LWP 7699)]
[New Thread 1075837280 (LWP 7700)]
[KCrash handler]
#3  0x0000002a9a3176cd in raise () from /lib64/tls/libc.so.6
#4  0x0000002a9a318c7e in abort () from /lib64/tls/libc.so.6
#5  0x0000002a9a056886 in __cxxabiv1::__terminate ()
   from /usr/lib64/libstdc++.so.5
#6  0x0000002a9a0568b3 in std::terminate () from /usr/lib64/libstdc++.so.5
#7  0x0000002a9a0569a3 in __cxa_throw () from /usr/lib64/libstdc++.so.5
#8  0x0000002a9a056b59 in operator new () from /usr/lib64/libstdc++.so.5
#9  0x0000002a9a056c09 in operator new[] () from /usr/lib64/libstdc++.so.5
#10 0x0000002a98996734 in QString::setLength ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#11 0x0000002a9899dbfb in operator>> () from /usr/lib/qt3/lib64/libqt-mt.so.3
#12 0x000000000049371c in CodeModelItem::read ()
#13 0x00000000004a644f in ClassModel::read ()
#14 0x00000000004a6a0c in NamespaceModel::read ()
#15 0x00000000004a6af9 in FileModel::read ()
#16 0x0000002a9dda29f6 in CppSupportPart::slotParseFiles ()
   from /opt/kde3/lib64/kde3/libkdevcppsupport.so
#17 0x0000002a9dda84dd in CppSupportPart::qt_invoke ()
   from /opt/kde3/lib64/kde3/libkdevcppsupport.so
#18 0x0000002a98718639 in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#19 0x0000002a989f0fb2 in QSignal::signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x0000002a9873164a in QSignal::activate ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x0000002a98737cb8 in QSingleShotTimer::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x0000002a986c096d in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x0000002a986c229e in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x0000002a97a28325 in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#25 0x0000002a986b68bc in QEventLoop::activateTimers ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#26 0x0000002a98678c38 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#27 0x0000002a986d6021 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#28 0x0000002a986d5e92 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#29 0x0000002a986c21b5 in QApplication::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#30 0x0000000000474444 in main ()
Comment 13 Christian Prochnow 2004-11-19 15:42:25 UTC
Same crash here on an AMD64 system running Gentoo Linux.

kernel-2.6.9
gcc-3.3.4
db-4.1.25_p1
kde 3.3.1
kdevelop-3.1.1
Comment 14 Göran Karlson 2004-11-21 08:01:43 UTC
This is a crash dump from a java startup:
(The java program is a simple hello program generated by the project wizard)

KDevelop Version : 3.1.0 (KDE 3.3.0, SuSE) 
 Operating System Linux (x86_64) release 2.6.8-24.3-default 
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

Using host libthread_db library "/lib64/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 182977627648 (LWP 7826)]
[New Thread 1075837280 (LWP 7828)]
[Thread debugging using libthread_db enabled]
[New Thread 182977627648 (LWP 7826)]
[New Thread 1075837280 (LWP 7828)]
[Thread debugging using libthread_db enabled]
[New Thread 182977627648 (LWP 7826)]
[New Thread 1075837280 (LWP 7828)]
[KCrash handler]
#3  0x0000002a9a3176cd in raise () from /lib64/tls/libc.so.6
#4  0x0000002a9a318c7e in abort () from /lib64/tls/libc.so.6
#5  0x0000002a9a056886 in __cxxabiv1::__terminate ()
   from /usr/lib64/libstdc++.so.5
#6  0x0000002a9a0568b3 in std::terminate () from /usr/lib64/libstdc++.so.5
#7  0x0000002a9a0569a3 in __cxa_throw () from /usr/lib64/libstdc++.so.5
#8  0x0000002a9a056b59 in operator new () from /usr/lib64/libstdc++.so.5
#9  0x0000002a9a056c09 in operator new[] () from /usr/lib64/libstdc++.so.5
#10 0x0000002a98996734 in QString::setLength ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#11 0x0000002a9899dbfb in operator>> () from /usr/lib/qt3/lib64/libqt-mt.so.3
#12 0x000000000049371c in CodeModelItem::read ()
#13 0x00000000004a644f in ClassModel::read ()
#14 0x00000000004a64fa in ClassModel::read ()
#15 0x00000000004a6a0c in NamespaceModel::read ()
#16 0x00000000004a6af9 in FileModel::read ()
#17 0x0000002a9dd30be8 in JavaSupportPart::parseProject ()
   from /opt/kde3/lib64/kde3/libkdevjavasupport.so
#18 0x0000002a9dd30eb5 in JavaSupportPart::initialParse ()
   from /opt/kde3/lib64/kde3/libkdevjavasupport.so
#19 0x0000002a9dd34460 in JavaSupportPart::qt_invoke ()
   from /opt/kde3/lib64/kde3/libkdevjavasupport.so
#20 0x0000002a98718639 in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x0000002a989f0fb2 in QSignal::signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x0000002a9873164a in QSignal::activate ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x0000002a98737cb8 in QSingleShotTimer::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x0000002a986c096d in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#25 0x0000002a986c229e in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#26 0x0000002a97a28325 in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#27 0x0000002a986b68bc in QEventLoop::activateTimers ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#28 0x0000002a98678c38 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#29 0x0000002a986d6021 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#30 0x0000002a986d5e92 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#31 0x0000002a986c21b5 in QApplication::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#32 0x0000000000474444 in main ()
Comment 15 Jens Dagerbo 2006-03-26 01:44:18 UTC
Rutger ter Borg's seems to have been applied, and there has been no recent reports of this problem.

Assuming fixed.