Bug 232183

Summary: kate (vi mode set) crashes while moving cursor
Product: [Applications] kate Reporter: Pol <xtekhne>
Component: Vi Input ModeAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: michal.humpula
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Pol 2010-03-26 07:40:29 UTC
Application: kate (3.4.1)
KDE Platform Version: 4.4.1 (KDE 4.4.1)
Qt Version: 4.6.2
Operating System: Linux 2.6.31-20-generic i686
Distribution: Ubuntu 9.10

-- Information about the crash:
kate (vi mode set) crashes while i was moving cursor 

 -- Backtrace:
Application: Kate (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7849980 (LWP 2311))]

Thread 2 (Thread 0xb5057b70 (LWP 2361)):
#0  0x00878422 in __kernel_vsyscall ()
#1  0x00768e15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0316a887 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x32431a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#3  0x0316a8d1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x32431a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#4  0x0076480e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5  0x0827b8de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb7849980 (LWP 2311)):
[KCrash Handler]
#6  0x02cfaa4a in KateSmartCursor::setPositionInternal (this=0xa50b028, pos=..., internal=false) at ../../kate/smart/katesmartcursor.cpp:186
#7  0x02cfb175 in KateSmartCursor::setPosition (this=0xa50b028, pos=...) at ../../kate/smart/katesmartcursor.cpp:415
#8  0x02d548d6 in KateSmartCursor::operator= (this=0xa50afd8, newCursor=..., force=false, center=false, calledExternally=false) at ../../kate/smart/katesmartcursor.h:68
#9  KateViewInternal::updateCursor (this=0xa50afd8, newCursor=..., force=false, center=false, calledExternally=false) at ../../kate/view/kateviewinternal.cpp:1910
#10 0x02d6bf4f in KateViModeBase::updateCursor (this=0xa618210, c=...) at ../../kate/vimode/katevimodebase.cpp:576
#11 0x02d72748 in KateViNormalMode::goToPos (this=0xa618210, r=...) at ../../kate/vimode/katevinormalmode.cpp:378
#12 0x02d77d15 in KateViNormalMode::handleKeypress (this=0xa618210, e=0xbf9c37b4) at ../../kate/vimode/katevinormalmode.cpp:255
#13 0x02d6a9de in KateViInputModeManager::handleKeypress (this=0xa414bd0, e=0xbf9c37b4) at ../../kate/vimode/kateviinputmodemanager.cpp:76
#14 0x02d52cdd in KateViewInternal::keyPressEvent (this=0xa50afd8, e=0xbf9c37b4) at ../../kate/view/kateviewinternal.cpp:2374
#15 0x02d52099 in KateViewInternal::eventFilter (this=0xa50afd8, obj=0xa50afd8, e=0xbf9c37b4) at ../../kate/view/kateviewinternal.cpp:2261
#16 0x00e3ce8a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9c308f8, receiver=0xa50afd8, event=0xbf9c37b4) at kernel/qcoreapplication.cpp:819
#17 0x010893a9 in QApplicationPrivate::notify_helper (this=0x9c308f8, receiver=0xa50afd8, e=0xbf9c37b4) at kernel/qapplication.cpp:4296
#18 0x01091b09 in QApplication::notify (this=0xbf9c4254, receiver=0xa50afd8, e=0xbf9c37b4) at kernel/qapplication.cpp:3763
#19 0x00a5942a in KApplication::notify (this=0xbf9c4254, receiver=0xa50afd8, event=0xbf9c37b4) at ../../kdeui/kernel/kapplication.cpp:302
#20 0x00e3dbeb in QCoreApplication::notifyInternal (this=0xbf9c4254, receiver=0xa50afd8, event=0xbf9c37b4) at kernel/qcoreapplication.cpp:704
#21 0x0108a2ae in QCoreApplication::sendSpontaneousEvent (receiver=0xa50afd8, event=0x0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#22 qt_sendSpontaneousEvent (receiver=0xa50afd8, event=0x0) at kernel/qapplication.cpp:5279
#23 0x01143800 in QKeyMapper::sendKeyEvent (keyWidget=0xa50afd8, grab=false, type=QEvent::KeyPress, code=74, modifiers=..., text=..., autorepeat=<value optimized out>, count=<value optimized out>, 
    nativeScanCode=44, nativeVirtualKey=106, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1861
#24 0x01145d49 in QKeyMapperPrivate::translateKeyEvent (this=0x9c71100, keyWidget=0xa50afd8, event=0xbf9c3e6c, grab=60) at kernel/qkeymapper_x11.cpp:1831
#25 0x01119477 in QApplication::x11ProcessEvent (this=0xbf9c4254, event=0xbf9c3e6c) at kernel/qapplication_x11.cpp:3394
#26 0x0114900a in x11EventSourceDispatch (s=0x9c32d50, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#27 0x07542e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#28 0x07546730 in ?? () from /lib/libglib-2.0.so.0
#29 0x07546863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#30 0x00e69805 in QEventDispatcherGlib::processEvents (this=0x9c30440, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#31 0x01148b35 in QGuiEventDispatcherGlib::processEvents (this=0x9c30440, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#32 0x00e3c209 in QEventLoop::processEvents (this=0xbf9c4164, flags=) at kernel/qeventloop.cpp:149
#33 0x00e3c65a in QEventLoop::exec (this=0xbf9c4164, flags=...) at kernel/qeventloop.cpp:201
#34 0x00e4084f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#35 0x01089467 in QApplication::exec () at kernel/qapplication.cpp:3579
#36 0x01d3ea25 in kdemain () from /usr/lib/libkdeinit4_kate.so
#37 0x0804dff7 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x9c12807 "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x8051405 "0") at ../../kinit/kinit.cpp:717
#38 0x0804ec15 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at ../../kinit/kinit.cpp:1209
#39 0x0804f08c in handle_requests (waitForPid=<value optimized out>) at ../../kinit/kinit.cpp:1402
#40 0x0804fe2f in main (argc=4, argv=0xbf9c51a4, envp=0xbf9c51b8) at ../../kinit/kinit.cpp:1841

Possible duplicates by query: bug 218657, bug 209855, bug 199716.

Reported using DrKonqi
Comment 1 Erlend Hamberg 2010-03-26 11:18:58 UTC
looks like this could be a bug in the vi mode code. do you happen to remember which command you used when it crashed? (just moving around with hjkl? jumping with gg/G? etc...)

i'm afraid it will be hard to figure out if not, but i will have a look at it.