Bug 242682

Summary: Kile crashes on Undo
Product: [Applications] kate Reporter: Thomas Damgaard <thomasdn>
Component: partAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 0.2   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Thomas Damgaard 2010-06-24 14:24:14 UTC
Application: kile (2.0.85)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-22-generic i686
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
I was writing some text. I then noticed a mistake and pressed Ctrl+Z to undo. This caused Kile to crash.

I had the following options enabled that might be related:
 * Automatic spell checking
 * Static line wrapping (the crash happened just after a line wrap.)


 -- Backtrace:
Application: Kile (kile), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7782710 (LWP 10131))]

Thread 2 (Thread 0xb4fceb70 (LWP 10132)):
#0  0x00be7e16 in *__GI_clock_gettime (clock_id=12500980, tp=0xb4fcdfb8) at ../sysdeps/unix/clock_gettime.c:100
#1  0x013676fb in qt_gettime () at kernel/qcore_unix.cpp:111
#2  0x0136c825 in QTimerInfoList::updateCurrentTime (this=0x9cc2c44) at kernel/qeventdispatcher_unix.cpp:340
#3  0x0136c86a in QTimerInfoList::timerWait (this=0x9cc2c44, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#4  0x0136a818 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb4fce0cc) at kernel/qeventdispatcher_glib.cpp:136
#5  0x0136a8a5 in timerSourcePrepare (source=0x0, timeout=0xbebff4) at kernel/qeventdispatcher_glib.cpp:169
#6  0x015ecaca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#7  0x015ecee9 in ?? () from /lib/libglib-2.0.so.0
#8  0x015ed4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#9  0x0136a60f in QEventDispatcherGlib::processEvents (this=0x9cc1040, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#10 0x0133d059 in QEventLoop::processEvents (this=0xb4fce290, flags=) at kernel/qeventloop.cpp:149
#11 0x0133d4aa in QEventLoop::exec (this=0xb4fce290, flags=...) at kernel/qeventloop.cpp:201
#12 0x012395a8 in QThread::exec (this=0x9cc1140) at thread/qthread.cpp:487
#13 0x0131cc1b in QInotifyFileSystemWatcherEngine::run (this=0x9cc1140) at io/qfilesystemwatcher_inotify.cpp:248
#14 0x0123c32e in QThreadPrivate::start (arg=0x9cc1140) at thread/qthread_unix.cpp:248
#15 0x0011596e in start_thread (arg=0xb4fceb70) at pthread_create.c:300
#16 0x01521a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb7782710 (LWP 10131)):
[KCrash Handler]
#6  KateSmartCursor (this=0xa9b5fd8, position=..., doc=0x9f8e628, insertBehavior=KTextEditor::SmartCursor::MoveOnInsert) at ../../kate/smart/katesmartcursor.cpp:50
#7  0x01b2232c in KateSmartRange (this=0xaa77310, range=..., doc=0x9f8e628, parent=0x0, insertBehavior=...) at ../../kate/smart/katesmartrange.cpp:36
#8  0x01b28141 in KateSmartManager::newSmartRange (this=0x983a538, range=..., parent=0x0, insertBehavior=..., internal=false) at ../../kate/smart/katesmartmanager.cpp:211
#9  0x01aafaa8 in KateDocument::newSmartRange (this=0x9f8e628, range=..., parent=0x0, insertBehavior=...) at ../../kate/document/katedocument.cpp:4834
#10 0x01bc8a7b in KateOnTheFlyChecker::textRemoved (this=0xa3b1ad8, document=0x9f8e628, range=...) at ../../kate/spellcheck/ontheflycheck.cpp:262
#11 0x01bca8c5 in KateOnTheFlyChecker::qt_metacall (this=0xa3b1ad8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbf928ae4) at ./ontheflycheck.moc:113
#12 0x01343c9a in QMetaObject::metacall (object=0xa3b1ad8, cl=173522944, idx=5, argv=0xbf928ae4) at kernel/qmetaobject.cpp:237
#13 0x013523d5 in QMetaObject::activate (sender=0x9f8e628, m=0xf52830, local_signal_index=7, argv=0xbf928ae4) at kernel/qobject.cpp:3293
#14 0x00f3d4d9 in KTextEditor::Document::textRemoved (this=0x9f8e628, _t1=0x9f8e628, _t2=...) at ./document.moc:176
#15 0x01ac3971 in KateDocument::editUnWrapLine (this=0x9f8e628, line=35, removeLine=<value optimized out>, length=8) at ../../kate/document/katedocument.cpp:1377
#16 0x01ae3676 in KateEditWrapLineUndo::undo (this=0xac3bf48) at ../../kate/undo/kateundo.cpp:107
#17 0x01ae2fc1 in KateUndoGroup::undo (this=0xaa64608) at ../../kate/undo/kateundo.cpp:215
#18 0x01ae48bd in KateUndoManager::undo (this=0x97c8260) at ../../kate/undo/kateundomanager.cpp:232
#19 0x01ad435b in KateDocument::undo (this=0x9f8e628, _c=QMetaObject::InvokeMetaMethod, _id=40, _a=0xbf928dc8) at ../../kate/document/katedocument.cpp:1534
#20 KateDocument::qt_metacall (this=0x9f8e628, _c=QMetaObject::InvokeMetaMethod, _id=40, _a=0xbf928dc8) at ./katedocument.moc:346
#21 0x01343c9a in QMetaObject::metacall (object=0x9f8e628, cl=173522944, idx=72, argv=0xbf928dc8) at kernel/qmetaobject.cpp:237
#22 0x013523d5 in QMetaObject::activate (sender=0xa4d7a00, m=0x5177d58, local_signal_index=1, argv=0xbf928dc8) at kernel/qobject.cpp:3293
#23 0x04848bd9 in QAction::triggered (this=0xa4d7a00, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#24 0x0484adcc in QAction::activate (this=0xa4d7a00, event=QAction::Trigger) at kernel/qaction.cpp:1255
#25 0x0484c698 in QAction::event (this=0x24, e=0x0) at kernel/qaction.cpp:1181
#26 0x02fdbd63 in KAction::event (this=0xa4d7a00, event=0xbf9292e8) at ../../kdeui/actions/kaction.cpp:129
#27 0x0484f4dc in QApplicationPrivate::notify_helper (this=0x978fb10, receiver=0xa4d7a00, e=0xbf9292e8) at kernel/qapplication.cpp:4300
#28 0x0485605e in QApplication::notify (this=0xbf92a1dc, receiver=0xa4d7a00, e=0xbf9292e8) at kernel/qapplication.cpp:3704
#29 0x030c7f2a in KApplication::notify (this=0xbf92a1dc, receiver=0xa4d7a00, event=0xbf9292e8) at ../../kdeui/kernel/kapplication.cpp:302
#30 0x0133ea3b in QCoreApplication::notifyInternal (this=0xbf92a1dc, receiver=0xa4d7a00, event=0xbf9292e8) at kernel/qcoreapplication.cpp:704
#31 0x0489134d in QCoreApplication::sendEvent (this=0x978fbbc, e=0xbf929764) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#32 QShortcutMap::dispatchEvent (this=0x978fbbc, e=0xbf929764) at kernel/qshortcutmap.cpp:879
#33 0x0489315e in QShortcutMap::tryShortcutEvent (this=0x978fbbc, o=0x9fab308, e=0xbf929764) at kernel/qshortcutmap.cpp:364
#34 0x04857e43 in QApplication::notify (this=0xbf92a1dc, receiver=0x9fab308, e=0xbf929764) at kernel/qapplication.cpp:3746
#35 0x030c7f2a in KApplication::notify (this=0xbf92a1dc, receiver=0x9fab308, event=0xbf929764) at ../../kdeui/kernel/kapplication.cpp:302
#36 0x0133ea3b in QCoreApplication::notifyInternal (this=0xbf92a1dc, receiver=0x9fab308, event=0xbf929764) at kernel/qcoreapplication.cpp:704
#37 0x048502be in QCoreApplication::sendSpontaneousEvent (receiver=0x9fab308, event=0x24) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#38 qt_sendSpontaneousEvent (receiver=0x9fab308, event=0x24) at kernel/qapplication.cpp:5279
#39 0x04909d90 in QKeyMapper::sendKeyEvent (keyWidget=0x9fab308, grab=false, type=QEvent::KeyPress, code=90, modifiers=..., text=..., autorepeat=<value optimized out>, count=<value optimized out>, 
    nativeScanCode=52, nativeVirtualKey=122, nativeModifiers=4) at kernel/qkeymapper_x11.cpp:1861
#40 0x0490c2f5 in QKeyMapperPrivate::translateKeyEvent (this=0x97b9b98, keyWidget=0x9fab308, event=0xbf929e2c, grab=false) at kernel/qkeymapper_x11.cpp:1831
#41 0x048df757 in QApplication::x11ProcessEvent (this=0xbf92a1dc, event=0xbf929e2c) at kernel/qapplication_x11.cpp:3394
#42 0x0490f60a in x11EventSourceDispatch (s=0x97929e8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#43 0x015e95e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#44 0x015ed2d8 in ?? () from /lib/libglib-2.0.so.0
#45 0x015ed4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#46 0x0136a5d5 in QEventDispatcherGlib::processEvents (this=0x9772c60, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#47 0x0490f135 in QGuiEventDispatcherGlib::processEvents (this=0x9772c60, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x0133d059 in QEventLoop::processEvents (this=0xbf92a124, flags=) at kernel/qeventloop.cpp:149
#49 0x0133d4aa in QEventLoop::exec (this=0xbf92a124, flags=...) at kernel/qeventloop.cpp:201
#50 0x0134169f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#51 0x0484f577 in QApplication::exec () at kernel/qapplication.cpp:3579
#52 0x081f7af3 in _start ()

Possible duplicates by query: bug 240083, bug 239970, bug 239002, bug 211473, bug 200285.

Reported using DrKonqi
Comment 1 Michel Ludwig 2010-06-26 18:01:10 UTC
This is "fixed" for the upcoming KDE 4.5 by getting rid of SmartRanges.