Bug 172309

Summary: kdevelop crash on click @ project root multiple times
Product: [Unmaintained] kdelibs Reporter: christian <ch75>
Component: kdecoreAssignee: Evgeniy Ivanov <pfx.kde>
Status: RESOLVED FIXED    
Severity: crash CC: apaku, pfx.kde
Priority: NOR    
Version: SVN   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description christian 2008-10-07 02:17:42 UTC
Version:           svn (using Devel)
Compiler:          recent ubuntu 8.10 
OS:                Linux
Installed from:    Compiled sources

This backtrace appears to be of no use.
This is probably because your packages are built in a way which prevents creation of proper backtraces, or the stack frame was seriously corrupted in the crash.

[Thread debugging using libthread_db enabled]
[New Thread 0x7f16b753a6f0 (LWP 7449)]
[New Thread 0x42066950 (LWP 13759)]
0x00007f16b2af0621 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 7449)]

Thread 2 (Thread 0x42066950 (LWP 13759)):
#0  0x00007f16b2b27482 in select () from /lib/libc.so.6
#1  0x00007f16b5136c36 in QProcessManager::run (this=0xfcb810) at /r0/k4/kdesvn/qt-copy/src/corelib/io/qprocess_unix.cpp:301
#2  0x00007f16b5080469 in QThreadPrivate::start (arg=0xfcb810) at /r0/k4/kdesvn/qt-copy/src/corelib/thread/qthread_unix.cpp:185
#3  0x00007f16b4e023ea in start_thread () from /lib/libpthread.so.0
#4  0x00007f16b2b2ec6d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f16b753a6f0 (LWP 7449)):
#0  0x00007f16b2af0621 in nanosleep () from /lib/libc.so.6
#1  0x00007f16b2af0447 in sleep () from /lib/libc.so.6
#2  0x00007f16b5b3f97f in KCrash::startDrKonqi (argv=0x7fffbf56c488, argc=17) at /r0/k4/kdesvn/kdelibs/kdeui/util/kcrash.cpp:412
#3  0x00007f16b5b402ea in KCrash::defaultCrashHandler (sig=6) at /r0/k4/kdesvn/kdelibs/kdeui/util/kcrash.cpp:337
#4  <signal handler called>
#5  0x00007f16b2a7afd5 in raise () from /lib/libc.so.6
#6  0x00007f16b2a7cb43 in abort () from /lib/libc.so.6
#7  0x00007f16b2ac1960 in ?? () from /lib/libc.so.6
#8  0x00007f16b515e6b1 in QObjectPrivate::deleteChildren (this=0x1a230a0) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:1884
#9  0x00007f16b5166919 in ~QObject (this=0x18583b0) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:884
#10 0x00007f16a7585623 in ~DVCSjob (this=0x18583b0) at /r0/k4/kdesvn/kdevplatform/vcs/dvcs/dvcsjob.cpp:75
#11 0x00007f16b515fe75 in QObject::event (this=0x18583b0, e=0x1d19) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:1139
#12 0x00007f16b3deb8ed in QApplicationPrivate::notify_helper (this=0xfc7ad0, receiver=0x18583b0, e=0x10ef9b0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3803
#13 0x00007f16b3df1c9a in QApplication::notify (this=0x7fffbf571da0, receiver=0x18583b0, e=0x10ef9b0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3768
#14 0x00007f16b5ada89b in KApplication::notify (this=0x7fffbf571da0, receiver=0x18583b0, event=0x10ef9b0) at /r0/k4/kdesvn/kdelibs/kdeui/kernel/kapplication.cpp:307
#15 0x00007f16b515221c in QCoreApplication::notifyInternal (this=0x7fffbf571da0, receiver=0x18583b0, event=0x10ef9b0) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:583
#16 0x00007f16b5152bf8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xf4e380) at ../../include/QtCore/../../../../qt-copy/src/corelib/kernel/qcoreapplication.h:209
#17 0x00007f16b5176b03 in postEventSourceDispatch (s=<value optimized out>) at ../../include/QtCore/../../../../qt-copy/src/corelib/kernel/qcoreapplication.h:214
#18 0x00007f16ae981d4b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#19 0x00007f16ae98551d in ?? () from /usr/lib/libglib-2.0.so.0
#20 0x00007f16ae9856db in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#21 0x00007f16b517679f in QEventDispatcherGlib::processEvents (this=0xfc7a20, flags=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:319
#22 0x00007f16b3e6cb6f in QGuiEventDispatcherGlib::processEvents (this=0x1d19, flags=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:198
#23 0x00007f16b5150b92 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1084828224}) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:143
#24 0x00007f16b5150d25 in QEventLoop::exec (this=0x7fffbf56d600, flags={i = -1084828144}) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:190
#25 0x00007f16b6fcd9bf in KJob::exec (this=0x1a952e0) at /r0/k4/kdesvn/kdelibs/kdecore/jobs/kjob.cpp:194
#26 0x00007f16a312dd0b in BzrExecutor::isValidDirectory (this=0x135f8b0, dirPath=@0x16a0610) at /r0/k4/kdesvn/kdevplatform/plugins/bazaar/bzrexecutor.cpp:65
#27 0x00007f16a758818a in KDevelop::DistributedVersionControlPlugin::contextMenuExtension (this=0x135ef00, context=0x7fffbf56dd40) at /r0/k4/kdesvn/kdevplatform/vcs/dvcs/dvcsplugin.cpp:381
#28 0x00007f16b6a73676 in KDevelop::PluginController::queryPluginsForContextMenuExtensions (this=0x110fc20, context=0x7fffbf56dd40) at /r0/k4/kdesvn/kdevplatform/shell/plugincontroller.cpp:474
#29 0x00007f16a142ddd2 in ProjectTreeView::popupContextMenu (this=0x1835550, pos=@0x7fffbf56eb98) at /r0/k4/kdesvn/kdevplatform/plugins/projectmanagerview/projecttreeview.cpp:203
#30 0x00007f16a142ef1d in ProjectTreeView::qt_metacall (this=0x1835550, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffbf56e010)
    at /r0/k4/kdesvn/build/kdevplatform/plugins/projectmanagerview/projecttreeview.moc:74
#31 0x00007f16b5163ba0 in QMetaObject::activate (sender=0x1835550, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xffffffffffffffff)
    at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:3028
#32 0x00007f16b3e285f2 in QWidget::customContextMenuRequested (this=0x1d19, _t1=<value optimized out>) at .moc/release-shared/moc_qwidget.cpp:348
#33 0x00007f16b3e38aeb in QWidget::event (this=0x1835550, event=0x7fffbf56eb80) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qwidget.cpp:7323
#34 0x00007f16b41fa7dd in QAbstractItemView::viewportEvent (this=0x1835550, event=0x7fffbf56eb80) at /r0/k4/kdesvn/qt-copy/src/gui/itemviews/qabstractitemview.cpp:1429
#35 0x00007f16b422beec in QTreeView::viewportEvent (this=0x1835550, event=0x7fffbf56eb80) at /r0/k4/kdesvn/qt-copy/src/gui/itemviews/qtreeview.cpp:1265
#36 0x00007f16b5151518 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x184c4c0, event=0x7fffbf56eb80)
    at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:694
#37 0x00007f16b3deb8bc in QApplicationPrivate::notify_helper (this=0xfc7ad0, receiver=0x184c4c0, e=0x7fffbf56eb80) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3799
#38 0x00007f16b3df29fe in QApplication::notify (this=<value optimized out>, receiver=0x184c4c0, e=0x7fffbf56eb80) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3614
#39 0x00007f16b5ada89b in KApplication::notify (this=0x7fffbf571da0, receiver=0x184c4c0, event=0x7fffbf56eb80) at /r0/k4/kdesvn/kdelibs/kdeui/kernel/kapplication.cpp:307
#40 0x00007f16b515221c in QCoreApplication::notifyInternal (this=0x7fffbf571da0, receiver=0x184c4c0, event=0x7fffbf56eb80) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:583
#41 0x00007f16b3e4a62f in QETWidget::translateMouseEvent (this=0x10626d0, event=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication_x11.cpp:4048
#42 0x00007f16b3e48b11 in QApplication::x11ProcessEvent (this=0x13b, event=0x7fffbf56f620) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication_x11.cpp:3160
#43 0x00007f16b3e6d2d4 in x11EventSourceDispatch (s=0xfcb360, callback=0, user_data=0x0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:142
#44 0x00007f16ae981d4b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#45 0x00007f16ae98551d in ?? () from /usr/lib/libglib-2.0.so.0
#46 0x00007f16ae9856db in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0x00007f16b517679f in QEventDispatcherGlib::processEvents (this=0xfc7a20, flags=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:319
#48 0x00007f16b3e6cb6f in QGuiEventDispatcherGlib::processEvents (this=0x1d19, flags=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:198
#49 0x00007f16b5150b92 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1084819184}) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:143
#50 0x00007f16b5150d25 in QEventLoop::exec (this=0x7fffbf56f950, flags={i = -1084819104}) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:190
#51 0x00007f16b6fcd9bf in KJob::exec (this=0x18583b0) at /r0/k4/kdesvn/kdelibs/kdecore/jobs/kjob.cpp:194
#52 0x00007f16a312dd0b in BzrExecutor::isValidDirectory (this=0x135f8b0, dirPath=@0x198c9a0) at /r0/k4/kdesvn/kdevplatform/plugins/bazaar/bzrexecutor.cpp:65
#53 0x00007f16a758818a in KDevelop::DistributedVersionControlPlugin::contextMenuExtension (this=0x135ef00, context=0x7fffbf570090) at /r0/k4/kdesvn/kdevplatform/vcs/dvcs/dvcsplugin.cpp:381
#54 0x00007f16b6a73676 in KDevelop::PluginController::queryPluginsForContextMenuExtensions (this=0x110fc20, context=0x7fffbf570090) at /r0/k4/kdesvn/kdevplatform/shell/plugincontroller.cpp:474
#55 0x00007f16a142ddd2 in ProjectTreeView::popupContextMenu (this=0x1835550, pos=@0x7fffbf570ee8) at /r0/k4/kdesvn/kdevplatform/plugins/projectmanagerview/projecttreeview.cpp:203
#56 0x00007f16a142ef1d in ProjectTreeView::qt_metacall (this=0x1835550, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffbf570360)
    at /r0/k4/kdesvn/build/kdevplatform/plugins/projectmanagerview/projecttreeview.moc:74
#57 0x00007f16b5163ba0 in QMetaObject::activate (sender=0x1835550, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xffffffffffffffff)
    at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:3028
#58 0x00007f16b3e285f2 in QWidget::customContextMenuRequested (this=0x1d19, _t1=<value optimized out>) at .moc/release-shared/moc_qwidget.cpp:348
#59 0x00007f16b3e38aeb in QWidget::event (this=0x1835550, event=0x7fffbf570ed0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qwidget.cpp:7323
#60 0x00007f16b41fa7dd in QAbstractItemView::viewportEvent (this=0x1835550, event=0x7fffbf570ed0) at /r0/k4/kdesvn/qt-copy/src/gui/itemviews/qabstractitemview.cpp:1429
#61 0x00007f16b422beec in QTreeView::viewportEvent (this=0x1835550, event=0x7fffbf570ed0) at /r0/k4/kdesvn/qt-copy/src/gui/itemviews/qtreeview.cpp:1265
#62 0x00007f16b5151518 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x184c4c0, event=0x7fffbf570ed0)
    at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:694
#63 0x00007f16b3deb8bc in QApplicationPrivate::notify_helper (this=0xfc7ad0, receiver=0x184c4c0, e=0x7fffbf570ed0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3799
#64 0x00007f16b3df29fe in QApplication::notify (this=<value optimized out>, receiver=0x184c4c0, e=0x7fffbf570ed0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:3614
#65 0x00007f16b5ada89b in KApplication::notify (this=0x7fffbf571da0, receiver=0x184c4c0, event=0x7fffbf570ed0) at /r0/k4/kdesvn/kdelibs/kdeui/kernel/kapplication.cpp:307
#66 0x00007f16b515221c in QCoreApplication::notifyInternal (this=0x7fffbf571da0, receiver=0x184c4c0, event=0x7fffbf570ed0) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:583
#67 0x00007f16b3e4a62f in QETWidget::translateMouseEvent (this=0x10626d0, event=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication_x11.cpp:4048
#68 0x00007f16b3e48b11 in QApplication::x11ProcessEvent (this=0x13b, event=0x7fffbf571970) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qapplication_x11.cpp:3160
#69 0x00007f16b3e6d2d4 in x11EventSourceDispatch (s=0xfcb360, callback=0, user_data=0x0) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:142
#70 0x00007f16ae981d4b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#71 0x00007f16ae98551d in ?? () from /usr/lib/libglib-2.0.so.0
#72 0x00007f16ae9856db in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#73 0x00007f16b517679f in QEventDispatcherGlib::processEvents (this=0xfc7a20, flags=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:319
#74 0x00007f16b3e6cb6f in QGuiEventDispatcherGlib::processEvents (this=0x1d19, flags=<value optimized out>) at /r0/k4/kdesvn/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:198
#75 0x00007f16b5150b92 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1084810144}) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:143
#76 0x00007f16b5150d25 in QEventLoop::exec (this=0x7fffbf571ca0, flags={i = -1084810064}) at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qeventloop.cpp:190
#77 0x00007f16b5152e65 in QCoreApplication::exec () at /r0/k4/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:845
#78 0x00000000004072ea in main (argc=1, argv=0x7fffbf572d48) at /r0/k4/kdesvn/kdevelop/src/main.cpp:194
#0  0x00007f16b2af0621 in nanosleep () from /lib/libc.so.6
Comment 1 Andreas Pakulat 2008-10-07 11:37:01 UTC
a quick workaround is to remove the git/bazaar/mercurial .desktop files. Apparently our dvcs plugins still have some serious stability problems.
Comment 2 Evgeniy Ivanov 2008-10-07 19:41:48 UTC
I can reproduce the bug. And also we had such problem during SoC, but decided it's a BIC problem.
I will write some tests for dvcsJob during this week.
It seems to me, that DVCSjob is called too fast: first is deleted when the second is used. Maybe they get the same address (not sure it can be). Maybe it destructed twice in some way...
Andreas, please assign the bug to me (I don't have permissions yet).
Comment 3 Evgeniy Ivanov 2008-10-11 01:32:16 UTC
Hear is the main problem:
http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/kjob_8cpp-source.html#l00186
Sometimes signal are generated before loop.exec(). So if we have deleteLater we will crash (or have a deadLock with no deleteLater). Am I right?
I will fix it tomorrow (also found few glitches in DVCSjon) and commit.
Comment 4 Andreas Pakulat 2008-10-11 02:08:25 UTC
could you please explain in more depth what exactly the cause is and why. Feel free to do that on the mailinglist as that allows for easier discussion...
Comment 5 Andreas Pakulat 2008-10-16 10:24:39 UTC
re-assigning the bugreport to kdelibs as the problem really is in KJob. I've sent a patch for review and am waiting for approval.
Comment 6 Andreas Pakulat 2008-10-17 00:46:59 UTC
SVN commit 872341 by apaku:

Do not start the event loop when emitResult was called from inside start()
(i.e. the job cannot start because there's an error). Starting the eventloop
caused crashes or deadlocks, depending on wether the job deleted itself or not.
BUG: 172309


 M  +6 -2      kjob.cpp  
 M  +2 -0      kjob_p.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=872341