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.

Reply via email to