Bug 174268

Summary: kmail crashes (SIGABRT)when using unexpected quote indicator
Product: [Unmaintained] kmail Reporter: Kevin Hunter <hunteke>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: grundleborg, Regnaron
Priority: NOR Keywords: triaged
Version: 1.10.1   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Kevin Hunter 2008-11-04 16:52:03 UTC
Version:           1.10.1 (using KDE 4.1.2)
OS:                Linux
Installed from:    Ubuntu Packages

Basically the summary.  Try this as input for the quote indicator (KMail → Settings → Configure KMail → Composer → Standard Template → (bottom) Quote indicator):

'>%' (note lack of trailing underscore)

Now try to reply to a message.  Bam, signal 6 (SIGABRT), and the "friendly" application-has-crashed" dialog pops up.  :-(

For reference, I'm on AMD64 version of Kubuntu 8.10, with basically a virgin install.

A quick question on #kde suggest that this crashes on current SVN in 32bit x86 architecture as well.
Comment 1 Oliver Putz 2008-11-04 20:54:02 UTC
I can reproduce this crash with the following backtrace:

Application: Kontact (kontact), signal SIGABRT

Thread 1 (Thread 0xb4980720 (LWP 11932)):
[KCrash Handler]
#6  0xffffe424 in __kernel_vsyscall ()
#7  0xb5001690 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0xb5002ed8 in *__GI_abort () at abort.c:88
#9  0xb7d0432f in qt_message_output (msgType=QtFatalMsg, buf=0xbfefc6f0 "ASSERT: \"i < uint(size())\" in file /usr/include/qt4/QtCore/qstring.h, line 654") at global/qglobal.cpp:2108
#10 0xb7d043ee in qFatal (msg=0xb7e4de7c "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2309
#11 0xb7d0472f in qt_assert (assertion=0xb197b1b3 "i < uint(size())", file=0xb197a700 "/usr/include/qt4/QtCore/qstring.h", line=654) at global/qglobal.cpp:1878
#12 0xb1424a6f in KMMessage::formatString (this=0x8d32c90, aStr=@0xbfefe92c) at /usr/include/qt4/QtCore/qstring.h:654
#13 0xb143a180 in KMMessage::createReply (this=0x8d32c90, replyStrategy=KMail::ReplySmart, selection=@0x8bebc90, noQuote=false, allowDecryption=true, selectionIsBody=false, tmpl=@0xbfefeac8)
    at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail-4.1.71/kmail/kmmessage.cpp:1026
#14 0xb171b911 in KMReplyToCommand::execute (this=0x8bebc68) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail-4.1.71/kmail/kmcommands.cpp:1108
#15 0xb17121b5 in KMCommand::slotPostTransfer (this=0x8bebc68, result=KMCommand::OK) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail-4.1.71/kmail/kmcommands.cpp:273
#16 0xb171ce5c in KMCommand::qt_metacall (this=0x8bebc68, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbfefec3c) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail_build/kmail/kmcommands.moc:86
#17 0xb171d3d8 in KMReplyToCommand::qt_metacall (this=0x8bebc68, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbfefec3c)
    at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail_build/kmail/kmcommands.moc:822
#18 0xb7e144e1 in QMetaObject::activate (sender=0x8bebc68, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xbfefec3c) at kernel/qobject.cpp:3028
#19 0xb7e163d8 in QMetaObject::activate (sender=0x8bebc68, m=0xb1ac19f4, local_signal_index=0, argv=0xbfefec3c) at kernel/qobject.cpp:3098
#20 0xb170ee03 in KMCommand::messagesTransfered (this=0x8bebc68, _t1=KMCommand::OK) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail_build/kmail/kmcommands.moc:100
#21 0xb172c084 in KMCommand::transferSelectedMsgs (this=0x8bebc68) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail-4.1.71/kmail/kmcommands.cpp:367
#22 0xb172c30b in KMCommand::slotStart (this=0x8bebc68) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail-4.1.71/kmail/kmcommands.cpp:265
#23 0xb171ce69 in KMCommand::qt_metacall (this=0x8bebc68, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfefee18) at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail_build/kmail/kmcommands.moc:85
#24 0xb171d3d8 in KMReplyToCommand::qt_metacall (this=0x8bebc68, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfefee18)
    at /var/tmp/portage/kde-base/kmail-4.1.71/work/kmail_build/kmail/kmcommands.moc:822
#25 0xb7e144e1 in QMetaObject::activate (sender=0x9092090, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3028
#26 0xb7e163d8 in QMetaObject::activate (sender=0x9092090, m=0xb7ee19e4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3098
#27 0xb7e1a005 in QSingleShotTimer::timeout (this=0x9092090) at .moc/debug-shared/qtimer.moc:74
#28 0xb7e1a106 in QSingleShotTimer::timerEvent (this=0x9092090) at kernel/qtimer.cpp:300
#29 0xb7e0d969 in QObject::event (this=0x9092090, e=0xbfeff2cc) at kernel/qobject.cpp:1117
#30 0xb558cfab in QApplicationPrivate::notify_helper (this=0x8062128, receiver=0x9092090, e=0xbfeff2cc) at kernel/qapplication.cpp:3809
#31 0xb5593ae5 in QApplication::notify (this=0xbfeff7ac, receiver=0x9092090, e=0xbfeff2cc) at kernel/qapplication.cpp:3399
#32 0xb78bbf95 in KApplication::notify (this=0xbfeff7ac, receiver=0x9092090, event=0xbfeff2cc) at /var/tmp/portage/kde-base/kdelibs-4.1.71/work/kdelibs-4.1.71/kdeui/kernel/kapplication.cpp:307
#33 0xb7dfdb21 in QCoreApplication::notifyInternal (this=0xbfeff7ac, receiver=0x9092090, event=0xbfeff2cc) at kernel/qcoreapplication.cpp:593
#34 0xb7e2a36e in QTimerInfoList::activateTimers (this=0x80629ec) at kernel/qcoreapplication.h:215
#35 0xb7e2a532 in QEventDispatcherUNIX::processEvents (this=0x805f938, flags={i = -1074793108}) at kernel/qeventdispatcher_unix.cpp:899
#36 0xb562264f in QEventDispatcherX11::processEvents (this=0x805f938, flags={i = -1074793048}) at kernel/qeventdispatcher_x11.cpp:154
#37 0xb7dfc6b0 in QEventLoop::processEvents (this=0xbfeff620, flags={i = -1074792984}) at kernel/qeventloop.cpp:149
#38 0xb7dfc852 in QEventLoop::exec (this=0xbfeff620, flags={i = -1074792920}) at kernel/qeventloop.cpp:200
#39 0xb7dfec6f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#40 0xb558cd43 in QApplication::exec () at kernel/qapplication.cpp:3337
#41 0x0804c312 in main (argc=1, argv=0xbfeff9a4) at /var/tmp/portage/kde-base/kontact-4.1.71/work/kontact-4.1.71/kontact/src/main.cpp:218
Comment 2 Daniel Hahler 2008-11-05 20:42:31 UTC
Confirming, according to previous comment.
Comment 3 Allen Winter 2008-11-14 02:23:45 UTC
SVN commit 884034 by winterz:

fix crash when template quote indicator does not end with an underscore.
BUG: 174268


 M  +17 -13    kmmessage.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=884034
Comment 4 Thomas McGuire 2008-11-30 16:08:45 UTC
SVN commit 890868 by tmcguire:

Backport r884034 by winterz from trunk to the 4.1 branch:

fix crash when template quote indicator does not end with an underscore.
CCBUG: 174268



 M  +16 -12    kmmessage.cpp  


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