https://bugs.kde.org/show_bug.cgi?id=376523

            Bug ID: 376523
           Summary: Assertion failure when discarding changes in Custom
                    BuildSystem settings.
           Product: kdevelop
           Version: 5.1.0
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: BuildSystem: Custom BuildSystems
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: m...@flherne.uk
  Target Milestone: ---

Using recent 5.1 branches, compiled from source on Arch Linux:

 - Create a Custom BuildSystem project.
 - Go to Project -> Open Configuration -> Custom BuildSystem
 - Make some config change, but don't apply it.
 - Switch to another config page.
 - A dialog will appear asking whether to Apply or Discard changes.
 - Select 'Discard'.

KDevelop will crash with the following backtrace. This doesn't occur if
selecting 'Apply', or with other build plugins (at least Make, CMake).

---------
ASSERT: "ui->currentConfig->count() == configs.count()" in file
/home/flh/projects/kdevelop/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp,
line 196

Thread 1 "kdevelop" received signal SIGABRT, Aborted.
0x00007ffff02d904f in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff02d904f in raise () at /usr/lib/libc.so.6
#1  0x00007ffff02da47a in abort () at /usr/lib/libc.so.6
#2  0x00007ffff0f7ae21 in  () at /usr/lib/libQt5Core.so.5
#3  0x00007ffff0f763de in  () at /usr/lib/libQt5Core.so.5
#4  0x00007fffb3006cc9 in CustomBuildSystemConfigWidget::verify()
(this=0x2aa8790) at
/home/flh/projects/kdevelop/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp:196
#5  0x00007fffb3009d85 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (CustomBuildSystemConfigWidget::*)()>::call(void
(CustomBuildSystemConfigWidget::*)(), CustomBuildSystemConfigWidget*, void**)
(f=(void (CustomBuildSystemConfigWidget::*)(CustomBuildSystemConfigWidget *
const)) 0x7fffb3006c7a <CustomBuildSystemConfigWidget::verify()>, o=0x2aa8790,
arg=0x7fffffff9ae0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:143
#6  0x00007fffb3009b4e in QtPrivate::FunctionPointer<void
(CustomBuildSystemConfigWidget::*)()>::call<QtPrivate::List<>, void>(void
(CustomBuildSystemConfigWidget::*)(), CustomBuildSystemConfigWidget*, void**)
(f=(void (CustomBuildSystemConfigWidget::*)(CustomBuildSystemConfigWidget *
const)) 0x7fffb3006c7a <CustomBuildSystemConfigWidget::verify()>, o=0x2aa8790,
arg=0x7fffffff9ae0)
    at /usr/include/qt/QtCore/qobjectdefs_impl.h:162
#7  0x00007fffb300980d in QtPrivate::QSlotObject<void
(CustomBuildSystemConfigWidget::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1,
this_=0x2a5e810, r=0x2aa8790, a=0x7fffffff9ae0, ret=0x0) at
/usr/include/qt/QtCore/qobject_impl.h:120
#8  0x00007ffff119b0be in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#9  0x00007fffb300b2c3 in CustomBuildSystemConfigWidget::changed()
(this=0x2aa8790)
    at
/home/flh/projects/kdevelop/build/projectmanagers/custom-buildsystem/kdevcustombuildsystem_automoc.dir/moc_custombuildsys_6N7SPIMYBDOOYP.cpp:156
#10 0x00007fffb3006df3 in
CustomBuildSystemConfigWidget::renameCurrentConfig(QString const&)
(this=0x2aa8790, name=...)
    at
/home/flh/projects/kdevelop/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp:212
#11 0x00007fffb3009e17 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QString const&>, void, void
(CustomBuildSystemConfigWidget::*)(QString const&)>::call(void
(CustomBuildSystemConfigWidget::*)(QString const&),
CustomBuildSystemConfigWidget*, void**) (f=
    (void (CustomBuildSystemConfigWidget::*)(CustomBuildSystemConfigWidget *
const, const QString &)) 0x7fffb3006d78
<CustomBuildSystemConfigWidget::renameCurrentConfig(QString const&)>,
o=0x2aa8790, arg=0x7fffffff9d40) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:143
#12 0x00007fffb3009b93 in QtPrivate::FunctionPointer<void
(CustomBuildSystemConfigWidget::*)(QString
const&)>::call<QtPrivate::List<QString const&>, void>(void
(CustomBuildSystemConfigWidget::*)(QString const&),
CustomBuildSystemConfigWidget*, void**) (f=
    (void (CustomBuildSystemConfigWidget::*)(CustomBuildSystemConfigWidget *
const, const QString &)) 0x7fffb3006d78
<CustomBuildSystemConfigWidget::renameCurrentConfig(QString const&)>,
o=0x2aa8790, arg=0x7fffffff9d40) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:162
#13 0x00007fffb30098e9 in QtPrivate::QSlotObject<void
(CustomBuildSystemConfigWidget::*)(QString const&), QtPrivate::List<QString
const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=1, this_=0x2b5c310, r=0x2aa8790, a=0x7fffffff9d40, ret=0x0) at
/usr/include/qt/QtCore/qobject_impl.h:120
#14 0x00007ffff119b0be in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#15 0x00007ffff1f4f352 in QComboBox::editTextChanged(QString const&) () at
/usr/lib/libQt5Widgets.so.5
#16 0x00007ffff1f59101 in  () at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff119ad49 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#18 0x00007ffff1f8ecb2 in QLineEdit::textChanged(QString const&) () at
/usr/lib/libQt5Widgets.so.5
#19 0x00007ffff1f95289 in  () at /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff119ad49 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#21 0x00007ffff201e535 in QWidgetLineControl::textChanged(QString const&) () at
/usr/lib/libQt5Widgets.so.5
#22 0x00007ffff2021a7e in QWidgetLineControl::finishChange(int, bool, bool) ()
at /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff2021d57 in QWidgetLineControl::internalSetText(QString const&,
int, bool) () at /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff1f90982 in QLineEdit::setText(QString const&) () at
/usr/lib/libQt5Widgets.so.5
#25 0x00007ffff1f5403f in  () at /usr/lib/libQt5Widgets.so.5
#26 0x00007ffff1f542bf in QComboBox::setCurrentIndex(int) () at
/usr/lib/libQt5Widgets.so.5
#27 0x00007fffb30063d9 in CustomBuildSystemConfigWidget::loadFrom(KConfig*)
(this=0x2aa8790, cfg=0x24f75d0)
    at
/home/flh/projects/kdevelop/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp:110
#28 0x00007fffb300a081 in CustomBuildSystemKCModule::reset() (this=0x271e180)
at
/home/flh/projects/kdevelop/projectmanagers/custom-buildsystem/kcm_custombuildsystem.cpp:47
#29 0x00007ffff7ae398f in
KDevelop::ConfigDialog::checkForUnsavedChanges(KPageWidgetItem*,
KPageWidgetItem*) (this=0x2fdf980, current=0x2ffbbe0, before=0x298b220)
    at /home/flh/projects/kdevplatform/shell/configdialog.cpp:101
#30 0x00007ffff7ae5bd1 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>,
QtPrivate::List<KPageWidgetItem*, KPageWidgetItem*>, void, int
(KDevelop::ConfigDialog::*)(KPageWidgetItem*, KPageWidgetItem*)>::call(int
(KDevelop::ConfigDialog::*)(KPageWidgetItem*, KPageWidgetItem*),
KDevelop::ConfigDialog*, void**) (f=
    (int (KDevelop::ConfigDialog::*)(KDevelop::ConfigDialog * const,
KPageWidgetItem *, KPageWidgetItem *)) 0x7ffff7ae37de
<KDevelop::ConfigDialog::checkForUnsavedChanges(KPageWidgetItem*,
KPageWidgetItem*)>, o=0x2fdf980, arg=0x7fffffffa700) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:143
#31 0x00007ffff7ae5974 in QtPrivate::FunctionPointer<int
(KDevelop::ConfigDialog::*)(KPageWidgetItem*,
KPageWidgetItem*)>::call<QtPrivate::List<KPageWidgetItem*, KPageWidgetItem*>,
void>(int (KDevelop::ConfigDialog::*)(KPageWidgetItem*, KPageWidgetItem*),
KDevelop::ConfigDialog*, void**) (f=
    (int (KDevelop::ConfigDialog::*)(KDevelop::ConfigDialog * const,
KPageWidgetItem *, KPageWidgetItem *)) 0x7ffff7ae37de
<KDevelop::ConfigDialog::checkForUnsavedChanges(KPageWidgetItem*,
KPageWidgetItem*)>, o=0x2fdf980, arg=0x7fffffffa700) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:162
#32 0x00007ffff7ae5567 in QtPrivate::QSlotObject<int
(KDevelop::ConfigDialog::*)(KPageWidgetItem*, KPageWidgetItem*),
QtPrivate::List<KPageWidgetItem*, KPageWidgetItem*>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0xaf92e0,
r=0x2fdf980, a=0x7fffffffa700, ret=0x0) at
/usr/include/qt/QtCore/qobject_impl.h:120
#33 0x00007ffff119b0be in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#34 0x00007ffff3a94ba8 in KPageDialog::currentPageChanged(KPageWidgetItem*,
KPageWidgetItem*) () at /usr/lib/libKF5WidgetsAddons.so.5
#35 0x00007ffff3a95bcb in  () at /usr/lib/libKF5WidgetsAddons.so.5
#36 0x00007ffff119ad49 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#37 0x00007ffff3a826c8 in KPageWidget::currentPageChanged(KPageWidgetItem*,
KPageWidgetItem*) () at /usr/lib/libKF5WidgetsAddons.so.5
#38 0x00007ffff3a82861 in  () at /usr/lib/libKF5WidgetsAddons.so.5
#39 0x00007ffff119ad49 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#40 0x00007ffff3a7bd67 in KPageView::currentPageChanged(QModelIndex const&,
QModelIndex const&) () at /usr/lib/libKF5WidgetsAddons.so.5
#41 0x00007ffff3a7cb54 in  () at /usr/lib/libKF5WidgetsAddons.so.5
#42 0x00007ffff3a7d871 in  () at /usr/lib/libKF5WidgetsAddons.so.5
#43 0x00007ffff119ad49 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#44 0x00007ffff111e4f7 in QItemSelectionModel::selectionChanged(QItemSelection
const&, QItemSelection const&) () at /usr/lib/libQt5Core.so.5
#45 0x00007ffff1122dcc in
QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection
const&) () at /usr/lib/libQt5Core.so.5
#46 0x00007ffff1126922 in QItemSelectionModel::select(QItemSelection const&,
QFlags<QItemSelectionModel::SelectionFlag>) () at /usr/lib/libQt5Core.so.5
#47 0x00007ffff20c0435 in QListView::setSelection(QRect const&,
QFlags<QItemSelectionModel::SelectionFlag>) () at /usr/lib/libQt5Widgets.so.5
#48 0x00007ffff20a18bd in QAbstractItemView::mousePressEvent(QMouseEvent*) ()
at /usr/lib/libQt5Widgets.so.5
#49 0x00007ffff1e9964f in QWidget::event(QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#50 0x00007ffff1f80ece in QFrame::event(QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#51 0x00007ffff20a7ed3 in QAbstractItemView::viewportEvent(QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#52 0x00007ffff116f1a1 in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at
/usr/lib/libQt5Core.so.5
#53 0x00007ffff1e51325 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/libQt5Widgets.so.5
#54 0x00007ffff1e598c5 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#55 0x00007ffff116f440 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt5Core.so.5
#56 0x00007ffff1e580cd in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at
/usr/lib/libQt5Widgets.so.5
#57 0x00007ffff1eb33e6 in  () at /usr/lib/libQt5Widgets.so.5
#58 0x00007ffff1eb5e03 in  () at /usr/lib/libQt5Widgets.so.5
#59 0x00007ffff1e5134c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/libQt5Widgets.so.5
#60 0x00007ffff1e58b61 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/libQt5Widgets.so.5
#61 0x00007ffff116f440 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt5Core.so.5
#62 0x00007ffff16bcd53 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() at /usr/lib/libQt5Gui.so.5
#63 0x00007ffff16be8c5 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
() at /usr/lib/libQt5Gui.so.5
#64 0x00007ffff169a44b in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /usr/lib/libQt5Gui.so.5
#65 0x00007fffd7d319e0 in  () at /usr/lib/libQt5XcbQpa.so.5
#66 0x00007fffe4b60587 in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0
#67 0x00007fffe4b607f0 in  () at /usr/lib/libglib-2.0.so.0
#68 0x00007fffe4b6089c in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#69 0x00007ffff11c404f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#70 0x00007ffff116d89a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/usr/lib/libQt5Core.so.5
#71 0x00007ffff1175de4 in QCoreApplication::exec() () at
/usr/lib/libQt5Core.so.5
#72 0x000000000040f341 in main(int, char**) (argc=3, argv=0x7fffffffe148) at
/home/flh/projects/kdevelop/app/main.cpp:763

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

Reply via email to