Bug 179216

Summary: KMail crash, possibly due to OpenPGP signature
Product: [Unmaintained] kmail Reporter: Ionut Ciocirlan <ionut.ciocirlan>
Component: encryptionAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DOWNSTREAM    
Severity: crash CC: Stephan
Priority: NOR    
Version: 1.10.92   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ionut Ciocirlan 2008-12-31 15:59:30 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

Using svn 902265, when switching to one specific folder with unread messages KMail crashes.
The only "unusual" thing about the first unread message in that folder is that it has a detached OpenPGP signature.

Application: KMail (kmail), signal SIGSEGV
0x00000039f469dff1 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 21172)]

Thread 2 (Thread 0x427cd950 (LWP 21184)):
#0  0x00000039f520afad in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0000003e7f26d137 in QWaitCondition::wait (this=<value optimized out>, mutex=<value optimized out>, time=<value optimized out>) at thread/qwaitcondition_unix.cpp:80
#2  0x0000003e7f2633f9 in QThreadPoolThread::run (this=<value optimized out>) at concurrent/qthreadpool.cpp:135
#3  0x0000003e7f26c162 in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:185
#4  0x00000039f5206fc7 in start_thread () from /lib/libpthread.so.0
#5  0x00000039f46cf5ad in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4308b0f6f0 (LWP 21172)):
[KCrash Handler]
#5  0x0000000000000000 in ?? ()
#6  0x0000003a1a414f70 in GpgME::Context::cancelPendingOperation (this=<value optimized out>) at ../../gpgme++/context.cpp:789
#7  0x0000003a1ac8a3e1 in do_list_keys (ctx=<value optimized out>, pats=<value optimized out>, keys=<value optimized out>, secretOnly=<value optimized out>)
    at ../../libkleo/backends/qgpgme/qgpgmekeylistjob.cpp:80
#8  0x0000003a1ac8b3b5 in list_keys (ctx=<value optimized out>, pats=<value optimized out>, secretOnly=<value optimized out>) at ../../libkleo/backends/qgpgme/qgpgmekeylistjob.cpp:87
#9  0x0000003a1ac8b750 in Kleo::QGpgMEKeyListJob::exec (this=<value optimized out>, patterns=<value optimized out>, secretOnly=<value optimized out>, keys=<value optimized out>)
    at ../../libkleo/backends/qgpgme/qgpgmekeylistjob.cpp:133
#10 0x0000003a1c387122 in KMail::ObjectTreeParser::writeOpaqueOrMultipartSignedData (this=<value optimized out>, data=<value optimized out>, sign=<value optimized out>, 
    fromAddress=<value optimized out>, doCheck=<value optimized out>, cleartextData=<value optimized out>, paramSignatures=) at ../../kmail/objecttreeparser.cpp:486
#11 0x0000003a1c38a3f7 in KMail::ObjectTreeParser::processMultiPartSignedSubtype (this=<value optimized out>, node=<value optimized out>) at ../../kmail/objecttreeparser.cpp:1181
#12 0x0000003a1c381db0 in KMail::ObjectTreeParser::parseObjectTree (this=<value optimized out>, node=<value optimized out>) at ../../kmail/objecttreeparser.cpp:282
#13 0x0000003a1c382488 in KMail::ObjectTreeParser::stdChildHandling (this=<value optimized out>, child=<value optimized out>) at ../../kmail/objecttreeparser.cpp:1084
#14 0x0000003a1c3827e4 in KMail::ObjectTreeParser::processMultiPartMixedSubtype (this=<value optimized out>, node=<value optimized out>) at ../../kmail/objecttreeparser.cpp:1097
#15 0x0000003a1c381db0 in KMail::ObjectTreeParser::parseObjectTree (this=<value optimized out>, node=<value optimized out>) at ../../kmail/objecttreeparser.cpp:282
#16 0x0000003a1c1fb207 in KMReaderWin::parseMsg (this=<value optimized out>, aMsg=<value optimized out>) at ../../kmail/kmreaderwin.cpp:1619
#17 0x0000003a1c1e9497 in KMReaderWin::displayMessage (this=<value optimized out>) at ../../kmail/kmreaderwin.cpp:1552
#18 0x0000003a1c1e9685 in KMReaderWin::updateReaderWin (this=<value optimized out>) at ../../kmail/kmreaderwin.cpp:1492
#19 0x0000003a1c1f7655 in KMReaderWin::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at ./kmreaderwin.moc:164
#20 0x0000003e7f3686d4 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3031
#21 0x0000003e7f362fe3 in QObject::event (this=<value optimized out>, e=<value optimized out>) at kernel/qobject.cpp:1120
#22 0x0000003e80bcaa5d in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:3803
#23 0x0000003e80bd27da in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:3768
#24 0x0000003a13624f6b in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at ../../kdeui/kernel/kapplication.cpp:307
#25 0x0000003e7f354381 in QCoreApplication::notifyInternal (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at kernel/qcoreapplication.cpp:587
#26 0x0000003e7f380256 in QTimerInfoList::activateTimers (this=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#27 0x0000003e7f37c7ad in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:160
#28 0x0000003e7e63978b in IA__g_main_context_dispatch (context=<value optimized out>) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2012
#29 0x0000003e7e63cf5d in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2645
#30 0x0000003e7e63d11b in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2708
#31 0x0000003e7f37c70f in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#32 0x0000003e80c5c44f in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198
#33 0x0000003e7f352ca2 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:143
#34 0x0000003e7f352e2d in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:194
#35 0x0000003e7f3552dd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#36 0x0000000000402f8b in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kmail/main.cpp:146
Comment 1 Thomas McGuire 2009-01-04 14:34:56 UTC
Can you forward (as attachment) the message to me?
Comment 2 Thomas McGuire 2009-01-04 22:05:59 UTC
I can't reproduce this with current trunk and the message you forwarded to me (doesn't matter if I have the GPG key in my keyring or not).
Comment 3 Ionut Ciocirlan 2009-01-04 23:11:51 UTC
*** Bug 179552 has been marked as a duplicate of this bug. ***
Comment 4 Ionut Ciocirlan 2009-01-04 23:19:44 UTC
Both this and #179552 have been solved by upgrading libgpgme11 from 1.1.6 (debian lenny) to 1.1.8 (sid).
The notable thing in the changelog is that the previous version was lacking pthread support:
http://packages.debian.org/changelogs/pool/main/g/gpgme1.0/gpgme1.0_1.1.8-1/changelog#versionversion1.1.8-1
Comment 5 Thomas McGuire 2009-01-04 23:23:21 UTC
> Both this and #179552 have been solved by upgrading libgpgme11 from 1.1.6 (debian lenny) to 1.1.8 (sid).

Closing as downstream bug, then.
Comment 6 Jaime Torres 2009-01-22 11:18:49 UTC
*** Bug 181318 has been marked as a duplicate of this bug. ***