[kdevelop] [Bug 423651] KDevelop crashed on exit before CTest evaluation finished

2020-10-07 Thread Igor Kushnir
https://bugs.kde.org/show_bug.cgi?id=423651

Igor Kushnir  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
  Latest Commit||https://invent.kde.org/kdev
   ||elop/kdevelop/commit/ae9f45
   ||ae7451a33fe9fce66612140f9a1
   ||3193bd6
   Version Fixed In||5.6.1

--- Comment #5 from Igor Kushnir  ---
Git commit ae9f45ae7451a33fe9fce66612140f9a13193bd6 by Igor Kushnir.
Committed on 07/10/2020 at 10:26.
Pushed by igorkushnir into branch '5.6'.

Early-return from CTestFindJob::updateReady() if the job is finished

When a user exits KDevelop while a CTestFindJob is still working, the
job is killed from RunController::cleanup() and its KJob parent calls
deleteLater(). But the killed job can be still not destroyed after
DUChain::shutdown() is called, which results in a crash if
CTestFindJob::updateReady() is then invoked via Qt::QueuedConnection.
Note that ~ParseJob() queues calls to CTestFindJob::updateReady(),
which can then be invoked after DUChain::shutdown(), if ParseJob-s are
running when the user exits KDevelop and no event loop is entered in the
time between the ~ParseJob() and DUChain::shutdown() calls (sometimes
the optional QCoreApplication::processEvents() call in
BackgroundParser::waitForIdle() intervenes and prevents the crash).
Core::cleanup() calls backgroundParser()->waitForIdle(), which ensures
that all parse jobs finish, are destroyed and queue "updateReady" calls.
FIXED-IN: 5.6.1

M  +10   -0plugins/cmake/testing/ctestfindjob.cpp

https://invent.kde.org/kdevelop/kdevelop/commit/ae9f45ae7451a33fe9fce66612140f9a13193bd6

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdevelop] [Bug 423651] KDevelop crashed on exit before CTest evaluation finished

2020-09-29 Thread Igor Kushnir
https://bugs.kde.org/show_bug.cgi?id=423651

Igor Kushnir  changed:

   What|Removed |Added

Summary|KDevelop crashed during |KDevelop crashed on exit
   |exit|before CTest evaluation
   ||finished

-- 
You are receiving this mail because:
You are watching all bug changes.