Summary: | Crash in "'CTest' is already being executed" dialog. | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Francis Herne <mail> |
Component: | Build tools: CMake | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, chrisito, igorkuo, kde, kde |
Priority: | HI | Keywords: | release_blocker |
Version: | 5.1.0 | ||
Target Milestone: | 5.1.2 | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/kdevelop/kdevelop/commit/a48287f4289cbe56c5affdb8735603b793cf0f1c | Version Fixed In: | 5.6.1 |
Description
Francis Herne
2017-03-15 12:05:04 UTC
Just experienced this. This basically renders the Unit Test view useless. @Apol: Could you have a look maybe? *** Bug 374003 has been marked as a duplicate of this bug. *** This should be fixed with commit https://phabricator.kde.org/R33:3ed8698f1baca73e2d7cb4400c90e6950a8ad623 already. (In reply to Christoph Roick from comment #3) > This should be fixed with commit > https://phabricator.kde.org/R33:3ed8698f1baca73e2d7cb4400c90e6950a8ad623 > already. Well, it's not, since jobs may mutually kill each other. I managed to fix the NativeAppJob, but now it randomly crashes somewhere else. This crash still happens in KDevelop 5.6. Because of https://commits.kde.org/kdevelop/d896e7489b743d8691e480378c86f2b1ee0524b0 the message and the button texts are different now. For example, when I open 3 projects - drkonqi, kdevelop, kio - and Run All Tests, I get one or more {"Job Already Running", "'cmake' is already being executed."} dialogs with three buttons: "Cancel", "Kill All Instances", "Start Another". Only "Start Another" is safe (and obviously the correct choice). The other two choices usually end in a crash (either immediate or after I stop the stuck test jobs). I think that the proper fix is to not show this dialog in such situations. Either mark the jobs as "internal" and always silently "start another", or assign unique names to these jobs so that NativeAppJob doesn't consider them equal. *** Bug 372795 has been marked as a duplicate of this bug. *** How exactly do you reproduce the behavior? I created a session with the three projects you mention and selected "Run All Tests", but there is no dialog showing up about a cmake job. (In reply to Christoph Roick from comment #7) > How exactly do you reproduce the behavior? I created a session with the > three projects you mention and selected "Run All Tests", but there is no > dialog showing up about a cmake job. I have noticed that the tests do not appear right after opening projects. You have to wait for the projects to be parsed and their tests to appear in Unit Tests tool view. The dialog appears more reliably (even with just two open projects, e.g. kio and ktexteditor) in KDevelop built in Debug mode, though I have no problem triggering it in Release either. A possibly relevant merge request was started @ https://invent.kde.org/kdevelop/kdevelop/-/merge_requests/165 Git commit a48287f4289cbe56c5affdb8735603b793cf0f1c by Christoph Roick. Committed on 23/10/2020 at 20:21. Pushed by croick into branch '5.6'. Do not block "Run All Tests" by dialog - always start a new test job without asking to kill running jobs * disable the combo box in the launch config interface By default, app jobs are compared by their executable name. If a new job name matches an old job, a dialog pops up to ask whether the old instance shall be killed. This blocks the "Run All Tests" function under some circumstances (for instance when "cmake" is used to invoke the test). The patch always makes a CTest-generated job run without asking the user. FIXED-IN: 5.6.1 M +1 -0 plugins/execute/executeplugin.cpp M +1 -0 plugins/execute/executeplugin.h M +9 -5 plugins/execute/nativeappconfig.cpp M +14 -12 plugins/execute/nativeappjob.cpp M +8 -1 plugins/execute/nativeappjob.h https://invent.kde.org/kdevelop/kdevelop/commit/a48287f4289cbe56c5affdb8735603b793cf0f1c |