[rkward-tracker] [ rkward-Bugs-3433496 ] FIXED IN SVN: Crashed while typing text

SourceForge.net noreply at sourceforge.net
Fri Nov 4 19:44:38 UTC 2011

Bugs item #3433496, was opened at 2011-11-04 05:48
Message generated for change (Comment added) made by tfry
You can respond by visiting: 

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: CRASH
Status: Open
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Milan Bouchet-Valat (nalimilan)
Assigned to: Thomas Friedrichsmeier (tfry)
>Summary: FIXED IN SVN: Crashed while typing text

Initial Comment:
RKWard crashed today while I was typing text in the editor. It's the first time it happens, and I can't tell what I was doing special. I think I had just removed a selected text by hitting the backspace key.

I it can help, RKWard had been running for quite a long time, I had done many operations.

I'm using version 0.5.6z+0.5.7+devel1 on Fedora 15. Below is the trace from the relevant thread, and attach is the whole stacktrace.

Thread 1 (Thread 0x7fc8b1d60840 (LWP 22000)):
[KCrash Handler]
#6  0x000000000044499d in RKCodeCompletionModel::data (this=<optimized out>, index=<optimized out>, role=0) at /home/milan/Dev/RKWard/rkward/rkward/windows/rkcommandeditorwindow.cpp:1006
#7  0x00007fc89c0afad7 in KateCompletionModel::Item::Item(bool, KateCompletionModel*, HierarchicalModelHandler const&, QPair<KTextEditor::CodeCompletionModel*, QModelIndex>) () from /usr/lib64/libkatepartinterfaces.so.4
#8  0x00007fc89c0b3fd2 in KateCompletionModel::createItem(HierarchicalModelHandler const&, QModelIndex const&, bool) () from /usr/lib64/libkatepartinterfaces.so.4
#9  0x00007fc89c0b4e33 in KateCompletionModel::createItems(HierarchicalModelHandler const&, QModelIndex const&, bool) () from /usr/lib64/libkatepartinterfaces.so.4
#10 0x00007fc89c0b8018 in KateCompletionModel::createGroups() () from /usr/lib64/libkatepartinterfaces.so.4
#11 0x00007fc89c0b84f4 in KateCompletionModel::setCompletionModels(QList<KTextEditor::CodeCompletionModel*> const&) () from /usr/lib64/libkatepartinterfaces.so.4
#12 0x00007fc89c0a79b1 in KateCompletionWidget::startCompletion(KTextEditor::Range const&, QList<KTextEditor::CodeCompletionModel*> const&, KTextEditor::CodeCompletionModel::InvocationType) () from /usr/lib64/libkatepartinterfaces.so.4
#13 0x00007fc89c0a9198 in KateCompletionWidget::startCompletion(KTextEditor::Range const&, KTextEditor::CodeCompletionModel*, KTextEditor::CodeCompletionModel::InvocationType) () from /usr/lib64/libkatepartinterfaces.so.4
#14 0x000000000044b357 in RKCommandEditorWindow::tryCompletion (this=0x19ace60) at /home/milan/Dev/RKWard/rkward/rkward/windows/rkcommandeditorwindow.cpp:570
#15 0x000000000044ceea in RKCommandEditorWindow::qt_metacall (this=0x19ace60, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff31bfb610) at /home/milan/Dev/RKWard/rkward/build/rkward/windows/rkcommandeditorwindow.moc:234
#16 0x00000035e4f6cfea in QMetaObject::activate (sender=0x1ad3ec0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#17 0x00000035e4f708d9 in QObject::event (this=0x1ad3ec0, e=<optimized out>) at kernel/qobject.cpp:1181
#18 0x0000003c069b9324 in notify_helper (e=0x7fff31bfbd10, receiver=0x1ad3ec0, this=0xe23e30) at kernel/qapplication.cpp:4481
#19 QApplicationPrivate::notify_helper (this=0xe23e30, receiver=0x1ad3ec0, e=0x7fff31bfbd10) at kernel/qapplication.cpp:4453
#20 0x0000003c069be1b1 in QApplication::notify (this=0x7fff31bfc050, receiver=0x1ad3ec0, e=0x7fff31bfbd10) at kernel/qapplication.cpp:4360
#21 0x0000003c056431c6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#22 0x00000035e4f5a20c in QCoreApplication::notifyInternal (this=0x7fff31bfc050, receiver=0x1ad3ec0, event=0x7fff31bfbd10) at kernel/qcoreapplication.cpp:787
#23 0x00000035e4f86c02 in sendEvent (event=0x7fff31bfbd10, receiver=<optimized out>) at kernel/qcoreapplication.h:215
#24 QTimerInfoList::activateTimers (this=0xe279e0) at kernel/qeventdispatcher_unix.cpp:603
#25 0x00000035e4f84444 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#26 0x00000035df6427ed in g_main_dispatch (context=0xe274e0) at gmain.c:2441
#27 g_main_context_dispatch (context=0xe274e0) at gmain.c:3014
#28 0x00000035df642fc8 in g_main_context_iterate (context=0xe274e0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3092
#29 0x00000035df64325c in g_main_context_iteration (context=0xe274e0, may_block=1) at gmain.c:3155
#30 0x00000035e4f84dcf in QEventDispatcherGlib::processEvents (this=0xe234d0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#31 0x0000003c06a5c12e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:207
#32 0x00000035e4f59722 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#33 0x00000035e4f5991f in QEventLoop::exec (this=0x7fff31bfbfa0, flags=...) at kernel/qeventloop.cpp:201
#34 0x00000035e4f5da67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#35 0x0000000000433154 in main (argc=<optimized out>, argv=<optimized out>) at /home/milan/Dev/RKWard/rkward/rkward/main.cpp:177


>Comment By: Thomas Friedrichsmeier (tfry)
Date: 2011-11-04 12:44

> No, I hadn't removed any object, at least not for about one minute. I
> working on code that replaced a matrix, but the matrix already existed.

Well, it *could* still have been the issue, if the matrix has any names on
it, and those names were in the completion list, and some of the

Anyway, I have committed a fix for the theoretical scenario I described in
SVN. This may or may not have been the source of the problem, but the code
in RKCodeCompletionModel::data() is very straight-forward, now, and I can't
see any way it could crash (at least not as long as the katepart calls the
function with anything even remotely valid).

So I think, it's safe to mark this as fixed. However, if you ever run into
this again, or you have any more ideas on what exactly might have led to
the crash, then please let me know.



Comment By: Milan Bouchet-Valat (nalimilan)
Date: 2011-11-04 12:26

No, I hadn't removed any object, at least not for about one minute. I was
working on code that replaced a matrix, but the matrix already existed.


Comment By: Thomas Friedrichsmeier (tfry)
Date: 2011-11-04 12:17


One potential scenario that could possibly lead to a crash with this
backtrace is this: An object, which is part of a current completion list is
being deleted, while the completion list is shown. At least theoretically,
that could lead to a crash. But I'm not quite sure this can be achieved in
practice. Anyway, does that sound like it might have happened?

I'll look into adding some safety mechanism for this case.



You can respond by visiting: 

More information about the rkward-tracker mailing list