Bug 145563 - crash changing c++ project
Summary: crash changing c++ project
Status: RESOLVED INTENTIONAL
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 3.4.1
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 148614 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-05-17 17:37 UTC by Rob L
Modified: 2008-07-06 21:17 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 Rob L 2007-05-17 17:37:07 UTC
Version:           3.4.1 (using KDE KDE 3.5.1)
Installed from:    SuSE RPMs
OS:                Linux

changing project after working in another for a while causes a crash.  If I restart and change projects immediately, it works ok.

See attached stack.
Comment 1 Bram Schoenmakers 2007-05-17 17:39:13 UTC
Please paste the stack in a comment, this makes things easier.
Comment 2 Rob L 2007-05-17 17:41:25 UTC
stack trace (create attachment doesn't work):

System configuration startup check disabled.

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1240139584 (LWP 21637)]
[New Thread -1266369632 (LWP 21710)]
[New Thread -1253770336 (LWP 21686)]
[KCrash handler]
#6  0xb5710e48 in CppSupportPart::buildSafeFileSet ()
   from /opt/kde3/lib/kde3/libkdevcppsupport.so
#7  0xb57118b7 in CppSupportPart::qt_invoke ()
   from /opt/kde3/lib/kde3/libkdevcppsupport.so
#8  0xb7116e9d in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#9  0xb7117afd in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0xb7450589 in QTimer::timeout () from /usr/lib/qt3/lib/libqt-mt.so.3
#11 0xb713a6ef in QTimer::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0xb70b7f37 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0xb70b8d01 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0xb77608e3 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#15 0xb70ad0c5 in QEventLoop::activateTimers ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0xb7067710 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#17 0xb70cecdf in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0xb4ab63a4 in GDBDebugger::GDBController::slotStopDebugger ()
   from /opt/kde3/lib/kde3/libkdevdebugger.so
#19 0xb4aa4486 in GDBDebugger::DebuggerPart::slotStopDebugger ()
   from /opt/kde3/lib/kde3/libkdevdebugger.so
#20 0xb4aa492d in GDBDebugger::DebuggerPart::projectClosed ()
   from /opt/kde3/lib/kde3/libkdevdebugger.so
#21 0xb4aa6a57 in GDBDebugger::DebuggerPart::qt_invoke ()
   from /opt/kde3/lib/kde3/libkdevdebugger.so
#22 0xb7116e01 in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0xb7117afd in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0xb7e4b99c in KDevCore::projectClosed ()
   from /opt/kde3/lib/libkdevelop.so.1
#25 0xb7eec7f6 in ProjectManager::closeProject ()
   from /opt/kde3/lib/libkdevshell.so.0
#26 0xb7eecd83 in ProjectManager::loadProject ()
   from /opt/kde3/lib/libkdevshell.so.0
#27 0xb7eede79 in ProjectManager::slotOpenProject ()
   from /opt/kde3/lib/libkdevshell.so.0
#28 0xb7eeedca in ProjectManager::qt_invoke ()
   from /opt/kde3/lib/libkdevshell.so.0
#29 0xb7116e9d in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#30 0xb7117afd in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#31 0xb792b529 in KAction::activated () from /opt/kde3/lib/libkdeui.so.4
#32 0xb7961032 in KAction::slotActivated () from /opt/kde3/lib/libkdeui.so.4
#33 0xb7a6d6ad in KAction::slotPopupActivated ()
   from /opt/kde3/lib/libkdeui.so.4
#34 0xb7a6d971 in KAction::qt_invoke () from /opt/kde3/lib/libkdeui.so.4
#35 0xb7116e9d in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#36 0xb744e39e in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#37 0xb7132f77 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3
#38 0xb721affa in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#39 0xb793089e in KPopupMenu::mouseReleaseEvent ()
   from /opt/kde3/lib/libkdeui.so.4
#40 0xb714fbc0 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#41 0xb70b7f37 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#42 0xb70b8e5b in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#43 0xb77608e3 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#44 0xb705851e in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#45 0xb7056e16 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#46 0xb706745a in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#47 0xb70ced68 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#48 0xb70cebfe in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#49 0xb70b7aef in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#50 0x0804dee5 in main ()
Comment 3 David Nolden 2007-05-18 00:02:08 UTC
This should be fixed in svn, see commit 665785. 

I could not reproduce it however, probably the debugger needs to be running when closing the project(or anything else that keeps dispatching events while the projectClosed(..) signal is called).

If this does not help, reopen the bug.
Comment 4 Rob L 2007-05-18 16:06:57 UTC
The debugger does need to be running to cause the crash.  Haven't had chance to test svn yet.
Comment 5 Rob L 2007-05-24 15:48:33 UTC
Same conditions (except no debugger), not svn version, different stack:

System configuration startup check disabled.

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1239664448 (LWP 10126)]
[KCrash handler]
#6  0x00000028 in ?? ()
#7  0xb718a6cc in QObject::inherits () from /usr/lib/qt3/lib/libqt-mt.so.3
#8  0xb7f419f4 in EditorProxy::setLineNumber ()
   from /opt/kde3/lib/libkdevshell.so.0
#9  0xb7f41bf6 in EditorProxy::setLineNumberDelayed ()
   from /opt/kde3/lib/libkdevshell.so.0
#10 0xb7f421a5 in EditorProxy::qt_invoke ()
   from /opt/kde3/lib/libkdevshell.so.0
#11 0xb718ae9d in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0xb718bafd in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0xb74c4589 in QTimer::timeout () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0xb71ae6ef in QTimer::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#15 0xb712bf37 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0xb712cd01 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#17 0xb77d48e3 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#18 0xb71210c5 in QEventLoop::activateTimers ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0xb70db710 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0xb7142d68 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#21 0xb7142bfe in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0xb712baef in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x0804dee5 in main ()
Comment 6 Rob L 2007-06-11 18:18:33 UTC
still a problem in kdevelop3-3.4.1-17.1 (not sure what commit this goes up to)
Comment 7 Rob L 2007-06-28 13:47:26 UTC
this is still a problem with kdevelop3-3.4.1-70.2:

#6  0x00322070 in ?? ()
#7  0xb710e6cc in QObject::inherits () from /usr/lib/qt3/lib/libqt-mt.so.3
#8  0xb7ec4864 in EditorProxy::setLineNumber ()
   from /opt/kde3/lib/libkdevshell.so.0
#9  0xb7ec4a66 in EditorProxy::setLineNumberDelayed ()
   from /opt/kde3/lib/libkdevshell.so.0
Comment 8 Rob L 2007-07-09 17:19:10 UTC
The 2nd stack trace (which is the only one I seem to get with the latest svn version) appears to be failing on this line:

kdevelop/src/editorproxy.cpp:73
if (!part || !part->inherits("KTextEditor::Document"))

My /opt/kde3/include/kparts/part.h does not appear to define any inherits() method for KParts::Part (kdebase3-devel-3.5.1-69.29), is this added in a later version?
Comment 9 Andreas Pakulat 2007-07-11 11:13:55 UTC
inherits is a QObject method and probably exists since Qt 3.0 at least. Also  its crashing inside inherits, so to get more information you probably need to build Qt3 with debug symbols from source so the backtrace includes the line at which it is crashing.
Comment 10 Rob L 2007-07-11 11:47:24 UTC
Is it possible EditorProxy:setLineNumber(m_delayedPart) is being called after m_delayedPart has been deleted (ie. a step in closing the project)?  I'm not sure if a debug Qt3 would be much help.
Comment 11 Rob L 2007-07-12 16:53:54 UTC
It also sometimes crashes like this when 'Close All Others' is selected from an editor tab.
Comment 12 Andreas Pakulat 2007-12-02 00:49:25 UTC
*** Bug 148614 has been marked as a duplicate of this bug. ***
Comment 13 Andreas Pakulat 2008-07-06 21:17:08 UTC
as this is hard to reproduce, nobody's working on the kdevelop3 codebase actively and we're not having this in kdevelop4 I close this as wontfix.