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.

Reply via email to