Bug 506628

Summary: From time to time kdevelop freeze, this time also with crash
Product: [Applications] kdevelop Reporter: Jaime Torres <jtamate>
Component: generalAssignee: kdevelop-bugs-null
Status: REPORTED ---    
Severity: crash CC: igorkuo
Priority: NOR Keywords: drkonqi
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/211426/events/02acf0c82aa14462b9691bf14e421812/
Attachments: New crash information added by DrKonqi

Description Jaime Torres 2025-07-05 09:55:51 UTC
Application: kdevelop (6.2.250402 (25.04.2))

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.1
Frameworks Version: 6.15.0
Operating System: Linux 6.15.4-1-default x86_64
Windowing System: Wayland
Distribution: "openSUSE Tumbleweed"
DrKonqi: 6.4.1 [CoredumpBackend]

-- Information about the crash:
From time to time, sometimes minutes, sometimes hours, sometimes seconds, kdevelop freeze totally.
This time, also, a crash.
I was cutting two lines of python code. Thats all.

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#4  KTextEditor::MovingRange::toRange (this=0x1000559763e2a3c0) at /usr/include/KF6/KTextEditor/ktexteditor/movingrange.h:376
#5  KDevelop::CodeHighlighting::aboutToRemoveText (this=<optimized out>, range=...) at /usr/src/debug/kdevelop-25.04.2/kdevplatform/language/highlighting/codehighlighting.cpp:628
#6  KDevelop::CodeHighlighting::aboutToRemoveText (this=0x559750b0d2b0, range=...) at /usr/src/debug/kdevelop-25.04.2/kdevplatform/language/highlighting/codehighlighting.cpp:611
#7  0x00007f8347a19c01 in doActivate<false> (sender=0x559751d08d20, signal_index=45, argv=0x7ffda9a9be30) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4158
[...]
#9  KTextEditor::DocumentPrivate::aboutToRemoveText (this=<optimized out>, _t1=...) at /usr/src/debug/ktexteditor-6.15.0/build/src/KF6TextEditor_autogen/include/moc_katedocument.cpp:700
#10 0x00007f834511d51a in KTextEditor::DocumentPrivate::removeText (this=0x559751d08d20, _range=..., block=<optimized out>) at /usr/src/debug/ktexteditor-6.15.0/src/document/katedocument.cpp:812
#11 0x00007f83451fedb5 in KTextEditor::ViewPrivate::removeSelectedText (this=<optimized out>) at /usr/src/debug/ktexteditor-6.15.0/src/view/kateview.cpp:2893
#12 KTextEditor::ViewPrivate::removeSelectedText (this=<optimized out>) at /usr/src/debug/ktexteditor-6.15.0/src/view/kateview.cpp:2866
#13 0x00007f8347a199a1 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=0x559753adb4a0, signal_index=7, argv=0x7ffda9a9c0c0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4146
[...]
#16 QAction::triggered (this=this@entry=0x559753adb4a0, _t1=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.1/build/src/gui/Gui_autogen/include/moc_qaction.cpp:372
#17 0x00007f83487d150a in QAction::activate (this=0x559753adb4a0, event=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/gui/kernel/qaction.cpp:1104
#18 0x00007f83487d15e0 in QAction::event (this=0x559753adb4a0, e=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/gui/kernel/qaction.cpp:1046
#19 QAction::event (this=0x559753adb4a0, e=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/gui/kernel/qaction.cpp:1029
#20 0x00007f8348de0d9a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x559753adb4a0, e=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/widgets/kernel/qapplication.cpp:3303
#21 0x00007f83479b8b28 in QCoreApplication::notifyInternal2 (receiver=0x559753adb4a0, event=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qcoreapplication.cpp:1106
#4  KTextEditor::MovingRange::toRange (this=0x1000559763e2a3c0) at /usr/include/KF6/KTextEditor/ktexteditor/movingrange.h:376
#5  KDevelop::CodeHighlighting::aboutToRemoveText (this=<optimized out>, range=...) at /usr/src/debug/kdevelop-25.04.2/kdevplatform/language/highlighting/codehighlighting.cpp:628
#6  KDevelop::CodeHighlighting::aboutToRemoveText (this=0x559750b0d2b0, range=...) at /usr/src/debug/kdevelop-25.04.2/kdevplatform/language/highlighting/codehighlighting.cpp:611
#7  0x00007f8347a19c01 in doActivate<false> (sender=0x559751d08d20, signal_index=45, argv=0x7ffda9a9be30) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4158
[...]
#9  KTextEditor::DocumentPrivate::aboutToRemoveText (this=<optimized out>, _t1=...) at /usr/src/debug/ktexteditor-6.15.0/build/src/KF6TextEditor_autogen/include/moc_katedocument.cpp:700
#10 0x00007f834511d51a in KTextEditor::DocumentPrivate::removeText (this=0x559751d08d20, _range=..., block=<optimized out>) at /usr/src/debug/ktexteditor-6.15.0/src/document/katedocument.cpp:812
#11 0x00007f83451fedb5 in KTextEditor::ViewPrivate::removeSelectedText (this=<optimized out>) at /usr/src/debug/ktexteditor-6.15.0/src/view/kateview.cpp:2893
#12 KTextEditor::ViewPrivate::removeSelectedText (this=<optimized out>) at /usr/src/debug/ktexteditor-6.15.0/src/view/kateview.cpp:2866
#13 0x00007f8347a199a1 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=0x559753adb4a0, signal_index=7, argv=0x7ffda9a9c0c0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qobject.cpp:4146
[...]
#16 QAction::triggered (this=this@entry=0x559753adb4a0, _t1=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.1/build/src/gui/Gui_autogen/include/moc_qaction.cpp:372
#17 0x00007f83487d150a in QAction::activate (this=0x559753adb4a0, event=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/gui/kernel/qaction.cpp:1104
#18 0x00007f83487d15e0 in QAction::event (this=0x559753adb4a0, e=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/gui/kernel/qaction.cpp:1046
#19 QAction::event (this=0x559753adb4a0, e=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/gui/kernel/qaction.cpp:1029
#20 0x00007f8348de0d9a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x559753adb4a0, e=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/widgets/kernel/qapplication.cpp:3303
#21 0x00007f83479b8b28 in QCoreApplication::notifyInternal2 (receiver=0x559753adb4a0, event=0x7ffda9a9c2f0) at /usr/src/debug/qtbase-everywhere-src-6.9.1/src/corelib/kernel/qcoreapplication.cpp:1106


Reported using DrKonqi
Comment 1 Jaime Torres 2025-07-05 09:55:53 UTC
Created attachment 182972 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Igor Kushnir 2025-07-06 08:06:43 UTC
I haven't encountered such a crash yet. But I am using a customized KDevelop version with my merge requests applied. Can you try https://invent.kde.org/kdevelop/kdevelop/-/merge_requests/716, which applies some fixes and optimizations in the file codehighlighting.cpp that is close to the end of the backtrace?

> From time to time, sometimes minutes, sometimes hours, sometimes seconds, kdevelop freeze totally.
Some freezes are caused by background git operations, especially while switching between commits. Tracked in Bug 486949. Several fixes were applied very recently to KDevelop master. Given the latest KDevelop master version, remove the Project Changes and the Git Commit tool views from the sublime areas (Code, Debug, Review) that you use to prevent such freezes completely.

Another known freeze is after hovering over a very frequently occurring symbol, such as std, Qt, QString, QObject. You can try https://invent.kde.org/kdevelop/kdevelop/-/merge_requests/667 to remedy that.