Bug 471560

Summary: KDevelop crashes when eliciting a file reformatting operation
Product: [Applications] kdevelop Reporter: rusconi <listes.rusconi>
Component: generalAssignee: kdevelop-bugs-null
Status: REPORTED ---    
Severity: crash CC: igorkuo
Priority: NOR Keywords: drkonqi
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description rusconi 2023-06-29 08:41:08 UTC
Application: kdevelop (5.10.221202 (22.12.2))

Qt Version: 5.15.8
Frameworks Version: 5.107.0
Operating System: Linux 6.1.0-9-amd64 x86_64
Windowing System: X11
Distribution: Debian GNU/Linux trixie/sid
DrKonqi: 5.27.5 [KCrashBackend]

-- Information about the crash:
I started a clang-format-based reformatting of the file using the Alt+C,F keyboard shortcut and the program crashed.
This already happened sometimes.

The crash can be reproduced sometimes.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f655650d1dc in QAccessibleObject::object() const () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#5  0x00007f6556fb618a in QAccessibleWidget::isValid() const () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007f6556506848 in QAccessibleEvent::accessibleInterface() const () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007f6556506d6d in QAccessible::updateAccessibility(QAccessibleEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#8  0x00007f65539f7934 in KateViewInternal::documentTextInserted(KTextEditor::Document*, KTextEditor::Range) () at /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#9  0x00007f65560e8f4f in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f65538b4417 in KTextEditor::DocumentPrivate::textInsertedRange(KTextEditor::Document*, KTextEditor::Range const&) () at /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#11 0x00007f655393748f in KTextEditor::DocumentPrivate::editWrapLine(int, int, bool, bool*) () at /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#12 0x00007f6553938cc3 in KTextEditor::DocumentPrivate::insertText(KTextEditor::Cursor const&, QString const&, bool) () at /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#13 0x00007f655393b92b in KTextEditor::DocumentPrivate::setText(QString const&) () at /lib/x86_64-linux-gnu/libKF5TextEditor.so.5
#14 0x00007f6553db5eda in  () at /lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.510
#15 0x00007f6557b025cd in KDevelop::SourceFormatterController::FileFormatter::formatDocument(KDevelop::IDocument&) const () at /lib/x86_64-linux-gnu/libKDevPlatformShell.so.510
#16 0x00007f6557b02ea3 in KDevelop::SourceFormatterController::beautifySource() () at /lib/x86_64-linux-gnu/libKDevPlatformShell.so.510
#17 0x00007f65560e8f4f in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f6556d5c782 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f6556d5f3ab in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f6556d5ff7d in QAction::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f6556d62fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f65560b16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007f655656c76b in QShortcutMap::dispatchEvent(QKeyEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#24 0x00007f655656d0bb in QShortcutMap::tryShortcut(QKeyEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007f6556515376 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007f65565390cd in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007f654ab03063 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so
#28 0x00007f65560e8f4f in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f6556bde03f in QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#30 0x00007f65560dd6f0 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007f6556d62fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f65560b16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007f65560b4681 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f655610a153 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f6551c627a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f6551c62a38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f6551c62acc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f6556109836 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007f65560b017b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f65560b82d6 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x000055c3abada699 in  ()
#42 0x00007f655584618a in __libc_start_call_main (main=main@entry=0x55c3abad5cc0, argc=argc@entry=2, argv=argv@entry=0x7ffe443dbdf8) at ../sysdeps/nptl/libc_start_call_main.h:58
#43 0x00007f6555846245 in __libc_start_main_impl (main=0x55c3abad5cc0, argc=2, argv=0x7ffe443dbdf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe443dbde8) at ../csu/libc-start.c:381
#44 0x000055c3abadb281 in  ()
[Inferior 1 (process 218925) detached]

Reported using DrKonqi
Comment 1 Igor Kushnir 2023-06-30 05:04:04 UTC
Could be a duplicate of Bug 447740, because the top 4 functions of some of the reported backtraces and the backtrace here match. However, in all other crash reports, the KateViewInternal::cursorMoved call precedes QAccessible::updateAccessibility. Not KateViewInternal::documentTextInserted as in this bug's backtrace.