| Summary: | Crash with 'Overriders possible, show all' | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Francis Herne <mail> |
| Component: | Language Support: CPP (Clang-based) | Assignee: | kdevelop-bugs-null |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | Keywords: | release_blocker |
| Priority: | NOR | ||
| Version First Reported In: | 4.90.91 | ||
| Target Milestone: | 5.0.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 5.0.0 | |
| Sentry Crash Report: | |||
| Attachments: | Tooltip showing 'Overriders possible'. | ||
Memory, rather. Glad I don't have any swap... Can you reduce the example as much as possible? Also see http://stackoverflow.com/help/mcve. Of course, patches are welcome, too. :) Also, please install debug symbols so the backtrace contains valid line numbers. See: https://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports Well, that was simpler than I expected!
Very-reduced test case:
struct Foo {
union {} bar;
virtual void SomeFunction() {}
};
Can't reproduce. Even tried the tarball you sent. In the example with "Foo", you shouldn't even get a link with "Overriders possible, show all", because there aren't any -- do you get the link? I do, see attachment. I've tried deleting .cache/kdevduchain, creating a new session, copied the file to a new account and opened it there. Same thing still happens. :-/ Created attachment 97758 [details]
Tooltip showing 'Overriders possible'.
Tooltip showing with link that shouldn't exist, and that crashes KDevelop.
I compiled KDevPlatform with debug symbols, but the site didn't want me to upload 63MB of backtrace.
Snipping out the middle quarter-million lines, which AFAICT are pretty much identical:
#0 KDevelop::ItemRepository<KDevelop::QualifiedIdentifierPrivate<false>, KDevelop::QualifiedIdentifierItemRequest, true, true, 0u, 1048576u>::index (this=0x2cce220, request=...) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/serialization/itemrepository.h:1100
__PRETTY_FUNCTION__ = "unsigned int KDevelop::ItemRepository<Item, ItemRequest, markForReferenceCounting, threadSafe, fixedItemSize, targetBucketHashSize>::index(const ItemRequest&) [with Item = KDevelop::QualifiedIdentifie"...
lock = {m_mutex = 0x2ace1a0}
size = <optimized out>
bucketInChainWithSpace = <optimized out>
lastBucketWalked = <optimized out>
pickedBucketInChain = <optimized out>
useBucket = <optimized out>
reOrderFreeSpaceBucketIndex = <optimized out>
#1 0x00007ffff24e26bd in KDevelop::QualifiedIdentifier::makeConstant (this=0x7fffff7ff1d0) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/identifier.cpp:1133
this = 0x7fffff7ff1d0
#2 0x00007ffff24e2859 in KDevelop::QualifiedIdentifier::index (this=0x7fffff7ff1d0) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/identifier.cpp:620
No locals.
#3 0x00007ffff24e288c in KDevelop::IndexedQualifiedIdentifier::IndexedQualifiedIdentifier (this=0x7fffff7ff1c0, id=...) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/identifier.cpp:1455
No locals.
#4 0x00007ffff24c80e8 in KDevelop::Declaration::id (this=<optimized out>, forceDirect=<optimized out>) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/declaration.cpp:570
No locals.
#5 0x00007ffff24a05ab in KDevelop::DUContext::indexedImporters (this=0x7fffc0043ff0) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/ducontext.cpp:860
ret = {<QVarLengthArray<KDevelop::IndexedDUContext, 256>> = {a = 256, s = 0, ptr = 0x7fffff7ffad0, {array = "0\f\200\377\377\177\000\000\000\000\000\000\000\000\000\000pU\363\364\377\177\000\000\001\000\000\000\000\000\000\000\220\003\200\377\377\177\000\000\000g\237f\255\244k\324X\333\310\362\377\177\000\000X\303\377\377\377\177\000\000\060\f\200\377\377\177\000\000\360\230\a\300\377\177\000\000 P\t\300\377\177\000\000\000\000\000\000\000\000\000\000\220\003\200\377\377\177\000\000\071\214P\362\377\177\000\000 \032\t\300\377\177\000\000p\373\177\377\377\177\000\000\060jo\003\000\000\000\000\307\177\314\364\377\177\000\000\200$\210\362\377\177\000\000X\303\377\377\377\177\000\000\001\000\000\000\004", '\000' <repeats 12 times>, "\001\000\000\003\000\000\000\220\373\177\377\377\177\000\000\001\000\000\000\002\000\000\000"..., q_for_alignment_1 = 140737479969840, q_for_alignment_2 = 6.9533553935368499e-310}}, <No data fields>}
#6 0x00007ffff2508ae5 in getInheritersInternal (decl=0x7fffc00798f0, maxAllowedSteps=@0x7fffffffc358: 4294872234, collectVersions=collectVersions@entry=false) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:496
_container_ = {c = {<QVarLengthArray<KDevelop::IndexedDUContext, 256>> = {a = -8387840, s = 32767, ptr = 0x7ffff24a060f <KDevelop::DUContext::indexedImporters() const+207>, {array = "\024\000\001\000\000\000\000\000\000LR\362\000\000\000\000\000\001\000\000\000\000\000\000\000\003\200\377\377\177\000\000@\003\200\377\377\177\000\000\300\326,\003\000\000\000\000\300\003\200\377\377\177\000\000 \253H\363\377\177\000\000\002\000\001\000\377\177\000\000\021\201L\362\377\177", '\000' <repeats 18 times>, "\024\000\001", '\000' <repeats 16 times>, "\200\377\177\000\000\000g\237f\255\244k\324\001\000\000\000\000\000\000\000@\f\200\377\377\177\000\000@\f\200\377\377\177\000\000\000g\237f\255\244kÔ \003\200\377\377\177\000\000@\f\200\377\377\177\000\000\000\001\000\000\003\000\000\000\240\003\200\377\377\177\000\000\001\000\000\000\002\000\000\000\001"..., q_for_alignment_1 = 65556, q_for_alignment_2 = 3.2388967478768758e-319}}, <No data fields>}, i = 0x7fffc00b5750, e = 0x1, control = -8381200}
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#7 0x00007ffff2508a9c in getInheritersInternal (decl=decl@entry=0x7fffc0091830, maxAllowedSteps=@0x7fffffffc358: 4294872234, collectVersions=collectVersions@entry=true) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:523
a = 0
count = 1
allDeclarations = 0x7fffc02b3ede
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#8 0x00007ffff250964a in KDevelop::DUChainUtils::getInheriters (decl=decl@entry=0x7fffc0091830, maxAllowedSteps=@0x7fffffffc358: 4294872234, collectVersions=collectVersions@entry=true) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:536
inheriters = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#9 0x00007ffff2509a04 in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:554
_container_ = {c = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x1009c}, d = 0x1009c}}, i = {i = 0x22f3cec}, e = {i = 0x659a840}, control = 1721722624}
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#10 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
inheriter = <optimized out>
_container_ = {c = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x659a820}, d = 0x659a820}}, i = {i = 0x659a830}, e = {i = 0x659a840}, control = 1}
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#11 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
inheriter = <optimized out>
_container_ = {c = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x659a7f0}, d = 0x659a7f0}}, i = {i = 0x659a800}, e = {i = 0x659a810}, control = 1}
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#12 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
inheriter = <optimized out>
_container_ = {c = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x659a7c0}, d = 0x659a7c0}}, i = {i = 0x659a7d0}, e = {i = 0x659a7e0}, control = 1}
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
#13 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
inheriter = <optimized out>
_container_ = {c = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x659a790}, d = 0x659a790}}, i = {i = 0x659a7a0}, e = {i = 0x659a7b0}, control = 1}
ret = {<QListSpecialMethods<KDevelop::Declaration*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff4f35560 <QListData::shared_null>}, d = 0x7ffff4f35560 <QListData::shared_null>}}
<snipped 238,000 lines like those above/below>
#47531 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47532 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47533 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47534 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47535 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47536 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47537 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47538 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47539 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc0091830, overriddenDeclaration=overriddenDeclaration@entry=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47540 0x00007ffff2509a6b in KDevelop::DUChainUtils::getOverriders (currentClass=0x7fffc00798f0, overriddenDeclaration=0x7fffc0000a60, maxAllowedSteps=@0x7fffffffc358: 4294872234) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/duchainutils.cpp:555
#47541 0x00007ffff25855ab in KDevelop::AbstractDeclarationNavigationContext::htmlAdditionalNavigation (this=0x233e5c0) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:461
#47542 0x00007ffff258237c in KDevelop::AbstractDeclarationNavigationContext::html (this=0x233e5c0, shorten=<optimized out>) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:253
#47543 0x00007ffff2572ced in KDevelop::AbstractNavigationWidget::update (this=this@entry=0xa408f0) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/navigation/abstractnavigationwidget.cpp:143
#47544 0x00007ffff25739a4 in KDevelop::AbstractNavigationWidget::setContext (this=this@entry=0xa408f0, context=..., initBrows=initBrows@entry=400) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/navigation/abstractnavigationwidget.cpp:119
#47545 0x00007ffff2573ceb in KDevelop::AbstractNavigationWidget::anchorClicked (this=0xa408f0, url=...) at /home/flh/kdevplatform/src/kdevplatform-4.90.91/language/duchain/navigation/abstractnavigationwidget.cpp:212
#47546 0x00007ffff4eb06cd in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#47547 0x00007ffff5d536d5 in QTextBrowser::anchorClicked(QUrl const&) () from /usr/lib/libQt5Widgets.so.5
#47548 0x00007ffff5d53d1b in ?? () from /usr/lib/libQt5Widgets.so.5
#47549 0x00007ffff5d554ed in ?? () from /usr/lib/libQt5Widgets.so.5
#47550 0x00007ffff4eb03cf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#47551 0x00007ffff5d6c2e5 in QWidgetTextControl::linkActivated(QString const&) () from /usr/lib/libQt5Widgets.so.5
#47552 0x00007ffff5d72bcc in ?? () from /usr/lib/libQt5Widgets.so.5
#47553 0x00007ffff5d73ae5 in ?? () from /usr/lib/libQt5Widgets.so.5
#47554 0x00007ffff5d78365 in QWidgetTextControl::processEvent(QEvent*, QMatrix const&, QWidget*) () from /usr/lib/libQt5Widgets.so.5
#47555 0x00007ffff5d6eb3b in QWidgetTextControl::processEvent(QEvent*, QPointF const&, QWidget*) () from /usr/lib/libQt5Widgets.so.5
#47556 0x00007ffff5d50c89 in QTextEdit::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5
#47557 0x00007ffff5bd1e08 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47558 0x00007ffff5cd70ae in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47559 0x00007ffff4e81de4 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#47560 0x00007ffff5b850fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47561 0x00007ffff5b8ab43 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47562 0x00007ffff4e8203a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#47563 0x00007ffff5b8962d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#47564 0x00007ffff5becba9 in ?? () from /usr/lib/libQt5Widgets.so.5
#47565 0x00007ffff5bef2db in ?? () from /usr/lib/libQt5Widgets.so.5
#47566 0x00007ffff5b85124 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47567 0x00007ffff5b89f78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47568 0x00007ffff4e8203a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#47569 0x00007ffff53df9fd in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#47570 0x00007ffff53e14e5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#47571 0x00007ffff53bfa1b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#47572 0x00007fffd65f7750 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#47573 0x00007fffec79cd87 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#47574 0x00007fffec79cfe0 in ?? () from /usr/lib/libglib-2.0.so.0
#47575 0x00007fffec79d08c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47576 0x00007ffff4eda18f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#47577 0x00007ffff4e8057a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#47578 0x00007ffff4e891fc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#47579 0x000000000040e862 in main ()
Just verified: I can reproduce with v4.90.91, but not with 5.0 anymore. => Issue was fixed in the meantime. |
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