Application: kate (3.14.2) KDE Platform Version: 4.14.2 Qt Version: 4.8.6 Operating System: Linux 3.16.0-4-686-pae i686 Distribution: Debian GNU/Linux 8.1 (jessie) -- Information about the crash: - What I was doing when the application crashed: Using the vi input option, near the end of a file, if you have the cursor in a position where <e> can no longer advances the cursor, the command <c><e> (which attempts to delete until the next <e> position and start insert mode) will cause Kate to crash / immediately terminate. - Custom settings of the application: * vi mode * Latest version of Kate 4 distributed by Debian Jessie The crash can be reproduced every time. -- Backtrace: Application: Kate (kate), signal: Segmentation fault Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1". [Current thread is 1 (Thread 0xb4954740 (LWP 3605))] Thread 3 (Thread 0xb1039b40 (LWP 3606)): #0 0xb77a1d40 in __kernel_vsyscall () #1 0xb5d08c4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb76c41bc in __pthread_cond_wait (cond=0xb17c18f0, mutex=0xb17c18d8) at forward.c:149 #3 0xb16a844f in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #4 0xb16a848c in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #5 0xb5d04efb in start_thread (arg=0xb1039b40) at pthread_create.c:309 #6 0xb76b762e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 2 (Thread 0xaecdab40 (LWP 3608)): #0 __libc_disable_asynccancel (oldtype=2) at ../nptl/cancellation.c:82 #1 0xb76acdf4 in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb5c0e0b0 in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb5bff054 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb5bff196 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb6002854 in QEventDispatcherGlib::processEvents (this=0xae300468, flags=...) at kernel/qeventdispatcher_glib.cpp:427 #6 0xb5fced9f in QEventLoop::processEvents (this=0xaecda254, flags=...) at kernel/qeventloop.cpp:149 #7 0xb5fcf12e in QEventLoop::exec (this=0xaecda254, flags=...) at kernel/qeventloop.cpp:204 #8 0xb5eb3b0b in QThread::exec (this=0xa248cf8) at thread/qthread.cpp:538 #9 0xb5fae906 in QInotifyFileSystemWatcherEngine::run (this=0xa248cf8) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb5eb670e in QThreadPrivate::start (arg=0xa248cf8) at thread/qthread_unix.cpp:349 #11 0xb5d04efb in start_thread (arg=0xaecdab40) at pthread_create.c:309 #12 0xb76b762e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 1 (Thread 0xb4954740 (LWP 3605)): [KCrash Handler] #7 detach (this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:147 #8 data (this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:152 #9 operator[] (i=0, this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:360 #10 QTextLine::width (this=0xbf8b2a18) at text/qtextlayout.cpp:1398 #11 0xb1931bd4 in KateRenderer::cursorToX (this=0xa272718, range=..., pos=..., returnPastLine=false) at ../../part/render/katerenderer.cpp:1058 #12 0xb1988e72 in KateViewInternal::makeVisible (this=0xa2664f0, c=..., endCol=-1, force=false, center=false, calledExternally=false) at ../../part/view/kateviewinternal.cpp:666 #13 0xb198bc0d in KateViewInternal::updateCursor (this=0xa2664f0, newCursor=..., force=false, center=false, calledExternally=false) at ../../part/view/kateviewinternal.cpp:1901 #14 0xb19b3045 in KateViModeBase::updateCursor (this=0xa421e50, c=...) at ../../part/vimode/katevimodebase.cpp:934 #15 0xb19c844e in KateViNormalMode::commandChange (this=0xa421e50) at ../../part/vimode/katevinormalmode.cpp:1159 #16 0xb19d62c0 in KateViCommand::execute (this=0xa3674f0) at ../../part/vimode/katevicommand.cpp:38 #17 0xb19c7218 in KateViNormalMode::executeCommand (this=0xa421e50, cmd=0xa3674f0) at ../../part/vimode/katevinormalmode.cpp:515 #18 0xb19ce1e0 in KateViNormalMode::handleKeypress (this=0xa421e50, e=0x0) at ../../part/vimode/katevinormalmode.cpp:380 #19 0xb19abe8a in KateViInputModeManager::handleKeypress (this=0xa421d80, e=0xbf8b30c0) at ../../part/vimode/kateviinputmodemanager.cpp:162 #20 0xb198764c in KateViewInternal::keyPressEvent (this=0xa2664f0, e=0xbf8b30c0) at ../../part/view/kateviewinternal.cpp:2351 #21 0xb198dcef in KateViewInternal::eventFilter (this=0xa2664f0, obj=0xa2664f0, e=0xbf8b30c0) at ../../part/view/kateviewinternal.cpp:2239 #22 0xb5fd05a3 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9b338a0, receiver=0xa2664f0, event=0xbf8b30c0) at kernel/qcoreapplication.cpp:1065 #23 0xb6bf04e8 in QApplicationPrivate::notify_helper (this=0x9b338a0, receiver=0xa2664f0, e=0xbf8b30c0) at kernel/qapplication.cpp:4566 #24 0xb6bf8e03 in QApplication::notify (this=0xbf8b3d48, receiver=0xbf8b30c0, e=0xbf8b30c0) at kernel/qapplication.cpp:4011 #25 0xb63c0cdc in KApplication::notify (this=0xbf8b3d48, receiver=0xa2664f0, event=0xbf8b30c0) at ../../kdeui/kernel/kapplication.cpp:311 #26 0xb5fd042a in QCoreApplication::notifyInternal (this=0xbf8b3d48, receiver=0xa2664f0, event=0xbf8b30c0) at kernel/qcoreapplication.cpp:955 #27 0xb19ad395 in sendEvent (event=<optimized out>, receiver=<optimized out>) at /usr/include/qt4/QtCore/qcoreapplication.h:231 #28 KateViInputModeManager::feedKeyPresses (this=0xa421d80, keyPresses=...) at ../../part/vimode/kateviinputmodemanager.cpp:262 #29 0xb19f9a68 in KateViKeyMapper::playBackRejectedKeys (this=0xa429a50) at ../../part/vimode/katevikeymapper.cpp:64 #30 0xb19f9ff8 in KateViKeyMapper::handleKeypress (this=0xa429a50, key=...) at ../../part/vimode/katevikeymapper.cpp:123 #31 0xb19abcc3 in KateViInputModeManager::handleKeypress (this=0xa421d80, e=0xbf8b35e4) at ../../part/vimode/kateviinputmodemanager.cpp:140 #32 0xb198764c in KateViewInternal::keyPressEvent (this=0xa2664f0, e=0xbf8b35e4) at ../../part/view/kateviewinternal.cpp:2351 #33 0xb198dcef in KateViewInternal::eventFilter (this=0xa2664f0, obj=0xa2664f0, e=0xbf8b35e4) at ../../part/view/kateviewinternal.cpp:2239 #34 0xb5fd05a3 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9b338a0, receiver=0xa2664f0, event=0xbf8b35e4) at kernel/qcoreapplication.cpp:1065 #35 0xb6bf04e8 in QApplicationPrivate::notify_helper (this=0x9b338a0, receiver=0xa2664f0, e=0xbf8b35e4) at kernel/qapplication.cpp:4566 #36 0xb6bf8e03 in QApplication::notify (this=0xbf8b3d48, receiver=0xbf8b35e4, e=0xbf8b35e4) at kernel/qapplication.cpp:4011 #37 0xb63c0cdc in KApplication::notify (this=0xbf8b3d48, receiver=0xa2664f0, event=0xbf8b35e4) at ../../kdeui/kernel/kapplication.cpp:311 #38 0xb5fd042a in QCoreApplication::notifyInternal (this=0xbf8b3d48, receiver=0xa2664f0, event=0xbf8b35e4) at kernel/qcoreapplication.cpp:955 #39 0xb6bee887 in sendSpontaneousEvent (event=0xbf8b35e4, receiver=0xa2664f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #40 qt_sendSpontaneousEvent (receiver=0xa2664f0, event=0xbf8b35e4) at kernel/qapplication.cpp:5568 #41 0xb6ca14c9 in QKeyMapper::sendKeyEvent (keyWidget=0xa2664f0, grab=false, type=QEvent::KeyPress, code=69, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=26, nativeVirtualKey=101, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1866 #42 0xb6ca19ec in QKeyMapperPrivate::translateKeyEvent (this=0x9b62d38, keyWidget=0xa2664f0, event=0xbf8b393c, grab=false) at kernel/qkeymapper_x11.cpp:1836 #43 0xb6c78e5a in QApplication::x11ProcessEvent (this=0xbf8b3d48, event=0xbf8b393c) at kernel/qapplication_x11.cpp:3556 #44 0xb6ca4441 in x11EventSourceDispatch (s=0x9b3afb0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #45 0xb5bfeda4 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #46 0xb5bff0c9 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #47 0xb5bff196 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #48 0xb6002839 in QEventDispatcherGlib::processEvents (this=0x9b04ef0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #49 0xb6ca4516 in QGuiEventDispatcherGlib::processEvents (this=0x9b04ef0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #50 0xb5fced9f in QEventLoop::processEvents (this=0xbf8b3c14, flags=...) at kernel/qeventloop.cpp:149 #51 0xb5fcf12e in QEventLoop::exec (this=0xbf8b3c14, flags=...) at kernel/qeventloop.cpp:204 #52 0xb5fd52b6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227 #53 0xb6bee614 in QApplication::exec () at kernel/qapplication.cpp:3828 #54 0xb77984d5 in kdemain (argc=2, argv=0xbf8b3e64) at ../../../kate/app/katemain.cpp:381 #55 0x0804854b in main (argc=2, argv=0xbf8b3e64) at kate_dummy.cpp:3 Possible duplicates by query: bug 331021. Reported using DrKonqi
Can reproduce. Here's the backtrace that I got from current master: #0 0x00007ffff0c20638 in raise () at /lib64/libc.so.6 #1 0x00007ffff0c21a1a in abort () at /lib64/libc.so.6 #2 0x00007ffff18c2005 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007ffff18bd5be in () at /usr/lib64/libQt5Core.so.5 #4 0x00007ffff7653654 in Kate::TextFolding::lineToVisibleLine(int) const (this=0x7b4140, line=-1) at ../src/buffer/katetextfolding.cpp:390 #5 0x00007ffff7798388 in KateViewInternal::viewLineOffset(KTextEditor::Cursor const&, int, bool) (this=0x7cc1b0, virtualCursor=..., offset=0, keepX=false) at ../src/view/kateviewinternal.cpp:1392 #6 0x00007ffff779592e in KateViewInternal::makeVisible(KTextEditor::Cursor const&, int, bool, bool, bool) (this=0x7cc1b0, c=..., endCol=-1, force=false, center=false, calledExternally=false) at ../src/view/kateviewinternal.cpp:656 #7 0x00007ffff779b2e5 in KateViewInternal::updateCursor(KTextEditor::Cursor const&, bool, bool, bool) (this=0x7cc1b0, newCursor=..., force=false, center=false, calledExternally=false) at ../src/view/kateviewinternal.cpp:1972 #8 0x00007ffff782d5a4 in KateAbstractInputMode::updateCursor(KTextEditor::Cursor const&) (this=0x94ced0, c=...) at ../src/inputmode/kateabstractinputmode.cpp:39 #9 0x00007ffff786d904 in KateVi::InputModeManager::updateCursor(KTextEditor::Cursor const&) (this=0x7ceac0, c=...) at ../src/vimode/inputmodemanager.cpp:457 #10 0x00007ffff783972b in KateVi::ModeBase::updateCursor(KTextEditor::Cursor const&) const (this=0x97f7f0, c=...) at ../src/vimode/modes/modebase.cpp:792 #11 0x00007ffff78413be in KateVi::NormalViMode::commandChange() (this=0x97f7f0) at ../src/vimode/modes/normalvimode.cpp:1130 #12 0x00007ffff786f044 in KateVi::Command::execute() const (this=0x7ca010) at ../src/vimode/command.cpp:43 #13 0x00007ffff783ecfa in KateVi::NormalViMode::executeCommand(KateVi::Command const*) (this=0x97f7f0, cmd=0x7ca010) at ../src/vimode/modes/normalvimode.cpp:488 #14 0x00007ffff783e616 in KateVi::NormalViMode::handleKeypress(QKeyEvent const*) (this=0x97f7f0, e=0x7fffffffb780) at ../src/vimode/modes/normalvimode.cpp:374 #15 0x00007ffff786c880 in KateVi::InputModeManager::handleKeypress(QKeyEvent const*) (this=0x7ceac0, e=0x7fffffffb780) at ../src/vimode/inputmodemanager.cpp:149 #16 0x00007ffff782f1fb in KateViInputMode::keyPress(QKeyEvent*) (this=0x94ced0, e=0x7fffffffb780) at ../src/inputmode/kateviinputmode.cpp:284 #17 0x00007ffff779d4ad in KateViewInternal::keyPressEvent(QKeyEvent*) (this=0x7cc1b0, e=0x7fffffffb780) at ../src/view/kateviewinternal.cpp:2378 #18 0x00007ffff779ceab in KateViewInternal::eventFilter(QObject*, QEvent*) (this=0x7cc1b0, obj=0x7cc1b0, e=0x7fffffffb780) at ../src/view/kateviewinternal.cpp:2290 #19 0x00007ffff1aa3a25 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #20 0x00007ffff2e3a84c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #21 0x00007ffff2e407b0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #22 0x00007ffff1aa3bf3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #23 0x00007ffff77a45c3 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x7cc1b0, event=0x7fffffffb780) at /usr/include/qt5/QtCore/qcoreapplication.h:228 #24 0x00007ffff786cf68 in KateVi::InputModeManager::feedKeyPresses(QString const&) const (this=0x7ceac0, keyPresses=...) at ../src/vimode/inputmodemanager.cpp:235 #25 0x00007ffff7888f46 in KateVi::KeyMapper::playBackRejectedKeys() (this=0x84db10) at ../src/vimode/keymapper.cpp:69 #26 0x00007ffff7889226 in KateVi::KeyMapper::handleKeypress(QChar) (this=0x84db10, key=...) at ../src/vimode/keymapper.cpp:122 #27 0x00007ffff786c7b1 in KateVi::InputModeManager::handleKeypress(QKeyEvent const*) (this=0x7ceac0, e=0x7fffffffc200) at ../src/vimode/inputmodemanager.cpp:133 #28 0x00007ffff782f1fb in KateViInputMode::keyPress(QKeyEvent*) (this=0x94ced0, e=0x7fffffffc200) at ../src/inputmode/kateviinputmode.cpp:284 #29 0x00007ffff779d4ad in KateViewInternal::keyPressEvent(QKeyEvent*) (this=0x7cc1b0, e=0x7fffffffc200) at ../src/view/kateviewinternal.cpp:2378 #30 0x00007ffff779ceab in KateViewInternal::eventFilter(QObject*, QEvent*) (this=0x7cc1b0, obj=0x7cc1b0, e=0x7fffffffc200) at ../src/view/kateviewinternal.cpp:2290 #31 0x00007ffff1aa3a25 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #32 0x00007ffff2e3a84c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #33 0x00007ffff2e407b0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #34 0x00007ffff1aa3bf3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #35 0x00007ffff2e9327b in () at /usr/lib64/libQt5Widgets.so.5 #36 0x00007ffff2e3a86c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #37 0x00007ffff2e3fb80 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #38 0x00007ffff1aa3bf3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #39 0x00007ffff269f031 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib64/libQt5Gui.so.5 #40 0x00007ffff26a3cd5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5 #41 0x00007ffff268a8f8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5 #42 0x00007fffe5ce3d40 in () at /usr/lib64/qt5/plugins/platforms/libqxcb.so #43 0x00007fffecf88cc7 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #44 0x00007fffecf88ef8 in () at /usr/lib64/libglib-2.0.so.0 #45 0x00007fffecf88f9c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #46 0x00007ffff1af835f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #47 0x00007ffff1aa15ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #48 0x00007ffff1aa8d6d in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5 #49 0x00007ffff7bc8e66 in kdemain(int, char**) (argc=1, argv=0x7fffffffd688) at ../kwrite/main.cpp:266 #50 0x0000000000400ba8 in main(int, char**) (argc=1, argv=0x7fffffffd688) at kwrite/kwrite_dummy.cpp:3
Cannot reproduce, can you try again?
Cannot reproduce on 17.08.2
Thanks for the update; let's assume it is fixed. If you get a crash with newer version, it is best to file a new ticket with an updated backtrace.