Bug 507036 - [ANR] Ark's embedded KWrite crashed in QUnicodeTables::qGetProp after I searched > 3 characters in a 22-MiB-TAr-archived, 662-MiB XML file
Summary: [ANR] Ark's embedded KWrite crashed in QUnicodeTables::qGetProp after I searc...
Status: REPORTED
Alias: None
Product: ark
Classification: Applications
Component: general (other bugs)
Version First Reported In: 25.04.3
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Elvis Angelaccio
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2025-07-14 17:08 UTC by Roke Julian Lockhart Beedell
Modified: 2025-07-31 19:23 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/216602/events/fc82039889e34c5ca97565f1468bb048/


Attachments
New crash information added by DrKonqi (71.84 KB, text/plain)
2025-07-14 17:08 UTC, Roke Julian Lockhart Beedell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roke Julian Lockhart Beedell 2025-07-14 17:08:29 UTC
Application: ark (25.04.3)

ApplicationNotResponding [ANR]: true
Qt Version: 6.9.1
Frameworks Version: 6.16.0
Operating System: Linux 6.15.5-200.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.4.2 [CoredumpBackend]

-- Information about the crash:
Per https://bugzilla.redhat.com/show_bug.cgi?id=2379933, when I searched > 3 characters in Ark's embedded KWrite, it hung for some time.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#5  0x00007f529620068b in QUnicodeTables::qGetProp (ucs4=58 U':') at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qunicodetables.cpp:10839
#6  QUnicodeTables::qGetProp (ucs4=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qunicodetables.cpp:10835
#7  convertCase_helper<char32_t> (uc=<optimized out>, which=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qchar.cpp:1594
#8  foldCase (ch=0x560387b4cac2 u":*:ruby:*:*\" type=\"NAME_CORRECTION\"/>", start=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qchar.cpp:1686
#9  QtPrivate::findString (haystack0=..., from=<optimized out>, from@entry=0, needle0=..., cs=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qstring.cpp:9841
#10 0x00007f52962009f3 in QString::indexOf (this=this@entry=0x7fff2506ffe0, str=..., from=from@entry=0, cs=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qstring.cpp:4496
#11 0x00007f5207513c30 in KatePlainTextSearch::search (this=0x7fff25070070, text=..., inputRange=..., backwards=<optimized out>) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/kateplaintextsearch.cpp:116
#12 0x00007f520748e9bf in KTextEditor::DocumentPrivate::searchText (this=<optimized out>, range=..., pattern=..., options=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/document/katedocument.cpp:1755
#14 0x00007f5207514df0 in KateSearchBar::onIncPatternChanged (this=0x56040b3f86d0, pattern=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/katesearchbar.cpp:431
#15 KateSearchBar::onIncPatternChanged (this=0x56040b3f86d0, pattern=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/katesearchbar.cpp:406
#16 0x00007f52961657ba in QtPrivate::QSlotObjectBase::call (this=0x56040b36ab30, r=0x56040b3f86d0, a=0x7fff250702b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#17 doActivate<false> (sender=0x56040b368290, signal_index=7, argv=argv@entry=0x7fff250702b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
[...]
#20 QComboBox::editTextChanged (this=<optimized out>, _t1=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qcombobox.cpp:337
#21 0x00007f52961657ba in QtPrivate::QSlotObjectBase::call (this=0x56040b36a730, r=0x56040b368290, a=0x7fff250703b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#22 doActivate<false> (sender=0x56040b3695d0, signal_index=7, argv=argv@entry=0x7fff250703b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
[...]
#25 QLineEdit::textChanged (this=<optimized out>, _t1=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qlineedit.cpp:333


Reported using DrKonqi
Comment 1 Roke Julian Lockhart Beedell 2025-07-14 17:08:29 UTC
Created attachment 183230 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Roke Julian Lockhart Beedell 2025-07-14 17:24:01 UTC
I've attempted to capture a simpler trace by using KWrite standalone, but https://bugs.kde.org/show_bug.cgi?id=506879 prevents me.
Comment 3 Roke Julian Lockhart Beedell 2025-07-28 16:50:38 UTC
(In reply to Roke Julian Lockhart Beedell from comment #2)

I've somehow, finally, managed to bypass this, per https://bugs.kde.org/show_bug.cgi?id=507599#c0.
Comment 4 TraceyC 2025-07-31 19:23:15 UTC
Searchable backtrace

Thread 1 (Thread 0x7f52910f0dc0 (LWP 20172)):
[KCrash Handler]
#5  0x00007f529620068b in QUnicodeTables::qGetProp (ucs4=58 U':') at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qunicodetables.cpp:10839
#6  QUnicodeTables::qGetProp (ucs4=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qunicodetables.cpp:10835
#7  convertCase_helper<char32_t> (uc=<optimized out>, which=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qchar.cpp:1594
#8  foldCase (ch=0x560387b4cac2 u":*:ruby:*:*\" type=\"NAME_CORRECTION\"/>", start=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qchar.cpp:1686
#9  QtPrivate::findString (haystack0=..., from=<optimized out>, from@entry=0, needle0=..., cs=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qstring.cpp:9841
#10 0x00007f52962009f3 in QString::indexOf (this=this@entry=0x7fff2506ffe0, str=..., from=from@entry=0, cs=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/text/qstring.cpp:4496
#11 0x00007f5207513c30 in KatePlainTextSearch::search (this=0x7fff25070070, text=..., inputRange=..., backwards=<optimized out>) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/kateplaintextsearch.cpp:116
#12 0x00007f520748e9bf in KTextEditor::DocumentPrivate::searchText (this=<optimized out>, range=..., pattern=..., options=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/document/katedocument.cpp:1755
#13 0x00007f5207510429 in KateMatch::searchText(KTextEditor::Range, QString const&) [clone .isra.0] (this=0x7fff25070170, range=..., pattern=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/katematch.cpp:22
#14 0x00007f5207514df0 in KateSearchBar::onIncPatternChanged (this=0x56040b3f86d0, pattern=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/katesearchbar.cpp:431
#15 KateSearchBar::onIncPatternChanged (this=0x56040b3f86d0, pattern=...) at /usr/src/debug/kf6-ktexteditor-6.16.0-1.fc42.x86_64/src/search/katesearchbar.cpp:406
#16 0x00007f52961657ba in QtPrivate::QSlotObjectBase::call (this=0x56040b36ab30, r=0x56040b3f86d0, a=0x7fff250702b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#17 doActivate<false> (sender=0x56040b368290, signal_index=7, argv=argv@entry=0x7fff250702b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#18 0x00007f529615c089 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f5297baaa60 <QComboBox::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff250702b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#19 0x00007f52975a130f in QMetaObject::activate<void, QString> (sender=<optimized out>, mo=0x7f5297baaa60 <QComboBox::staticMetaObject>, local_signal_index=0, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#20 QComboBox::editTextChanged (this=<optimized out>, _t1=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qcombobox.cpp:337
#21 0x00007f52961657ba in QtPrivate::QSlotObjectBase::call (this=0x56040b36a730, r=0x56040b368290, a=0x7fff250703b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#22 doActivate<false> (sender=0x56040b3695d0, signal_index=7, argv=argv@entry=0x7fff250703b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#23 0x00007f529615c089 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f5297bae6c0 <QLineEdit::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff250703b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#24 0x00007f52975f838f in QMetaObject::activate<void, QString> (sender=<optimized out>, mo=0x7f5297bae6c0 <QLineEdit::staticMetaObject>, local_signal_index=0, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#25 QLineEdit::textChanged (this=<optimized out>, _t1=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qlineedit.cpp:333
#26 0x00007f52961657ba in QtPrivate::QSlotObjectBase::call (this=0x56040b369930, r=0x56040b3695d0, a=0x7fff250704b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#27 doActivate<false> (sender=0x5603755d7af0, signal_index=6, argv=argv@entry=0x7fff250704b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#28 0x00007f529615c089 in QMetaObject::activate (sender=sender@entry=0x5603755d7af0, m=m@entry=0x7f5297baeba0 <QWidgetLineControl::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fff250704b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#29 0x00007f5297605512 in QMetaObject::activate<void, QString> (sender=0x5603755d7af0, mo=0x7f5297baeba0 <QWidgetLineControl::staticMetaObject>, local_signal_index=3, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#30 QWidgetLineControl::textChanged (this=this@entry=0x5603755d7af0, _t1=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qwidgetlinecontrol_p.cpp:210
#31 0x00007f5297609789 in QWidgetLineControl::finishChange (this=0x5603755d7af0, validateFromState=<optimized out>, update=update@entry=false, edited=edited@entry=true) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/widgets/qwidgetlinecontrol.cpp:715
#32 0x00007f529760a7b8 in QWidgetLineControl::insert (this=<optimized out>, newText=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/widgets/qwidgetlinecontrol.cpp:234
#33 0x00007f529760bec7 in QWidgetLineControl::processKeyEvent (this=0x5603755d7af0, event=event@entry=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/tools/qarraydata.h:60
#34 0x00007f52975f827f in QLineEdit::keyPressEvent (this=<optimized out>, event=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/widgets/qlineedit.cpp:1761
#35 0x00007f52974a79e4 in QWidget::event (this=0x56040b3695d0, event=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidget.cpp:9020
#36 0x00007f52974a79e4 in QWidget::event (this=0x56040b368290, event=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidget.cpp:9020
#37 0x00007f529743d97f in QApplicationPrivate::notify_helper (this=this@entry=0x560372fe6400, receiver=receiver@entry=0x56040b368290, e=e@entry=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303
#38 0x00007f5297448852 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2721
#39 0x00007f52960f9f38 in QCoreApplication::notifyInternal2 (receiver=0x56040b368290, event=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#40 0x00007f52960f9f6a in QCoreApplication::forwardEvent (receiver=<optimized out>, event=<optimized out>, originatingEvent=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1121
#41 0x00007f52974bb2e4 in QWidgetWindow::handleKeyEvent (this=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:712
#42 0x00007f52974bef1b in QWidgetWindow::event (this=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qwidgetwindow.cpp:285
#43 0x00007f529743d97f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x560373c11c20, e=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303
#44 0x00007f52960f9f38 in QCoreApplication::notifyInternal2 (receiver=0x560373c11c20, event=0x7fff25070c10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#45 0x00007f52960fa1ad in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1560
#46 0x00007f52968ee554 in QGuiApplicationPrivate::processKeyEvent (e=0x5604100b6540) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:2615
#47 0x00007f529695c76c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1113
#48 0x00007f529695c988 in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1082
#49 0x00007f5296165c5a in doActivate<false> (sender=0x560372fe90f0, signal_index=4, argv=0x7fff25070db8, argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4158
#50 0x00007f529615c089 in QMetaObject::activate (sender=sender@entry=0x560372fe90f0, m=m@entry=0x7f52966a16e0 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#51 0x00007f52960f2cc7 in QAbstractEventDispatcher::awake (this=this@entry=0x560372fe90f0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:128
#52 0x00007f529640f9eb in QEventDispatcherGlib::processEvents (this=0x560372fe90f0, flags=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:406
#53 0x00007f5296107b03 in QEventLoop::exec (this=this@entry=0x7fff25070ef0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/global/qflags.h:77
#54 0x00007f5296103419 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#55 0x00007f52968ddbad in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1986
#56 0x00007f529743d8e9 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2570
#57 0x000056035daa8ced in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ark-25.04.3-1.fc42.x86_64/app/main.cpp:297