Bug 204419 - kDevelop 4 crashes when hitting the Stop button
Summary: kDevelop 4 crashes when hitting the Stop button
Status: RESOLVED FIXED
Alias: None
Product: kdevplatform
Classification: Developer tools
Component: run support (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-19 16:46 UTC by jan.fostier
Modified: 2009-08-20 10:27 UTC (History)
0 users

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 jan.fostier 2009-08-19 16:46:00 UTC
Application that crashed: kdevelop
Version of the application: 3.9.94 (using KDevPlatform 0.9.94)
KDE Version: 4.3.00 (KDE 4.3.0)
Qt Version: 4.5.2
Operating System: Linux 2.6.29.6-217.2.3.fc11.x86_64 x86_64
Distribution: "Fedora release 11 (Leonidas)"

What I was doing when the application crashed:
Steps to reproduce:

1) Launch an application that runs a macroscopic amount of time
2) Close the tab in the run section in which the application runs

Although top shows that the application has been killed, the stop button is still active.

3) Hit the stop button = crash.

 -- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fcb76d83820 (LWP 3008))]

Thread 7 (Thread 0x7fcb6f3a6910 (LWP 3009)):
#0  0x0000003162a0b57d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000316ce5ace2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fcb777040be in KDevelop::DUChainPrivate::CleanupThread::run (this=0x39cd9f0) at /home/jfostier/kdevelop/kdevplatform/language/duchain/duchain.cpp:280
#3  0x000000316ce59cd5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x0000003162a0686a in start_thread () from /lib64/libpthread.so.0
#5  0x0000003161ede39d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fcb56c33910 (LWP 3122)):
#0  0x0000003161ed50b3 in poll () from /lib64/libc.so.6
#1  0x0000003163a3b05c in ?? () from /lib64/libglib-2.0.so.0
#2  0x0000003163a3b3a0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x000000316cf6840e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x000000316cf3e5f2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x000000316cf3e9c4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x000000316ce56f6b in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x000000316ce59cd5 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x0000003162a0686a in start_thread () from /lib64/libpthread.so.0
#9  0x0000003161ede39d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fcb56232910 (LWP 3123)):
#0  0x0000003161ed50b3 in poll () from /lib64/libc.so.6
#1  0x0000003163a3b05c in ?? () from /lib64/libglib-2.0.so.0
#2  0x0000003163a3b3a0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x000000316cf6840e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x000000316cf3e5f2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x000000316cf3e9c4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x000000316ce56f6b in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x000000316ce59cd5 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x0000003162a0686a in start_thread () from /lib64/libpthread.so.0
#9  0x0000003161ede39d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fcb55831910 (LWP 3126)):
#0  0x0000003162a0b57d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000316ce59765 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x000000316ce598d0 in QThread::msleep(unsigned long) () from /usr/lib64/libQtCore.so.4
#3  0x00007fcb576e8ab1 in UIBlockTester::UIBlockTesterThread::run (this=0x5a71db0) at /home/jfostier/kdevelop/kdevelop/languages/cpp/cpplanguagesupport.cpp:661
#4  0x000000316ce59cd5 in ?? () from /usr/lib64/libQtCore.so.4
#5  0x0000003162a0686a in start_thread () from /lib64/libpthread.so.0
#6  0x0000003161ede39d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fcb54e17910 (LWP 3127)):
#0  0x0000003162a0b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000316ce5ad7b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x000000317c80aaf6 in ?? () from /usr/lib64/libthreadweaver.so.4
#3  0x000000317c80cc33 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x000000317c80b22f in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x000000317c80b688 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#6  0x000000316ce59cd5 in ?? () from /usr/lib64/libQtCore.so.4
#7  0x0000003162a0686a in start_thread () from /lib64/libpthread.so.0
#8  0x0000003161ede39d in clone () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fcb3ffff910 (LWP 3128)):
#0  0x0000003162a0b2f9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000316ce5ad7b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x000000317c80aaf6 in ?? () from /usr/lib64/libthreadweaver.so.4
#3  0x000000317c80cc33 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x000000317c80cc4c in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x000000317c80cc4c in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x000000317c80cc4c in ?? () from /usr/lib64/libthreadweaver.so.4
#7  0x000000317c80b22f in ?? () from /usr/lib64/libthreadweaver.so.4
#8  0x000000317c80b688 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#9  0x000000316ce59cd5 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x0000003162a0686a in start_thread () from /lib64/libpthread.so.0
#11 0x0000003161ede39d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fcb76d83820 (LWP 3008)):
[KCrash Handler]
#5  0x000000316f4ee6d6 in KJob::kill(KJob::KillVerbosity) () from /usr/lib64/libkdecore.so.5
#6  0x00007fcb771f1e6f in KDevelop::ExecuteCompositeJob::doKill (this=0x5e38d90) at /home/jfostier/kdevelop/kdevplatform/util/executecompositejob.cpp:81
#7  0x000000316f4ee6d9 in KJob::kill(KJob::KillVerbosity) () from /usr/lib64/libkdecore.so.5
#8  0x00007fcb77f7f4d2 in KDevelop::RunController::stopAllProcesses (this=<value optimized out>) at /home/jfostier/kdevelop/kdevplatform/shell/runcontroller.cpp:514
#9  0x00007fcb77f83d95 in KDevelop::RunController::qt_metacall (this=0x3932cd0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff5451d2a0)
    at /home/jfostier/kdevelop/kdevplatform/build/shell/runcontroller.moc:86
#10 0x000000316cf54fdc in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#11 0x00000032a0588fe7 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#12 0x00000032a058a42f in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#13 0x00000032a08f276a in ?? () from /usr/lib64/libQtGui.so.4
#14 0x00000032a08f29f5 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00000032a09c136a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#16 0x00000032a05dd870 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#17 0x00000032a058ee2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#18 0x00000032a0596551 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x00000032a1210546 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#20 0x000000316cf3fcbc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#21 0x00000032a0595810 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib64/libQtGui.so.4
#22 0x00000032a05fb63e in ?? () from /usr/lib64/libQtGui.so.4
#23 0x00000032a05fa6da in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#24 0x00000032a06223dc in ?? () from /usr/lib64/libQtGui.so.4
#25 0x0000003163a37abe in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#26 0x0000003163a3b278 in ?? () from /lib64/libglib-2.0.so.0
#27 0x0000003163a3b3a0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#28 0x000000316cf683b6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#29 0x00000032a0621b8e in ?? () from /usr/lib64/libQtGui.so.4
#30 0x000000316cf3e5f2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#31 0x000000316cf3e9c4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#32 0x000000316cf40b79 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#33 0x0000000000407b17 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/jfostier/kdevelop/kdevelop/app/main.cpp:181

This bug may be a duplicate of or related to bug 187941

Reported using DrKonqi
Comment 1 Andreas Pakulat 2009-08-19 17:53:35 UTC
Hmm, its not very nice to kill the app behind the back of the job...
Comment 2 jan.fostier 2009-08-19 19:30:23 UTC
Since I have no idea what you mean by that, let me make it clear that I 
don't kill a running application by invoking a kill command in an 
external shell or anything.  I just close the 'run' tab in kdevelop in 
which the program is running.  I noticed that closing this tab, also 
kills the application that was running in it (I assume this is 
intended).  However, the kdevelop 'stop' button doesn't notice that 
there isn't anything left to stop, and when you press it, kdevelop crashes.

I assume that simply making the stop button inactive once all tabs that 
contain running applications have been closed would solve the problem.

Regards,

Jan.

Andreas Pakulat schreef:
> https://bugs.kde.org/show_bug.cgi?id=204419
>
>
> Andreas Pakulat <apaku@gmx.de> changed:
>
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|UNCONFIRMED                 |NEW
>           Component|general                     |run support
>             Product|kdevelop                    |kdevplatform
>      Ever Confirmed|0                           |1
>
>
>
>
> --- Comment #1 from Andreas Pakulat <apaku gmx de>  2009-08-19 17:53:35 ---
> Hmm, its not very nice to kill the app behind the back of the job...
>
>
Comment 3 Andreas Pakulat 2009-08-19 20:50:23 UTC
(In reply to comment #2)
> Since I have no idea what you mean by that

I'm sorry, that was just an meant to be an ironic comment regarding the fact that one part of kdevelop deletes another parts data.
Comment 4 Andreas Pakulat 2009-08-19 22:52:59 UTC
SVN commit 1013435 by apaku:

Make sure that the killing of an outputjob is seen in other parts.
BUG:204419
BUG:187941

 M  +7 -1      outputjob.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1013435
Comment 5 jan.fostier 2009-08-20 10:27:28 UTC
It works now.  Thanks.