Bug 331021 - Kile crashes on shift - J in vi mode
Summary: Kile crashes on shift - J in vi mode
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: Vi Input Mode (show other bugs)
Version: 3.12.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-11 22:00 UTC by hdbmisc
Modified: 2014-03-31 19:18 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.12.4


Attachments
debug patch (843 bytes, patch)
2014-02-25 19:20 UTC, Michal Humpula
Details
cmake.log (4.32 KB, text/x-log)
2014-03-11 18:19 UTC, hdbmisc
Details
killkile.tex (183 bytes, text/x-tex)
2014-03-11 18:19 UTC, hdbmisc
Details
fix for the issue (514 bytes, patch)
2014-03-15 09:00 UTC, Michal Humpula
Details

Note You need to log in before you can comment on or make changes to this bug.
Description hdbmisc 2014-02-11 22:00:53 UTC
Kile crashed second time on shift - j in VI mode.
This is the command that joins lines, so it is used regularly.

Reproducible: Sometimes

Steps to Reproduce:
1. turn on vi mode
2. use shift J
3.
Actual Results:  
crash report window

Expected Results:  
join lines
Comment 1 hdbmisc 2014-02-11 22:05:32 UTC
Crash report, as far as I could get it is below.
For the trace I got an error message saying I don't have enough memory (4Gb)...

Application: Kile (kile), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4fd0a1d780 (LWP 3613))]

Thread 5 (Thread 0x7f4fb944b700 (LWP 3637)):
#0  0x00007f4fcc90da43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4fc7e89ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4fc7e8a45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4fb945098b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f4fc7eab9b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f4fc874ee9a in start_thread (arg=0x7f4fb944b700) at pthread_create.c:308
#6  0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4fb8c4a700 (LWP 3638)):
#0  0x00007f4fcc90da43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4fc7e89ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4fc7e8a45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4fbfd775e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f4fc7eab9b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f4fc874ee9a in start_thread (arg=0x7f4fb8c4a700) at pthread_create.c:308
#6  0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f4f9ffff700 (LWP 3694)):
#0  0x00007f4fc8750f69 in __pthread_mutex_lock (mutex=0x7f4f98000a60) at pthread_mutex_lock.c:92
#1  0x00007f4fc7ec55b1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4fc7e89fdb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4fc7e8a124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f4fce1f1926 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f4fce1c0e62 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f4fce1c10b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f4fce0c0077 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f4fce1a0b6f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f4fce0c309b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007f4fc874ee9a in start_thread (arg=0x7f4f9ffff700) at pthread_create.c:308
#11 0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4f9d119700 (LWP 3750)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f4fcab5a022 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f4fcab5a059 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f4fc874ee9a in start_thread (arg=0x7f4f9d119700) at pthread_create.c:308
#4  0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4fd0a1d780 (LWP 3613)):
[KCrash Handler]
#6  0x00007f4fcd52d904 in QTextLine::width() const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007f4fa4d85afc in ?? () from /usr/lib/libkatepartinterfaces.so.4
#8  0x00007f4fa4dda065 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#9  0x00007f4fa4e0bde0 in KateViNormalMode::commandJoinLines() () from /usr/lib/libkatepartinterfaces.so.4
#10 0x00007f4fa4e16486 in KateViNormalMode::executeCommand(KateViCommand const*) () from /usr/lib/libkatepartinterfaces.so.4
#11 0x00007f4fa4e1769f in KateViNormalMode::handleKeypress(QKeyEvent const*) () from /usr/lib/libkatepartinterfaces.so.4
#12 0x00007f4fa4df4f69 in KateViInputModeManager::handleKeypress(QKeyEvent const*) () from /usr/lib/libkatepartinterfaces.so.4
#13 0x00007f4fa4ddf885 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#14 0x00007f4fa4dd7172 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#15 0x00007f4fce1c24b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007f4fcd2c677f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007f4fcd2cbc45 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f4fcec2b0e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f4fce1c232c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#20 0x00007f4fa4df3060 in KateViInputModeManager::feedKeyPresses(QString const&) const () from /usr/lib/libkatepartinterfaces.so.4
#21 0x00007f4fa4e3d42b in KateViKeyMapper::playBackRejectedKeys() () from /usr/lib/libkatepartinterfaces.so.4
#22 0x00007f4fa4e3d82d in KateViKeyMapper::handleKeypress(QChar) () from /usr/lib/libkatepartinterfaces.so.4
#23 0x00007f4fa4df4eb1 in KateViInputModeManager::handleKeypress(QKeyEvent const*) () from /usr/lib/libkatepartinterfaces.so.4
#24 0x00007f4fa4ddf885 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#25 0x00007f4fa4dd7172 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#26 0x00007f4fce1c24b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007f4fcd2c677f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007f4fcd2cbc45 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f4fcec2b0e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#30 0x00007f4fce1c232c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#31 0x00007f4fcd36abc9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007f4fcd36b03b in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007f4fcd345557 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f4fcd36f052 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007f4fc7e89d13 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f4fc7e8a060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f4fc7e8a124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f4fce1f18bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#39 0x00007f4fcd36ecde in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#40 0x00007f4fce1c0e62 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007f4fce1c10b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#42 0x00007f4fce1c6407 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#43 0x0000000000436c84 in ?? ()
#44 0x00007f4fcc84676d in __libc_start_main (main=0x435ad0, argc=1, ubp_av=0x7fff1540d118, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1540d108) at libc-start.c:226
#45 0x0000000000439015 in _start ()
Comment 2 hdbmisc 2014-02-12 00:15:42 UTC
Application: Kile (kile), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f46f02d1780 (LWP 22717))]

Thread 5 (Thread 0x7f46d8cff700 (LWP 22718)):
#0  0x00007f46ec1c1ffd in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f46e777a8df in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f46e773fb64 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f46e773ff96 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f46e774045a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f46d8d0498b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#6  0x00007f46e77619b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f46e8004e9a in start_thread (arg=0x7f46d8cff700) at pthread_create.c:308
#8  0x00007f46ec1cf3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f46d3fff700 (LWP 22719)):
#0  0x00007f46ec1c3a43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f46e773fff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f46e774045a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f46df62b5e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f46e77619b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f46e8004e9a in start_thread (arg=0x7f46d3fff700) at pthread_create.c:308
#6  0x00007f46ec1cf3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f46c3fff700 (LWP 22721)):
#0  0x00007f46ec1c3a43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f46e773fff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f46e7740124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f46edaa7926 in QEventDispatcherGlib::processEvents (this=0x7f46bc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f46eda76e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f46eda770b7 in QEventLoop::exec (this=0x7f46c3ffedd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f46ed976077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f46eda56b6f in QInotifyFileSystemWatcherEngine::run (this=0x1d54000) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f46ed97909b in QThreadPrivate::start (arg=0x1d54000) at thread/qthread_unix.cpp:307
#9  0x00007f46e8004e9a in start_thread (arg=0x7f46c3fff700) at pthread_create.c:308
#10 0x00007f46ec1cf3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f46c0bdb700 (LWP 22782)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f46ea410022 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f46ea410059 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f46e8004e9a in start_thread (arg=0x7f46c0bdb700) at pthread_create.c:308
#4  0x00007f46ec1cf3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f46f02d1780 (LWP 22717)):
[KCrash Handler]
#6  detach (this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:147
#7  data (this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:152
#8  operator[] (i=0, this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:360
#9  QTextLine::width (this=0x7fff762b5738) at text/qtextlayout.cpp:1389
#10 0x00007f46c8e23afc in KateRenderer::cursorToX (this=0x38f0ae0, range=..., pos=..., returnPastLine=false) at ../../part/render/katerenderer.cpp:1058
#11 0x00007f46c8e78065 in KateViewInternal::updateCursor (this=0x38f2570, newCursor=..., force=<optimized out>, center=false, calledExternally=false) at ../../part/view/kateviewinternal.cpp:1890
#12 0x00007f46c8ea9de0 in KateViNormalMode::commandJoinLines (this=0x3ad0fd0) at ../../part/vimode/katevinormalmode.cpp:1100
#13 0x00007f46c8eb4486 in KateViNormalMode::executeCommand (this=0x3ad0fd0, cmd=0x33cc3e0) at ../../part/vimode/katevinormalmode.cpp:517
#14 0x00007f46c8eb569f in KateViNormalMode::handleKeypress (this=0x3ad0fd0, e=<optimized out>) at ../../part/vimode/katevinormalmode.cpp:433
#15 0x00007f46c8e92f69 in KateViInputModeManager::handleKeypress (this=0x3ac0d60, e=0x7fff762b66a0) at ../../part/vimode/kateviinputmodemanager.cpp:157
#16 0x00007f46c8e7d885 in keyPressEvent (e=0x7fff762b66a0, this=0x38f2570) at ../../part/view/kateviewinternal.cpp:2297
#17 KateViewInternal::keyPressEvent (this=0x38f2570, e=0x7fff762b66a0) at ../../part/view/kateviewinternal.cpp:2233
#18 0x00007f46c8e75172 in KateViewInternal::eventFilter (this=0x38f2570, obj=0x38f2570, e=0x7fff762b66a0) at ../../part/view/kateviewinternal.cpp:2185
#19 0x00007f46eda784b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x38f2570, event=0x7fff762b66a0) at kernel/qcoreapplication.cpp:1025
#20 0x00007f46ecb7c77f in notify_helper (e=0x7fff762b66a0, receiver=0x38f2570, this=0x18b9150) at kernel/qapplication.cpp:4552
#21 QApplicationPrivate::notify_helper (this=0x18b9150, receiver=0x38f2570, e=0x7fff762b66a0) at kernel/qapplication.cpp:4528
#22 0x00007f46ecb81c45 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff762b66a0) at kernel/qapplication.cpp:3997
#23 0x00007f46ee4e10e6 in KApplication::notify (this=0x7fff762b8150, receiver=0x38f2570, event=0x7fff762b66a0) at ../../kdeui/kernel/kapplication.cpp:311
#24 0x00007f46eda7832c in QCoreApplication::notifyInternal (this=0x7fff762b8150, receiver=0x38f2570, event=0x7fff762b66a0) at kernel/qcoreapplication.cpp:915
#25 0x00007f46c8e91060 in sendEvent (event=0x7fff762b66a0, receiver=<optimized out>) at /usr/include/qt4/QtCore/qcoreapplication.h:231
#26 KateViInputModeManager::feedKeyPresses (this=0x3ac0d60, keyPresses=...) at ../../part/vimode/kateviinputmodemanager.cpp:257
#27 0x00007f46c8edb42b in KateViKeyMapper::playBackRejectedKeys (this=0x3ad87a0) at ../../part/vimode/katevikeymapper.cpp:64
#28 0x00007f46c8edb82d in KateViKeyMapper::handleKeypress (this=0x3ad87a0, key=...) at ../../part/vimode/katevikeymapper.cpp:123
#29 0x00007f46c8e92eb1 in KateViInputModeManager::handleKeypress (this=0x3ac0d60, e=0x7fff762b71f0) at ../../part/vimode/kateviinputmodemanager.cpp:135
#30 0x00007f46c8e7d885 in keyPressEvent (e=0x7fff762b71f0, this=0x38f2570) at ../../part/view/kateviewinternal.cpp:2297
#31 KateViewInternal::keyPressEvent (this=0x38f2570, e=0x7fff762b71f0) at ../../part/view/kateviewinternal.cpp:2233
#32 0x00007f46c8e75172 in KateViewInternal::eventFilter (this=0x38f2570, obj=0x38f2570, e=0x7fff762b71f0) at ../../part/view/kateviewinternal.cpp:2185
#33 0x00007f46eda784b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x38f2570, event=0x7fff762b71f0) at kernel/qcoreapplication.cpp:1025
#34 0x00007f46ecb7c77f in notify_helper (e=0x7fff762b71f0, receiver=0x38f2570, this=0x18b9150) at kernel/qapplication.cpp:4552
#35 QApplicationPrivate::notify_helper (this=0x18b9150, receiver=0x38f2570, e=0x7fff762b71f0) at kernel/qapplication.cpp:4528
#36 0x00007f46ecb81c45 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff762b71f0) at kernel/qapplication.cpp:3997
#37 0x00007f46ee4e10e6 in KApplication::notify (this=0x7fff762b8150, receiver=0x38f2570, event=0x7fff762b71f0) at ../../kdeui/kernel/kapplication.cpp:311
#38 0x00007f46eda7832c in QCoreApplication::notifyInternal (this=0x7fff762b8150, receiver=0x38f2570, event=0x7fff762b71f0) at kernel/qcoreapplication.cpp:915
#39 0x00007f46ecc20bc9 in QKeyMapper::sendKeyEvent (keyWidget=0x38f2570, grab=<optimized out>, type=QEvent::KeyPress, code=74, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=44, nativeVirtualKey=74, nativeModifiers=1) at kernel/qkeymapper_x11.cpp:1866
#40 0x00007f46ecc2103b in QKeyMapperPrivate::translateKeyEvent (this=0x18f3f70, keyWidget=0x38f2570, event=0x7fff762b7ce0, grab=false) at kernel/qkeymapper_x11.cpp:1836
#41 0x00007f46ecbfb557 in QApplication::x11ProcessEvent (this=0x7fff762b8150, event=0x7fff762b7ce0) at kernel/qapplication_x11.cpp:3625
#42 0x00007f46ecc25052 in x11EventSourceDispatch (s=0x18ba770, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#43 0x00007f46e773fd13 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f46e7740060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f46e7740124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f46edaa78bf in QEventDispatcherGlib::processEvents (this=0x188ab30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#47 0x00007f46ecc24cde in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x00007f46eda76e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#49 0x00007f46eda770b7 in QEventLoop::exec (this=0x7fff762b8080, flags=...) at kernel/qeventloop.cpp:204
#50 0x00007f46eda7c407 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#51 0x000000000043675c in main (argc=1, argv=0x7fff762b8c28) at /home/bandi/install/kile-2.1.3/src/main.cpp:175



Application: Kile (kile), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4fd0a1d780 (LWP 3613))]

Thread 5 (Thread 0x7f4fb944b700 (LWP 3637)):
#0  0x00007f4fcc90da43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4fc7e89ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4fc7e8a45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4fb945098b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f4fc7eab9b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f4fc874ee9a in start_thread (arg=0x7f4fb944b700) at pthread_create.c:308
#6  0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4fb8c4a700 (LWP 3638)):
#0  0x00007f4fcc90da43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4fc7e89ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4fc7e8a45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4fbfd775e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f4fc7eab9b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f4fc874ee9a in start_thread (arg=0x7f4fb8c4a700) at pthread_create.c:308
#6  0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f4f9ffff700 (LWP 3694)):
#0  0x00007f4fc8750f69 in __pthread_mutex_lock (mutex=0x7f4f98000a60) at pthread_mutex_lock.c:92
#1  0x00007f4fc7ec55b1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4fc7e89fdb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4fc7e8a124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f4fce1f1926 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f4fce1c0e62 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f4fce1c10b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f4fce0c0077 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f4fce1a0b6f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f4fce0c309b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007f4fc874ee9a in start_thread (arg=0x7f4f9ffff700) at pthread_create.c:308
#11 0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4f9d119700 (LWP 3750)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f4fcab5a022 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f4fcab5a059 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f4fc874ee9a in start_thread (arg=0x7f4f9d119700) at pthread_create.c:308
#4  0x00007f4fcc9193fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4fd0a1d780 (LWP 3613)):
[KCrash Handler]
#6  0x00007f4fcd52d904 in QTextLine::width() const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007f4fa4d85afc in ?? () from /usr/lib/libkatepartinterfaces.so.4
#8  0x00007f4fa4dda065 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#9  0x00007f4fa4e0bde0 in KateViNormalMode::commandJoinLines() () from /usr/lib/libkatepartinterfaces.so.4
#10 0x00007f4fa4e16486 in KateViNormalMode::executeCommand(KateViCommand const*) () from /usr/lib/libkatepartinterfaces.so.4
#11 0x00007f4fa4e1769f in KateViNormalMode::handleKeypress(QKeyEvent const*) () from /usr/lib/libkatepartinterfaces.so.4
#12 0x00007f4fa4df4f69 in KateViInputModeManager::handleKeypress(QKeyEvent const*) () from /usr/lib/libkatepartinterfaces.so.4
#13 0x00007f4fa4ddf885 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#14 0x00007f4fa4dd7172 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#15 0x00007f4fce1c24b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007f4fcd2c677f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007f4fcd2cbc45 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f4fcec2b0e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f4fce1c232c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#20 0x00007f4fa4df3060 in KateViInputModeManager::feedKeyPresses(QString const&) const () from /usr/lib/libkatepartinterfaces.so.4
#21 0x00007f4fa4e3d42b in KateViKeyMapper::playBackRejectedKeys() () from /usr/lib/libkatepartinterfaces.so.4
#22 0x00007f4fa4e3d82d in KateViKeyMapper::handleKeypress(QChar) () from /usr/lib/libkatepartinterfaces.so.4
#23 0x00007f4fa4df4eb1 in KateViInputModeManager::handleKeypress(QKeyEvent const*) () from /usr/lib/libkatepartinterfaces.so.4
#24 0x00007f4fa4ddf885 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#25 0x00007f4fa4dd7172 in ?? () from /usr/lib/libkatepartinterfaces.so.4
#26 0x00007f4fce1c24b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007f4fcd2c677f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007f4fcd2cbc45 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f4fcec2b0e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#30 0x00007f4fce1c232c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#31 0x00007f4fcd36abc9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007f4fcd36b03b in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007f4fcd345557 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f4fcd36f052 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007f4fc7e89d13 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f4fc7e8a060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f4fc7e8a124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f4fce1f18bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#39 0x00007f4fcd36ecde in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#40 0x00007f4fce1c0e62 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007f4fce1c10b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#42 0x00007f4fce1c6407 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#43 0x0000000000436c84 in ?? ()
#44 0x00007f4fcc84676d in __libc_start_main (main=0x435ad0, argc=1, ubp_av=0x7fff1540d118, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1540d108) at libc-start.c:226
#45 0x0000000000439015 in _start ()
Comment 3 Jekyll Wu 2014-02-12 01:16:43 UTC
your KDE (or kate) version ?
Comment 4 hdbmisc 2014-02-12 08:59:22 UTC
On 02/12/2014 01:16 AM, Jekyll Wu wrote:
> https://bugs.kde.org/show_bug.cgi?id=331021
>
> Jekyll Wu <adaptee@gmail.com> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>            Component|editor                      |general
>             Assignee|michel.ludwig@kdemail.net   |kwrite-bugs-null@kde.org
>              Product|kile                        |kate
>
> --- Comment #3 from Jekyll Wu <adaptee@gmail.com> ---
> your KDE (or kate) version ?
>
>
>
> KDE - Be Free! Platform Version 4.12.0
>
Comment 5 hdbmisc 2014-02-12 09:05:17 UTC
Some additional info:

The first crash report was using Kile 2.1.0
then I installed and compiled the source from 2.1.3, that was the second trace.
Automatic spellcheck was on.
Crash happens in 1-2 hours of intensive usage.
Comment 6 hdbmisc 2014-02-13 09:51:36 UTC
(In reply to comment #3)
> your KDE (or kate) version ?

$ dpkg -l |grep kate
ii  kate                                      4:4.12.0-0ubuntu1~ubuntu12.04~ppa2            K Advanced Text Editor
ii  kate-data                                 4:4.12.0-0ubuntu1~ubuntu12.04~ppa2            shared data files for kate
ii  kate-dbg                                  4:4.12.0-0ubuntu1~ubuntu12.04~ppa2            debugging symbols for Kate
ii  katepart                                  4:4.12.0-0ubuntu1~ubuntu12.04~ppa2            kate KPart
ii  libkate1                                  0.4.1-1                                       Kate is a codec for karaoke and text encapsulation
ii  libkateinterfaces4                        4:4.12.0-0ubuntu1~ubuntu12.04~ppa2            kate plugin interface library
ii  libkatepartinterfaces4                    4:4.12.0-0ubuntu1~ubuntu12.04~ppa2            kate part library
Comment 7 hdbmisc 2014-02-18 16:17:39 UTC
Application: Kile (kile), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fceca149780 (LWP 27061))]

Thread 5 (Thread 0x7fceb2b77700 (LWP 27064)):
#0  0x00007fcec603ba43 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fcec15b7ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcec15b845a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fceb2b7c98b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fcec15d99b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fcec1e7ce9a in start_thread (arg=0x7fceb2b77700) at pthread_create.c:308
#6  0x00007fcec60473fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fceb2376700 (LWP 27065)):
#0  0x00007fcec1e8005d in __pthread_mutex_unlock_usercnt (mutex=<optimized out>, decr=<optimized out>) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x7fceac010300) at pthread_mutex_unlock.c:290
#2  0x00007fcec15f35e1 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcec15b77fb in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcec15b7f1b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fcec15b845a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fceb94a35e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#7  0x00007fcec15d99b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fcec1e7ce9a in start_thread (arg=0x7fceb2376700) at pthread_create.c:308
#9  0x00007fcec60473fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fce9e32e700 (LWP 27067)):
#0  __pthread_mutex_unlock_usercnt (mutex=<optimized out>, decr=<optimized out>) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x7fce98000a60) at pthread_mutex_unlock.c:290
#2  0x00007fcec15f35e1 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcec15b77fb in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcec15b7f1b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fcec15b8124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fcec791f926 in QEventDispatcherGlib::processEvents (this=0x7fce980008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x00007fcec78eee62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007fcec78ef0b7 in QEventLoop::exec (this=0x7fce9e32ddd0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007fcec77ee077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#10 0x00007fcec78ceb6f in QInotifyFileSystemWatcherEngine::run (this=0x1078810) at io/qfilesystemwatcher_inotify.cpp:248
#11 0x00007fcec77f109b in QThreadPrivate::start (arg=0x1078810) at thread/qthread_unix.cpp:307
#12 0x00007fcec1e7ce9a in start_thread (arg=0x7fce9e32e700) at pthread_create.c:308
#13 0x00007fcec60473fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fce969f3700 (LWP 27124)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcec4288022 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007fcec4288059 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007fcec1e7ce9a in start_thread (arg=0x7fce969f3700) at pthread_create.c:308
#4  0x00007fcec60473fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fceca149780 (LWP 27061)):
[KCrash Handler]
#6  detach (this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:147
#7  data (this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:152
#8  operator[] (i=0, this=0x0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:360
#9  QTextLine::width (this=0x7fff1f456a28) at text/qtextlayout.cpp:1389
#10 0x00007fce9ed36afc in KateRenderer::cursorToX (this=0x2c2bf80, range=..., pos=..., returnPastLine=false) at ../../part/render/katerenderer.cpp:1058
#11 0x00007fce9ed8b065 in KateViewInternal::updateCursor (this=0x2c31450, newCursor=..., force=<optimized out>, center=false, calledExternally=false) at ../../part/view/kateviewinternal.cpp:1890
#12 0x00007fce9edbcde0 in KateViNormalMode::commandJoinLines (this=0x2bf67a0) at ../../part/vimode/katevinormalmode.cpp:1100
#13 0x00007fce9edc7486 in KateViNormalMode::executeCommand (this=0x2bf67a0, cmd=0x2d56150) at ../../part/vimode/katevinormalmode.cpp:517
#14 0x00007fce9edc869f in KateViNormalMode::handleKeypress (this=0x2bf67a0, e=<optimized out>) at ../../part/vimode/katevinormalmode.cpp:433
#15 0x00007fce9eda5f69 in KateViInputModeManager::handleKeypress (this=0x2dc1480, e=0x7fff1f457990) at ../../part/vimode/kateviinputmodemanager.cpp:157
#16 0x00007fce9ed90885 in keyPressEvent (e=0x7fff1f457990, this=0x2c31450) at ../../part/view/kateviewinternal.cpp:2297
#17 KateViewInternal::keyPressEvent (this=0x2c31450, e=0x7fff1f457990) at ../../part/view/kateviewinternal.cpp:2233
#18 0x00007fce9ed88172 in KateViewInternal::eventFilter (this=0x2c31450, obj=0x2c31450, e=0x7fff1f457990) at ../../part/view/kateviewinternal.cpp:2185
#19 0x00007fcec78f04b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x2c31450, event=0x7fff1f457990) at kernel/qcoreapplication.cpp:1025
#20 0x00007fcec69f477f in notify_helper (e=0x7fff1f457990, receiver=0x2c31450, this=0xbde5d0) at kernel/qapplication.cpp:4552
#21 QApplicationPrivate::notify_helper (this=0xbde5d0, receiver=0x2c31450, e=0x7fff1f457990) at kernel/qapplication.cpp:4528
#22 0x00007fcec69f9c45 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff1f457990) at kernel/qapplication.cpp:3997
#23 0x00007fcec83590e6 in KApplication::notify (this=0x7fff1f459410, receiver=0x2c31450, event=0x7fff1f457990) at ../../kdeui/kernel/kapplication.cpp:311
#24 0x00007fcec78f032c in QCoreApplication::notifyInternal (this=0x7fff1f459410, receiver=0x2c31450, event=0x7fff1f457990) at kernel/qcoreapplication.cpp:915
#25 0x00007fce9eda4060 in sendEvent (event=0x7fff1f457990, receiver=<optimized out>) at /usr/include/qt4/QtCore/qcoreapplication.h:231
#26 KateViInputModeManager::feedKeyPresses (this=0x2dc1480, keyPresses=...) at ../../part/vimode/kateviinputmodemanager.cpp:257
#27 0x00007fce9edee42b in KateViKeyMapper::playBackRejectedKeys (this=0x2e05ee0) at ../../part/vimode/katevikeymapper.cpp:64
#28 0x00007fce9edee82d in KateViKeyMapper::handleKeypress (this=0x2e05ee0, key=...) at ../../part/vimode/katevikeymapper.cpp:123
#29 0x00007fce9eda5eb1 in KateViInputModeManager::handleKeypress (this=0x2dc1480, e=0x7fff1f4584e0) at ../../part/vimode/kateviinputmodemanager.cpp:135
#30 0x00007fce9ed90885 in keyPressEvent (e=0x7fff1f4584e0, this=0x2c31450) at ../../part/view/kateviewinternal.cpp:2297
#31 KateViewInternal::keyPressEvent (this=0x2c31450, e=0x7fff1f4584e0) at ../../part/view/kateviewinternal.cpp:2233
#32 0x00007fce9ed88172 in KateViewInternal::eventFilter (this=0x2c31450, obj=0x2c31450, e=0x7fff1f4584e0) at ../../part/view/kateviewinternal.cpp:2185
#33 0x00007fcec78f04b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x2c31450, event=0x7fff1f4584e0) at kernel/qcoreapplication.cpp:1025
#34 0x00007fcec69f477f in notify_helper (e=0x7fff1f4584e0, receiver=0x2c31450, this=0xbde5d0) at kernel/qapplication.cpp:4552
#35 QApplicationPrivate::notify_helper (this=0xbde5d0, receiver=0x2c31450, e=0x7fff1f4584e0) at kernel/qapplication.cpp:4528
#36 0x00007fcec69f9c45 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff1f4584e0) at kernel/qapplication.cpp:3997
#37 0x00007fcec83590e6 in KApplication::notify (this=0x7fff1f459410, receiver=0x2c31450, event=0x7fff1f4584e0) at ../../kdeui/kernel/kapplication.cpp:311
#38 0x00007fcec78f032c in QCoreApplication::notifyInternal (this=0x7fff1f459410, receiver=0x2c31450, event=0x7fff1f4584e0) at kernel/qcoreapplication.cpp:915
#39 0x00007fcec6a98bc9 in QKeyMapper::sendKeyEvent (keyWidget=0x2c31450, grab=<optimized out>, type=QEvent::KeyPress, code=74, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=44, nativeVirtualKey=74, nativeModifiers=1) at kernel/qkeymapper_x11.cpp:1866
#40 0x00007fcec6a9903b in QKeyMapperPrivate::translateKeyEvent (this=0xc1a710, keyWidget=0x2c31450, event=0x7fff1f458fd0, grab=false) at kernel/qkeymapper_x11.cpp:1836
#41 0x00007fcec6a73557 in QApplication::x11ProcessEvent (this=0x7fff1f459410, event=0x7fff1f458fd0) at kernel/qapplication_x11.cpp:3625
#42 0x00007fcec6a9d052 in x11EventSourceDispatch (s=0xbe2270, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#43 0x00007fcec15b7d13 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007fcec15b8060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fcec15b8124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007fcec791f8bf in QEventDispatcherGlib::processEvents (this=0xba8b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#47 0x00007fcec6a9ccde in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x00007fcec78eee62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#49 0x00007fcec78ef0b7 in QEventLoop::exec (this=0x7fff1f459370, flags=...) at kernel/qeventloop.cpp:204
#50 0x00007fcec78f4407 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#51 0x0000000000436c84 in ?? ()
#52 0x00007fcec5f7476d in __libc_start_main (main=0x435ad0, argc=1, ubp_av=0x7fff1f45a238, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1f45a228) at libc-start.c:226
#53 0x0000000000439015 in _start ()
Comment 8 hdbmisc 2014-02-18 17:02:22 UTC
It is possible to reproduce it every time:

- put the following two lines in a file let's say foo.tex

Results like these of realization theory are of high importance, 
because they allow the exchange of the theoretical results and the methods of identification and control between the 

- open foo.tex in kile
- turn on vi mode
- go to the first line and press shift + j
Comment 9 hdbmisc 2014-02-18 17:29:57 UTC
This does not work with kate, only with kile, however the bug seems to be in kate, I will check if I am using the same libs or it might be on the settings? Word wrap is set to 120, no influence of automatic spell-checking

(In reply to comment #8)
> It is possible to reproduce it every time:
> 
> - put the following two lines in a file let's say foo.tex
> 
> Results like these of realization theory are of high importance, 
> because they allow the exchange of the theoretical results and the methods
> of identification and control between the 
> 
> - open foo.tex in kile
> - turn on vi mode
> - go to the first line and press shift + j
Comment 10 Michal Humpula 2014-02-18 21:07:26 UTC
Hi there,

would you be please willing to test it with current kate master? Instruction for building can be found at http://kate-editor.org/get-it/.

Can't reproduce it with 3.12.2 in kile or kwrite (debian packages). From the trace it looks like some wrong line counting.
Comment 11 hdbmisc 2014-02-19 10:36:08 UTC
Hi there,

I have never had problems with the kate editor in the first row, the kile ubuntu package crashed, and so does kile with the new kate master.
When I start kile using the run.sh with the exports of kde libs, then it should use the newly linked kate, right?



Application: Kile (kile), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f59dcb14780 (LWP 17479))]

Thread 5 (Thread 0x7f59c553c700 (LWP 17480)):
#0  0x00007f59d3f7d7bb in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f59d3f7df1b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f59d3f7e45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f59c554198b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f59d3f9f9b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f59d4842e9a in start_thread (arg=0x7f59c553c700) at pthread_create.c:308
#6  0x00007f59d8a0d3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f59c4d3b700 (LWP 17481)):
#0  pthread_mutex_lock (mutex=0x7f59c0010300) at forward.c:182
#1  0x00007f59d3fb95b1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f59d3f7dfdb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f59d3f7e45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f59cbe685e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x00007f59d3f9f9b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f59d4842e9a in start_thread (arg=0x7f59c4d3b700) at pthread_create.c:308
#7  0x00007f59d8a0d3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f59b0b25700 (LWP 17483)):
#0  0x00007f59d89ffffd in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f59d3fb88df in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f59d3f7db64 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f59d3f7df96 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f59d3f7e124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f59da2e5926 in QEventDispatcherGlib::processEvents (this=0x7f59ac0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f59da2b4e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f59da2b50b7 in QEventLoop::exec (this=0x7f59b0b24dd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f59da1b4077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f59da294b6f in QInotifyFileSystemWatcherEngine::run (this=0x1cdcb00) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f59da1b709b in QThreadPrivate::start (arg=0x1cdcb00) at thread/qthread_unix.cpp:307
#11 0x00007f59d4842e9a in start_thread (arg=0x7f59b0b25700) at pthread_create.c:308
#12 0x00007f59d8a0d3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f59bf7c6700 (LWP 17557)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f59d6c4e022 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f59d6c4e059 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f59d4842e9a in start_thread (arg=0x7f59bf7c6700) at pthread_create.c:308
#4  0x00007f59d8a0d3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f59dcb14780 (LWP 17479)):
[KCrash Handler]
#6  0x00007f59d894f425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f59d8952b8b in __GI_abort () at abort.c:91
#8  0x00007f59da1ac5db in qt_message_output (msgType=<optimized out>, buf=0x3797a18 "ASSERT: \"d\" in file /usr/include/ksharedptr.h, line 126") at global/qglobal.cpp:2284
#9  0x00007f59da1ac98f in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f59da319fe8 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff2c58aac8) at global/qglobal.cpp:2330
#10 0x00007f59da1acb34 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2513
#11 0x00007f59b153fb34 in KSharedPtr<KateLineLayout>::operator-> (this=0x7fff2c58abb0) at /usr/include/ksharedptr.h:126
#12 0x00007f59b15434d3 in KateLayoutCache::textLayout (this=0x3407580, realCursor=...) at /home/bandi/kde/usr/kate/part/render/katelayoutcache.cpp:344
#13 0x00007f59b158979b in KateViewInternal::updateCursor (this=0x3406ad0, newCursor=..., force=<optimized out>, center=false, calledExternally=false) at /home/bandi/kde/usr/kate/part/view/kateviewinternal.cpp:1916
#14 0x00007f59b15bcf83 in KateViNormalMode::commandJoinLines (this=0x365c100) at /home/bandi/kde/usr/kate/part/vimode/katevinormalmode.cpp:1127
#15 0x00007f59b15c4922 in KateViNormalMode::executeCommand (this=0x365c100, cmd=0x3670690) at /home/bandi/kde/usr/kate/part/vimode/katevinormalmode.cpp:515
#16 0x00007f59b15c5f4f in KateViNormalMode::handleKeypress (this=0x365c100, e=<optimized out>) at /home/bandi/kde/usr/kate/part/vimode/katevinormalmode.cpp:429
#17 0x00007f59b15a7554 in KateViInputModeManager::handleKeypress (this=0x3668320, e=0x7fff2c58bbb0) at /home/bandi/kde/usr/kate/part/vimode/kateviinputmodemanager.cpp:162
#18 0x00007f59b158f6a3 in KateViewInternal::keyPressEvent (this=0x3406ad0, e=0x7fff2c58bbb0) at /home/bandi/kde/usr/kate/part/view/kateviewinternal.cpp:2343
#19 0x00007f59b1588237 in KateViewInternal::eventFilter (this=0x3406ad0, obj=0x3406ad0, e=0x7fff2c58bbb0) at /home/bandi/kde/usr/kate/part/view/kateviewinternal.cpp:2231
#20 0x00007f59da2b64b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x3406ad0, event=0x7fff2c58bbb0) at kernel/qcoreapplication.cpp:1025
#21 0x00007f59d93ba77f in notify_helper (e=0x7fff2c58bbb0, receiver=0x3406ad0, this=0x1788420) at kernel/qapplication.cpp:4552
#22 QApplicationPrivate::notify_helper (this=0x1788420, receiver=0x3406ad0, e=0x7fff2c58bbb0) at kernel/qapplication.cpp:4528
#23 0x00007f59d93bfc45 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff2c58bbb0) at kernel/qapplication.cpp:3997
#24 0x00007f59dad1f0e6 in KApplication::notify (this=0x7fff2c58d700, receiver=0x3406ad0, event=0x7fff2c58bbb0) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x00007f59da2b632c in QCoreApplication::notifyInternal (this=0x7fff2c58d700, receiver=0x3406ad0, event=0x7fff2c58bbb0) at kernel/qcoreapplication.cpp:915
#26 0x00007f59b15a4bfa in KateViInputModeManager::feedKeyPresses (this=0x3668320, keyPresses=...) at /home/bandi/kde/usr/kate/part/vimode/kateviinputmodemanager.cpp:262
#27 0x00007f59b15e6b38 in KateViKeyMapper::playBackRejectedKeys (this=0x367b4e0) at /home/bandi/kde/usr/kate/part/vimode/katevikeymapper.cpp:64
#28 0x00007f59b15e6e08 in KateViKeyMapper::handleKeypress (this=0x367b4e0, key=...) at /home/bandi/kde/usr/kate/part/vimode/katevikeymapper.cpp:123
#29 0x00007f59b15a747d in KateViInputModeManager::handleKeypress (this=0x3668320, e=0x7fff2c58c7a0) at /home/bandi/kde/usr/kate/part/vimode/kateviinputmodemanager.cpp:140
#30 0x00007f59b158f6a3 in KateViewInternal::keyPressEvent (this=0x3406ad0, e=0x7fff2c58c7a0) at /home/bandi/kde/usr/kate/part/view/kateviewinternal.cpp:2343
#31 0x00007f59b1588237 in KateViewInternal::eventFilter (this=0x3406ad0, obj=0x3406ad0, e=0x7fff2c58c7a0) at /home/bandi/kde/usr/kate/part/view/kateviewinternal.cpp:2231
#32 0x00007f59da2b64b8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x3406ad0, event=0x7fff2c58c7a0) at kernel/qcoreapplication.cpp:1025
#33 0x00007f59d93ba77f in notify_helper (e=0x7fff2c58c7a0, receiver=0x3406ad0, this=0x1788420) at kernel/qapplication.cpp:4552
#34 QApplicationPrivate::notify_helper (this=0x1788420, receiver=0x3406ad0, e=0x7fff2c58c7a0) at kernel/qapplication.cpp:4528
#35 0x00007f59d93bfc45 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff2c58c7a0) at kernel/qapplication.cpp:3997
#36 0x00007f59dad1f0e6 in KApplication::notify (this=0x7fff2c58d700, receiver=0x3406ad0, event=0x7fff2c58c7a0) at ../../kdeui/kernel/kapplication.cpp:311
#37 0x00007f59da2b632c in QCoreApplication::notifyInternal (this=0x7fff2c58d700, receiver=0x3406ad0, event=0x7fff2c58c7a0) at kernel/qcoreapplication.cpp:915
#38 0x00007f59d945ebc9 in QKeyMapper::sendKeyEvent (keyWidget=0x3406ad0, grab=<optimized out>, type=QEvent::KeyPress, code=74, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=44, nativeVirtualKey=74, nativeModifiers=1) at kernel/qkeymapper_x11.cpp:1866
#39 0x00007f59d945f03b in QKeyMapperPrivate::translateKeyEvent (this=0x17c31b0, keyWidget=0x3406ad0, event=0x7fff2c58d290, grab=false) at kernel/qkeymapper_x11.cpp:1836
#40 0x00007f59d9439557 in QApplication::x11ProcessEvent (this=0x7fff2c58d700, event=0x7fff2c58d290) at kernel/qapplication_x11.cpp:3625
#41 0x00007f59d9463052 in x11EventSourceDispatch (s=0x1789ac0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#42 0x00007f59d3f7dd13 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f59d3f7e060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f59d3f7e124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f59da2e58bf in QEventDispatcherGlib::processEvents (this=0x1759b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#46 0x00007f59d9462cde in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#47 0x00007f59da2b4e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#48 0x00007f59da2b50b7 in QEventLoop::exec (this=0x7fff2c58d630, flags=...) at kernel/qeventloop.cpp:204
#49 0x00007f59da2ba407 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#50 0x000000000043675c in main (argc=1, argv=0x7fff2c58e1d8) at /home/bandi/install/kile-2.1.3/src/main.cpp:175
Comment 12 hdbmisc 2014-02-19 11:39:59 UTC
quick (and dirty) fix:

commented out the line 1127 in kate/part/vimode/katevinormalmode.cpp

  if (c.column() != -1)
  {
  //  updateCursor( c );
  }

perhaps cursor should never be updated...
Works for me so far
Comment 13 Michal Humpula 2014-02-19 18:49:02 UTC
You have to update the cursor, consider the sequence:
text:
aaa
bbb

command: JrX

result when updating: aaaXbbb
result without update: Xaa bbb

The problem is that you've managed to find situation, where the update is not correct and which I have trouble to replicate:(
Comment 14 Michal Humpula 2014-02-25 19:20:07 UTC
Created attachment 85329 [details]
debug patch

I'm looking at the code and still cannot figure out what is can go wrong. Can you please try to patch the kate with attached patch and send me the output, please?:-) Thanks.
Comment 15 hdbmisc 2014-03-11 18:19:23 UTC
Created attachment 85540 [details]
cmake.log

Hi,

Sorry, I just had some time to do it, writing my thesis (with kile :) )

First, I noticed that I had some warnings while cmake, see attachment.

Also a problematic tex is attached.

Here is the output:

kile(28411)/Kate (On-The-Fly Spellcheck) 
KateOnTheFlyChecker::spellCheckDone: on-the-fly spell check done, queue 
length  0
kile(28411)/Kate (Vi Input Mode) KateViInputModeManager::feedKeyPresses: 
      "<esc>"
kile(28411)/Kate (Vi Input Mode) KateViInputModeManager::feedKeyPresses: 
      Special key: "esc"
kile(28411)/Kate (Vi Input Mode) KateViInputModeManager::feedKeyPresses: 
      "<esc>"
kile(28411)/Kate (Vi Input Mode) KateViInputModeManager::feedKeyPresses: 
      Special key: "esc"
kile(28411)/Kate (Vi Input Mode) KateViInputModeManager::feedKeyPresses: 
      "J"
---- JOIN LINES --- cut here ---
was (0, 63)
kile(28411)/Kate (On-The-Fly Spellcheck) 
KateOnTheFlyChecker::textInserted: added [ (1, 0)  ->  (1, 1) ]
kile(28411)/Kate (On-The-Fly Spellcheck) 
KateOnTheFlyChecker::textRemoved: added [ (0, 64)  ->  (0, 182) ]  [ (0, 
0)  ->  (0, 182) ]
kile(28411)/Kate (On-The-Fly Spellcheck) 
KateOnTheFlyChecker::textInserted: added [ (0, 116)  ->  (1, 0) ]
is (0, -2)
"Results like these of realization theory are of high importance, 
because they allow the exchange of the theoretical
results and the methods of identification and control between the "
ASSERT: "d" in file /usr/include/ksharedptr.h, line 126
KCrash: Application 'kile' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
QSocketNotifier: Invalid socket 21 and type 'Read', disabling...
Unable to start Dr. Konqi
Re-raising signal for Apport handling.
./run.sh: line 11: 28411 Aborted                 (core dumped) $@


On 02/25/2014 07:20 PM, Michal Humpula wrote:
> https://bugs.kde.org/show_bug.cgi?id=331021
>
> --- Comment #14 from Michal Humpula <michal.humpula@seznam.cz> ---
> Created attachment 85329 [details]
>    --> https://bugs.kde.org/attachment.cgi?id=85329&action=edit
> debug patch
>
> I'm looking at the code and still cannot figure out what is can go wrong. Can
> you please try to patch the kate with attached patch and send me the output,
> please?:-) Thanks.
>
Comment 16 hdbmisc 2014-03-11 18:19:30 UTC
Created attachment 85541 [details]
killkile.tex
Comment 17 Michal Humpula 2014-03-13 06:23:43 UTC
Heh... just as I suspected, the cursor updated is invalid. Will look at it further. The worst case scenario, I will add simple check for invalid cursor.
Comment 18 Michal Humpula 2014-03-15 09:00:21 UTC
Created attachment 85586 [details]
fix for the issue

I was going trought the code, but still can't figure out in which circumstances your problem can appear. Attached simple patch should fix the crash though.
Comment 19 Dominik Haumann 2014-03-23 20:48:44 UTC
@Michal: Are you going to commit your patch?

@hdbmisc: Can you confirm the patch fixes your issue?
Comment 20 Michal Humpula 2014-03-23 20:57:28 UTC
Need confirmation, and since I can't reproduce it and write a test for it, the confirmation has to come from the one, who is experiencing the issue:)
Comment 21 Miquel Sabaté 2014-03-24 20:25:04 UTC
Git commit b85017fc3ea5ded616450b0afa0e8c2165384b5d by Miquel Sabaté.
Committed on 24/03/2014 at 20:15.
Pushed by mssola into branch 'master'.

vimode: fixed crash when joining lines that do not fit a static word wrap.
Related: bug 332523
REVIEW: 117029
FIXED-IN: 4.12.4

M  +1    -2    part/vimode/katevinormalmode.cpp
M  +7    -0    tests/vimode_test.cpp

http://commits.kde.org/kate/b85017fc3ea5ded616450b0afa0e8c2165384b5d
Comment 22 Miquel Sabaté 2014-03-24 20:49:29 UTC
Git commit 02cdf4e9b795390b97e672512232bd324f1b54cc by Miquel Sabaté.
Committed on 24/03/2014 at 20:48.
Pushed by mssola into branch 'master'.

vimode: fixed crash when joining lines that do not fit a static word wrap.
Related: bug 332523
REVIEW: 117029

M  +7    -0    autotests/src/vimode_test.cpp
M  +1    -1    src/vimode/katevinormalmode.cpp

http://commits.kde.org/ktexteditor/02cdf4e9b795390b97e672512232bd324f1b54cc
Comment 23 hdbmisc 2014-03-24 21:27:47 UTC
Thanks for the fix, I can't check it right now, but will do it as soon 
as possible.

On 03/23/2014 08:57 PM, Michal Humpula wrote:
> https://bugs.kde.org/show_bug.cgi?id=331021
>
> --- Comment #20 from Michal Humpula <michal.humpula@seznam.cz> ---
> Need confirmation, and since I can't reproduce it and write a test for it, the
> confirmation has to come from the one, who is experiencing the issue:)
>
Comment 24 hdbmisc 2014-03-31 14:26:42 UTC
Thanks, the patch works fine, no more crashes.

However I just noticed, that the cursor placement is not correct sometimes, this might be because of word wrap is set.
Comment 25 Miquel Sabaté 2014-03-31 17:47:27 UTC
Hi there. The way I've written the patch: the cursor won't be moved if the whole resulting line does not fit inside the word wrap limit. I don't use the word wrap option, so maybe I'm  wrong here. Is this the expected behavior ? :)
Comment 26 hdbmisc 2014-03-31 19:07:28 UTC
Well, I see that the patch solves the cursor being moved to invalid 
position, and there is no more crash.
The original problem however might be that the position is 
mis-calculated. I compared some cases with the vim editor, and the 
cursor placement differs. Anyway, it might be better to open a new bug 
for this.

On 03/31/2014 06:47 PM, Miquel Sabaté wrote:
> https://bugs.kde.org/show_bug.cgi?id=331021
>
> Miquel Sabaté <mikisabate@gmail.com> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                   CC|                            |mikisabate@gmail.com
>
> --- Comment #25 from Miquel Sabaté <mikisabate@gmail.com> ---
> Hi there. The way I've written the patch: the cursor won't be moved if the
> whole resulting line does not fit inside the word wrap limit. I don't use the
> word wrap option, so maybe I'm  wrong here. Is this the expected behavior ? :)
>
Comment 27 Miquel Sabaté 2014-03-31 19:18:51 UTC
Ah, ok I see. Sure, you can open a new bug report for this. I'm not going to have a lot of spare time in the following weeks, so let's hope that it's an easy fix. Thanks for your time :)