Bug 397525 - The multi-cursor branch crashes when Vi mode is started
Summary: The multi-cursor branch crashes when Vi mode is started
Status: RESOLVED UNMAINTAINED
Alias: None
Product: frameworks-ktexteditor
Classification: Frameworks and Libraries
Component: multicursor (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Sven Brauch
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-16 15:20 UTC by Emmanuel Lepage Vallée
Modified: 2022-04-29 22:18 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Emmanuel Lepage Vallée 2018-08-16 15:20:26 UTC
Infinite recursion and stack overflow:

#0  0x00007ffff55a7cc0 in vfprintf () from /lib64/libc.so.6
#1  0x00007ffff55aad63 in buffered_vfprintf () from /lib64/libc.so.6
#2  0x00007ffff55a7e25 in vfprintf () from /lib64/libc.so.6
#3  0x00007ffff56578b0 in __fprintf_chk () from /lib64/libc.so.6
#4  0x00007ffff5ebf59d in qDefaultMessageHandler(QtMsgType, QMessageLogContext const&, QString const&) () from /usr/lib64/libQt5Core.so.5
#5  0x00007ffff5eba0a7 in qt_message_print(QtMsgType, QMessageLogContext const&, QString const&) () from /usr/lib64/libQt5Core.so.5
#6  0x00007ffff5ebbff8 in qt_message_output(QtMsgType, QMessageLogContext const&, QString const&) () from /usr/lib64/libQt5Core.so.5
#7  0x00007ffff5f9ce30 in QDebug::~QDebug() () from /usr/lib64/libQt5Core.so.5
#8  0x00007ffff7b31bba in KateMultiSelection::addSelectionInternal (this=0x4f739c8, newSelection=[(40, 48) -> (40, 49)], newCursor=[40, 49]) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:947
#9  0x00007ffff7b32239 in KateMultiSelection::setSelectionBlock (this=0x4f739c8, encompassedBlock=[(40, 48) -> (40, 49)], cursorEdge=KateMultiCursor::Right) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:991
#10 0x00007ffff7aeb9e0 in KTextEditor::ViewPrivate::toAlignedBlock (this=0x4f6c1d0, fill=false) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2326
#11 0x00007ffff7aeb592 in KTextEditor::ViewPrivate::setBlockSelection (this=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2293
#12 0x00007ffff7be132f in KateVi::VisualViMode::updateSelection (this=0x4cd2530) at /home/lepagee/archive/ktexteditor/src/vimode/modes/visualvimode.cpp:251
#13 0x00007ffff7c2be05 in KateVi::VisualViMode::qt_static_metacall (_o=0x4cd2530, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffff802110) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/7WFH7WAJAT/moc_visualvimode.cpp:72
#14 0x00007ffff6098953 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#15 0x00007ffff7c3cd9e in KTextEditor::View::selectionChanged (this=0x4f6c1d0, _t1=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/OGSBNZGFXN/moc_view.cpp:439
#16 0x00007ffff7b32f2d in KateMultiSelection::notifySelectionChanged (this=0x4f739c8) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:1116
#17 0x00007ffff7b3225d in KateMultiSelection::setSelectionBlock (this=0x4f739c8, encompassedBlock=[(40, 48) -> (40, 49)], cursorEdge=KateMultiCursor::Right) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:993
#18 0x00007ffff7aeb9e0 in KTextEditor::ViewPrivate::toAlignedBlock (this=0x4f6c1d0, fill=false) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2326
#19 0x00007ffff7aeb592 in KTextEditor::ViewPrivate::setBlockSelection (this=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2293
#20 0x00007ffff7be132f in KateVi::VisualViMode::updateSelection (this=0x4cd2530) at /home/lepagee/archive/ktexteditor/src/vimode/modes/visualvimode.cpp:251
#21 0x00007ffff7c2be05 in KateVi::VisualViMode::qt_static_metacall (_o=0x4cd2530, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffff802490) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/7WFH7WAJAT/moc_visualvimode.cpp:72
#22 0x00007ffff6098953 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#23 0x00007ffff7c3cd9e in KTextEditor::View::selectionChanged (this=0x4f6c1d0, _t1=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/OGSBNZGFXN/moc_view.cpp:439
#24 0x00007ffff7b32f2d in KateMultiSelection::notifySelectionChanged (this=0x4f739c8) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:1116
#25 0x00007ffff7b3225d in KateMultiSelection::setSelectionBlock (this=0x4f739c8, encompassedBlock=[(40, 48) -> (40, 49)], cursorEdge=KateMultiCursor::Right) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:993
#26 0x00007ffff7aeb9e0 in KTextEditor::ViewPrivate::toAlignedBlock (this=0x4f6c1d0, fill=false) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2326
#27 0x00007ffff7aeb592 in KTextEditor::ViewPrivate::setBlockSelection (this=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2293
#28 0x00007ffff7be132f in KateVi::VisualViMode::updateSelection (this=0x4cd2530) at /home/lepagee/archive/ktexteditor/src/vimode/modes/visualvimode.cpp:251
#29 0x00007ffff7c2be05 in KateVi::VisualViMode::qt_static_metacall (_o=0x4cd2530, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffff802810) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/7WFH7WAJAT/moc_visualvimode.cpp:72
#30 0x00007ffff6098953 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#31 0x00007ffff7c3cd9e in KTextEditor::View::selectionChanged (this=0x4f6c1d0, _t1=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/OGSBNZGFXN/moc_view.cpp:439
#32 0x00007ffff7b32f2d in KateMultiSelection::notifySelectionChanged (this=0x4f739c8) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:1116
#33 0x00007ffff7b3225d in KateMultiSelection::setSelectionBlock (this=0x4f739c8, encompassedBlock=[(40, 48) -> (40, 49)], cursorEdge=KateMultiCursor::Right) at /home/lepagee/archive/ktexteditor/src/view/katemulticursor.cpp:993
#34 0x00007ffff7aeb9e0 in KTextEditor::ViewPrivate::toAlignedBlock (this=0x4f6c1d0, fill=false) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2326
#35 0x00007ffff7aeb592 in KTextEditor::ViewPrivate::setBlockSelection (this=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/src/view/kateview.cpp:2293
#36 0x00007ffff7be132f in KateVi::VisualViMode::updateSelection (this=0x4cd2530) at /home/lepagee/archive/ktexteditor/src/vimode/modes/visualvimode.cpp:251
#37 0x00007ffff7c2be05 in KateVi::VisualViMode::qt_static_metacall (_o=0x4cd2530, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffff802b90) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/7WFH7WAJAT/moc_visualvimode.cpp:72
#38 0x00007ffff6098953 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#39 0x00007ffff7c3cd9e in KTextEditor::View::selectionChanged (this=0x4f6c1d0, _t1=0x4f6c1d0) at /home/lepagee/archive/ktexteditor/build/src/KF5TextEditor_autogen/OGSBNZGFXN/moc_view.cpp:439
(More stack frames follow...)

How to trigger:

1) add multiple cursors
2) start the Vi mode
Comment 1 Waqar Ahmed 2022-04-29 22:18:09 UTC
There is now a new multicursor implementation in master (available with 5.93 onwards.). Please consider testing it and helping us improve it.