Version: 3.0a5 latest CVS (using KDE KDE 3.1.2) Installed from: Gentoo Packages OS: Linux I start up KDevelop (Gideon 3.0a5, latest cvs). It automatically opens my previous project. I go to the project menu and select Close. KDevelop crashes. The same thing happens when I try to open a different project, presumably because it has to first close the current project. This is happening with 100% reproducability. I updated from cvs today, normally do so every couple of days. I had never seen this before. Here is my backtrace from gdb: #0 0x00000000 in ?? () #1 0x409a3057 in KXMLGUI::ContainerNode::unplugActions(KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #2 0x409a2aac in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #3 0x409a2cf3 in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #4 0x409a2a9d in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #5 0x409a2cf3 in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #6 0x409a2a9d in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #7 0x4099e737 in KXMLGUIFactory::removeClient(KXMLGUIClient*) () from /usr/kde/3.1/lib/libkdeui.so.4 #8 0x0809fef1 in PluginController::removePart(KXMLGUIClient*) ( this=0x81ee150, part=0x8b6d230) at plugincontroller.cpp:283 #9 0x0809c2ee in ProjectManager::unloadLanguageSupport() (this=0x81eb330) at projectmanager.cpp:466 #10 0x0809aff6 in ProjectManager::closeProject() (this=0x81eb330) at projectmanager.cpp:277 #11 0x0809d545 in ProjectManager::qt_invoke(int, QUObject*) (this=0x81eb330, _id=4, _o=0xbfffea00) at projectmanager.moc:109 Here is what KCrash grabs, probably not useful: [New Thread 16384 (LWP 16109)] [New Thread 32769 (LWP 16115)] [New Thread 16386 (LWP 16116)] 0x41425f88 in waitpid () from /lib/libpthread.so.0 #0 0x41425f88 in waitpid () from /lib/libpthread.so.0 #1 0x40b48a3e in KCrash::defaultCrashHandler(int) () from /usr/kde/3.1/lib/libkdecore.so.4 #2 0x41424dfa in __pthread_sighandler () from /lib/libpthread.so.0 #3 <signal handler called> I have tried recompiling KDevelop (make clean, reconfigure, remake) both in release mode and in debug mode. The same problem occurs both times.
It now looks likely my problem is from a corrupted .kdevelop file, I am investigating further. There's definitely a bug in KDevelop somewhere but it may not be quite where I thought it was.
Hi I have the same problem with the latest gideon cvs. I'm running kde 3.1.1 (std. Suse 8.2) KCrash grap [New Thread 16384 (LWP 23312)] [New Thread 32769 (LWP 23324)] [New Thread 16386 (LWP 23325)] 0x4137d3ba in waitpid () from /lib/libpthread.so.0 #0 0x4137d3ba in waitpid () from /lib/libpthread.so.0 #1 0x40a96c89 in KCrash::defaultCrashHandler(int) () from /opt/kde3/lib/libkdecore.so.4 #2 0x4137c1ec in __pthread_sighandler () from /lib/libpthread.so.0 #3 <signal handler called> #4 0x08a908bb in ?? () #5 0x408fa6c4 in KXMLGUI::ContainerNode::unplugActions(KXMLGUI::BuildState&) () from /opt/kde3/lib/libkdeui.so.4 #6 0x408fa18c in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /opt/kde3/lib/libkdeui.so.4 #7 0x408fa38a in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /opt/kde3/lib/libkdeui.so.4 #8 0x408fa180 in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /opt/kde3/lib/libkdeui.so.4 #9 0x408fa38a in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /opt/kde3/lib/libkdeui.so.4 #10 0x408fa180 in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /opt/kde3/lib/libkdeui.so.4 #11 0x408f74cd in KXMLGUIFactory::removeClient(KXMLGUIClient*) () from /opt/kde3/lib/libkdeui.so.4 #12 0x080890d1 in ProjectManager::unloadLanguageSupport() () #13 0x080878ff in ProjectManager::closeProject() () #14 0x0807ec33 in Core::queryClose() () #15 0x080910fc in MainWindowIDEAl::queryClose() () #16 0x4088f203 in KMainWindow::closeEvent(QCloseEvent*) (
Well, I modified the plugincontroller.cpp file, specifically the PluginController::removePart method. This now looks like: void PluginController::removePart(KXMLGUIClient *part) { kdDebug(62698) << "PluginController::removePart(KXMLGUIClient *part)" << endl; kdDebug(62698) << TopLevel::getInstance() << endl; kdDebug(62698) << TopLevel::getInstance()->main() << endl; kdDebug(62698) << TopLevel::getInstance()->main()->guiFactory() << endl; kdDebug(62698) << part << " if ( ! part ) ? " << (! part) << endl; try { TopLevel::getInstance()->main()->guiFactory()->removeClient(part); } catch (...) { kdDebug(62698) << "Caught an exception" << endl; } } (I didn't know what to put in for the number for kdDebug). I still get the crash at the same location, the bit that actually removes the client. I'm attaching another stack trace along with the output in gdb leading up to that point. It looks like my reverting to a previous build of KDevelop did _not_ show the error, it instead crashed in a different location due to changes in cppsupportpart. I therefore cannot say exactly when this particular bug was introduced but it must have been fairly recently. I also cannot say if Peter's confirmation is actually for the same bug, his stack trace looks different than mine. I'm totally lost looking at the KDevelop source code so I am not planning on investigating this problem further but if someone else wants to, I can run tests, etc. etc. I'll also note if a future retrieval from CVS fixes my problem. qeditor: CppSupportPart::activePartChanged() kdevelop (cpp support): CppCodeCompletion::slotActivePartChanged() kdevelop (cpp support): BackgroundParser::removeAllFiles() kdevelop (debugger): GDBController::slotStopDebugger() called kdevelop (debugger): Disassemble widget active: false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x8a9ccd0 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x86556e0 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x8b74c90 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x8b74de0 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x8a39a48 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x87fe2c8 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x86442d0 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x898dcf8 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x874a008 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x8618f68 if ( ! part ) ? false kdevelop (cpp support): DistpartPart::~DistpartPart() gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x81806f8 if ( ! part ) ? false gideon: PluginController::removePart(KXMLGUIClient *part) gideon: 0x819f2a4 gideon: [MainWindowIDEAl pointer (0x819f1f0) to widget gideon-mainwindow#1, geometry=1591x1114+0+0] gideon: 0x81aff78 gideon: 0x8b95478 if ( ! part ) ? false Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 17515)] 0x08b0aecd in ?? () (gdb) bt #0 0x08b0aecd in ?? () #1 0x409a2aac in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #2 0x409a2cf3 in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #3 0x409a2a9d in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #4 0x409a2cf3 in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #5 0x409a2a9d in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #6 0x4099e737 in KXMLGUIFactory::removeClient(KXMLGUIClient*) () from /usr/kde/3.1/lib/libkdeui.so.4 #7 0x080a00dd in PluginController::removePart(KXMLGUIClient*) ( this=0x81ee388, part=0x8b95478) at plugincontroller.cpp:290 #8 0x0809c32e in ProjectManager::unloadLanguageSupport() (this=0x81eb568) at projectmanager.cpp:466 #9 0x0809b036 in ProjectManager::closeProject() (this=0x81eb568) at projectmanager.cpp:277 #10 0x0809d585 in ProjectManager::qt_invoke(int, QUObject*) (this=0x81eb568, _id=4, _o=0xbfffea00) at projectmanager.moc:109 #11 0x40ed2639 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/qt/3/lib/libqt-mt.so.3
Same problem here. I am using the latest CVS version under Redhat 9. I just did the following: Wiped my source directory, wiped the installation directory Did a clean checkout of the current CVS version (15.08.2003) run configure with the following flags --prefix=path/to/local/directory --without-arts after installing, I completely removed (after backing it up of course) my .kde directory to get rid of all configuration files. I still have the same problem. I suspect that it might be related to the --prefix install. Is everybody else who experiences this problem using --prefix as well?
I am using --prefix. I have not tried without using --prefix.
Chris: If you can, maybe give it a try. I can not try this here, as I do not have root access.
Tried running from the built source directory (~/kde3src/kdevelop/src/.libs/gideon) rather than running the installed executable. I get the same error at the same location. I am now building a new version of kdevelop WITHOUT using the --prefix flag, will advise with the results.
I just compiled from a clean checkout of CVS without using --prefix. I get exactly the same problem at exactly the same line of code. Sorry, folks.
After updating from CVS today, I now get the following stack trace which looks to be slightly different. The crash still occurs when closing a project. kdevelop (cpp support): CppCodeCompletion::slotActivePartChanged() kdevelop (cpp support): BackgroundParser::removeAllFiles() kdevelop (debugger): GDBController::slotStopDebugger() called kdevelop (debugger): Disassemble widget active: false kdevelop (cpp support): DistpartPart::~DistpartPart() Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 18828)] 0x00000000 in ?? () (gdb) bt #0 0x00000000 in ?? () #1 0x40995057 in KXMLGUI::ContainerNode::unplugActions(KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #2 0x40994aac in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #3 0x40994cf3 in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #4 0x40994a9d in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #5 0x40994cf3 in KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #6 0x40994a9d in KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) () from /usr/kde/3.1/lib/libkdeui.so.4 #7 0x40990737 in KXMLGUIFactory::removeClient(KXMLGUIClient*) () from /usr/kde/3.1/lib/libkdeui.so.4 #8 0x0807bc93 in ProjectManager::unloadLanguageSupport() (this=0x81ab208) at projectmanager.cpp:466 #9 0x0807a483 in ProjectManager::closeProject() (this=0x8b31d20) at projectmanager.cpp:277 #10 0x0807d535 in ProjectManager::qt_invoke(int, QUObject*) (this=0x8b31d48, _id=145956128, _o=0xbfffe950) at projectmanager.moc:109 #11 0x40ec4639 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/qt/3/lib/libqt-mt.so.3
Seems to be fixed (for me) in todays CVS build. Thanks developers! Good work.
I am afraid it still isn't fixed, at least not for me. I'm still getting a crash in the same location as I described above (20030816 2010)
*** Bug 62407 has been marked as a duplicate of this bug. ***
*** Bug 62929 has been marked as a duplicate of this bug. ***
cvs up and retest
It doesn't crash for me any more! Wow! I'm interested to know (off-list) what you did to fix the problem. I also think we shouldn't close this bug until at least one other person has confirmed this fixed the bug for them as well.
Works here now, too :-)
I also don't get a crash anymore.
I'm the reporter, I'm marking this bug as resolved as enough people have shown that it works fine now. Thanks, everyone.
Looks like Roberto did it again! http://lists.kde.org/?l=kde-cvs&m=106141321316045&w=2
Subject: Re: Crash when closing a project Chris Thompson wrote: >------- You are receiving this mail because: ------- >You are a voter for the bug, or are watching someone who is. > >http://bugs.kde.org/show_bug.cgi?id=62698 > > > > >------- Additional Comments From chris@hypocrite.org 2003-08-21 16:26 ------- >It doesn't crash for me any more! Wow! I'm interested to know (off-list) what you did to >fix the problem. > >I also think we shouldn't close this bug until at least one other person has confirmed this >fixed the bug for them as well. > > > It works again with the current CVS (2003-08-21) :-)
*** Bug 63051 has been marked as a duplicate of this bug. ***