Hello, just found your report and tried to reproduce the crash. First I assume you copied this text from the crash reporting window? This information would be way more readable if you would install the debug symbols for the executable and all the shared objects in the crashing stack. Like described here: https://wiki.debian.org/HowToGetABacktrace
In your case this would be: kwrite-dbgsym libqt5core5a-dbgsym libqt5gui5-dbgsym libqt5core5a-dbgsym libqt5widgets5-dbgsym libkf5widgetsaddons5-dbgsym libkf5configwidgets5-dbgsym libkf5texteditor5-dbgsym libkf5parts5-dbgsym Then you could press the reload button in the crash reporting window and it should give a better readable stack. (That way more likely to attract some maintainer.) Found it still interesting and came just to the location below, with the least 3 bytes of each frame matching up to your stack trace, except the last frame. But this still only if I used some unicode test files. I used https://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html I think the crash happens in the lambda function appendRun, in case continuationFrom gets a value different to -1. Unfortunately my test file does not get me that far to the crash. Therefore I think your file contains a really special case of some direction changes. Therefore you probably can provide that file or a copy stripped down to the least causing kwrite to crash? Kind regards, Bernhard (gdb) list 363 364 auto appendRun = [&](int runEnd) { 365 if (runEnd < runStart) 366 return; 367 bool isContinuation = false; 368 if (continuationFrom != -1) { 369 runs[continuationFrom].continuation = runs.size(); 370 isContinuation = true; 371 } else if (lastRunWithContent != -1 && level == runs.at(lastRunWithContent).level) { 372 runs[lastRunWithContent].continuation = runs.size(); 373 isContinuation = true; 374 } 375 if (runHasContent) 376 lastRunWithContent = runs.size(); 377 BIDI_DEBUG() << " appending run start/end" << runStart << runEnd << "level" << level; 378 runs.append({ runStart, runEnd, -1, level, isContinuation, runHasContent }); 379 runHasContent = false; 380 runStart = runEnd + 1; 381 continuationFrom = -1; 382 }; Below we are not yet there, unfortunately we jump here to 0x7ffff6d45400 instead to continue to 0x00007ffff6d45376: Thread 1 "kwrite" hit Breakpoint 12, 0x00007ffff6d45363 in (anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const (__closure=__closure@entry=0x7fffffff7f80, runEnd=runEnd@entry=85) at text/qtextengine.cpp:368 368 if (continuationFrom != -1) { 1: x/i $pc => 0x7ffff6d45363 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+51>: je 0x7ffff6d45400 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+208> (gdb) bt #0 0x00007ffff6d45363 in (anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const (__closure=__closure@entry=0x7fffffff7f80, runEnd=runEnd@entry=85) at text/qtextengine.cpp:368 #1 0x00007ffff6d4e05f in (anonymous namespace)::QBidiAlgorithm::generateDirectionalRuns (runs=..., isolatePairs=..., this=0x7fffffff7f60) at text/qtextengine.cpp:516 #2 (anonymous namespace)::QBidiAlgorithm::resolveExplicitLevels (runs=..., this=0x7fffffff7f60) at text/qtextengine.cpp:533 #3 (anonymous namespace)::QBidiAlgorithm::process (this=0x7fffffff7f60) at text/qtextengine.cpp:1065 #4 QTextEngine::itemize (this=0x555555b28990) at text/qtextengine.cpp:2031 #5 0x00007ffff6d5699c in QTextLayout::beginLayout (this=this@entry=0x5555563756f0) at text/qtextlayout.cpp:648 #6 0x00007ffff7d8d3c6 in KateRenderer::layoutLine (this=0x5555561c2310, lineLayout=..., maxwidth=945, cacheLayout=<optimized out>) at ./src/render/katerenderer.cpp:1014 #7 0x00007ffff7d92881 in KateLayoutCache::line (this=this@entry=0x555555973140, realLine=realLine@entry=5, virtualLine=virtualLine@entry=5) at /usr/include/c++/8/bits/atomic_base.h:295 #8 0x00007ffff7d93b21 in KateLayoutCache::updateViewCache (this=this@entry=0x555555973140, startPos=..., newViewLineCount=newViewLineCount@entry=47, viewLinesScrolled=viewLinesScrolled@entry=0) at ./src/render/katelayoutcache.cpp:282 #9 0x00007ffff7dd9f2a in KateViewInternal::doUpdateView (this=this@entry=0x555555a931c0, changed=<optimized out>, changed@entry=true, viewLinesScrolled=viewLinesScrolled@entry=0) at ./src/include/ktexteditor/cursor.h:98 #10 0x00007ffff7dda214 in KateViewInternal::updateView (this=0x555555a931c0, changed=changed@entry=true, viewLinesScrolled=viewLinesScrolled@entry=0) at ./src/view/kateviewinternal.cpp:609 #11 0x00007ffff7dc4196 in KTextEditor::ViewPrivate::updateView (this=0x555555994ba0, changed=changed@entry=true) at ./src/view/kateview.cpp:2042 #12 0x00007ffff7dd339f in KTextEditor::ViewPrivate::updateDocumentConfig (this=<optimized out>) at ./src/view/kateview.cpp:1900 #13 0x00007ffff7d3672c in KTextEditor::DocumentPrivate::updateConfig (this=0x55555613c660) at ./src/document/katedocument.cpp:4422 #14 0x00007ffff7e18dbd in KateDocumentConfig::updateConfig (this=0x55555594f290) at ./src/utils/kateconfig.cpp:431 #15 0x00007ffff7e1272b in KateConfig::configEnd (this=0x55555594f290) at ./src/utils/kateconfig.cpp:67 #16 KateDocumentConfig::setEncoding (this=this@entry=0x55555594f290, encoding=...) at ./src/utils/kateconfig.cpp:937 #17 0x00007ffff7d51afe in KateBuffer::openFile (this=this@entry=0x555555cb76f0, m_file=..., enforceTextCodec=enforceTextCodec@entry=false) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:255 #18 0x00007ffff7d48e2f in KTextEditor::DocumentPrivate::openFile (this=0x55555613c660) at ./src/document/katedocument.cpp:2253 #19 0x00007ffff7b9ca21 in KParts::ReadOnlyPartPrivate::openLocalFile (this=this@entry=0x55555594c390) at ./src/readonlypart.cpp:190 #20 0x00007ffff7b9d9b6 in KParts::ReadOnlyPart::openUrl (this=this@entry=0x55555613c660, url=...) at ./src/readonlypart.cpp:153 #21 0x00007ffff7d3d4d1 in KTextEditor::DocumentPrivate::openUrl (this=0x55555613c660, url=...) at ./src/document/katedocument.cpp:2647 #22 0x0000555555560dea in KWrite::loadURL (this=this@entry=0x555555d0a180, url=...) at ./kwrite/kwrite.cpp:203 #23 0x0000555555563148 in KWrite::slotOpen (this=0x555555d0a180, url=...) at ./kwrite/kwrite.cpp:267 #24 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771 #25 0x00007ffff68fcdd7 in QMetaObject::activate (sender=sender@entry=0x555556378a80, m=m@entry=0x7ffff7a46e60 <KRecentFilesAction::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd210) at kernel/qobject.cpp:3633 #26 0x00007ffff7a26d22 in KRecentFilesAction::urlSelected (this=this@entry=0x555556378a80, _t1=...) at ./obj-x86_64-linux-gnu/src/KF5ConfigWidgets_autogen/include/moc_krecentfilesaction.cpp:205 #27 0x00007ffff7a275d5 in KRecentFilesActionPrivate::_k_urlSelected (this=0x55555619fcc0, action=0x5555565c70f0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:284 #28 0x00007ffff7a27a27 in KRecentFilesAction::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./src/krecentfilesaction.h:53 #29 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771 #30 0x00007ffff68fcdd7 in QMetaObject::activate (sender=sender@entry=0x555556378a80, m=m@entry=0x7ffff7995000 <KSelectAction::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd3d0) at kernel/qobject.cpp:3633 #31 0x00007ffff78f54bf in KSelectAction::triggered (this=this@entry=0x555556378a80, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/KF5WidgetsAddons_autogen/include/moc_kselectaction.cpp:287 #32 0x00007ffff78f6cbe in KSelectAction::actionTriggered (this=0x555556378a80, action=<optimized out>) at ./src/kselectaction.cpp:345 #33 0x00007ffff68fc910 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd560, r=0x555556378a80, this=0x555556378a20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #34 QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3754 #35 0x00007ffff68fcdd7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff76f5920 <QActionGroup::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd560) at kernel/qobject.cpp:3633 #36 0x00007ffff722968f in QActionGroup::triggered (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qactiongroup.cpp:242 #37 0x00007ffff7229878 in QActionGroupPrivate::_q_actionTriggered (this=<optimized out>) at kernel/qactiongroup.cpp:91 #38 0x00007ffff7229ca1 in QActionGroup::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1038 #39 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771 #40 0x00007ffff68fcdd7 in QMetaObject::activate (sender=sender@entry=0x5555565c70f0, m=m@entry=0x7ffff76f5840 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffd6e0) at kernel/qobject.cpp:3633 #41 0x00007ffff7225ef2 in QAction::triggered (this=this@entry=0x5555565c70f0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #42 0x00007ffff7228500 in QAction::activate (this=0x5555565c70f0, event=<optimized out>) at kernel/qaction.cpp:1167 #43 0x00007ffff7398e7c in QMenuPrivate::activateCausedStack (this=this@entry=0x55555619f640, causedStack=..., action=action@entry=0x5555565c70f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1371 #44 0x00007ffff73a0450 in QMenuPrivate::activateAction (this=this@entry=0x55555619f640, action=action@entry=0x5555565c70f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1448 #45 0x00007ffff73a147b in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7fffffffdcf0) at widgets/qmenu.cpp:2942 #46 0x00007ffff726a7d8 in QWidget::event (this=this@entry=0x555556379490, event=event@entry=0x7fffffffdcf0) at kernel/qwidget.cpp:8919 #47 0x00007ffff73a3b0b in QMenu::event (this=0x555556379490, e=0x7fffffffdcf0) at widgets/qmenu.cpp:3064 #48 0x00007ffff722c4a1 in QApplicationPrivate::notify_helper (this=this@entry=0x55555578d8d0, receiver=receiver@entry=0x555556379490, e=e@entry=0x7fffffffdcf0) at kernel/qapplication.cpp:3727 #49 0x00007ffff7233d28 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3203 #50 0x00007ffff68d3579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307 #51 0x00007ffff7233029 in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #52 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x555556379490, event=event@entry=0x7fffffffdcf0, alienWidget=0x0, alienWidget@entry=0x555556379490, nativeWidget=0x555556379490, buttonDown=buttonDown@entry=0x7ffff7724870 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2695 #53 0x00007ffff72856c3 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at kernel/qwidgetwindow.cpp:555 #54 0x00007ffff7287e8e in QWidgetWindow::event (this=0x555555f1c7e0, event=0x7fffffffe0f0) at kernel/qwidgetwindow.cpp:280 #55 0x00007ffff722c4a1 in QApplicationPrivate::notify_helper (this=this@entry=0x55555578d8d0, receiver=receiver@entry=0x555555f1c7e0, e=e@entry=0x7fffffffe0f0) at kernel/qapplication.cpp:3727 #56 0x00007ffff7233ae0 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3486 #57 0x00007ffff68d3579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307 #58 0x00007ffff6c7253b in QCoreApplication::sendSpontaneousEvent (event=0x7fffffffe0f0, receiver=0x555555f1c7e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237 #59 QGuiApplicationPrivate::processMouseEvent (e=0x555555aa33a0) at kernel/qguiapplication.cpp:2081 #60 0x00007ffff6c74435 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555555aa33a0) at kernel/qguiapplication.cpp:1816 #61 0x00007ffff6c4eb6b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1032 #62 0x00007fffef204e5b in QPAEventDispatcherGlib::processEvents (this=0x5555557cd0b0, flags=...) at qeventdispatcher_glib.cpp:70 #63 0x00007ffff68d224b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #64 0x00007ffff68da3c2 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #65 0x000055555555ed6d in main (argc=<optimized out>, argv=<optimized out>) at ./kwrite/main.cpp:294
Thread 1 (Thread 0x7f16e4810500 (LWP 9355)): [KCrash Handler] #6 0x00007f16ec106376 in ?? () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #7 0x00007f16ec10f05f in QTextEngine::itemize() const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #8 0x00007f16ec11799c in QTextLayout::beginLayout() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #9 0x00007f16ed14e3c6 in ?? () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #10 0x00007f16ed153881 in ?? () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #11 0x00007f16ed154b21 in ?? () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #12 0x00007f16ed19af2a in ?? () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #13 0x00007f16ed19b214 in ?? () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #14 0x00007f16ed185196 in KTextEditor::ViewPrivate::updateView(bool) () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #15 0x00007f16ed0f772c in KTextEditor::DocumentPrivate::updateConfig() () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #16 0x00007f16ed1d9dbd in KateDocumentConfig::updateConfig() () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #17 0x00007f16ed1d372b in KateDocumentConfig::setEncoding(QString const&) () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #18 0x00007f16ed112afe in KateBuffer::openFile(QString const&, bool) () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #19 0x00007f16ed109e2f in KTextEditor::DocumentPrivate::openFile() () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #20 0x00007f16ecf5da21 in ?? () from /lib/x86_64-linux-gnu/libKF5Parts.so.5 #21 0x00007f16ecf5e9b6 in KParts::ReadOnlyPart::openUrl(QUrl const&) () from /lib/x86_64-linux-gnu/libKF5Parts.so.5 #22 0x00007f16ed0fe4d1 in KTextEditor::DocumentPrivate::openUrl(QUrl const&) () from /lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #23 0x00005590a44f0dea in ?? () #24 0x00005590a44f3148 in ?? () #25 0x00005590a44f32e2 in ?? () #26 0x00007f16ebcbd7bb in QMetaObject::activate(QObject*, int, int, void**) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #27 0x00007f16ec5e6ef2 in QAction::triggered(bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007f16ec5e9500 in QAction::activate(QAction::ActionEvent) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007f16ec6d4d1d in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007f16ec6d4f55 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #31 0x00007f16ec7becaa in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x00007f16ec62b7d8 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #33 0x00007f16ec7bed53 in QToolButton::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #34 0x00007f16ec5ed4a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007f16ec5f4d28 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007f16ebc94579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #37 0x00007f16ec5f4029 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #38 0x00007f16ec646304 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #39 0x00007f16ec648e8e in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007f16ec5ed4a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007f16ec5f4ae0 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x00007f16ebc94579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #43 0x00007f16ec03353b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #44 0x00007f16ec035435 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #45 0x00007f16ec00fb6b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #46 0x00007f16e45b9e5b in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #47 0x00007f16ebc9324b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #48 0x00007f16ebc9b3c2 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #49 0x00005590a44eed6d in main () apt update apt install xserver-xorg sddm openbox xterm tint2 mc devscripts dpkg-dev gdb kwrite kwrite-dbgsym libqt5core5a-dbgsym libqt5gui5-dbgsym libqt5core5a-dbgsym libqt5widgets5-dbgsym libkf5widgetsaddons5-dbgsym libkf5configwidgets5-dbgsym libkf5texteditor5-dbgsym libkf5parts5-dbgsym systemctl start sddm mkdir libqt5gui5/orig -p cd libqt5gui5/orig apt source libqt5gui5 cd .. mkdir qtbase-opensource-src/orig -p cd qtbase-opensource-src/orig apt source qtbase-opensource-src cd .. wget https://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html export DISPLAY=:0 gdb -q --args kwrite directory /home/benutzer/libqt5gui5/orig/qtbase-opensource-src-5.11.1+dfsg/src/gui directory /home/benutzer/qtbase-opensource-src/orig/qtbase-opensource-src-5.11.1+dfsg/include/QtCore set pagination 0 set width 0 display/i $pc b KTextEditor::ViewPrivate::updateView run b QTextEngine::itemize cont ---- b KateRenderer::layoutLine (gdb) bt #0 0x00007ffff6d4d3b0 in QTextEngine::itemize() const () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #1 0x00007ffff6d5699c in QTextLayout::beginLayout() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #2 0x00007ffff7d8d3c6 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #3 0x00007ffff7d92881 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #4 0x00007ffff7d9354a in ?? () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #5 0x00007ffff7dd9f2a in ?? () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #6 0x00007ffff7dda214 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #7 0x00007ffff7dc4196 in KTextEditor::ViewPrivate::updateView(bool) () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #8 0x00007ffff7d3672c in KTextEditor::DocumentPrivate::updateConfig() () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #9 0x00007ffff7e18dbd in KateDocumentConfig::updateConfig() () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #10 0x00007ffff7e1272b in KateDocumentConfig::setEncoding(QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #11 0x00007ffff7d51afe in KateBuffer::openFile(QString const&, bool) () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #12 0x00007ffff7d48e2f in KTextEditor::DocumentPrivate::openFile() () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #13 0x00007ffff7b9ca21 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Parts.so.5 #14 0x00007ffff7b9d9b6 in KParts::ReadOnlyPart::openUrl(QUrl const&) () from /usr/lib/x86_64-linux-gnu/libKF5Parts.so.5 #15 0x00007ffff7d3d4d1 in KTextEditor::DocumentPrivate::openUrl(QUrl const&) () from /usr/lib/x86_64-linux-gnu/libKF5TextEditor.so.5 #16 0x0000555555560dea in ?? () #17 0x0000555555563148 in ?? () #18 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007ffff7a26d22 in KRecentFilesAction::urlSelected(QUrl const&) () from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5 #20 0x00007ffff7a275d5 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5 #21 0x00007ffff7a27a27 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5 #22 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x00007ffff78f54bf in KSelectAction::triggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #24 0x00007ffff78f6cbe in KSelectAction::actionTriggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #25 0x00007ffff68fc910 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #26 0x00007ffff722968f in QActionGroup::triggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007ffff7229ca1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #29 0x00007ffff7225ef2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007ffff7228500 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #31 0x00007ffff7398e7c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x00007ffff73a0450 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #33 0x00007ffff73a147b in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #34 0x00007ffff726a7d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007ffff73a3b0b in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007ffff722c4a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007ffff7233d28 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #38 0x00007ffff68d3579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #39 0x00007ffff7233029 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007ffff72856c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007ffff7287e8e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x00007ffff722c4a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #43 0x00007ffff7233ae0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x00007ffff68d3579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #45 0x00007ffff6c7253b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #46 0x00007ffff6c74435 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #47 0x00007ffff6c4eb6b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #48 0x00007fffef204e5b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #49 0x00007ffff68d224b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #50 0x00007ffff68da3c2 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #51 0x000055555555ed6d in main () With debug symbols: Thread 1 "kwrite" hit Breakpoint 12, 0x00007ffff6d45363 in (anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const (__closure=__closure@entry=0x7fffffff7f80, runEnd=runEnd@entry=85) at text/qtextengine.cpp:368 368 if (continuationFrom != -1) { 1: x/i $pc => 0x7ffff6d45363 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+51>: je 0x7ffff6d45400 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+208> (gdb) bt #0 0x00007ffff6d45363 in (anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const (__closure=__closure@entry=0x7fffffff7f80, runEnd=runEnd@entry=85) at text/qtextengine.cpp:368 #1 0x00007ffff6d4e05f in (anonymous namespace)::QBidiAlgorithm::generateDirectionalRuns (runs=..., isolatePairs=..., this=0x7fffffff7f60) at text/qtextengine.cpp:516 #2 (anonymous namespace)::QBidiAlgorithm::resolveExplicitLevels (runs=..., this=0x7fffffff7f60) at text/qtextengine.cpp:533 #3 (anonymous namespace)::QBidiAlgorithm::process (this=0x7fffffff7f60) at text/qtextengine.cpp:1065 #4 QTextEngine::itemize (this=0x555555b28990) at text/qtextengine.cpp:2031 #5 0x00007ffff6d5699c in QTextLayout::beginLayout (this=this@entry=0x5555563756f0) at text/qtextlayout.cpp:648 #6 0x00007ffff7d8d3c6 in KateRenderer::layoutLine (this=0x5555561c2310, lineLayout=..., maxwidth=945, cacheLayout=<optimized out>) at ./src/render/katerenderer.cpp:1014 #7 0x00007ffff7d92881 in KateLayoutCache::line (this=this@entry=0x555555973140, realLine=realLine@entry=5, virtualLine=virtualLine@entry=5) at /usr/include/c++/8/bits/atomic_base.h:295 #8 0x00007ffff7d93b21 in KateLayoutCache::updateViewCache (this=this@entry=0x555555973140, startPos=..., newViewLineCount=newViewLineCount@entry=47, viewLinesScrolled=viewLinesScrolled@entry=0) at ./src/render/katelayoutcache.cpp:282 #9 0x00007ffff7dd9f2a in KateViewInternal::doUpdateView (this=this@entry=0x555555a931c0, changed=<optimized out>, changed@entry=true, viewLinesScrolled=viewLinesScrolled@entry=0) at ./src/include/ktexteditor/cursor.h:98 #10 0x00007ffff7dda214 in KateViewInternal::updateView (this=0x555555a931c0, changed=changed@entry=true, viewLinesScrolled=viewLinesScrolled@entry=0) at ./src/view/kateviewinternal.cpp:609 #11 0x00007ffff7dc4196 in KTextEditor::ViewPrivate::updateView (this=0x555555994ba0, changed=changed@entry=true) at ./src/view/kateview.cpp:2042 #12 0x00007ffff7dd339f in KTextEditor::ViewPrivate::updateDocumentConfig (this=<optimized out>) at ./src/view/kateview.cpp:1900 #13 0x00007ffff7d3672c in KTextEditor::DocumentPrivate::updateConfig (this=0x55555613c660) at ./src/document/katedocument.cpp:4422 #14 0x00007ffff7e18dbd in KateDocumentConfig::updateConfig (this=0x55555594f290) at ./src/utils/kateconfig.cpp:431 #15 0x00007ffff7e1272b in KateConfig::configEnd (this=0x55555594f290) at ./src/utils/kateconfig.cpp:67 #16 KateDocumentConfig::setEncoding (this=this@entry=0x55555594f290, encoding=...) at ./src/utils/kateconfig.cpp:937 #17 0x00007ffff7d51afe in KateBuffer::openFile (this=this@entry=0x555555cb76f0, m_file=..., enforceTextCodec=enforceTextCodec@entry=false) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:255 #18 0x00007ffff7d48e2f in KTextEditor::DocumentPrivate::openFile (this=0x55555613c660) at ./src/document/katedocument.cpp:2253 #19 0x00007ffff7b9ca21 in KParts::ReadOnlyPartPrivate::openLocalFile (this=this@entry=0x55555594c390) at ./src/readonlypart.cpp:190 #20 0x00007ffff7b9d9b6 in KParts::ReadOnlyPart::openUrl (this=this@entry=0x55555613c660, url=...) at ./src/readonlypart.cpp:153 #21 0x00007ffff7d3d4d1 in KTextEditor::DocumentPrivate::openUrl (this=0x55555613c660, url=...) at ./src/document/katedocument.cpp:2647 #22 0x0000555555560dea in KWrite::loadURL (this=this@entry=0x555555d0a180, url=...) at ./kwrite/kwrite.cpp:203 #23 0x0000555555563148 in KWrite::slotOpen (this=0x555555d0a180, url=...) at ./kwrite/kwrite.cpp:267 #24 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771 #25 0x00007ffff68fcdd7 in QMetaObject::activate (sender=sender@entry=0x555556378a80, m=m@entry=0x7ffff7a46e60 <KRecentFilesAction::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd210) at kernel/qobject.cpp:3633 #26 0x00007ffff7a26d22 in KRecentFilesAction::urlSelected (this=this@entry=0x555556378a80, _t1=...) at ./obj-x86_64-linux-gnu/src/KF5ConfigWidgets_autogen/include/moc_krecentfilesaction.cpp:205 #27 0x00007ffff7a275d5 in KRecentFilesActionPrivate::_k_urlSelected (this=0x55555619fcc0, action=0x5555565c70f0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:284 #28 0x00007ffff7a27a27 in KRecentFilesAction::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./src/krecentfilesaction.h:53 #29 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771 #30 0x00007ffff68fcdd7 in QMetaObject::activate (sender=sender@entry=0x555556378a80, m=m@entry=0x7ffff7995000 <KSelectAction::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd3d0) at kernel/qobject.cpp:3633 #31 0x00007ffff78f54bf in KSelectAction::triggered (this=this@entry=0x555556378a80, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/KF5WidgetsAddons_autogen/include/moc_kselectaction.cpp:287 #32 0x00007ffff78f6cbe in KSelectAction::actionTriggered (this=0x555556378a80, action=<optimized out>) at ./src/kselectaction.cpp:345 #33 0x00007ffff68fc910 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd560, r=0x555556378a80, this=0x555556378a20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #34 QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3754 #35 0x00007ffff68fcdd7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff76f5920 <QActionGroup::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd560) at kernel/qobject.cpp:3633 #36 0x00007ffff722968f in QActionGroup::triggered (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qactiongroup.cpp:242 #37 0x00007ffff7229878 in QActionGroupPrivate::_q_actionTriggered (this=<optimized out>) at kernel/qactiongroup.cpp:91 #38 0x00007ffff7229ca1 in QActionGroup::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1038 #39 0x00007ffff68fc7bb in QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3771 #40 0x00007ffff68fcdd7 in QMetaObject::activate (sender=sender@entry=0x5555565c70f0, m=m@entry=0x7ffff76f5840 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffd6e0) at kernel/qobject.cpp:3633 #41 0x00007ffff7225ef2 in QAction::triggered (this=this@entry=0x5555565c70f0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #42 0x00007ffff7228500 in QAction::activate (this=0x5555565c70f0, event=<optimized out>) at kernel/qaction.cpp:1167 #43 0x00007ffff7398e7c in QMenuPrivate::activateCausedStack (this=this@entry=0x55555619f640, causedStack=..., action=action@entry=0x5555565c70f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1371 #44 0x00007ffff73a0450 in QMenuPrivate::activateAction (this=this@entry=0x55555619f640, action=action@entry=0x5555565c70f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1448 #45 0x00007ffff73a147b in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7fffffffdcf0) at widgets/qmenu.cpp:2942 #46 0x00007ffff726a7d8 in QWidget::event (this=this@entry=0x555556379490, event=event@entry=0x7fffffffdcf0) at kernel/qwidget.cpp:8919 #47 0x00007ffff73a3b0b in QMenu::event (this=0x555556379490, e=0x7fffffffdcf0) at widgets/qmenu.cpp:3064 #48 0x00007ffff722c4a1 in QApplicationPrivate::notify_helper (this=this@entry=0x55555578d8d0, receiver=receiver@entry=0x555556379490, e=e@entry=0x7fffffffdcf0) at kernel/qapplication.cpp:3727 #49 0x00007ffff7233d28 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3203 #50 0x00007ffff68d3579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307 #51 0x00007ffff7233029 in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #52 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x555556379490, event=event@entry=0x7fffffffdcf0, alienWidget=0x0, alienWidget@entry=0x555556379490, nativeWidget=0x555556379490, buttonDown=buttonDown@entry=0x7ffff7724870 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2695 #53 0x00007ffff72856c3 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at kernel/qwidgetwindow.cpp:555 #54 0x00007ffff7287e8e in QWidgetWindow::event (this=0x555555f1c7e0, event=0x7fffffffe0f0) at kernel/qwidgetwindow.cpp:280 #55 0x00007ffff722c4a1 in QApplicationPrivate::notify_helper (this=this@entry=0x55555578d8d0, receiver=receiver@entry=0x555555f1c7e0, e=e@entry=0x7fffffffe0f0) at kernel/qapplication.cpp:3727 #56 0x00007ffff7233ae0 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3486 #57 0x00007ffff68d3579 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307 #58 0x00007ffff6c7253b in QCoreApplication::sendSpontaneousEvent (event=0x7fffffffe0f0, receiver=0x555555f1c7e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237 #59 QGuiApplicationPrivate::processMouseEvent (e=0x555555aa33a0) at kernel/qguiapplication.cpp:2081 #60 0x00007ffff6c74435 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555555aa33a0) at kernel/qguiapplication.cpp:1816 #61 0x00007ffff6c4eb6b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1032 #62 0x00007fffef204e5b in QPAEventDispatcherGlib::processEvents (this=0x5555557cd0b0, flags=...) at qeventdispatcher_glib.cpp:70 #63 0x00007ffff68d224b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #64 0x00007ffff68da3c2 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #65 0x000055555555ed6d in main (argc=<optimized out>, argv=<optimized out>) at ./kwrite/main.cpp:294 (gdb) disassemble 0x00007ffff6d45330,0x00007ffff6d4537d Dump of assembler code from 0x7ffff6d45330 to 0x7ffff6d4537d: 0x00007ffff6d45330 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+0>: mov (%rdi),%rcx 0x00007ffff6d45333 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+3>: cmp %esi,(%rcx) 0x00007ffff6d45335 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+5>: jg 0x7ffff6d45440 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+272> 0x00007ffff6d4533b <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+11>: push %r15 0x00007ffff6d4533d <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+13>: push %r14 0x00007ffff6d4533f <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+15>: push %r13 0x00007ffff6d45341 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+17>: push %r12 0x00007ffff6d45343 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+19>: push %rbp 0x00007ffff6d45344 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+20>: push %rbx 0x00007ffff6d45345 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+21>: sub $0x28,%rsp 0x00007ffff6d45349 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+25>: mov 0x8(%rdi),%rax 0x00007ffff6d4534d <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+29>: mov 0x10(%rdi),%r8 0x00007ffff6d45351 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+33>: mov 0x20(%rdi),%rdx 0x00007ffff6d45355 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+37>: movslq (%rax),%rax 0x00007ffff6d45358 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+40>: movslq 0x4(%r8),%rbp 0x00007ffff6d4535c <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+44>: movzwl (%rdx),%r15d 0x00007ffff6d45360 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+48>: cmp $0xffffffff,%eax => 0x00007ffff6d45363 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+51>: je 0x7ffff6d45400 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+208> 0x00007ffff6d45369 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+57>: shl $0x4,%rax 0x00007ffff6d4536d <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+61>: add 0x8(%r8),%rax 0x00007ffff6d45371 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+65>: mov $0x1,%edx 0x00007ffff6d45376 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+70>: mov %ebp,0x8(%rax) 0x00007ffff6d45379 <(anonymous namespace)::QBidiAlgorithm::<lambda(int)>::operator()(int) const+73>: movslq 0x4(%r8),%rbp End of assembler dump. (gdb) list 363 364 auto appendRun = [&](int runEnd) { 365 if (runEnd < runStart) 366 return; 367 bool isContinuation = false; 368 if (continuationFrom != -1) { 369 runs[continuationFrom].continuation = runs.size(); 370 isContinuation = true; 371 } else if (lastRunWithContent != -1 && level == runs.at(lastRunWithContent).level) { 372 runs[lastRunWithContent].continuation = runs.size(); 373 isContinuation = true; 374 } 375 if (runHasContent) 376 lastRunWithContent = runs.size(); 377 BIDI_DEBUG() << " appending run start/end" << runStart << runEnd << "level" << level; 378 runs.append({ runStart, runEnd, -1, level, isContinuation, runHasContent }); 379 runHasContent = false; 380 runStart = runEnd + 1; 381 continuationFrom = -1; 382 };