Summary: | Crash when adding env var to launch configuration | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Christoph Haag <haagch.christoph> |
Component: | general | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | igorkuo, jonathan.verner |
Priority: | NOR | Keywords: | drkonqi |
Version First Reported In: | 5.6.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/kdevelop/kdevelop/commit/77e503c74a3ef5fbf3b163da4a0e71b6a9255bce | Version Fixed In: | 5.11.230400 |
Sentry Crash Report: | |||
Attachments: | New crash information added by DrKonqi |
Description
Christoph Haag
2020-11-01 13:17:50 UTC
Created attachment 142143 [details]
New crash information added by DrKonqi
kdevelop (5.6.40) using Qt 5.15.2
- What I was doing when the application crashed:
Opened the Configure Environment Variables dialog from the Launch Configurations dialog. Updated the code of an open project via git command line while the dialogs were open. Added an environment variable to an environment profile of a non-current launch configuration and clicked OK.
-- Backtrace (Reduced):
#4 0x00007f1ab916318b in KDevelop::LaunchConfigurationsModel::data(QModelIndex const&, int) const (this=<optimized out>, index=..., role=<optimized out>) at /usr/src/debug/kdevelop/kdevplatform/shell/launchconfigurationdialog.cpp:620
#5 0x00007f1ab87ae722 in QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const () at /usr/lib/libQt5Widgets.so.5
#6 0x00007f1ab87ad3c1 in QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib/libQt5Widgets.so.5
#7 0x00007f1ab87f6a00 in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib/libQt5Widgets.so.5
#8 0x00007f1ab87fa974 in QTreeView::drawTree(QPainter*, QRegion const&) const () at /usr/lib/libQt5Widgets.so.5
Git commit 77e503c74a3ef5fbf3b163da4a0e71b6a9255bce by Igor Kushnir. Committed on 27/12/2022 at 09:24. Pushed by igorkushnir into branch 'master'. RunController: ignore projectConfigurationChanged signal No settings within the Configure Project dialog affect launch configurations. So no need to reread the configs and recreate the launches and their actions. I suppose project configuration did affect launch configurations in the past, but I don't see this in current code. Project target combobox on the native app config page and available targets in suggestion submenus of "Add a new launch configuration" button are populated when a Launch Configurations dialog is created (each time it is shown). Since 62ae1929c5a5d1a6a200a07579a4cca635cd9364 the projectConfigurationChanged signal is also emitted when a CMake import job finishes without error. This was done for the benefit of CompilerProvider and is useless to RunController. The same argument applies to emitting this signal when a Meson import job finishes without error (the code has been copied from cmake plugin to meson plugin). Recreating the launches and their actions caused a crash when a folder that contained a target was excluded (filtered out) from the project and the Launch Configurations dialog with this target as the Project target of an existing configuration was shown before the CMake import job finished: #0 KDevelop::LaunchConfigurationsModel::data() at kdevelop/kdevplatform/shell/launchconfigurationdialog.cpp:611 #1 QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const() at /usr/lib/libQt5Widgets.so.5 #2 QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const() at /usr/lib/libQt5Widgets.so.5 #3 QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const() at /usr/lib/libQt5Widgets.so.5 #4 QTreeView::drawTree(QPainter*, QRegion const&) const() at /usr/lib/libQt5Widgets.so.5 #5 QTreeView::paintEvent(QPaintEvent*)() at /usr/lib/libQt5Widgets.so.5 FIXED-IN: 5.11.230400 M +0 -8 kdevplatform/shell/runcontroller.cpp M +0 -1 kdevplatform/shell/runcontroller.h https://invent.kde.org/kdevelop/kdevelop/commit/77e503c74a3ef5fbf3b163da4a0e71b6a9255bce |