Bug 297021 - Segfault in Vim mode
Summary: Segfault in Vim mode
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: part (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-29 08:53 UTC by Mazdaywik
Modified: 2012-04-10 20:53 UTC (History)
1 user (show)

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


Attachments
New crash information added by DrKonqi (6.51 KB, text/plain)
2012-03-29 09:39 UTC, Mazdaywik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mazdaywik 2012-03-29 08:53:55 UTC
Application: kwrite (4.8.1 (4.8.1))
KDE Platform Version: 4.8.1 (4.8.1)
Qt Version: 4.8.0
Operating System: Linux 3.3.0-4.fc16.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
I was cutting text fragment at end of text file throw selection «v-j-j-...-j» and cutting «D» (Shift-d). When I had pressed «D», application craches.

- Custom settings of the application:
I turn on Vim mode, other settings is default in Fedora 16.

The crash can be reproduced every time.

-- Backtrace:
Application: KWrite (kwrite), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe81aac9840 (LWP 9397))]

Thread 2 (Thread 0x7fe80eeca700 (LWP 9398)):
#0  0x000000322ce0bae5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f42984e62 in ?? () from /usr/lib64/libQtScript.so.4
#2  0x0000003f42984e99 in ?? () from /usr/lib64/libQtScript.so.4
#3  0x000000322ce07d90 in start_thread () from /lib64/libpthread.so.0
#4  0x000000322caf0f5d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fe81aac9840 (LWP 9397)):
[KCrash Handler]
#6  0x0000003adbe31506 in QTextLine::cursorToX(int*, QTextLine::Edge) const () from /usr/lib64/libQtGui.so.4
#7  0x00007fe80f282466 in ?? () from /usr/lib64/libkatepartinterfaces.so.4
#8  0x00007fe80f28250e in ?? () from /usr/lib64/libkatepartinterfaces.so.4
#9  0x00007fe80f2dc609 in ?? () from /usr/lib64/libkatepartinterfaces.so.4
#10 0x00007fe80f2ddb4f in ?? () from /usr/lib64/libkatepartinterfaces.so.4
#11 0x00007fe80f2fe84e in KateViNormalMode::commandDeleteToEOL() () from /usr/lib64/libkatepartinterfaces.so.4
#12 0x00007fe80f30a686 in KateViNormalMode::executeCommand(KateViCommand const*) () from /usr/lib64/libkatepartinterfaces.so.4
#13 0x00007fe80f30b9c4 in KateViNormalMode::handleKeypress(QKeyEvent const*) () from /usr/lib64/libkatepartinterfaces.so.4
#14 0x00007fe80f2f2454 in KateViInputModeManager::handleKeypress(QKeyEvent const*) () from /usr/lib64/libkatepartinterfaces.so.4
#15 0x00007fe80f2e3095 in ?? () from /usr/lib64/libkatepartinterfaces.so.4
#16 0x00007fe80f2dad00 in ?? () from /usr/lib64/libkatepartinterfaces.so.4
#17 0x0000003f34f791d8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#18 0x0000003adbbc995f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x0000003adbbceede in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x0000003add251d56 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#21 0x0000003f34f7904c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#22 0x0000003adbc68719 in ?? () from /usr/lib64/libQtGui.so.4
#23 0x0000003adbc68b8b in ?? () from /usr/lib64/libQtGui.so.4
#24 0x0000003adbc44ce4 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#25 0x0000003adbc6c97c in ?? () from /usr/lib64/libQtGui.so.4
#26 0x000000322ea44acd in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x000000322ea452c8 in ?? () from /lib64/libglib-2.0.so.0
#28 0x000000322ea4549c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x0000003f34fa7d5f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#30 0x0000003adbc6c66e in ?? () from /usr/lib64/libQtGui.so.4
#31 0x0000003f34f78182 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#32 0x0000003f34f783d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#33 0x0000003f34f7cdd5 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#34 0x0000003adf60ed81 in kdemain () from /usr/lib64/libkdeinit4_kwrite.so
#35 0x000000322ca2169d in __libc_start_main () from /lib64/libc.so.6
#36 0x0000000000400761 in _start ()

Reported using DrKonqi
Comment 1 Mazdaywik 2012-03-29 09:39:59 UTC
Created attachment 69988 [details]
New crash information added by DrKonqi

kate (3.8.1) on KDE Platform 4.8.1 (4.8.1) using Qt 4.8.0

- What I was doing when the application crashed:
Same thing in kate editor. This message contains more detailed stack trace and shows that error appears in both kate and kwrite.
- Custom settings of the application:
Vi mode turned on, other settings are default in Fedora 16.

-- Backtrace (Reduced):
#6  QTextLine::cursorToX (this=0x7fff35131d68, cursorPos=0x7fff35131cfc, edge=QTextLine::Leading) at text/qtextlayout.cpp:2494
#7  0x00007ffca4170466 in cursorToX (edge=QTextLine::Leading, cursorPos=0, this=<optimized out>) at /usr/include/QtGui/qtextlayout.h:230
#8  KateRenderer::cursorToX (this=<optimized out>, range=..., pos=<optimized out>) at /usr/src/debug/kate-4.8.1/part/render/katerenderer.cpp:980
#9  0x00007ffca417050e in KateRenderer::cursorToX (this=0x1ab5e40, range=..., pos=..., returnPastLine=false) at /usr/src/debug/kate-4.8.1/part/render/katerenderer.cpp:985
#10 0x00007ffca41ca609 in KateViewInternal::makeVisible (this=0x1ab6640, c=<optimized out>, endCol=0, force=false, center=<optimized out>, calledExternally=false) at /usr/src/debug/kate-4.8.1/part/view/kateviewinternal.cpp:641
Comment 2 Dominik Haumann 2012-03-29 12:45:56 UTC
Looks related to bug #292947, although the backtrace is a bit different. Milian, can you have a look?
Comment 3 Milian Wolff 2012-04-10 14:41:43 UTC
Git commit dc576c9c986a9fc1c5638747fd97f0e675c2a273 by Milian Wolff.
Committed on 10/04/2012 at 16:40.
Pushed by mwolff into branch 'master'.

don't crash when line has no width and cursorToX is called

see also bug 292947

M  +5    -1    part/render/katerenderer.cpp

http://commits.kde.org/kate/dc576c9c986a9fc1c5638747fd97f0e675c2a273