Bug 236731

Summary: crash in KateSmartCursor::setPosition
Product: [Applications] kate Reporter: Leandro Santiago da Silva <leandrosansilva>
Component: smartAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: christoph
Priority: VHI    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Leandro Santiago da Silva 2010-05-07 18:52:58 UTC
Application: kate (3.4.2)
KDE Platform Version: 4.4.2 (KDE 4.4.2) (Compiled from sources)
Qt Version: 4.6.2
Operating System: Linux 2.6.31-21-generic x86_64
Distribution: Ubuntu 9.10

-- Information about the crash:
Kate crashed when did some 'undo' in an giant (700KB) sql pure text file.

I copied the text content from a phpmyadmin in firefox. I made a search and after an 'undo' with 'u' key, in vim mode input.

Then kate closed.

 -- Backtrace:
Application: Kate (kdeinit4), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7fda45172750 (LWP 5074))]

Thread 2 (Thread 0x7fda2eafb910 (LWP 5076)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fda35342396 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fda35620220) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#2  0x00007fda353423d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fda3562e2ec) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#3  0x00007fda433d7a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fda4219b80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fda45172750 (LWP 5074)):
[KCrash Handler]
#5  KateSmartCursor::setPositionInternal (this=0x12134a0, pos=..., internal=false) at ../../kate/smart/katesmartcursor.cpp:186
#6  0x00007fda359d5629 in KateSmartCursor::setPosition (this=0x12134a0, pos=...) at ../../kate/smart/katesmartcursor.cpp:415
#7  0x00007fda3599dabb in KateUndoGroup::undo (this=0x2299190) at ../../kate/undo/kateundo.cpp:224
#8  0x00007fda3599ec19 in KateUndoManager::undo (this=0xbeda00) at ../../kate/undo/kateundomanager.cpp:232
#9  0x00007fda35a3dfe4 in KateViNormalMode::commandUndo (this=<value optimized out>) at ../../kate/vimode/katevinormalmode.cpp:1096
#10 0x00007fda35a3ebf6 in KateViNormalMode::executeCommand (this=0xc411f0, cmd=0x24d1) at ../../kate/vimode/katevinormalmode.cpp:383
#11 0x00007fda35a45724 in KateViNormalMode::handleKeypress (this=0xc411f0, e=<value optimized out>) at ../../kate/vimode/katevinormalmode.cpp:318
#12 0x00007fda35a39083 in KateViInputModeManager::handleKeypress (this=0x1432f50, e=0x7fffcc52a2d0) at ../../kate/vimode/kateviinputmodemanager.cpp:76
#13 0x00007fda35a23b4c in KateViewInternal::keyPressEvent (this=0x1213420, e=0x7fffcc52a2d0) at ../../kate/view/kateviewinternal.cpp:2374
#14 0x00007fda35a23032 in KateViewInternal::eventFilter (this=0x1213420, obj=0x1213420, e=0x7fffcc52a2d0) at ../../kate/view/kateviewinternal.cpp:2261
#15 0x00007fda4375a227 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x1213420, event=0x7fffcc52a2d0) at kernel/qcoreapplication.cpp:819
#16 0x00007fda428f90fc in QApplicationPrivate::notify_helper (this=0xb4d510, receiver=0x1213420, e=0x7fffcc52a2d0) at kernel/qapplication.cpp:4296
#17 0x00007fda42900ee1 in QApplication::notify (this=<value optimized out>, receiver=0x1213420, e=0x7fffcc52a2d0) at kernel/qapplication.cpp:3763
#18 0x00007fda43ca3076 in KApplication::notify (this=0x7fffcc52b310, receiver=0x1213420, event=0x7fffcc52a2d0) at ../../kdeui/kernel/kapplication.cpp:302
#19 0x00007fda4375ae0c in QCoreApplication::notifyInternal (this=0x7fffcc52b310, receiver=0x1213420, event=0x7fffcc52a2d0) at kernel/qcoreapplication.cpp:704
#20 0x00007fda429a3c1a in QKeyMapper::sendKeyEvent (keyWidget=0x1213420, grab=<value optimized out>, type=QEvent::KeyPress, code=85, modifiers=<value optimized out>, text=..., autorepeat=true, 
    count=1, nativeScanCode=30, nativeVirtualKey=117, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1861
#21 0x00007fda429a6190 in QKeyMapperPrivate::translateKeyEvent (this=0xb93840, keyWidget=0x1213420, event=<value optimized out>, grab=209) at kernel/qkeymapper_x11.cpp:1831
#22 0x00007fda4297d734 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffcc52aea0) at kernel/qapplication_x11.cpp:3394
#23 0x00007fda429a9322 in x11EventSourceDispatch (s=0xb7d270, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#24 0x00007fda3eb70bce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#25 0x00007fda3eb74598 in ?? () from /lib/libglib-2.0.so.0
#26 0x00007fda3eb746c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#27 0x00007fda43784333 in QEventDispatcherGlib::processEvents (this=0xb4e370, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#28 0x00007fda429a8f0e in QGuiEventDispatcherGlib::processEvents (this=0x22991d8, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007fda43759732 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#30 0x00007fda43759b0c in QEventLoop::exec (this=0x7fffcc52b1d0, flags=) at kernel/qeventloop.cpp:201
#31 0x00007fda4375d84b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#32 0x00007fda38f07ead in kdemain () from /usr/lib/libkdeinit4_kate.so
#33 0x0000000000406fb8 in launch (argc=2, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=16, envs=<value optimized out>, reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0xb0bd46 "Jurai;1273248718;697039;2621_TIME13519059") at ../../kinit/kinit.cpp:717
#34 0x0000000000407c70 in handle_launcher_request (sock=8, who=<value optimized out>) at ../../kinit/kinit.cpp:1209
#35 0x0000000000408121 in handle_requests (waitForPid=0) at ../../kinit/kinit.cpp:1402
#36 0x0000000000408e02 in main (argc=4, argv=<value optimized out>, envp=<value optimized out>) at ../../kinit/kinit.cpp:1845
The current source language is "auto; currently asm".
The current source language is "auto; currently c".

Possible duplicates by query: bug 223836.

Reported using DrKonqi
Comment 1 Christoph Cullmann 2010-06-10 17:28:11 UTC
SmartInterface problem, will be fixed in KDE 4.5, by kate part not using smart internally for anything beside code completion and in KDE 4.6 by deletion of this.
Perhaps no optimal solution, but nobody will fix it, sad, but true.
Comment 2 Christoph Cullmann 2010-09-01 17:29:44 UTC
KDE 4.5 is out, the code which does create this problem is inactive there in Kate and even already removed in /trunk for KDE 4.6.