Bug 377110 - crash when expanding project directory in project manager view
Summary: crash when expanding project directory in project manager view
Status: RESOLVED NOT A BUG
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 5.0.1
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2017-03-02 15:02 UTC by Ovidiu-Florin BOGDAN
Modified: 2018-09-28 04:26 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
drkonqi report (54.67 KB, text/plain)
2017-03-02 15:02 UTC, Ovidiu-Florin BOGDAN
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ovidiu-Florin BOGDAN 2017-03-02 15:02:19 UTC
Created attachment 104321 [details]
drkonqi report

Scenario:

Open an existing Kdevelop session, that has one Makefile project loaded.

Click on expand project folder in the project tool view.

Expected results:
Folder to expand and show it's contents.

Actual result:
KDevelop crashes.

I had the same behaviour with KDevelop 5.0.3, but I have 5.0.1 currently installed and I'm able to reproduce it.

If I delete the session and cache directories, and reload the project, manually, projects loads normally, and expanding causes no crashes.
Comment 1 Ovidiu-Florin BOGDAN 2017-03-06 09:45:23 UTC
I still experience this in KDevelop 5.0.3 from the AppImage. But it only happens sometimes. I couldn't isolate the exact time when this happens, so far.
Comment 2 Kevin Funk 2017-03-06 10:29:46 UTC
Note: Pasting stack trace of crashing thread inline for SEO:

Thread 1 (Thread 0x7f8a0271d0c0 (LWP 5427)):
[KCrash Handler]
#6  0x00007f8a005c2ce2 in QPainter::save() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007f89c4520948 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/25/kdevprojectmanagerview.so
#8  0x00007f89c4521283 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/25/kdevprojectmanagerview.so
#9  0x00007f8a00d836a0 in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007f8a00d89127 in QTreeView::drawTree(QPainter*, QRegion const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f8a00d8dc46 in QTreeView::paintEvent(QPaintEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f8a00b3fa78 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f8a00c281fe in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f8a00d4f093 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f8a00d8eafc in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f89ffe20601 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f8a00af8335 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007f8a00affb11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f89ffe208a0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f8a00b387da in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f8a00b38e46 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f8a00b39a39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007f8a00b39a39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007f8a00b39a39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007f8a00b39b4c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007f8a00b39a39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007f8a00b39a39 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007f8a00b389a4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007f8a00b0874a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007f8a00b08907 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#43 0x00007f8a00b2778f in QWidgetPrivate::syncBackingStore() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#44 0x00007f8a00b3fb48 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#45 0x00007f8a00c3f11b in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#46 0x00007f89fbdc6637 in KMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#47 0x00007f89fbe0bdd5 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#48 0x00007f8a00af835c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#49 0x00007f8a00affb11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#50 0x00007f89ffe208a0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007f89ffe2302d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007f89ffe74b03 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#53 0x00007f89f6e888a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007f89f6e88b10 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007f89f6e88bbc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007f89ffe74f0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#57 0x00007f89ffe1e88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#58 0x00007f8a0124080e in KJob::exec() () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#59 0x00007f89a01c361b in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/25/kdevsubversion.so
#60 0x00007f89fcce1ead in KDevelop::ProjectChangesModel::changes(KDevelop::IProject*, QList<QUrl> const&, KDevelop::IBasicVersionControl::RecursionMode) () from /usr/lib/x86_64-linux-gnu/libKDevPlatformProject.so.10
#61 0x00007f89fcce2593 in KDevelop::ProjectChangesModel::reload(QList<KDevelop::IProject*> const&) () from /usr/lib/x86_64-linux-gnu/libKDevPlatformProject.so.10
#62 0x00007f89fcce2af8 in KDevelop::ProjectChangesModel::addProject(KDevelop::IProject*) () from /usr/lib/x86_64-linux-gnu/libKDevPlatformProject.so.10
#63 0x00007f89fcce2cb4 in KDevelop::ProjectChangesModel::ProjectChangesModel(QObject*) () from /usr/lib/x86_64-linux-gnu/libKDevPlatformProject.so.10
#64 0x00007f8a02313de1 in KDevelop::ProjectController::changesModel() () from /usr/lib/x86_64-linux-gnu/libKDevPlatformShell.so.10
#65 0x00007f89c451ff07 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/25/kdevprojectmanagerview.so
#66 0x00007f89c4521255 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/25/kdevprojectmanagerview.so
#67 0x00007f8a00d836a0 in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#68 0x00007f8a00d89127 in QTreeView::drawTree(QPainter*, QRegion const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#69 0x00007f8a00d89422 in QTreeViewPrivate::renderTreeToPixmapForAnimation(QRect const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#70 0x00007f8a00d8b520 in QTreeViewPrivate::beginAnimatedOperation() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#71 0x00007f8a00d8b71a in QTreeViewPrivate::expand(int, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#72 0x00007f8a00d8c9d0 in QTreeViewPrivate::expandOrCollapseItemAtPos(QPoint const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#73 0x00007f8a00d8f159 in QTreeView::mousePressEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#74 0x00007f8a00b403ef in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#75 0x00007f8a00c281fe in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#76 0x00007f8a00d4f093 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#77 0x00007f8a00d8eafc in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#78 0x00007f89ffe20601 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#79 0x00007f8a00af8335 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#80 0x00007f8a00b009cd in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#81 0x00007f89ffe208a0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#82 0x00007f8a00aff07d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#83 0x00007f8a00b5a0f6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#84 0x00007f8a00b5cb03 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#85 0x00007f8a00af835c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#86 0x00007f8a00affb11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#87 0x00007f89ffe208a0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#88 0x00007f8a00364723 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#89 0x00007f8a003662a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#90 0x00007f8a0034423b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#91 0x00007f89e1c975a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#92 0x00007f89f6e888a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#93 0x00007f89f6e88b10 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#94 0x00007f89f6e88bbc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#95 0x00007f89ffe74f0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#96 0x00007f89ffe1e88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#97 0x00007f89ffe26ffc in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#98 0x000055828d26178c in ?? ()
#99 0x00007f89ff4753f1 in __libc_start_main (main=0x55828d25ba80, argc=2, argv=0x7ffc512059b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc512059a8) at ../csu/libc-start.c:291
#100 0x000055828d261dca in _start ()
Comment 3 Milian Wolff 2017-03-19 14:01:23 UTC
I've never seen this, can anyone get this to crash with more debug symbols to show us what line is triggering this? without that information, we can only fish in the dark
Comment 4 Ovidiu-Florin BOGDAN 2017-04-02 08:08:13 UTC
This seems to manifest after some time of working on my work projects. These projects have a very (unnecessarily) complicated Makefile based build system, and that is how they are loaded in KDevelop. I wouldn't put this issue past the fact that the structure of the build system just drives KDevelop nuts.

I don't know how effectively I can reproduce this bug, without providing the entire Build system configuration, which I cannot do.

Does the stack trace not help?
Comment 5 Andrew Crouthamel 2018-09-28 02:32:20 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Ovidiu-Florin BOGDAN 2018-09-28 04:26:26 UTC
I can no longer reproduce this, as I no longer have access to the project that caused this. Also, the project migrated to CMake.