Summary: | Crash just after switching session [KDevelop::ProjectChangesModel::repositoryBranchChanged] | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Stuart Morgan <stuart> |
Component: | general | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, faure, simonandric5 |
Priority: | NOR | Keywords: | drkonqi, junior-jobs |
Version: | 5.1.1 | ||
Target Milestone: | --- | ||
Platform: | Mageia RPMs | ||
OS: | Linux | ||
URL: | https://phabricator.kde.org/D8852 | ||
Latest Commit: | https://commits.kde.org/kdevelop/6d4591fb1733f4490d77d9e6a1e619b31767d49b | Version Fixed In: | 5.2.1 |
Sentry Crash Report: | |||
Attachments: | backtrace |
Description
Stuart Morgan
2017-08-30 06:19:16 UTC
Could you try to install debug symbols and then attempt to reproduce the crash? I'd be interesting in seeing line numbers in this stack trace. See: https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports Created attachment 108894 [details]
backtrace
VcsOverlayProxyModel::data (called from painting code) calls KDevSvnPlugin::isVersionControlled which calls KJob::exec (!!!), whose nested event loop ends up in painting code again (!). I don't think it's good design for a model to be doing such operations from data(), it should rather do it async and notify of changes. Hm. I can't reproduce this issue here. :| For those who can reproduce every time, could you please check if this patch fixes the issue for you? https://phabricator.kde.org/D8852 David maybe? Thanks a lot in advance -- and sorry for taking your time. I confirm that the patch fixes the crash. Git commit 6d4591fb1733f4490d77d9e6a1e619b31767d49b by Kevin Funk. Committed on 20/11/2017 at 20:30. Pushed by kfunk into branch '5.2'. Fix crash deep inside VcsOverlayProxyModel::data() Summary: VcsOverlayProxyModel::data() calls ProjectController::changesModel() which currently is a non-const method which might create an instance of ProjectChangesModel which in turn triggers some KJobs. Avoid that by instantiating ProjectChangesModel() immediately during startup. I don't think that has a real performance impact. FIXED-IN: 5.2.1 Reviewers: apol Reviewed By: apol Subscribers: mwolff, dfaure, brauch, apol, kdevelop-devel Differential Revision: https://phabricator.kde.org/D8852 M +3 -4 kdevplatform/shell/projectcontroller.cpp https://commits.kde.org/kdevelop/6d4591fb1733f4490d77d9e6a1e619b31767d49b |