Bug 430269 - Kate crashes when opening large files
Summary: Kate crashes when opening large files
Status: RESOLVED DUPLICATE of bug 351362
Alias: None
Product: kate
Classification: Applications
Component: general (show other bugs)
Version: 20.12.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords: drkonqi
: 450432 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-12-11 17:16 UTC by Ilya Bizyaev
Modified: 2023-02-26 22:10 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ilya Bizyaev 2020-12-11 17:16:20 UTC
Application: kate (20.12.0)

Qt Version: 5.15.2
Frameworks Version: 5.76.0
Operating System: Linux 5.9.9-1.gf76e598-default x86_64
Windowing system: X11
Distribution: "openSUSE Leap 15.2"

-- Information about the crash:
- What I was doing when the application crashed:

Opened a 157 MiB file, then clicked "Temporarily raise line limit". Kate took a while to think, then crashed.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault

[New LWP 20621]
[New LWP 20622]
[New LWP 20623]
[New LWP 20624]
[New LWP 20625]
[New LWP 20626]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f5524a126db in poll () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f552a627940 (LWP 20620))]

Thread 7 (Thread 0x7f550101f700 (LWP 20626)):
#0  0x00007f552040787d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f550372a95b in ?? () from /usr/lib64/dri/i965_dri.so
#2  0x00007f550372a527 in ?? () from /usr/lib64/dri/i965_dri.so
#3  0x00007f55204014f9 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f5524a1cfbf in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f5501820700 (LWP 20625)):
#0  0x00007f552040787d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f550372a95b in ?? () from /usr/lib64/dri/i965_dri.so
#2  0x00007f550372a527 in ?? () from /usr/lib64/dri/i965_dri.so
#3  0x00007f55204014f9 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f5524a1cfbf in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f5502021700 (LWP 20624)):
#0  0x00007f552040787d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f550372a95b in ?? () from /usr/lib64/dri/i965_dri.so
#2  0x00007f550372a527 in ?? () from /usr/lib64/dri/i965_dri.so
#3  0x00007f55204014f9 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f5524a1cfbf in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f5502822700 (LWP 20623)):
#0  0x00007f552040787d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f550372a95b in ?? () from /usr/lib64/dri/i965_dri.so
#2  0x00007f550372a527 in ?? () from /usr/lib64/dri/i965_dri.so
#3  0x00007f55204014f9 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f5524a1cfbf in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f550da81700 (LWP 20622)):
#0  0x00007f5524a0e1d8 in read () from /lib64/libc.so.6
#1  0x00007f551e09c9a0 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f551e055298 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f551e055720 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f551e05588c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f55253edbab in QEventDispatcherGlib::processEvents (this=0x7f5508000b10, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f5525389c8a in QEventLoop::exec (this=this@entry=0x7f550da80c40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#7  0x00007f5525192227 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:547
#8  0x00007f5526ec5335 in ?? () from /usr/lib64/libQt5DBus.so.5
#9  0x00007f552519373c in QThreadPrivate::start (arg=0x7f552713e440) at thread/qthread_unix.cpp:329
#10 0x00007f55204014f9 in start_thread () from /lib64/libpthread.so.0
#11 0x00007f5524a1cfbf in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f5515d52700 (LWP 20621)):
#0  0x00007f5524a126db in poll () from /lib64/libc.so.6
#1  0x00007f5520828397 in _xcb_conn_wait () from /usr/lib64/libxcb.so.1
#2  0x00007f552082a05a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f5518935d10 in QXcbEventQueue::run (this=0x55ef71cbaa60) at qxcbeventqueue.cpp:228
#4  0x00007f552519373c in QThreadPrivate::start (arg=0x55ef71cbaa60) at thread/qthread_unix.cpp:329
#5  0x00007f55204014f9 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f5524a1cfbf in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f552a627940 (LWP 20620)):
[KCrash Handler]
#4  QFontEngineFT::stringToCMap (this=0x55ef725ff4c0, str=<optimized out>, len=<optimized out>, glyphs=0x7ffd48d99480, nglyphs=0x7ffd48d9946c, flags=...) at freetype/qfontengine_ft.cpp:1566
#5  0x00007f5525ab1d76 in QFontEngineMulti::stringToCMap (this=0x55ef725ede60, str=0x7f54a75c9028, len=4096, glyphs=0x7ffd48d99480, nglyphs=0x7ffd48d9946c, flags=...) at text/qfontengine.cpp:1891
#6  0x00007f5525ad3152 in QTextEngine::shapeText (this=this@entry=0x55ef877a80b0, item=item@entry=0) at text/qtextengine.cpp:1481
#7  0x00007f5525ad3fd9 in QTextEngine::shape (this=this@entry=0x55ef877a80b0, item=0) at text/qtextengine.cpp:2028
#8  0x00007f5525ae6d9a in QTextLine::layout_helper (this=this@entry=0x7ffd48d99850, maxGlyphs=maxGlyphs@entry=2147483647) at text/qtextlayout.cpp:1854
#9  0x00007f5525ae7e7d in QTextLine::setLineWidth (this=this@entry=0x7ffd48d99850, width=<optimized out>) at text/qtextlayout.cpp:1605
#10 0x00007f552a04e059 in KateRenderer::layoutLine (this=<optimized out>, lineLayout=..., maxwidth=1282, cacheLayout=<optimized out>) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/render/katerenderer.cpp:1069
#11 0x00007f552a051a75 in KateLayoutCache::line (this=this@entry=0x55ef726060e0, realLine=realLine@entry=0, virtualLine=virtualLine@entry=-1) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/render/katelayoutcache.cpp:309
#12 0x00007f552a052dc2 in KateLayoutCache::updateViewCache (this=this@entry=0x55ef726060e0, startPos=..., newViewLineCount=newViewLineCount@entry=37, viewLinesScrolled=viewLinesScrolled@entry=0) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/render/katelayoutcache.cpp:167
#13 0x00007f552a09f390 in KateViewInternal::updateView (this=0x55ef723a79e0, changed=changed@entry=true, viewLinesScrolled=0) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/view/kateviewinternal.cpp:616
#14 0x00007f552a09f789 in KateViewInternal::updateView (this=<optimized out>, changed=changed@entry=true, viewLinesScrolled=viewLinesScrolled@entry=0) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/view/kateviewinternal.cpp:676
#15 0x00007f552a087456 in KTextEditor::ViewPrivate::updateView (this=this@entry=0x55ef7214dfe0, changed=changed@entry=true) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/view/kateview.cpp:2157
#16 0x00007f552a097be0 in KTextEditor::ViewPrivate::updateDocumentConfig (this=0x55ef7214dfe0) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/view/kateview.cpp:2016
#17 0x00007f5529fecfc9 in KTextEditor::DocumentPrivate::updateConfig (this=0x55ef71f46400) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/document/katedocument.cpp:4524
#18 0x00007f552a0e1925 in KateDocumentConfig::updateConfig (this=0x55ef71f381e0) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/utils/kateconfig.cpp:408
#19 0x00007f552a000684 in KTextEditor::DocumentPrivate::readVariables (this=this@entry=0x55ef71f46400, onlyViewAndRenderer=onlyViewAndRenderer@entry=false) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/document/katedocument.cpp:4564
#20 0x00007f552a005422 in KTextEditor::DocumentPrivate::openFile (this=0x55ef71f46400) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/document/katedocument.cpp:2344
#21 0x00007f5529feb44e in KTextEditor::DocumentPrivate::openWithLineLengthLimitOverride (this=0x55ef71f46400) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/src/document/katedocument.cpp:2288
#22 0x00007f5529f7fc4c in KTextEditor::DocumentPrivate::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7ffd48d9a080) at /usr/src/debug/ktexteditor-5.76.0-lp152.232.2.x86_64/build/src/KF5TextEditor_autogen/DV7UALDUNI/moc_katedocument.cpp:568
#23 0x00007f55253c88f9 in doActivate<false> (sender=0x55ef8775ba70, signal_index=4, argv=0x7ffd48d9a080) at kernel/qobject.cpp:3898
#24 0x00007f55253c1fd2 in QMetaObject::activate (sender=sender@entry=0x55ef8775ba70, m=m@entry=0x7f5526c60080 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffd48d9a080) at kernel/qobject.cpp:3946
#25 0x00007f5526575de2 in QAction::triggered (this=this@entry=0x55ef8775ba70, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#26 0x00007f552657844c in QAction::activate (this=0x55ef8775ba70, event=<optimized out>) at kernel/qaction.cpp:1161
#27 0x00007f55266698eb in QAbstractButtonPrivate::click (this=0x55ef877617b0) at widgets/qabstractbutton.cpp:398
#28 0x00007f5526669b4d in QAbstractButton::mouseReleaseEvent (this=0x55ef8775b8f0, e=0x7ffd48d9a600) at widgets/qabstractbutton.cpp:1044
#29 0x00007f552675d02a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:622
#30 0x00007f55265bcae8 in QWidget::event (this=0x55ef8775b8f0, event=0x7ffd48d9a600) at kernel/qwidget.cpp:9019
#31 0x00007f552666ad1b in QAbstractButton::event (this=this@entry=0x55ef8775b8f0, e=e@entry=0x7ffd48d9a600) at widgets/qabstractbutton.cpp:1001
#32 0x00007f552675d0c4 in QToolButton::event (this=0x55ef8775b8f0, event=0x7ffd48d9a600) at widgets/qtoolbutton.cpp:1012
#33 0x00007f552657c37c in QApplicationPrivate::notify_helper (this=this@entry=0x55ef71cb0d60, receiver=receiver@entry=0x55ef8775b8f0, e=e@entry=0x7ffd48d9a600) at kernel/qapplication.cpp:3632
#34 0x00007f5526583700 in QApplication::notify (this=<optimized out>, receiver=0x55ef8775b8f0, e=0x7ffd48d9a600) at kernel/qapplication.cpp:3076
#35 0x00007f552538b403 in QCoreApplication::notifyInternal2 (receiver=0x55ef8775b8f0, event=0x7ffd48d9a600) at kernel/qcoreapplication.cpp:1063
#36 0x00007f552538b5ee in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55ef8775b8f0, event=event@entry=0x7ffd48d9a600) at kernel/qcoreapplication.cpp:1470
#37 0x00007f55265826ef in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55ef8775b8f0, event=event@entry=0x7ffd48d9a600, alienWidget=0x55ef8775b8f0, nativeWidget=0x55ef71fbbd70, buttonDown=buttonDown@entry=0x7f5526c97670 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#38 0x00007f55265d72dc in QWidgetWindow::handleMouseEvent (this=this@entry=0x55ef72194680, event=event@entry=0x7ffd48d9aa60) at kernel/qwidgetwindow.cpp:683
#39 0x00007f55265da34d in QWidgetWindow::event (this=0x55ef72194680, event=0x7ffd48d9aa60) at kernel/qwidgetwindow.cpp:300
#40 0x00007f552657c37c in QApplicationPrivate::notify_helper (this=this@entry=0x55ef71cb0d60, receiver=receiver@entry=0x55ef72194680, e=e@entry=0x7ffd48d9aa60) at kernel/qapplication.cpp:3632
#41 0x00007f5526583170 in QApplication::notify (this=0x7ffd48d9b050, receiver=0x55ef72194680, e=0x7ffd48d9aa60) at kernel/qapplication.cpp:3156
#42 0x00007f552538b403 in QCoreApplication::notifyInternal2 (receiver=0x55ef72194680, event=0x7ffd48d9aa60) at kernel/qcoreapplication.cpp:1063
#43 0x00007f552538b5ee in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55ef72194680, event=event@entry=0x7ffd48d9aa60) at kernel/qcoreapplication.cpp:1470
#44 0x00007f55259e0ecb in QGuiApplicationPrivate::processMouseEvent (e=0x55ef87873c00) at kernel/qguiapplication.cpp:2282
#45 0x00007f55259e2475 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55ef87873c00) at kernel/qguiapplication.cpp:2002
#46 0x00007f55259ba31b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#47 0x00007f5518936cea in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#48 0x00007f551e055464 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#49 0x00007f551e055800 in ?? () from /usr/lib64/libglib-2.0.so.0
#50 0x00007f551e05588c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#51 0x00007f55253edb8c in QEventDispatcherGlib::processEvents (this=0x55ef71d79920, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#52 0x00007f5525389c8a in QEventLoop::exec (this=this@entry=0x7ffd48d9ae00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#53 0x00007f5525393487 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1371
#54 0x000055ef6fbb7a9a in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kate-20.12.0-lp152.2.1.x86_64/kate/main.cpp:621
[Inferior 1 (process 20620) detached]

Possible duplicates by query: bug 339255, bug 328263, bug 297397, bug 295238, bug 293184.

Reported using DrKonqi
Comment 1 Christoph Feck 2020-12-11 17:52:22 UTC
Crash is in Qt text handling.
Comment 2 Waqar Ahmed 2021-01-11 21:43:41 UTC
This is currently a limitation of how KTextEditor works and will likely require a major effort for this to resolve. As a workaround, you can reduce the number of lines in the document and it will open more easily.

See: https://invent.kde.org/frameworks/ktexteditor/-/issues/2
Comment 3 Christoph Cullmann 2022-03-05 19:19:40 UTC
*** Bug 450432 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Cullmann 2023-02-26 22:10:28 UTC

*** This bug has been marked as a duplicate of bug 351362 ***