Bug 375007 - Asserts when pressing "Show Imports" button in problems tool view [KDevelop::WatchedDocumentSetPrivate::getImportsFromDUChain]
Summary: Asserts when pressing "Show Imports" button in problems tool view [KDevelop::...
Status: RESOLVED FIXED
Alias: None
Product: kdevplatform
Classification: Developer tools
Component: problemreporter (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: 5.1.0
Assignee: kdevelop-bugs-null
URL: https://phabricator.kde.org/D4152
Keywords: regression, release_blocker
Depends on:
Blocks:
 
Reported: 2017-01-13 14:19 UTC by Kevin Funk
Modified: 2017-01-16 09:28 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.1.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Funk 2017-01-13 14:19:39 UTC
This code got introduced just recently, via:

commit cb1cd2516e56f6d142bcc4845f8090a3f3141b3b
Author: Anton Anikin <anton.anikin@htower.ru>
Date:   Sat Dec 17 15:12:29 2016 +0800

    [kdevplatform] FilteredProblemStore scope-fix


Here's the backtrace:
Thread 1 (Thread 0x7f9e0dcc0e00 (LWP 8660)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#7  0x00007f9e232a43ea in __GI_abort () at abort.c:89
#8  0x00007f9e23fcc353 in qt_message_fatal (context=..., message=...) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/global/qlogging.cpp:1649
#9  0x00007f9e23fc83f0 in QMessageLogger::fatal (this=0x7ffdd13110a0, msg=0x7f9e243289d0 "ASSERT: \"%s\" in file %s, line %d") at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/global/qlogging.cpp:790
#10 0x00007f9e23fc0b75 in qt_assert (assertion=0x7f9e220bb8d9 "KDevelop::DUChain::lock()->currentThreadHasReadLock() || KDevelop::DUChain::lock()->currentThreadHasWriteLock()", file=0x7f9e220bb720 "/home/kfunk/devel/src/kf5/kdevplatform/language/duchain/duchain.cpp", line=1330) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/global/qglobal.cpp:3018
#11 0x00007f9e21ec17c7 in KDevelop::DUChain::chainForDocument (this=0x2b920f0, document=..., proxyContext=false) at /home/kfunk/devel/src/kf5/kdevplatform/language/duchain/duchain.cpp:1330
#12 0x00007f9e27270918 in KDevelop::WatchedDocumentSetPrivate::getImportsFromDUChain (this=0x2ba0810) at /home/kfunk/devel/src/kf5/kdevplatform/shell/watcheddocumentset.cpp:155
#13 0x00007f9e2726f269 in KDevelop::WatchedDocumentSetPrivate::updateImports (this=0x2ba0810) at /home/kfunk/devel/src/kf5/kdevplatform/shell/watcheddocumentset.cpp:131
#14 0x00007f9e2726efc2 in KDevelop::WatchedDocumentSetPrivate::setShowImports (this=0x2ba0810, showImports=true) at /home/kfunk/devel/src/kf5/kdevplatform/shell/watcheddocumentset.cpp:72
#15 0x00007f9e2726dc32 in KDevelop::WatchedDocumentSet::setShowImports (this=0x2bb1490, showImports=true) at /home/kfunk/devel/src/kf5/kdevplatform/shell/watcheddocumentset.cpp:202
#16 0x00007f9e2726b882 in KDevelop::ProblemStore::setShowImports (this=0x2bb1390, showImports=true) at /home/kfunk/devel/src/kf5/kdevplatform/shell/problemstore.cpp:241
#17 0x00007f9e27268d33 in KDevelop::ProblemModel::setShowImports (this=0x2bb1360, showImports=true) at /home/kfunk/devel/src/kf5/kdevplatform/shell/problemmodel.cpp:317
#18 0x00007f9e080afb19 in KDevelop::ProblemsView::setupActions()::$_4::operator()(bool) const (this=0x32a5f00, checked=true) at /home/kfunk/devel/src/kf5/kdevplatform/plugins/problemreporter/problemsview.cpp:133
#19 0x00007f9e080afac8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, KDevelop::ProblemsView::setupActions()::$_4>::call(KDevelop::ProblemsView::setupActions()::$_4&, void**) (f=..., arg=0x7ffdd13115f0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:495
#20 0x00007f9e080afa91 in QtPrivate::Functor<KDevelop::ProblemsView::setupActions()::$_4, 1>::call<QtPrivate::List<bool>, void>(KDevelop::ProblemsView::setupActions()::$_4&, void*, void**) (f=..., arg=0x7ffdd13115f0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:552
#21 0x00007f9e080afa2d in QtPrivate::QFunctorSlotObject<KDevelop::ProblemsView::setupActions()::$_4, 1, QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x32a5ef0, r=0x32b1460, a=0x7ffdd13115f0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:192
#22 0x00007f9e24278a1f in QtPrivate::QSlotObjectBase::call (this=0x32a5ef0, r=0x32b1460, a=0x7ffdd13115f0) at ../../include/QtCore/../../../../../src/qt5.6/qtbase/src/corelib/kernel/qobject_impl.h:124
#23 0x00007f9e24275626 in QMetaObject::activate (sender=0x32acad0, signalOffset=3, local_signal_index=1, argv=0x7ffdd13115f0) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qobject.cpp:3715
#24 0x00007f9e24274f1a in QMetaObject::activate (sender=0x32acad0, m=0x7f9e255931c0 <QAction::staticMetaObject>, local_signal_index=1, argv=0x7ffdd13115f0) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qobject.cpp:3595
#25 0x00007f9e24e72edd in QAction::triggered (this=0x32acad0, _t1=true) at .moc/moc_qaction.cpp:372
#26 0x00007f9e24e71e71 in QAction::activate (this=0x32acad0, event=QAction::Trigger) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qaction.cpp:1163
#27 0x00007f9e24e73acf in QAction::trigger (this=0x32acad0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qaction.h:177
#28 0x00007f9e25103275 in QToolButton::nextCheckState (this=0x32e9d90) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/widgets/qtoolbutton.cpp:960
#29 0x00007f9e24fea9cd in QAbstractButtonPrivate::click (this=0x31da000) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/widgets/qabstractbutton.cpp:386
#30 0x00007f9e24fec123 in QAbstractButton::mouseReleaseEvent (this=0x32e9d90, e=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/widgets/qabstractbutton.cpp:1002
#31 0x00007f9e25101e49 in QToolButton::mouseReleaseEvent (this=0x32e9d90, e=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/widgets/qtoolbutton.cpp:610
#32 0x00007f9e24edc179 in QWidget::event (this=0x32e9d90, event=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qwidget.cpp:8755
#33 0x00007f9e24febf30 in QAbstractButton::event (this=0x32e9d90, e=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/widgets/qabstractbutton.cpp:959
#34 0x00007f9e25103301 in QToolButton::event (this=0x32e9d90, event=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/widgets/qtoolbutton.cpp:976
#35 0x00007f9e24e84b1c in QApplicationPrivate::notify_helper (this=0x22ddd70, receiver=0x32e9d90, e=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qapplication.cpp:3804
#36 0x00007f9e24e825b1 in QApplication::notify (this=0x7ffdd1313ea8, receiver=0x32e9d90, e=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qapplication.cpp:3277
#37 0x00007f9e24230a79 in QCoreApplication::notifyInternal2 (receiver=0x32e9d90, event=0x7ffdd1311ff0) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1015
#38 0x00007f9e24e87d42 in QCoreApplication::sendSpontaneousEvent (receiver=0x32e9d90, event=0x7ffdd1311ff0) at ../../include/QtCore/../../../../../src/qt5.6/qtbase/src/corelib/kernel/qcoreapplication.h:228
#39 0x00007f9e24e80eb1 in QApplicationPrivate::sendMouseEvent (receiver=0x32e9d90, event=0x7ffdd1311ff0, alienWidget=0x32e9d90, nativeWidget=0x231b0b0, buttonDown=0x7f9e255c1d90 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qapplication.cpp:2773
#40 0x00007f9e24f0c8e4 in QWidgetWindow::handleMouseEvent (this=0x2ad9220, event=0x7ffdd1312640) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qwidgetwindow.cpp:607
#41 0x00007f9e24f0b2a4 in QWidgetWindow::event (this=0x2ad9220, event=0x7ffdd1312640) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qwidgetwindow.cpp:233
#42 0x00007f9e24e84b1c in QApplicationPrivate::notify_helper (this=0x22ddd70, receiver=0x2ad9220, e=0x7ffdd1312640) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qapplication.cpp:3804
#43 0x00007f9e24e81d65 in QApplication::notify (this=0x7ffdd1313ea8, receiver=0x2ad9220, e=0x7ffdd1312640) at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qapplication.cpp:3163
#44 0x00007f9e24230a79 in QCoreApplication::notifyInternal2 (receiver=0x2ad9220, event=0x7ffdd1312640) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1015
#45 0x00007f9e2467a97c in QCoreApplication::sendSpontaneousEvent (receiver=0x2ad9220, event=0x7ffdd1312640) at ../../include/QtCore/../../../../../src/qt5.6/qtbase/src/corelib/kernel/qcoreapplication.h:228
#46 0x00007f9e24672b4b in QGuiApplicationPrivate::processMouseEvent (e=0x45af060) at /home/kfunk/devel/src/qt5.6/qtbase/src/gui/kernel/qguiapplication.cpp:1887
#47 0x00007f9e24671f61 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x45af060) at /home/kfunk/devel/src/qt5.6/qtbase/src/gui/kernel/qguiapplication.cpp:1671
#48 0x00007f9e24653ff7 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/kfunk/devel/src/qt5.6/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:653
#49 0x00007f9e0d7889c2 in userEventSourceDispatch (source=0x2311d50) at /home/kfunk/devel/src/qt5.6/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:70
#50 0x00007f9e1cb0d7d7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007f9e1cb0da40 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007f9e1cb0daec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007f9e242b54c2 in QEventDispatcherGlib::processEvents (this=0x231e340, flags=...) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:417
#54 0x00007f9e0d788bd6 in QPAEventDispatcherGlib::processEvents (this=0x231e340, flags=...) at /home/kfunk/devel/src/qt5.6/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:115
#55 0x00007f9e2422d11c in QEventLoop::processEvents (this=0x7ffdd1312ac0, flags=...) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qeventloop.cpp:128
#56 0x00007f9e2422d453 in QEventLoop::exec (this=0x7ffdd1312ac0, flags=...) at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qeventloop.cpp:206
#57 0x00007f9e24231271 in QCoreApplication::exec () at /home/kfunk/devel/src/qt5.6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1285
#58 0x00007f9e24671d82 in QGuiApplication::exec () at /home/kfunk/devel/src/qt5.6/qtbase/src/gui/kernel/qguiapplication.cpp:1617
#59 0x00007f9e24e81715 in QApplication::exec () at /home/kfunk/devel/src/qt5.6/qtbase/src/widgets/kernel/qapplication.cpp:2979
#60 0x000000000040e285 in main (argc=3, argv=0x7ffdd1314928) at /home/kfunk/devel/src/kf5/kdevelop/app/main.cpp:761
Comment 1 Kevin Funk 2017-01-13 14:23:20 UTC
@Anton: Please have a look
Comment 2 Kevin Funk 2017-01-16 09:28:55 UTC
Fixed by: https://phabricator.kde.org/D4152