https://bugs.kde.org/show_bug.cgi?id=360209
Bug ID: 360209 Summary: Crash with 'Overriders possible, show all' Product: kdevelop Version: 4.90.91 Platform: Archlinux Packages OS: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: Language Support: CPP Assignee: kdevelop-bugs-n...@kde.org Reporter: francis.he...@yahoo.co.uk When selecting 'Overriders possible, show all' on the line: 'virtual void UpdateDeltaXY(Direction direction) {}' KDevelop crashes, apparently by recursing in KDevelop::DUChainUtils::getOverriders() until it runs out of stack. Backtrace: #0 0x00007ffff4589b69 in _int_malloc () from /usr/lib/libc.so.6 #1 0x00007ffff458b924 in malloc () from /usr/lib/libc.so.6 #2 0x00007ffff4941de8 in operator new (sz=72) at /build/gcc/src/gcc-5-20160209/libstdc++-v3/libsupc++/new_op.cc:50 #3 0x00007ffff25144c9 in KDevelop::QualifiedIdentifier::prepareWrite() () from /usr/lib/libKDevPlatformLanguage.so.10 #4 0x00007ffff2514648 in KDevelop::QualifiedIdentifier::push(KDevelop::IndexedIdentifier const&) () from /usr/lib/libKDevPlatformLanguage.so.10 #5 0x00007ffff24fb65e in KDevelop::Declaration::qualifiedIdentifier() const () from /usr/lib/libKDevPlatformLanguage.so.10 #6 0x00007ffff24fc3c9 in KDevelop::Declaration::id(bool) const () from /usr/lib/libKDevPlatformLanguage.so.10 #7 0x00007ffff24d6f0b in KDevelop::DUContext::indexedImporters() const () from /usr/lib/libKDevPlatformLanguage.so.10 #8 0x00007ffff2532028 in ?? () from /usr/lib/libKDevPlatformLanguage.so.10 #9 0x00007ffff2531fce in ?? () from /usr/lib/libKDevPlatformLanguage.so.10 #10 0x00007ffff2532609 in KDevelop::DUChainUtils::getInheriters(KDevelop::Declaration const*, unsigned int&, bool) () from /usr/lib/libKDevPlatformLanguage.so.10 #11 0x00007ffff2532f7f in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #12 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #13 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #14 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #15 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #16 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 <snip 100,000 lines (aargh)> #47544 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #47545 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #47546 0x00007ffff2533117 in KDevelop::DUChainUtils::getOverriders(KDevelop::Declaration const*, KDevelop::Declaration const*, unsigned int&) () from /usr/lib/libKDevPlatformLanguage.so.10 #47547 0x00007ffff25a6710 in KDevelop::AbstractDeclarationNavigationContext::htmlAdditionalNavigation() () from /usr/lib/libKDevPlatformLanguage.so.10 #47548 0x00007ffff25a9f34 in KDevelop::AbstractDeclarationNavigationContext::html(bool) () from /usr/lib/libKDevPlatformLanguage.so.10 #47549 0x00007ffff2599a31 in KDevelop::AbstractNavigationWidget::update() () from /usr/lib/libKDevPlatformLanguage.so.10 #47550 0x00007ffff259a097 in KDevelop::AbstractNavigationWidget::setContext(QExplicitlySharedDataPointer<KDevelop::AbstractNavigationContext>, int) () from /usr/lib/libKDevPlatformLanguage.so.10 #47551 0x00007ffff259a321 in KDevelop::AbstractNavigationWidget::anchorClicked(QUrl const&) () from /usr/lib/libKDevPlatformLanguage.so.10 #47552 0x00007ffff4ec46cd in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5 #47553 0x00007ffff5d676d5 in QTextBrowser::anchorClicked(QUrl const&) () from /usr/lib/libQt5Widgets.so.5 #47554 0x00007ffff5d67d1b in ?? () from /usr/lib/libQt5Widgets.so.5 #47555 0x00007ffff5d694ed in ?? () from /usr/lib/libQt5Widgets.so.5 #47556 0x00007ffff4ec43cf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5 #47557 0x00007ffff5d802e5 in QWidgetTextControl::linkActivated(QString const&) () from /usr/lib/libQt5Widgets.so.5 #47558 0x00007ffff5d86bcc in ?? () from /usr/lib/libQt5Widgets.so.5 #47559 0x00007ffff5d87ae5 in ?? () from /usr/lib/libQt5Widgets.so.5 #47560 0x00007ffff5d8c365 in QWidgetTextControl::processEvent(QEvent*, QMatrix const&, QWidget*) () from /usr/lib/libQt5Widgets.so.5 #47561 0x00007ffff5d82b3b in QWidgetTextControl::processEvent(QEvent*, QPointF const&, QWidget*) () from /usr/lib/libQt5Widgets.so.5 #47562 0x00007ffff5d64c89 in QTextEdit::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5 #47563 0x00007ffff5be5e08 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #47564 0x00007ffff5ceb0ae in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #47565 0x00007ffff4e95de4 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #47566 0x00007ffff5b990fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #47567 0x00007ffff5b9eb43 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #47568 0x00007ffff4e9603a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #47569 0x00007ffff5b9d62d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5 #47570 0x00007ffff5c00ba9 in ?? () from /usr/lib/libQt5Widgets.so.5 #47571 0x00007ffff5c032db in ?? () from /usr/lib/libQt5Widgets.so.5 #47572 0x00007ffff5b99124 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #47573 0x00007ffff5b9df78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #47574 0x00007ffff4e9603a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #47575 0x00007ffff53f39fd in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5 #47576 0x00007ffff53f54e5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5 #47577 0x00007ffff53d3a1b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5 #47578 0x00007fffd6631750 in ?? () from /usr/lib/libQt5XcbQpa.so.5 #47579 0x00007fffec7d5d87 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #47580 0x00007fffec7d5fe0 in ?? () from /usr/lib/libglib-2.0.so.0 #47581 0x00007fffec7d608c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #47582 0x00007ffff4eee18f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #47583 0x00007ffff4e9457a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #47584 0x00007ffff4e9d1fc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #47585 0x000000000040e862 in main () This is line 312 of src/vehicle_base.h in r27506 of OpenTTD, which can be found here: https://binaries.openttd.org/nightlies/trunk/r27506/openttd-trunk-r27506-source.tar.xz Reproducible: Always Steps to Reproduce: 1. Open src/vehicle_base.h 2. In the tooltip of 'UpdateDeltaXY' on line 312, click 'Overriders possible, show all'. Actual Results: KDevelop crashes. Expected Results: KDevelop doesn't crash. KDevelop 4.90.91, Frameworks 5.19.0, Qt 5.6-rc1, Clang 3.7.1 -- You are receiving this mail because: You are watching all bug changes.