Bug 269223 - Crash when undoing (KateLineLayout::viewLineCount (this=0x0))
Summary: Crash when undoing (KateLineLayout::viewLineCount (this=0x0))
Status: RESOLVED DUPLICATE of bug 247081
Alias: None
Product: kate
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
: 278269 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-03-23 12:58 UTC by João Eiras
Modified: 2011-09-17 19:31 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (9.13 KB, text/plain)
2011-04-18 14:56 UTC, João Eiras
Details
New crash information added by DrKonqi (6.78 KB, text/plain)
2011-07-14 12:05 UTC, Andreas Nordal
Details

Note You need to log in before you can comment on or make changes to this bug.
Description João Eiras 2011-03-23 12:58:30 UTC
Application: kate (3.6.1)
KDE Platform Version: 4.6.1 (4.6.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic-pae i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
* I had ctrl+z pressed and kate was rolling back a really big undo backlog  in a css file with lots of mixed changes everywhere. All the sudden it crashed.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault
[Current thread is 1 (Thread 0xb4d15710 (LWP 11100))]

Thread 4 (Thread 0xb1e91b70 (LWP 11111)):
#0  0xb5374e36 in clock_gettime () from /lib/librt.so.1
#1  0xb617150b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0xb62486e5 in QTimerInfoList::updateCurrentTime (this=0x8e8bf2c) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb624872a in QTimerInfoList::timerWait (this=0x8e8bf2c, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb62467a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb1e910bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb624683d in timerSourcePrepare (source=0x0, timeout=0xb5378ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb5ed9e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0xb5eda279 in ?? () from /lib/libglib-2.0.so.0
#9  0xb5eda848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0xb624659f in QEventDispatcherGlib::processEvents (this=0x8e75258, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0xb6216609 in QEventLoop::processEvents (this=0xb1e91290, flags=) at kernel/qeventloop.cpp:149
#12 0xb6216a8a in QEventLoop::exec (this=0xb1e91290, flags=...) at kernel/qeventloop.cpp:201
#13 0xb6112b7e in QThread::exec (this=0x8e959e8) at thread/qthread.cpp:490
#14 0xb61f535b in QInotifyFileSystemWatcherEngine::run (this=0x8e959e8) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6115df9 in QThreadPrivate::start (arg=0x8e959e8) at thread/qthread_unix.cpp:266
#16 0xb5f84cc9 in start_thread () from /lib/libpthread.so.0
#17 0xb767a69e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb14b0b70 (LWP 11112)):
#0  0xb772b424 in __kernel_vsyscall ()
#1  0xb5f894dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7687d9d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb22a1877 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0xb23a01a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0xb22a18c1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0xb23a01a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0xb5f84cc9 in start_thread () from /lib/libpthread.so.0
#6  0xb767a69e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xaf35cb70 (LWP 11114)):
#0  0xb5374e36 in clock_gettime () from /lib/librt.so.1
#1  0xb617150b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0xb62486e5 in QTimerInfoList::updateCurrentTime (this=0x96124b4) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb624872a in QTimerInfoList::timerWait (this=0x96124b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb62467a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xaf35c0bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb624683d in timerSourcePrepare (source=0x0, timeout=0xb5378ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb5ed9e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0xb5eda279 in ?? () from /lib/libglib-2.0.so.0
#9  0xb5eda848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0xb624659f in QEventDispatcherGlib::processEvents (this=0x8da3e98, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0xb6216609 in QEventLoop::processEvents (this=0xaf35c290, flags=) at kernel/qeventloop.cpp:149
#12 0xb6216a8a in QEventLoop::exec (this=0xaf35c290, flags=...) at kernel/qeventloop.cpp:201
#13 0xb6112b7e in QThread::exec (this=0x9564700) at thread/qthread.cpp:490
#14 0xb61f535b in QInotifyFileSystemWatcherEngine::run (this=0x9564700) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6115df9 in QThreadPrivate::start (arg=0x9564700) at thread/qthread_unix.cpp:266
#16 0xb5f84cc9 in start_thread () from /lib/libpthread.so.0
#17 0xb767a69e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb4d15710 (LWP 11100)):
[KCrash Handler]
#7  KateLineLayout::viewLineCount (this=0x0) at ../../kate/render/katelinelayout.cpp:173
#8  0xb24f86c1 in KateTextLayout::isValid (this=0xb02e088) at ../../kate/render/katetextlayout.cpp:90
#9  0xb24f8b12 in KateTextLayout::line (this=0xb02e088) at ../../kate/render/katetextlayout.cpp:95
#10 0xb2557c61 in KateViewInternal::endPos (this=0xad72bb0) at ../../kate/view/kateviewinternal.cpp:287
#11 0xb255d095 in KateViewInternal::makeVisible (this=0xad72bb0, c=..., endCol=1, force=false, center=true, calledExternally=true) at ../../kate/view/kateviewinternal.cpp:608
#12 0xb255f064 in KateViewInternal::updateCursor (this=0xad72bb0, newCursor=..., force=false, center=false, calledExternally=<value optimized out>) at ../../kate/view/kateviewinternal.cpp:1825
#13 0xb25427db in KateView::setCursorPositionInternal (this=0xae93228, position=..., tabwidth=1, calledExternally=<value optimized out>) at ../../kate/view/kateview.cpp:1114
#14 0xb25429b4 in KateView::setCursorPosition (this=0xae93228, position=...) at ../../kate/view/kateview.cpp:2111
#15 0xb24cd707 in KateUndoGroup::undo (this=0xa6398b0, view=0xae93228) at ../../kate/undo/kateundo.cpp:219
#16 0xb24cea7b in KateUndoManager::undo (this=0xae60be0) at ../../kate/undo/kateundomanager.cpp:240
#17 0xb249f5f3 in KateDocument::undo (this=0xa170d80) at ../../kate/document/katedocument.cpp:1417
#18 0xb24c39dd in KateDocument::qt_metacall (this=0xa170d80, _c=QMetaObject::InvokeMetaMethod, _id=36, _a=0xbfdbc998) at ./katedocument.moc:331
#19 0xb621d8ca in QMetaObject::metacall (object=0xa170d80, cl=164621313, idx=74, argv=0xbfdbc998) at kernel/qmetaobject.cpp:237
#20 0xb62306ad in QMetaObject::activate (sender=0xad15c40, m=0xb758a370, local_signal_index=1, argv=0x0) at kernel/qobject.cpp:3280
#21 0xb6c03f99 in QAction::triggered (this=0xad15c40, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#22 0xb6c058dc in QAction::activate (this=0xad15c40, event=QAction::Trigger) at kernel/qaction.cpp:1256
#23 0xb6c07b68 in QAction::event (this=0xb0050c8, e=0x0) at kernel/qaction.cpp:1182
#24 0xb64b6683 in KAction::event (this=0xad15c40, event=0xbfdbceb8) at ../../kdeui/actions/kaction.cpp:131
#25 0xb6c0bfdc in QApplicationPrivate::notify_helper (this=0x8bd7078, receiver=0xad15c40, e=0xbfdbceb8) at kernel/qapplication.cpp:4396
#26 0xb6c1204e in QApplication::notify (this=0xbfdbddfc, receiver=0xad15c40, e=0xbfdbceb8) at kernel/qapplication.cpp:3798
#27 0xb65d27da in KApplication::notify (this=0xbfdbddfc, receiver=0xad15c40, event=0xbfdbceb8) at ../../kdeui/kernel/kapplication.cpp:311
#28 0xb6217b3b in QCoreApplication::notifyInternal (this=0xbfdbddfc, receiver=0xad15c40, event=0xbfdbceb8) at kernel/qcoreapplication.cpp:732
#29 0xb6c4d76d in sendEvent (this=0x8bd7124, e=0xbfdbd334) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#30 QShortcutMap::dispatchEvent (this=0x8bd7124, e=0xbfdbd334) at kernel/qshortcutmap.cpp:879
#31 0xb6c4f59e in QShortcutMap::tryShortcutEvent (this=0x8bd7124, o=0xad72bb0, e=0xbfdbd334) at kernel/qshortcutmap.cpp:364
#32 0xb6c13c52 in QApplication::notify (this=0xbfdbddfc, receiver=0xad72bb0, e=0xbfdbd334) at kernel/qapplication.cpp:3840
#33 0xb65d27da in KApplication::notify (this=0xbfdbddfc, receiver=0xad72bb0, event=0xbfdbd334) at ../../kdeui/kernel/kapplication.cpp:311
#34 0xb6217b3b in QCoreApplication::notifyInternal (this=0xbfdbddfc, receiver=0xad72bb0, event=0xbfdbd334) at kernel/qcoreapplication.cpp:732
#35 0xb6c0bb9e in sendSpontaneousEvent (receiver=0xad72bb0, event=0xb0050c8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#36 qt_sendSpontaneousEvent (receiver=0xad72bb0, event=0xb0050c8) at kernel/qapplication.cpp:5388
#37 0xb6cc869d in QKeyMapper::sendKeyEvent (keyWidget=0xad72bb0, 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:1867
#38 0xb6ccab49 in QKeyMapperPrivate::translateKeyEvent (this=0x8c038c8, keyWidget=0xad72bb0, event=0xbfdbd9fc, grab=false) at kernel/qkeymapper_x11.cpp:1837
#39 0xb6c9e387 in QApplication::x11ProcessEvent (this=0xbfdbddfc, event=0xbfdbd9fc) at kernel/qapplication_x11.cpp:3429
#40 0xb6cce36a in x11EventSourceDispatch (s=0x8bd81e0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#41 0xb5ed6855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#42 0xb5eda668 in ?? () from /lib/libglib-2.0.so.0
#43 0xb5eda848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#44 0xb6246565 in QEventDispatcherGlib::processEvents (this=0x8bb7b58, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#45 0xb6ccdbe5 in QGuiEventDispatcherGlib::processEvents (this=0x8bb7b58, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#46 0xb6216609 in QEventLoop::processEvents (this=0xbfdbdcf4, flags=) at kernel/qeventloop.cpp:149
#47 0xb6216a8a in QEventLoop::exec (this=0xbfdbdcf4, flags=...) at kernel/qeventloop.cpp:201
#48 0xb621b00f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#49 0xb6c0ae07 in QApplication::exec () at kernel/qapplication.cpp:3672
#50 0xb77237b7 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_kate.so
#51 0x0804859b in _start ()

Reported using DrKonqi
Comment 1 João Eiras 2011-04-18 14:56:43 UTC
Created attachment 59097 [details]
New crash information added by DrKonqi

kate (3.6.2) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.0

- What I was doing when the application crashed:
Had xml file with changes. Was undoing changes and it crashed

-- Backtrace (Reduced):
#7  KateLineLayout::viewLineCount (this=0x0) at ../../kate/render/katelinelayout.cpp:173
#8  0xb25186c1 in KateTextLayout::isValid (this=0xac623a8) at ../../kate/render/katetextlayout.cpp:90
#9  0xb2518b12 in KateTextLayout::line (this=0xac623a8) at ../../kate/render/katetextlayout.cpp:95
#10 0xb2577c61 in KateViewInternal::endPos (this=0xdcdbea0) at ../../kate/view/kateviewinternal.cpp:287
#11 0xb257d095 in KateViewInternal::makeVisible (this=0xdcdbea0, c=..., endCol=12, force=false, center=true, calledExternally=true) at ../../kate/view/kateviewinternal.cpp:608
Comment 2 Andreas Nordal 2011-07-14 12:05:09 UTC
Created attachment 61874 [details]
New crash information added by DrKonqi

kwrite (4.6.00 (4.6.0) "release 6") on KDE Platform 4.6.00 (4.6.0) "release 6" using Qt 4.7.1

- What I was doing when the application crashed:

I was editing a shellscript in KWrite. As I was holding down Ctrl-Z, in order to undo several of the last edits, KWrite disappeared after a few deciseconds (with keyboard repetition rate 45Hz, delay 160ms).

-- Backtrace (Reduced):
#6  0x00007f23a976b215 in viewLineCount (this=0xad3430) at /usr/src/debug/kdelibs-4.6.0/kate/render/katelinelayout.cpp:173
#7  KateTextLayout::isValid (this=0xad3430) at /usr/src/debug/kdelibs-4.6.0/kate/render/katetextlayout.cpp:90
#8  0x00007f23a976b639 in KateTextLayout::line (this=0xad3430) at /usr/src/debug/kdelibs-4.6.0/kate/render/katetextlayout.cpp:95
#9  0x00007f23a976ccf1 in KateViewInternal::endPos (this=0x87ff00) at /usr/src/debug/kdelibs-4.6.0/kate/view/kateviewinternal.cpp:287
#10 0x00007f23a977b134 in KateViewInternal::makeVisible (this=0x87ff00, c=..., endCol=22, force=false, center=<value optimized out>, calledExternally=true) at /usr/src/debug/kdelibs-4.6.0/kate/view/kateviewinternal.cpp:608
Comment 3 Dominik Haumann 2011-08-09 13:27:44 UTC
*** Bug 278269 has been marked as a duplicate of this bug. ***
Comment 4 Dominik Haumann 2011-08-09 13:36:28 UTC
To all of thyou who experienced this crash: Did you use code folding?
Comment 5 Dominik Haumann 2011-08-09 13:37:12 UTC
Maybe duplicate of bug #247081.
Comment 6 Adrian 2011-08-09 13:47:23 UTC
(In reply to comment #5)
> Maybe duplicate of bug #247081.

Yes. I think it is related or duplicate of bug 247081.
I didn't close the bug because I couldn't reproduce it (with the new or the old code folding).
Also, there is a difference between them: although, this (KateLineLayout::viewLineCount (this=0x0)) is common, the callers are different :
KateLayoutCache::lastViewLine and KateTextLayout::isValid

But I still think that they are related.

Adrian
Comment 7 Christoph Cullmann 2011-08-11 16:37:36 UTC
We need way to reproduce, else we can't fix it :(
Comment 8 Andreas Nordal 2011-08-14 13:18:50 UTC
> Did you use code folding?
You mean "Dynamic Word Wrap", as when pressing F10? Quite possibly. Considering that I spent some time editing, I estimate a 70% probability that I at some point cared to press my usual F9, F10, F11 sequence. So in that case, I would have enabled line numbering (F11).

> We need a way to reproduce
To me, this looks like a sporadic & rare bug. How about code inspection?
Comment 9 Dominik Haumann 2011-09-17 19:31:20 UTC
Please retest with current version of Kate, by builing it from sources according to http://www.kate-editor.org/get-it/, or wait for KDE 4.8... It is probably fixed.

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