Bug 249418 - DrKonqi crashed after trying to Reload failed backtrace
Summary: DrKonqi crashed after trying to Reload failed backtrace
Status: RESOLVED FIXED
Alias: None
Product: drkonqi
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: George Kiagiadakis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-29 16:56 UTC by Christoph Feck
Modified: 2010-08-30 12:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Feck 2010-08-29 16:56:22 UTC
Version:           unspecified (using Devel) 
OS:                Linux

I was debugging KolourPaint, got a "floating point exception", but no backtrace (for whatever reason). I clicked "Reload Backtrace" and DrKonqi crashed.

Application: The KDE Crash Handler (drkonqi), signal: Segmentation fault
[Current thread is 1 (Thread 0xb4f9a930 (LWP 11278))]

Thread 2 (Thread 0xb2be5b70 (LWP 11279)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5b360b1 in select () at ../sysdeps/unix/syscall-template.S:82
#2  0xb5e96737 in QProcessManager::run (this=0xb603e8ac) at /local/git/Qt/qt/src/corelib/io/qprocess_unix.cpp:245
#3  0xb5db1c7e in QThreadPrivate::start (arg=0xb603e8ac) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:274
#4  0xb5d12b25 in start_thread (arg=0xb2be5b70) at pthread_create.c:297
#5  0xb5b3d46e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb4f9a930 (LWP 11278)):
[KCrash Handler]
#7  0x0808ef5d in BacktraceLine::type (this=0x812ff64) at /local/svn/kde/trunk/KDE/kdebase/runtime/drkonqi/parser/backtraceline.h:59
#8  0x0808e634 in GdbHighlighter::highlightBlock (this=0x82680f8, text=...) at /local/svn/kde/trunk/KDE/kdebase/runtime/drkonqi/gdbhighlighter.cpp:77
#9  0xb67c26a8 in QSyntaxHighlighterPrivate::reformatBlock (this=0x81f7578, block=...) at /local/git/Qt/qt/src/gui/text/qsyntaxhighlighter.cpp:225
#10 0xb67c2534 in QSyntaxHighlighterPrivate::reformatBlocks (this=0x81f7578, from=10, charsRemoved=0, charsAdded=46) at /local/git/Qt/qt/src/gui/text/qsyntaxhighlighter.cpp:206
#11 0xb67c2424 in QSyntaxHighlighterPrivate::_q_reformatBlocks (this=0x81f7578, from=10, charsRemoved=0, charsAdded=46) at /local/git/Qt/qt/src/gui/text/qsyntaxhighlighter.cpp:183
#12 0xb67c32f2 in QSyntaxHighlighter::qt_metacall (this=0x82680f8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfe996c0) at .moc/debug-shared/moc_qsyntaxhighlighter.cpp:81
#13 0xb5ec3242 in QMetaObject::metacall (object=0x82680f8, cl=QMetaObject::InvokeMetaMethod, idx=6, argv=0xbfe996c0) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#14 0xb5ed6171 in QMetaObject::activate (sender=0x81c7d38, m=0xb6f6de5c, local_signal_index=0, argv=0xbfe996c0) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3272
#15 0xb6c3b850 in QTextDocument::contentsChange (this=0x81c7d38, _t1=10, _t2=0, _t3=46) at .moc/debug-shared/moc_qtextdocument.cpp:188
#16 0xb67817ef in QTextDocumentPrivate::finishEdit (this=0x82144e8) at /local/git/Qt/qt/src/gui/text/qtextdocument_p.cpp:1213
#17 0xb6781706 in QTextDocumentPrivate::endEditBlock (this=0x82144e8) at /local/git/Qt/qt/src/gui/text/qtextdocument_p.cpp:1197
#18 0xb67b0dc5 in QTextCursor::endEditBlock (this=0xbfe997c4) at /local/git/Qt/qt/src/gui/text/qtextcursor.cpp:2483
#19 0xb6740da3 in QTextControlPrivate::append (this=0x81f99d0, text=..., format=Qt::AutoText) at /local/git/Qt/qt/src/gui/text/qtextcontrol.cpp:2836
#20 0xb6740e44 in QTextControl::append (this=0x81c7548, text=...) at /local/git/Qt/qt/src/gui/text/qtextcontrol.cpp:2842
#21 0xb69e8f39 in QTextEdit::append (this=0x8205898, text=...) at /local/git/Qt/qt/src/gui/widgets/qtextedit.cpp:2620
#22 0x0808279e in BacktraceWidget::backtraceNewLine (this=0x81bd870, line=...) at /local/svn/kde/trunk/KDE/kdebase/runtime/drkonqi/backtracewidget.cpp:316
#23 0x08058d70 in BacktraceWidget::qt_metacall (this=0x81bd870, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfe99998) at /local/build/KDE/kdebase/runtime/drkonqi/moc_backtracewidget.cpp:108
#24 0xb5ec3242 in QMetaObject::metacall (object=0x81bd870, cl=QMetaObject::InvokeMetaMethod, idx=34, argv=0xbfe99998) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#25 0xb5ed6171 in QMetaObject::activate (sender=0x818e8a8, m=0x80a69d4, local_signal_index=1, argv=0xbfe99998) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3272
#26 0x080850ea in BacktraceGenerator::newLine (this=0x818e8a8, _t1=...) at /local/build/KDE/kdebase/runtime/drkonqi/backtracegenerator.moc:112
#27 0x08084d63 in BacktraceGenerator::slotReadInput (this=0x818e8a8) at /local/svn/kde/trunk/KDE/kdebase/runtime/drkonqi/backtracegenerator.cpp:128
#28 0x08085075 in BacktraceGenerator::qt_metacall (this=0x818e8a8, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfe99a7c) at /local/build/KDE/kdebase/runtime/drkonqi/backtracegenerator.moc:94
#29 0xb5ec3242 in QMetaObject::metacall (object=0x818e8a8, cl=QMetaObject::InvokeMetaMethod, idx=11, argv=0xbfe99a7c) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#30 0xb5ed6171 in QMetaObject::activate (sender=0x826a8d8, m=0xb603b728, local_signal_index=5, argv=0x0) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3272
#31 0xb5e5913f in QProcess::readyReadStandardOutput (this=0x826a8d8) at .moc/debug-shared/moc_qprocess.cpp:162
#32 0xb5e56849 in QProcessPrivate::_q_canReadStandardOutput (this=0x8270410) at /local/git/Qt/qt/src/corelib/io/qprocess.cpp:897
#33 0xb5e58e71 in QProcess::qt_metacall (this=0x826a8d8, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbfe99c48) at .moc/debug-shared/moc_qprocess.cpp:107
#34 0xb61cf77a in KProcess::qt_metacall (this=0x826a8d8, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbfe99c48) at /local/build/KDE/kdelibs/kdecore/kprocess.moc:69
#35 0xb5ec3242 in QMetaObject::metacall (object=0x826a8d8, cl=QMetaObject::InvokeMetaMethod, idx=17, argv=0xbfe99c48) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#36 0xb5ed6171 in QMetaObject::activate (sender=0x82317a8, m=0xb603d530, local_signal_index=0, argv=0xbfe99c48) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3272
#37 0xb5f2e6c0 in QSocketNotifier::activated (this=0x82317a8, _t1=13) at .moc/debug-shared/moc_qsocketnotifier.cpp:89
#38 0xb5ede0df in QSocketNotifier::event (this=0x82317a8, e=0xbfe9a1d8) at /local/git/Qt/qt/src/corelib/kernel/qsocketnotifier.cpp:317
#39 0xb649ff1c in QApplicationPrivate::notify_helper (this=0x80d3488, receiver=0x82317a8, e=0xbfe9a1d8) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4399
#40 0xb649d7c8 in QApplication::notify (this=0x80d33c8, receiver=0x82317a8, e=0xbfe9a1d8) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3801
#41 0xb7365122 in KApplication::notify (this=0x80d33c8, receiver=0x82317a8, event=0xbfe9a1d8) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:310
#42 0xb5ebbbaf in QCoreApplication::notifyInternal (this=0x80d33c8, receiver=0x82317a8, event=0xbfe9a1d8) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:732
#43 0xb5ebf49d in QCoreApplication::sendEvent (receiver=0x82317a8, event=0xbfe9a1d8) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:215
#44 0xb5eef574 in socketNotifierSourceDispatch (source=0x80d0668) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:110
#45 0xb5380b49 in g_main_dispatch (context=0x80cfc98) at gmain.c:1960
#46 IA__g_main_context_dispatch (context=0x80cfc98) at gmain.c:2513
#47 0xb5381350 in g_main_context_iterate (context=0x80cfc98, block=1, dispatch=1, self=0x80d3620) at gmain.c:2591
#48 0xb538160e in IA__g_main_context_iteration (context=0x80cfc98, may_block=1) at gmain.c:2654
#49 0xb5ef0134 in QEventDispatcherGlib::processEvents (this=0x80d3448, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:415
#50 0xb6566550 in QGuiEventDispatcherGlib::processEvents (this=0x80d3448, flags=...) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#51 0xb5eb990d in QEventLoop::processEvents (this=0xbfe9a40c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#52 0xb5eb9a51 in QEventLoop::exec (this=0xbfe9a40c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
#53 0xb5ebc29a in QCoreApplication::exec () at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1009
#54 0xb649d3fa in QApplication::exec () at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3675
#55 0x0805b69c in main (argc=19, argv=0xbfe9a684) at /local/svn/kde/trunk/KDE/kdebase/runtime/drkonqi/main.cpp:109


Reproducible: Didn't try
Comment 1 Christoph Feck 2010-08-29 17:00:43 UTC
I just tried "Reload" on the backtrace in comment #0 to see if it happens always. During the reloading the unfinished backtrace got syntax highlighted. It probably should clear the syntax highlighter on reload, and only set it again when the backtrace is finished.
Comment 2 George Kiagiadakis 2010-08-29 17:11:14 UTC
Heh, indeed, I can reproduce it.
Comment 3 George Kiagiadakis 2010-08-30 12:09:47 UTC
SVN commit 1169926 by gkiagia:

Delete the old highlighter before regenerating a backtrace,
or else it may crash due to invalid iterators in the highlightBlock() function.
BUG: 249418

 M  +7 -2      backtracewidget.cpp  
 M  +2 -1      backtracewidget.h  
 M  +1 -0      gdbhighlighter.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1169926