https://bugs.kde.org/show_bug.cgi?id=364433
Bug ID: 364433 Summary: Crash when using Solve -> Add custom include path Product: kdevelop Version: unspecified Platform: Compiled Sources OS: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: Language Support: CPP (Clang-based) Assignee: kdevelop-bugs-n...@kde.org Reporter: m...@flherne.uk When including a file that KDevelop's parser hasn't found, right-clicking on the include shows a dialog with "Solve: 'filename' not found". This has a single menu option, "Add custom include path", which opens the project configuration dialog. When *closing* this dialog, with either "Ok" or "Cancel", KDevelop segfaults. This doesn't happen when accessing it via the little Alt-N solution bar, or via the menus. ---- #0 0x00007ffff108091e in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5 #1 0x00007ffff61b6735 in KDevelop::IAssistantAction::executed (this=0x2cf3a00, _t1=0x2cf3a00) at /home/flh/projects/kdevplatform/build/interfaces/moc_iassistant.cpp:149 #2 0x00007fffb456ff00 in AddCustomIncludePathAction::execute (this=0x2cf3a00) at /home/flh/projects/kdevelop/languages/clang/duchain/missingincludepathproblem.cpp:56 #3 0x00007ffff61a7d6e in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KDevelop::IAssistantAction::*)()>::call(void (KDevelop::IAssistantAction::*)(), KDevelop::IAssistantAction*, void**) ( f=&virtual table offset 128, o=0x2cf3a00, arg=0x7fffffffa2a0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:501 #4 0x00007ffff61a7d00 in QtPrivate::FunctionPointer<void (KDevelop::IAssistantAction::*)()>::call<QtPrivate::List<>, void>(void (KDevelop::IAssistantAction::*)(), KDevelop::IAssistantAction*, void**) ( f=&virtual table offset 128, o=0x2cf3a00, arg=0x7fffffffa2a0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:520 #5 0x00007ffff61a79bb in QtPrivate::QSlotObject<void (KDevelop::IAssistantAction::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x2ce7690, r=0x2cf3a00, a=0x7fffffffa2a0, ret=0x0) at /usr/include/qt/QtCore/qobject_impl.h:143 #6 0x00007ffff10812cc in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5 #7 0x00007ffff1d77b32 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5 #8 0x00007ffff1d7a740 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5 #9 0x00007ffff1f0502a in ?? () from /usr/lib/libQt5Widgets.so.5 #10 0x00007ffff1f0b1bc in ?? () from /usr/lib/libQt5Widgets.so.5 #11 0x00007ffff1f0f336 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5 #12 0x00007ffff1dc6b38 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #13 0x00007ffff1f0fdeb in QMenu::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #14 0x00007ffff1d8106c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #15 0x00007ffff1d873b7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #16 0x00007ffff1053e70 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #17 0x00007ffff1d85a85 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5 #18 0x00007ffff1de19c0 in ?? () from /usr/lib/libQt5Widgets.so.5 #19 0x00007ffff1de3ca3 in ?? () from /usr/lib/libQt5Widgets.so.5 #20 0x00007ffff1d8106c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #21 0x00007ffff1d864ff in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #22 0x00007ffff1053e70 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #23 0x00007ffff15a0113 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5 #24 0x00007ffff15a1925 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5 #25 0x00007ffff157f5fb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5 #26 0x00007fffd75c74d0 in ?? () from /usr/lib/libQt5XcbQpa.so.5 #27 0x00007fffe612edd7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #28 0x00007fffe612f040 in ?? () from /usr/lib/libglib-2.0.so.0 #29 0x00007fffe612f0ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #30 0x00007ffff10aa2cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #31 0x00007ffff105202a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #32 0x00007ffff1f09ffd in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/libQt5Widgets.so.5 #33 0x00007ffff1f1a915 in ?? () from /usr/lib/libQt5Widgets.so.5 #34 0x00007ffff1081229 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5 #35 0x00007ffff1e80087 in ?? () from /usr/lib/libQt5Widgets.so.5 #36 0x00007ffff1e80751 in QAbstractButton::mousePressEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5 #37 0x00007ffff1dc73af in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #38 0x00007ffff1d8106c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #39 0x00007ffff1d873b7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #40 0x00007ffff1053e70 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #41 0x00007ffff1d85a85 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5 #42 0x00007ffff1de1386 in ?? () from /usr/lib/libQt5Widgets.so.5 #43 0x00007ffff1de3ca3 in ?? () from /usr/lib/libQt5Widgets.so.5 #44 0x00007ffff1d8106c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #45 0x00007ffff1d864ff in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #46 0x00007ffff1053e70 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #47 0x00007ffff15a0113 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5 #48 0x00007ffff15a1925 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5 #49 0x00007ffff157f5fb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5 #50 0x00007fffd75c74d0 in ?? () from /usr/lib/libQt5XcbQpa.so.5 #51 0x00007fffe612edd7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #52 0x00007fffe612f040 in ?? () from /usr/lib/libglib-2.0.so.0 #53 0x00007fffe612f0ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #54 0x00007ffff10aa2cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #55 0x00007ffff105202a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #56 0x00007ffff105a5bc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #57 0x000000000040f1c4 in main (argc=1, argv=0x7fffffffe288) at /home/flh/projects/kdevelop/app/main.cpp:720 Reproducible: Always Steps to Reproduce: 1. Add a #include of a nonexistent file. 2. Right-click the filename. 3. Select Solve -> Add custom include path. 3. Close the resulting dialog. Actual Results: KDevelop segfaults. Expected Results: KDevelop doesn't segfault (obviously). Using latest 5.0 heads: kdevplatform a921a9cf kdevelop 2fb22c1a Compiled on Arch Linux. -- You are receiving this mail because: You are watching all bug changes.