Review Request 108691: Fix crash at exit while ctest is running

Kevin Funk krf at gmx.de
Thu Jan 31 20:15:07 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108691/
-----------------------------------------------------------

Review request for KDevelop.


Description
-------

Fix crash at exit while ctest is running

In case the child-job of a CTestRunJob is killed, the CTestRunJob itself
is still marked as valid. When the CTestRunJob finishes, its parent
ExecuteCompositeJob tries to start the next CTestRunJob in the queue.

But we don't want that in case we the old job was killed.

Another idea might be to check KDevelop::ICore::self()->shuttingDown() in CTestRunJob::processFinished instead. You decide.

Backtrace (reduced):
#8  0x00007fc7b1b4c435 in CTestRunJob::start (this=0x7b753f0) at /home/krf/devel/src/kdevelop/projectmanagers/cmake/testing/ctestrunjob.cpp:117
#9  0x00007fc7e9cb22d1 in KDevelop::ExecuteCompositeJob::slotResult (this=0x5737620, job=<optimized out>) at /home/krf/devel/src/kdevplatform/util/executecompositejob.cpp:67
#10 0x00007fc7ee70f872 in QMetaObject::activate (sender=0xb0db030, m=0x7fc7f08f5540 <KJob::staticMetaObject>, local_signal_index=3, argv=0x7fff84e57dc0) at /home/krf/devel/src/qt/src/corelib/kernel/qobject.cpp:3539
#11 0x00007fc7f056aef2 in KJob::result (this=this at entry=0xb0db030, _t1=_t1 at entry=0xb0db030) at ./kjob.moc:208
#12 0x00007fc7f056af30 in KJob::emitResult (this=0xb0db030) at ../../kdecore/jobs/kjob.cpp:318
#13 0x00007fc7b1b4b806 in CTestRunJob::processFinished (this=0xb0db030, job=<optimized out>) at /home/krf/devel/src/kdevelop/projectmanagers/cmake/testing/ctestrunjob.cpp:155
#14 0x00007fc7ee70f872 in QMetaObject::activate (sender=0x8072570, m=0x7fc7f08f5540 <KJob::staticMetaObject>, local_signal_index=0, argv=0x7fff84e57f80) at /home/krf/devel/src/qt/src/corelib/kernel/qobject.cpp:3539
#15 0x00007fc7f056acdf in KJob::finished (this=this at entry=0x8072570, _t1=_t1 at entry=0x8072570) at ./kjob.moc:187
#16 0x00007fc7f056af25 in KJob::emitResult (this=0x8072570) at ../../kdecore/jobs/kjob.cpp:316
#17 0x00007fc7f056afed in KJob::kill (this=0x8072570, verbosity=KJob::EmitResult) at ../../kdecore/jobs/kjob.cpp:117
#18 0x00007fc7eff74747 in KDevelop::RunController::stopAllProcesses (this=0x1f137a0) at /home/krf/devel/src/kdevplatform/shell/runcontroller.cpp:628


Diffs
-----

  projectmanagers/cmake/testing/ctestrunjob.cpp 1c8a2e59e5dd3898619766fbeab82181f18b9336 

Diff: http://git.reviewboard.kde.org/r/108691/diff/


Testing
-------


Thanks,

Kevin Funk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130131/b509a40a/attachment.html>


More information about the KDevelop-devel mailing list