https://bugs.kde.org/show_bug.cgi?id=425994
Bug ID: 425994 Summary: Crashes caused by DebugController::showStepInSource() when a user requests KDevelop exit just before a code breakpoint is hit Product: kdevelop Version: git master Platform: Compiled Sources OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: CPP Debugger Assignee: kdevelop-bugs-n...@kde.org Reporter: igor...@gmail.com CC: niko.s...@gmail.com Target Milestone: --- SUMMARY When a user exits KDevelop during debugging, a code breakpoint can be hit, and as a consequence DebugController::showStepInSource() be called in the event loop started by Core::cleanup() => BackgroundParser::waitForIdle(). Oblivious to the application state, DebugController then tries to open a document, which eventually results in a crash inside a slot connected to either &IDocumentController::textDocumentCreated or &IDocumentController::documentLoaded (these signals are emitted in the process of opening a document). SOFTWARE/OS VERSIONS Manjaro GNU/Linux, Xfce KDE Frameworks Version: 5.73.0 Qt Version: 5.15.0 ADDITIONAL INFORMATION I am going to create a Merge Request with a fix soon. BACKTRACE 1 (Debug) Application: KDevelop (kdevelop), signal: Aborted [KCrash Handler] #4 0x00007fb081ac2615 in raise () at /usr/lib/libc.so.6 #5 0x00007fb081aab862 in abort () at /usr/lib/libc.so.6 #6 0x00007fb0820209ac in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914 #7 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffd52ac7858, msg=msg@entry=0x7fb082326ea0 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:893 #8 0x00007fb08201fd59 in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qlogging.h:90 #9 0x00007fb081a37d9b in KDevelop::BreakpointModel::setupMovingCursor(KTextEditor::Document*, KDevelop::Breakpoint*) const (this=0x55d7e2d11c70, document=0x55d80c111610, breakpoint=0x55d7e2d77550) at ../kdevplatform/debugger/breakpoint/breakpointmodel.cpp:729 #10 0x00007fb081a3489d in KDevelop::BreakpointModel::textDocumentCreated(KDevelop::IDocument*) (this=0x55d7e2d11c70, doc=0x55d7e4b96440) at ../kdevplatform/debugger/breakpoint/breakpointmodel.cpp:149 #11 0x00007fb081a3a6b8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KDevelop::IDocument*>, void, void (KDevelop::BreakpointModel::*)(KDevelop::IDocument*)>::call(void (KDevelop::BreakpointModel::*)(KDevelop::IDocument*), KDevelop::BreakpointModel*, void**) (f=(void (KDevelop::BreakpointModel::*)(KDevelop::BreakpointModel * const, KDevelop::IDocument *)) 0x7fb081a346dc <KDevelop::BreakpointModel::textDocumentCreated(KDevelop::IDocument*)>, o=0x55d7e2d11c70, arg=0x7ffd52ac7b30) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #12 0x00007fb081a3a248 in QtPrivate::FunctionPointer<void (KDevelop::BreakpointModel::*)(KDevelop::IDocument*)>::call<QtPrivate::List<KDevelop::IDocument*>, void>(void (KDevelop::BreakpointModel::*)(KDevelop::IDocument*), KDevelop::BreakpointModel*, void**) (f=(void (KDevelop::BreakpointModel::*)(KDevelop::BreakpointModel * const, KDevelop::IDocument *)) 0x7fb081a346dc <KDevelop::BreakpointModel::textDocumentCreated(KDevelop::IDocument*)>, o=0x55d7e2d11c70, arg=0x7ffd52ac7b30) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #13 0x00007fb081a39d7c in QtPrivate::QSlotObject<void (KDevelop::BreakpointModel::*)(KDevelop::IDocument*), QtPrivate::List<KDevelop::IDocument*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55d7e2d11a80, r=0x55d7e2d11c70, a=0x7ffd52ac7b30, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #14 0x00007fb082279a26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd52ac7b30, r=0x55d7e2d11c70, this=0x55d7e2d11a80) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #15 doActivate<false>(QObject*, int, void**) (sender=0x55d7e2ca73c0, signal_index=8, argv=0x7ffd52ac7b30) at kernel/qobject.cpp:3886 #16 0x00007fb084b76d0c in KDevelop::IDocumentController::textDocumentCreated(KDevelop::IDocument*) (this=0x55d7e2ca73c0, _t1=0x55d7e4b96440) at kdevplatform/interfaces/KDevPlatformInterfaces_autogen/EWIEGA46WW/moc_idocumentcontroller.cpp:451 #17 0x00007fb084b80bca in KDevelop::IDocument::notifyTextDocumentCreated() (this=0x55d7e4b96440) at ../kdevplatform/interfaces/idocument.cpp:98 #18 0x00007fb086084d26 in KDevelop::TextDocument::createViewWidget(QWidget*) (this=0x55d7e4b96420, parent=0x55d7ffb785f0) at ../kdevplatform/shell/textdocument.cpp:375 #19 0x00007fb086086184 in KDevelop::TextView::createWidget(QWidget*) (this=0x55d80b5a3350, parent=0x55d7ffb785f0) at ../kdevplatform/shell/textdocument.cpp:631 #20 0x00007fb084ce26a3 in Sublime::View::widget(QWidget*) (this=0x55d80b5a3350, parent=0x55d7ffb785f0) at ../kdevplatform/sublime/view.cpp:84 #21 0x00007fb084cd6ec4 in Sublime::MainWindowPrivate::ViewCreator::operator()(Sublime::AreaIndex*) (this=0x7ffd52ac7fd0, index=0x55d7e2858b70) at ../kdevplatform/sublime/mainwindow_p.cpp:414 #22 0x00007fb084cdcd87 in Sublime::Area::walkViewsInternal<Sublime::MainWindowPrivate::ViewCreator>(Sublime::MainWindowPrivate::ViewCreator&, Sublime::AreaIndex*) (this=0x55d7e2858af0, op=..., index=0x55d7e2858b70) at ../kdevplatform/sublime/areawalkers.h:32 #23 0x00007fb084cdaef1 in Sublime::Area::walkViews<Sublime::MainWindowPrivate::ViewCreator>(Sublime::MainWindowPrivate::ViewCreator&, Sublime::AreaIndex*) (this=0x55d7e2858af0, op=..., index=0x55d7e2858b70) at ../kdevplatform/sublime/areawalkers.h:48 #24 0x00007fb084cd7bc4 in Sublime::MainWindowPrivate::viewAdded(Sublime::AreaIndex*, Sublime::View*) (this=0x55d7e2574c10, index=0x55d7e2858b70, view=0x55d80b5a3350) at ../kdevplatform/sublime/mainwindow_p.cpp:584 #25 0x00007fb084cd3cda in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Sublime::AreaIndex*, Sublime::View*>, void, void (Sublime::MainWindowPrivate::*)(Sublime::AreaIndex*, Sublime::View*)>::call(void (Sublime::MainWindowPrivate::*)(Sublime::AreaIndex*, Sublime::View*), Sublime::MainWindowPrivate*, void**) (f=(void (Sublime::MainWindowPrivate::*)(Sublime::MainWindowPrivate * const, Sublime::AreaIndex *, Sublime::View *)) 0x7fb084cd79d4 <Sublime::MainWindowPrivate::viewAdded(Sublime::AreaIndex*, Sublime::View*)>, o=0x55d7e2574c10, arg=0x7ffd52ac81c0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #26 0x00007fb084cd373a in QtPrivate::FunctionPointer<void (Sublime::MainWindowPrivate::*)(Sublime::AreaIndex*, Sublime::View*)>::call<QtPrivate::List<Sublime::AreaIndex*, Sublime::View*>, void>(void (Sublime::MainWindowPrivate::*)(Sublime::AreaIndex*, Sublime::View*), Sublime::MainWindowPrivate*, void**) (f=(void (Sublime::MainWindowPrivate::*)(Sublime::MainWindowPrivate * const, Sublime::AreaIndex *, Sublime::View *)) 0x7fb084cd79d4 <Sublime::MainWindowPrivate::viewAdded(Sublime::AreaIndex*, Sublime::View*)>, o=0x55d7e2574c10, arg=0x7ffd52ac81c0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #27 0x00007fb084cd31e8 in QtPrivate::QSlotObject<void (Sublime::MainWindowPrivate::*)(Sublime::AreaIndex*, Sublime::View*), QtPrivate::List<Sublime::AreaIndex*, Sublime::View*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55d80c59c9e0, r=0x55d7e2574c10, a=0x7ffd52ac81c0, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #28 0x00007fb082279a26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd52ac81c0, r=0x55d7e2574c10, this=0x55d80c59c9e0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #29 doActivate<false>(QObject*, int, void**) (sender=0x55d7e2858af0, signal_index=3, argv=0x7ffd52ac81c0) at kernel/qobject.cpp:3886 #30 0x00007fb084caa56c in Sublime::Area::viewAdded(Sublime::AreaIndex*, Sublime::View*) (this=0x55d7e2858af0, _t1=0x55d7e2858b70, _t2=0x55d80b5a3350) at kdevplatform/sublime/KDevPlatformSublime_autogen/EWIEGA46WW/moc_area.cpp:282 #31 0x00007fb084caf32e in Sublime::Area::addView(Sublime::View*, Sublime::AreaIndex*, Sublime::View*) (this=0x55d7e2858af0, view=0x55d80b5a3350, index=0x55d7e2858b70, after=0x0) at ../kdevplatform/sublime/area.cpp:187 #32 0x00007fb084caf3c8 in Sublime::Area::addView(Sublime::View*, Sublime::View*) (this=0x55d7e2858af0, view=0x55d80b5a3350, after=0x0) at ../kdevplatform/sublime/area.cpp:201 #33 0x00007fb086095fba in KDevelop::DocumentControllerPrivate::openDocumentInternal(KDevelop::IDocument*, KTextEditor::Range const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, KDevelop::IDocument*) (this=0x55d7e2c82900, doc=0x55d7e4b96440, range=..., activationParams=..., buddy=0x0) at ../kdevplatform/shell/documentcontroller.cpp:497 #34 0x00007fb0860952aa in KDevelop::DocumentControllerPrivate::openDocumentInternal(QUrl const&, QString const&, KTextEditor::Range const&, QString const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, KDevelop::IDocument*) (this=0x55d7e2c82900, inputUrl=..., prefName=..., range=..., encoding=..., activationParams=..., buddy=0x0) at ../kdevplatform/shell/documentcontroller.cpp:339 #35 0x00007fb08608da62 in KDevelop::DocumentController::openDocument(QUrl const&, KTextEditor::Range const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, QString const&, KDevelop::IDocument*) (this=0x55d7e2ca73c0, inputUrl=..., range=..., activationParams=..., encoding=..., buddy=0x0) at ../kdevplatform/shell/documentcontroller.cpp:702 #36 0x00007fb084b81667 in KDevelop::IDocumentController::openDocument(QUrl const&, KTextEditor::Cursor const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, QString const&) (this=0x55d7e2ca73c0, url=..., cursor=..., activationParams=..., encoding=...) at ../kdevplatform/interfaces/idocumentcontroller.cpp:33 #37 0x00007fb0860e5ced in KDevelop::DebugController::showStepInSource(QUrl const&, int) (this=0x55d7e2d11e50, url=..., lineNum=596) at ../kdevplatform/shell/debugcontroller.cpp:367 #38 0x00007fb0860e9376 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QUrl const&, int>, void, void (KDevelop::DebugController::*)(QUrl const&, int)>::call(void (KDevelop::DebugController::*)(QUrl const&, int), KDevelop::DebugController*, void**) (f=(void (KDevelop::DebugController::*)(KDevelop::DebugController * const, const QUrl &, int)) 0x7fb0860e5b06 <KDevelop::DebugController::showStepInSource(QUrl const&, int)>, o=0x55d7e2d11e50, arg=0x7ffd52ac88e0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #39 0x00007fb0860e8efa in QtPrivate::FunctionPointer<void (KDevelop::DebugController::*)(QUrl const&, int)>::call<QtPrivate::List<QUrl const&, int>, void>(void (KDevelop::DebugController::*)(QUrl const&, int), KDevelop::DebugController*, void**) (f=(void (KDevelop::DebugController::*)(KDevelop::DebugController * const, const QUrl &, int)) 0x7fb0860e5b06 <KDevelop::DebugController::showStepInSource(QUrl const&, int)>, o=0x55d7e2d11e50, arg=0x7ffd52ac88e0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #40 0x00007fb0860e89e4 in QtPrivate::QSlotObject<void (KDevelop::DebugController::*)(QUrl const&, int), QtPrivate::List<QUrl const&, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55d7ff863c30, r=0x55d7e2d11e50, a=0x7ffd52ac88e0, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #41 0x00007fb082279a26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd52ac88e0, r=0x55d7e2d11e50, this=0x55d7ff863c30) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #42 doActivate<false>(QObject*, int, void**) (sender=0x55d7f77699a0, signal_index=4, argv=0x7ffd52ac88e0) at kernel/qobject.cpp:3886 #43 0x00007fb081a1fce1 in KDevelop::IDebugSession::showStepInSource(QUrl const&, int, QString const&) (this=0x55d7f77699a0, _t1=..., _t2=596, _t3=...) at kdevplatform/debugger/KDevPlatformDebugger_autogen/include/moc_idebugsession.cpp:295 #44 0x00007fb081a1f466 in KDevelop::IDebugSession::setCurrentPosition(QUrl const&, int, QString const&) (this=0x55d7f77699a0, url=..., line=596, addr=...) at ../kdevplatform/debugger/interfaces/idebugsession.cpp:110 #45 0x00007fb0174feccf in KDevMI::MIDebugSession::slotInferiorStopped(KDevMI::MI::AsyncRecord const&) (this=0x55d7f77699a0, r=...) at ../plugins/debuggercommon/midebugsession.cpp:1077 #46 0x00007fb017504ad4 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KDevMI::MI::AsyncRecord const&>, void, void (KDevMI::MIDebugSession::*)(KDevMI::MI::AsyncRecord const&)>::call(void (KDevMI::MIDebugSession::*)(KDevMI::MI::AsyncRecord const&), KDevMI::MIDebugSession*, void**) (f=&virtual table offset 288, o=0x55d7f77699a0, arg=0x7ffd52ac8c20) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #47 0x00007fb017504214 in QtPrivate::FunctionPointer<void (KDevMI::MIDebugSession::*)(KDevMI::MI::AsyncRecord const&)>::call<QtPrivate::List<KDevMI::MI::AsyncRecord const&>, void>(void (KDevMI::MIDebugSession::*)(KDevMI::MI::AsyncRecord const&), KDevMI::MIDebugSession*, void**) (f=&virtual table offset 288, o=0x55d7f77699a0, arg=0x7ffd52ac8c20) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #48 0x00007fb017503a94 in QtPrivate::QSlotObject<void (KDevMI::MIDebugSession::*)(KDevMI::MI::AsyncRecord const&), QtPrivate::List<KDevMI::MI::AsyncRecord const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55d812ee4670, r=0x55d7f77699a0, a=0x7ffd52ac8c20, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #49 0x00007fb082279a26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd52ac8c20, r=0x55d7f77699a0, this=0x55d812ee4670) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #50 doActivate<false>(QObject*, int, void**) (sender=0x55d812e4a240, signal_index=5, argv=0x7ffd52ac8c20) at kernel/qobject.cpp:3886 #51 0x00007fb0174e9ab2 in KDevMI::MIDebugger::programStopped(KDevMI::MI::AsyncRecord const&) (this=0x55d812e4a240, _t1=...) at plugins/debuggercommon/kdevdebuggercommon_autogen/EWIEGA46WW/moc_midebugger.cpp:295 #52 0x00007fb0174f4b31 in KDevMI::MIDebugger::processLine(QByteArray const&) (this=0x55d812e4a240, line=...) at ../plugins/debuggercommon/midebugger.cpp:273 #53 0x00007fb0174f3b88 in KDevMI::MIDebugger::readyReadStandardOutput() (this=0x55d812e4a240) at ../plugins/debuggercommon/midebugger.cpp:157 #54 0x00007fb0174f74a5 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KDevMI::MIDebugger::*)()>::call(void (KDevMI::MIDebugger::*)(), KDevMI::MIDebugger*, void**) (f=(void (KDevMI::MIDebugger::*)(KDevMI::MIDebugger * const)) 0x7fb0174f393a <KDevMI::MIDebugger::readyReadStandardOutput()>, o=0x55d812e4a240, arg=0x7ffd52ac9120) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #55 0x00007fb0174f7090 in QtPrivate::FunctionPointer<void (KDevMI::MIDebugger::*)()>::call<QtPrivate::List<>, void>(void (KDevMI::MIDebugger::*)(), KDevMI::MIDebugger*, void**) (f=(void (KDevMI::MIDebugger::*)(KDevMI::MIDebugger * const)) 0x7fb0174f393a <KDevMI::MIDebugger::readyReadStandardOutput()>, o=0x55d812e4a240, arg=0x7ffd52ac9120) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #56 0x00007fb0174f6b12 in QtPrivate::QSlotObject<void (KDevMI::MIDebugger::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55d7f5e6a2a0, r=0x55d812e4a240, a=0x7ffd52ac9120, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #57 0x00007fb082279a26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd52ac9120, r=0x55d812e4a240, this=0x55d7f5e6a2a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #58 doActivate<false>(QObject*, int, void**) (sender=0x55d812ee3c90, signal_index=15, argv=argv@entry=0x7ffd52ac9120) at kernel/qobject.cpp:3886 #59 0x00007fb082272bc0 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fb0824d6da0 <QProcess::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffd52ac9120) at kernel/qobject.cpp:3946 #60 0x00007fb0821ae30e in QProcess::readyReadStandardOutput(QProcess::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qprocess.cpp:367 #61 0x00007fb0821b3a56 in QProcessPrivate::tryReadFromChannel(QProcessPrivate::Channel*) (this=0x55d812dae350, channel=0x55d812dae460) at io/qprocess.cpp:1057 #62 0x00007fb0821b3fb5 in QProcessPrivate::_q_canReadStandardError() (this=<optimized out>) at io/qprocess.cpp:1084 #63 QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7ffd52ac92d0) at .moc/moc_qprocess.cpp:210 #64 0x00007fb082279a60 in doActivate<false>(QObject*, int, void**) (sender=0x55d812ee4a40, signal_index=3, argv=argv@entry=0x7ffd52ac92d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 #65 0x00007fb082272bc0 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55d812ee4a40, m=m@entry=0x7fb0824d9180 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd52ac92d0) at kernel/qobject.cpp:3946 #66 0x00007fb08227cf90 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x55d812ee4a40, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178 #67 0x00007fb08227d79d in QSocketNotifier::event(QEvent*) (this=0x55d812ee4a40, e=0x7ffd52ac93e0) at kernel/qsocketnotifier.cpp:302 #68 0x00007fb0830cd702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55d812ee4a40, e=0x7ffd52ac93e0) at kernel/qapplication.cpp:3671 #69 0x00007fb0822427ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55d812ee4a40, event=0x7ffd52ac93e0) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #70 0x00007fb08229bf46 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=0x55d7e21b8ef0) at kernel/qeventdispatcher_glib.cpp:107 #71 0x00007fb07e60143c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #72 0x00007fb07e64f1d9 in () at /usr/lib/libglib-2.0.so.0 #73 0x00007fb07e600221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #74 0x00007fb08229b3a2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55d7e210b9f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #75 0x00007fb084e41e39 in KDevelop::BackgroundParser::waitForIdle() const (this=0x55d7e2c90c10) at ../kdevplatform/language/backgroundparser/backgroundparser.cpp:889 #76 0x00007fb086052168 in KDevelop::Core::cleanup() (this=0x55d7e2775e50) at ../kdevplatform/shell/core.cpp:387 #77 0x00007fb086051e22 in KDevelop::Core::shutdown() (this=0x55d7e2775e50) at ../kdevplatform/shell/core.cpp:344 #78 0x00007fb08602cb2f in KDevelop::MainWindow::~MainWindow() (this=0x55d7e2793780, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../kdevplatform/shell/mainwindow.cpp:150 #79 0x00007fb08602cbf0 in KDevelop::MainWindow::~MainWindow() (this=0x55d7e2793780, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../kdevplatform/shell/mainwindow.cpp:154 #80 0x00007fb08226ef90 in QObject::event(QEvent*) (this=0x55d7e2793780, e=0x55d808e50770) at kernel/qobject.cpp:1301 #81 0x00007fb083d0ea8a in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5 #82 0x00007fb08602d0f7 in KDevelop::MainWindow::event(QEvent*) (this=0x55d7e2793780, ev=0x55d808e50770) at ../kdevplatform/shell/mainwindow.cpp:208 #83 0x00007fb0830cd702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55d7e2793780, e=0x55d808e50770) at kernel/qapplication.cpp:3671 #84 0x00007fb0822427ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55d7e2793780, event=0x55d808e50770) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #85 0x00007fb0822452a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55d7e20f7090) at kernel/qcoreapplication.cpp:1815 #86 0x00007fb08229bcf4 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55d7e21c9b50) at kernel/qeventdispatcher_glib.cpp:277 #87 0x00007fb07e60143c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #88 0x00007fb07e64f1d9 in () at /usr/lib/libglib-2.0.so.0 #89 0x00007fb07e600221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #90 0x00007fb08229b331 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55d7e210b9f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #91 0x00007fb08224113c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd52ac9b50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #92 0x00007fb0822495c4 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #93 0x000055d7e1e0881f in main(int, char**) (argc=3, argv=0x7ffd52ac9fc8) at ../app/main.cpp:850 [Inferior 1 (process 169501) detached] BACKTRACE 2 (Debug) [This backtrace was obtained by commenting out a Q_ASSERT at the beginning of BreakpointModel::setupMovingCursor() so as not to trigger the crash described by BACKTRACE 1] Application: KDevelop (kdevelop), signal: Segmentation fault [KCrash Handler] #4 KDevelop::SourceFormatterController::configForUrl(QUrl const&) const (this=0x5655347226b0, url=...) at ../kdevplatform/shell/sourceformattercontroller.cpp:324 #5 0x00007fa8ec8f9191 in KDevelop::SourceFormatterController::formatterForUrl(QUrl const&, QMimeType const&) (this=0x5655347226b0, url=..., mime=...) at ../kdevplatform/shell/sourceformattercontroller.cpp:400 #6 0x00007fa8ec8f7cff in KDevelop::SourceFormatterController::documentLoaded(QPointer<KDevelop::TextDocument> const&) (this=0x5655347226b0, doc=...) at ../kdevplatform/shell/sourceformattercontroller.cpp:223 #7 0x00007fa8ec834057 in KDevelop::SourceFormatterController::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x5655347226b0, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x565563466598) at kdevplatform/shell/KDevPlatformShell_autogen/EWIEGA46WW/moc_sourceformattercontroller.cpp:125 #8 0x00007fa8e8a9d1d2 in QObject::event(QEvent*) (this=0x5655347226b0, e=0x565563466550) at kernel/qobject.cpp:1314 #9 0x00007fa8e98fb702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5655347226b0, e=0x565563466550) at kernel/qapplication.cpp:3671 #10 0x00007fa8e8a707ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5655347226b0, event=0x565563466550) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #11 0x00007fa8e8a732a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x565533bec090) at kernel/qcoreapplication.cpp:1815 #12 0x00007fa8e8ac9cf4 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x565533cbeff0) at kernel/qeventdispatcher_glib.cpp:277 #13 0x00007fa8e4e2f43c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #14 0x00007fa8e4e7d1d9 in () at /usr/lib/libglib-2.0.so.0 #15 0x00007fa8e4e2e221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #16 0x00007fa8e8ac9331 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x565533c009f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #17 0x00007fa8e8a6f13c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffedcfd93f0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #18 0x00007fa8e8a775c4 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #19 0x0000565531bfc81f in main(int, char**) (argc=3, argv=0x7ffedcfd9868) at ../app/main.cpp:850 [Inferior 1 (process 172229) detached] -- You are receiving this mail because: You are watching all bug changes.