Bug 274373

Summary: Kate crashes when I navigate into file with arrow keys in command mode
Product: [Applications] kate Reporter: Leandro Santiago da Silva <leandrosansilva>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: leandrosansilva
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: GDB Output

Description Leandro Santiago da Silva 2011-05-28 20:10:51 UTC
Application: kate (3.6.2)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-23-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
I switched to command mode (esc). 
I navigated into file (from top to bottom or from bottom to top) using arrow keys.

This crash doesn't happen when I'm in the edit mode.

The crash can be reproduced every time.

-- Backtrace:
Application: Kate (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0xb76f9930 (LWP 4876))]

Thread 3 (Thread 0xb2e01b70 (LWP 4877)):
#0  0x009dce36 in clock_gettime (clock_id=10358772, tp=0xb2e00f90) at ../sysdeps/unix/clock_gettime.c:100
#1  0x0071450b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x007eb6e5 in QTimerInfoList::updateCurrentTime (this=0x9e0dcb4) at kernel/qeventdispatcher_unix.cpp:339
#4  0x007eb72a in QTimerInfoList::timerWait (this=0x9e0dcb4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x007e97a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb2e010bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x007e983d in timerSourcePrepare (source=0x0, timeout=0x9e0ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x01796e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x01797279 in ?? () from /lib/libglib-2.0.so.0
#9  0x01797848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x007e959f in QEventDispatcherGlib::processEvents (this=0x9e0dbc8, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x007b9609 in QEventLoop::processEvents (this=0xb2e01290, flags=) at kernel/qeventloop.cpp:149
#12 0x007b9a8a in QEventLoop::exec (this=0xb2e01290, flags=...) at kernel/qeventloop.cpp:201
#13 0x006b5b7e in QThread::exec (this=0x9e02640) at thread/qthread.cpp:490
#14 0x0079835b in QInotifyFileSystemWatcherEngine::run (this=0x9e02640) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x006b8df9 in QThreadPrivate::start (arg=0x9e02640) at thread/qthread_unix.cpp:266
#16 0x01e6fcc9 in start_thread (arg=0xb2e01b70) at pthread_create.c:304
#17 0x07c5269e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb25dbb70 (LWP 4879)):
#0  0x0097b832 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x01e744dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0x07c5fd9d in __pthread_cond_wait (cond=0x210e290, mutex=0x210e278) at forward.c:139
#3  0x0200a877 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x21091a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x0200a8c1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x21091a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x01e6fcc9 in start_thread (arg=0xb25dbb70) at pthread_create.c:304
#6  0x07c5269e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb76f9930 (LWP 4876)):
[KCrash Handler]
#7  0x0097b832 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#8  0x07bac941 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0x07bafe42 in abort () at abort.c:92
#10 0x006af2dc in qt_message_output (msgType=QtFatalMsg, buf=0xa628c68 "ASSERT: \"d\" in file /usr/include/ksharedptr.h, line 126") at global/qglobal.cpp:2259
#11 0x006af4aa in qt_message (msgType=<value optimized out>, msg=0x827a7c "ASSERT: \"%s\" in file %s, line %d", ap=0xbfc57094 "\033\237\370\004\064\360\366\004~") at global/qglobal.cpp:2305
#12 0x006af5b9 in qFatal (msg=0x827a7c "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2488
#13 0x006af645 in qt_assert (assertion=0x4f89f1b "d", file=0x4f6f034 "/usr/include/ksharedptr.h", line=126) at global/qglobal.cpp:2004
#14 0x04e6fb70 in KSharedPtr<KateLineLayout>::operator-> (this=0xbfc5710c) at /usr/include/ksharedptr.h:126
#15 0x04e73433 in KateLayoutCache::viewLine (this=0xa5ef790, realCursor=...) at /home/tenchi/projects/kdevelop/kate/part/render/katelayoutcache.cpp:387
#16 0x04e738ac in KateLayoutCache::textLayout (this=0xa5ef790, realCursor=...) at /home/tenchi/projects/kdevelop/kate/part/render/katelayoutcache.cpp:336
#17 0x04ecdfe1 in KateViewInternal::updateCursor (this=0x9e40148, newCursor=..., force=false, center=false, calledExternally=false) at /home/tenchi/projects/kdevelop/kate/part/view/kateviewinternal.cpp:1854
#18 0x04ee8d1f in KateViModeBase::updateCursor (this=0xa5ff118, c=...) at /home/tenchi/projects/kdevelop/kate/part/vimode/katevimodebase.cpp:666
#19 0x04ef82ce in KateViNormalMode::goToPos (this=0xa5ff118, r=...) at /home/tenchi/projects/kdevelop/kate/part/vimode/katevinormalmode.cpp:404
#20 0x04ef9605 in KateViNormalMode::handleKeypress (this=0xa5ff118, e=0xbfc57b74) at /home/tenchi/projects/kdevelop/kate/part/vimode/katevinormalmode.cpp:281
#21 0x04ee7a5e in KateViInputModeManager::handleKeypress (this=0xa211920, e=0xbfc57b74) at /home/tenchi/projects/kdevelop/kate/part/vimode/kateviinputmodemanager.cpp:79
#22 0x04eccbb4 in KateViewInternal::keyPressEvent (this=0x9e40148, e=0xbfc57b74) at /home/tenchi/projects/kdevelop/kate/part/view/kateviewinternal.cpp:2266
#23 0x04ecb9e6 in KateViewInternal::eventFilter (this=0x9e40148, obj=0x9e40148, e=0xbfc57b74) at /home/tenchi/projects/kdevelop/kate/part/view/kateviewinternal.cpp:2151
#24 0x007ba29a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9a597a8, receiver=0x9e40148, event=0xbfc57b74) at kernel/qcoreapplication.cpp:847
#25 0x00db8fb9 in QApplicationPrivate::notify_helper (this=0x9a597a8, receiver=0x9e40148, e=0xbfc57b74) at kernel/qapplication.cpp:4392
#26 0x00dc0ac9 in QApplication::notify (this=0xbfc58638, receiver=0x9e40148, e=0xbfc57b74) at kernel/qapplication.cpp:3857
#27 0x0046882a in KApplication::notify (this=0xbfc58638, receiver=0x9e40148, event=0xbfc57b74) at ../../kdeui/kernel/kapplication.cpp:311
#28 0x007bab3b in QCoreApplication::notifyInternal (this=0xbfc58638, receiver=0x9e40148, event=0xbfc57b74) at kernel/qcoreapplication.cpp:732
#29 0x00db8b9e in sendSpontaneousEvent (receiver=0x9e40148, event=0x6) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#30 qt_sendSpontaneousEvent (receiver=0x9e40148, event=0x6) at kernel/qapplication.cpp:5388
#31 0x00e7569d in QKeyMapper::sendKeyEvent (keyWidget=0x9e40148, grab=false, type=QEvent::KeyPress, code=16777237, modifiers=..., text=..., autorepeat=<value optimized out>, count=<value optimized out>, nativeScanCode=116, nativeVirtualKey=65364, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1867
#32 0x00e77b49 in QKeyMapperPrivate::translateKeyEvent (this=0x9a6c2f8, keyWidget=0x9e40148, event=0xbfc5823c, grab=false) at kernel/qkeymapper_x11.cpp:1837
#33 0x00e4b387 in QApplication::x11ProcessEvent (this=0xbfc58638, event=0xbfc5823c) at kernel/qapplication_x11.cpp:3429
#34 0x00e7b36a in x11EventSourceDispatch (s=0x9a5bf60, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#35 0x01793855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#36 0x01797668 in ?? () from /lib/libglib-2.0.so.0
#37 0x01797848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#38 0x007e9565 in QEventDispatcherGlib::processEvents (this=0x9a0eb88, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#39 0x00e7abe5 in QGuiEventDispatcherGlib::processEvents (this=0x9a0eb88, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x007b9609 in QEventLoop::processEvents (this=0xbfc58534, flags=) at kernel/qeventloop.cpp:149
#41 0x007b9a8a in QEventLoop::exec (this=0xbfc58534, flags=...) at kernel/qeventloop.cpp:201
#42 0x007be00f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#43 0x00db7e07 in QApplication::exec () at kernel/qapplication.cpp:3672
#44 0x086016e3 in kdemain (argc=2, argv=0x99f9008) at /home/tenchi/projects/kdevelop/kate/kate/app/katemain.cpp:377
#45 0x0804e739 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=1, envs=0x99f8be1 "DISPLAY=:0.0", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x99f8bf2 "jurai;1306605837;457586;2583_TIME79264366") at ../../kinit/kinit.cpp:746
#46 0x0804f46e in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at ../../kinit/kinit.cpp:1238
#47 0x0804f990 in handle_requests (waitForPid=<value optimized out>) at ../../kinit/kinit.cpp:1431
#48 0x08050627 in main (argc=4, argv=0xbfc595b4, envp=0xbfc595c8) at ../../kinit/kinit.cpp:1919

Reported using DrKonqi
Comment 1 Milian Wolff 2011-05-28 23:28:03 UTC

*** This bug has been marked as a duplicate of bug 274280 ***
Comment 2 Leandro Santiago da Silva 2011-05-29 20:25:02 UTC
Created attachment 60442 [details]
GDB Output
Comment 3 Leandro Santiago da Silva 2011-05-29 20:27:31 UTC
I don't know if it helps, but I tried to execute kate from a empty and new file.
I just opened kate and, with vim command mode enabled, I pressed the "down" arrow key.

Via gdb, I got this output:

kate(2202)/Kate (Vi Input Mode) KateViNormalMode::handleKeypress: No command given, going to position ( 0 , -1 )
ASSERT: "d" in file /usr/include/ksharedptr.h, line 126

I'm also sending a "bt full" gdb output.