Bug 325133

Summary: Crash after hitting CTRL+SHIFT+_
Product: [Applications] kate Reporter: Eric Moyer <eric_moyer>
Component: partAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: xtsimpouris
Priority: NOR Keywords: drkonqi
Version: 3.10.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.11
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Eric Moyer 2013-09-21 02:53:42 UTC
Application: kile (2.1.3)
KDE Platform Version: 4.10.5
Qt Version: 4.8.4
Operating System: Linux 3.8.0-30-generic i686
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:

I was typing in Kile editing a single-file tex document. I made a mistake and my emacs reflexes kicked in and I hit CTRL+SHIFT+_ for undo. Crash!

- Unusual behavior I noticed:

Just before the crash my entire document disappeared (though the window remained open) and what appeared to be the article template appeared in its place.

The bug-reporting druid recommended the closed bug 259857 of Kate as a potential duplicate (Kate crashing with a backspace). Since this did not involve a backspace and that bug is supposedly fixed, I decided to submit this report.

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

Thread 4 (Thread 0xb10ffb40 (LWP 20436)):
#0  0xb77c6424 in __kernel_vsyscall ()
#1  0xb5624dcb in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xb48f72db in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb48e86d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb48e8c2b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb26d1bca in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6  0xb490dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb49b2d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb56343de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xaf474b40 (LWP 20437)):
#0  0xb49b5bf0 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0xb5641fc4 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0xb492bd70 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb48e883b in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb64f8c3f in QEventDispatcherGlib::processEvents (this=0xaeb00468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0xb64c53ec in QEventLoop::processEvents (this=this@entry=0xaf474228, flags=...) at kernel/qeventloop.cpp:149
#6  0xb64c56e1 in QEventLoop::exec (this=this@entry=0xaf474228, flags=...) at kernel/qeventloop.cpp:204
#7  0xb63b0fec in QThread::exec (this=this@entry=0x91277c0) at thread/qthread.cpp:542
#8  0xb64a4f2d in QInotifyFileSystemWatcherEngine::run (this=0x91277c0) at io/qfilesystemwatcher_inotify.cpp:256
#9  0xb63b3b18 in QThreadPrivate::start (arg=0x91277c0) at thread/qthread_unix.cpp:338
#10 0xb49b2d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#11 0xb56343de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xadb93b40 (LWP 20501)):
#0  0xb77c6424 in __kernel_vsyscall ()
#1  0xb49b684b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb5641d7c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4f680ad in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#4  0xb4f680df in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#5  0xb49b2d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0xb56343de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb3f4a980 (LWP 20424)):
[KCrash Handler]
#7  KateLineLayout::viewLineCount (this=this@entry=0x0) at ../../part/render/katelinelayout.cpp:173
#8  0xaf72bc80 in KateLineLayout::viewLine (this=0x0, viewLine=viewLine@entry=-1) at ../../part/render/katelinelayout.cpp:179
#9  0xaf727dad in KateLayoutCache::textLayout (this=0x9cd60c0, realLine=157, _viewLine=-1) at ../../part/render/katelayoutcache.cpp:355
#10 0xaf77f268 in KateViewInternal::previousLayout (this=this@entry=0x9d8b6d0) at ../../part/view/kateviewinternal.cpp:1261
#11 0xaf78984d in KateViewInternal::cursorUp (this=0x9d8b6d0, sel=sel@entry=false) at ../../part/view/kateviewinternal.cpp:1429
#12 0xaf769159 in KateView::up (this=this@entry=0x9ba12a0) at ../../part/view/kateview.cpp:2573
#13 0xaf77ad04 in qt_static_metacall (_a=0xbfbbaf68, _id=69, _o=0x9ba12a0, _c=<optimized out>) at ./kateview.moc:353
#14 KateView::qt_static_metacall (_o=0x9ba12a0, _c=QMetaObject::InvokeMetaMethod, _id=69, _a=0xbfbbaf68) at ./kateview.moc:266
#15 0xb64dcb56 in QMetaObject::activate (sender=sender@entry=0x9dd6668, m=m@entry=0xb62ad398 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0xbfbbaf68) at kernel/qobject.cpp:3539
#16 0xb59304cd in QAction::triggered (this=this@entry=0x9dd6668, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#17 0xb5931a7c in QAction::activate (this=0x9dd6668, event=QAction::Trigger) at kernel/qaction.cpp:1257
#18 0xb5931c24 in QAction::event (this=0x9dd6668, e=0x0) at kernel/qaction.cpp:1183
#19 0xb69e9349 in KAction::event (this=0x9dd6668, event=0xbfbbb408) at ../../kdeui/actions/kaction.cpp:131
#20 0xb5937c7c in QApplicationPrivate::notify_helper (this=0x8df6ee8, receiver=0x9dd6668, e=0xbfbbb408) at kernel/qapplication.cpp:4567
#21 0xb593ab94 in QApplication::notify (this=0xbfbbb408, receiver=0x9dd6668, e=0xbfbbb408) at kernel/qapplication.cpp:3949
#22 0xb6ae3491 in KApplication::notify (this=0xbfbbc3a0, receiver=0x9dd6668, event=0xbfbbb408) at ../../kdeui/kernel/kapplication.cpp:311
#23 0xb64c690e in QCoreApplication::notifyInternal (this=0xbfbbc3a0, receiver=0x9dd6668, event=event@entry=0xbfbbb408) at kernel/qcoreapplication.cpp:946
#24 0xb5970f0f in sendEvent (event=0xbfbbb408, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#25 QShortcutMap::dispatchEvent (this=this@entry=0x8df6f90, e=e@entry=0xbfbbb878) at kernel/qshortcutmap.cpp:884
#26 0xb59713bd in QShortcutMap::tryShortcutEvent (this=0x8df6f90, o=0x9d8b6d0, e=0xbfbbb878) at kernel/qshortcutmap.cpp:364
#27 0xb593cbf4 in QApplication::notify (this=0x9d8b6d0, receiver=0x9d8b6d0, e=0xbfbbb878) at kernel/qapplication.cpp:3991
#28 0xb6ae3491 in KApplication::notify (this=0xbfbbc3a0, receiver=0x9d8b6d0, event=0xbfbbb878) at ../../kdeui/kernel/kapplication.cpp:311
#29 0xb64c690e in QCoreApplication::notifyInternal (this=0xbfbbc3a0, receiver=receiver@entry=0x9d8b6d0, event=event@entry=0xbfbbb878) at kernel/qcoreapplication.cpp:946
#30 0xb593624d in sendSpontaneousEvent (event=0xbfbbb878, receiver=0x9d8b6d0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#31 qt_sendSpontaneousEvent (receiver=0x9d8b6d0, event=0xbfbbb878) at kernel/qapplication.cpp:5565
#32 0xb59ebb82 in QKeyMapper::sendKeyEvent (keyWidget=0x9d8b6d0, grab=grab@entry=false, type=QEvent::KeyPress, code=16777235, modifiers=..., text=..., autorepeat=autorepeat@entry=false, count=-1078216584, nativeScanCode=2945216684, nativeVirtualKey=2945216684, nativeModifiers=2945216684) at kernel/qkeymapper_x11.cpp:1866
#33 0xb59ebfb2 in QKeyMapperPrivate::translateKeyEvent (this=0x8e28320, keyWidget=0x9d8b6d0, event=0xbfbbbe4c, grab=false) at kernel/qkeymapper_x11.cpp:1836
#34 0xb59bed98 in QApplication::x11ProcessEvent (this=0xbfbbc3a0, event=0xbfbbbe4c) at kernel/qapplication_x11.cpp:3639
#35 0xb59ee904 in x11EventSourceDispatch (s=0x8df5738, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#36 0xb48e83b3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#37 0xb48e8750 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#38 0xb48e8831 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#39 0xb64f8c21 in QEventDispatcherGlib::processEvents (this=this@entry=0x8dcbef8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#40 0xb59eea0a in QGuiEventDispatcherGlib::processEvents (this=0x8dcbef8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0xb64c53ec in QEventLoop::processEvents (this=this@entry=0xbfbbc148, flags=...) at kernel/qeventloop.cpp:149
#42 0xb64c56e1 in QEventLoop::exec (this=this@entry=0xbfbbc148, flags=...) at kernel/qeventloop.cpp:204
#43 0xb64cb3fa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#44 0xb5935fc4 in QApplication::exec () at kernel/qapplication.cpp:3828
#45 0x080facd1 in ?? ()
#46 0xb555c935 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#47 0x08072381 in _start ()

Possible duplicates by query: bug 259857.

Reported using DrKonqi
Comment 1 Christoph Feck 2013-09-21 12:39:39 UTC
Related to bug 320825. Is this crash reproducible?
Comment 2 Eric Moyer 2013-09-21 13:34:11 UTC
I haven't been able to reproduce the crash so far on my own machine. 

(Though I found out why the "article template" appeared.  CTRL+SHIFT+_  is the shortcut for "collapse all toplevel nodes" - so I only saw the formatting preamble of my document - which is very close to the article template.)
Comment 3 xtsimpouris 2013-10-07 17:44:11 UTC
Created attachment 82704 [details]
New crash information added by DrKonqi

kate (3.10.5) on KDE Platform 4.10.5 using Qt 4.8.4

- What I was doing when the application crashed:

I followed the following procedure multiple times.
1. I just opened a file
2. Ctrl-End to go the end of file
3. Ctrl-Shift-- To fold everything
(At this point, probably Kate has already crashed or it has entered a wrong state as cursor stops to blink)
4. Click 'Up'
5. Kate crashes

It doesn't seem to crash when after 3, I just click somewhere else with the mouse to move the cursor

-- Backtrace (Reduced):
#7  KateLineLayout::viewLineCount (this=this@entry=0x0) at ../../part/render/katelinelayout.cpp:173
#8  0xb0bf3c80 in KateLineLayout::viewLine (this=0x0, viewLine=viewLine@entry=-1) at ../../part/render/katelinelayout.cpp:179
#9  0xb0befdad in KateLayoutCache::textLayout (this=0x8bb14a0, realLine=2124, _viewLine=-1) at ../../part/render/katelayoutcache.cpp:355
#10 0xb0c47268 in KateViewInternal::previousLayout (this=this@entry=0x8bb5ce8) at ../../part/view/kateviewinternal.cpp:1261
#11 0xb0c5184d in KateViewInternal::cursorUp (this=0x8bb5ce8, sel=sel@entry=false) at ../../part/view/kateviewinternal.cpp:1429
Comment 4 Eric Moyer 2013-10-07 19:11:13 UTC
(In reply to comment #3)
> Created attachment 82704 [details]
> New crash information added by DrKonqi
> 
> kate (3.10.5) on KDE Platform 4.10.5 using Qt 4.8.4
> 
> - What I was doing when the application crashed:
> 
> I followed the following procedure multiple times.
> 1. I just opened a file
> 2. Ctrl-End to go the end of file
> 3. Ctrl-Shift-- To fold everything
> (At this point, probably Kate has already crashed or it has entered a wrong
> state as cursor stops to blink)
> 4. Click 'Up'
> 5. Kate crashes
> 
> It doesn't seem to crash when after 3, I just click somewhere else with the
> mouse to move the cursor

I performed the same steps as DrKonqi under Kile and repeatably get the same crash. (Click "Up" means hit the up-arrow key)

Going the end of the document can be accomplished by other means than CTRL+End (I tried cursoring there and clicking the mouse) and the crash still occurs.

The crash did not occur if I typed letters before hitting the up-arrow key. It did not occur if i typed a left or a right arrow key before hitting the up-arrow. It still occurred if I typed the down arrow before hitting the up arrow.
Comment 5 Dominik Haumann 2013-10-08 09:18:30 UTC
This is a known issue and fixed in KDE 4.11. Please update.

*** This bug has been marked as a duplicate of bug 311866 ***