Bug 295534

Summary: kmail2 randomly crashes upon browsing mail
Product: [Applications] kmail2 Reporter: Claus Wilke <wilke>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: major CC: alexanders83, datweety, dr.tim.dossantos, Martin, thomas
Priority: NOR    
Version: 4.8   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Kmail Kcrash log
second kmail kcrash log
kontact/kmail crash while browsing

Description Claus Wilke 2012-03-08 14:45:41 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) konqueror/4.8.0 Safari/534.34
Build Identifier: 

Lately, I'm experiencing a lot of random crashes with kmail. It usually happens as follows: I start kmail for the first time and start reading email (imap account). After clicking on 3 or 4 mails, kmail crashes.

The crash doesn't always happen, and when kmail survives the first 3-5 minutes of staying up then usually it doesn't crash anymore.

The backtrace follows below. It seems that the crash happens in the soprano component. There's a few symbols missing, but I'm not sure which package to install to get the remaining ones. The KDE crash assistant doesn't know either.

Application: kmail (4.8.0)
KDE Platform Version: 4.8.00 (4.8.0 "release 462"
Qt Version: 4.8.0
Operating System: Linux 3.1.9-1.4-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

-- Information about the crash:
<In detail, tell us what you were doing  when the application crashed.>

The crash can be reproduced some of the time.

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fbf33b21780 (LWP 4996))]

Thread 5 (Thread 0x7fbf15cf9700 (LWP 5009)):
#0  0x00007fbf2ec32e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fbf252fec12 in ?? () from /usr/lib64/libQtWebKit.so.4
#2  0x00007fbf252fec49 in ?? () from /usr/lib64/libQtWebKit.so.4
#3  0x00007fbf2ec2ef05 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fbf30e5563d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fbf153f0700 (LWP 5010)):
#0  0x00007fbf30e4c523 in poll () from /lib64/libc.so.6
#1  0x00007fbf29316a98 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fbf29316f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fbf324b2956 in QEventDispatcherGlib::processEvents (this=0x7fbf100008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fbf32482682 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fbf324828d7 in QEventLoop::exec (this=0x7fbf153efe00, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fbf32383537 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007fbf3238655b in QThreadPrivate::start (arg=0xc40d20) at thread/qthread_unix.cpp:298
#8  0x00007fbf2ec2ef05 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fbf30e5563d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fbecf7af700 (LWP 5011)):
#0  0x00007fbf2ec331eb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fbf323869cf in wait (time=30000, this=0xd7fae0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0xd7fa58, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fbf32379ddf in QThreadPoolThread::run (this=0xd952f0) at concurrent/qthreadpool.cpp:141
#4  0x00007fbf3238655b in QThreadPrivate::start (arg=0xd952f0) at thread/qthread_unix.cpp:298
#5  0x00007fbf2ec2ef05 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fbf30e5563d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fbece97f700 (LWP 5013)):
#0  0x00007fbf2ec331eb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fbf323869cf in wait (time=30000, this=0x52720e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x5276418, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fbf32379ddf in QThreadPoolThread::run (this=0x52726c0) at concurrent/qthreadpool.cpp:141
#4  0x00007fbf3238655b in QThreadPrivate::start (arg=0x52726c0) at thread/qthread_unix.cpp:298
#5  0x00007fbf2ec2ef05 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fbf30e5563d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fbf33b21780 (LWP 4996)):
[KCrash Handler]
#6  0x00007fbf22a317ca in ?? () from /usr/lib64/libsopranoclient.so.1
#7  0x00007fbf22a31909 in ?? () from /usr/lib64/libsopranoclient.so.1
#8  0x00007fbf3238452d in QThreadStorageData::set (this=0x5c464e0, p=0xbdb740) at thread/qthreadstorage.cpp:165
#9  0x00007fbf22a2f290 in ?? () from /usr/lib64/libsopranoclient.so.1
#10 0x00007fbf22a2f309 in ?? () from /usr/lib64/libsopranoclient.so.1
#11 0x00007fbf22a2e8ca in Soprano::Client::LocalSocketClient::connect(QString const&) () from /usr/lib64/libsopranoclient.so.1
#12 0x00007fbf29f15b41 in init (forced=true, this=0xc43d30) at /usr/src/debug/kdelibs-4.8.0/nepomuk/core/nepomukmainmodel.cpp:102
#13 Nepomuk::MainModel::init (this=0xbc9dc0) at /usr/src/debug/kdelibs-4.8.0/nepomuk/core/nepomukmainmodel.cpp:176
#14 0x00007fbf29f0b779 in Nepomuk::ResourceManager::init (this=0xa8d410) at /usr/src/debug/kdelibs-4.8.0/nepomuk/core/resourcemanager.cpp:331
#15 0x00007fbf29f0ea85 in Nepomuk::ResourceManagerPrivate::_k_storageServiceInitialized (this=0xb8a480, success=<optimized out>) at /usr/src/debug/kdelibs-4.8.0/nepomuk/core/resourcemanager.cpp:221
#16 0x00007fbf29f0ebdb in Nepomuk::ResourceManager::qt_metacall (this=0xa8d410, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffca8addc0) at /usr/src/debug/kdelibs-4.8.0/build/nepomuk/resourcemanager.moc:107
#17 0x00007fbf2ee68f6b in QDBusConnectionPrivate::deliverCall (this=0x64c7f0, object=0xa8d410, msg=..., metaTypes=..., slotIdx=9) at qdbusintegrator.cpp:947
#18 0x00007fbf3249c926 in QObject::event (this=0xa8d410, e=<optimized out>) at kernel/qobject.cpp:1204
#19 0x00007fbf31808e84 in notify_helper (e=0x564abc0, receiver=0xa8d410, this=0x6619f0) at kernel/qapplication.cpp:4550
#20 QApplicationPrivate::notify_helper (this=0x6619f0, receiver=0xa8d410, e=0x564abc0) at kernel/qapplication.cpp:4522
#21 0x00007fbf3180dd03 in QApplication::notify (this=0x7fffca8ae8a0, receiver=0xa8d410, e=0x564abc0) at kernel/qapplication.cpp:4411
#22 0x00007fbf3352d786 in KApplication::notify (this=0x7fffca8ae8a0, receiver=0xa8d410, event=0x564abc0) at /usr/src/debug/kdelibs-4.8.0/kdeui/kernel/kapplication.cpp:311
#23 0x00007fbf3248389c in QCoreApplication::notifyInternal (this=0x7fffca8ae8a0, receiver=0xa8d410, event=0x564abc0) at kernel/qcoreapplication.cpp:876
#24 0x00007fbf3248713a in sendEvent (event=0x564abc0, receiver=0xa8d410) at kernel/qcoreapplication.h:231
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60b740) at kernel/qcoreapplication.cpp:1500
#26 0x00007fbf324b24c3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#27 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#28 0x00007fbf2931658d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#29 0x00007fbf29316d88 in ?? () from /usr/lib64/libglib-2.0.so.0
#30 0x00007fbf29316f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#31 0x00007fbf324b28ef in QEventDispatcherGlib::processEvents (this=0x60b000, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#32 0x00007fbf318ac2de in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007fbf32482682 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007fbf324828d7 in QEventLoop::exec (this=0x7fffca8ae780, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007fbf32487435 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#36 0x0000000000402df3 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdepim-4.8.0/kmail/main.cpp:145


Reproducible: Sometimes

Steps to Reproduce:
1. start kmail
2. click on emails in imap account

Actual Results:  
kmail crashes

Expected Results:  
no crash
Comment 1 Thomas Tanghus 2012-03-09 07:21:43 UTC
I also have crashes where the debug packages for soprano couldn't be found. On Kubuntu the package was called libsoprano-dbg. Dunno if it's the same for SuSE.
Comment 2 Tim dos Santos 2012-03-09 13:17:39 UTC
Created attachment 69423 [details]
Kmail Kcrash log
Comment 3 Tim dos Santos 2012-03-09 13:18:05 UTC
Created attachment 69425 [details]
second kmail kcrash log
Comment 4 Tim dos Santos 2012-03-09 13:19:04 UTC
I also see those crashes (I attached two kcrash logs). I tried to submit them from the KCrash handler, but it seemingly is not compatible to the recent bugs.kde.org page changes (doh!!)
Comment 5 datweety 2012-03-15 09:04:03 UTC
Hi all, 

for me the crash is 100% reproducible by repeatedly changes between html - nonhtml emails (several 1-4 changes needed).
Deactivating the "prefer html view before plaintext"-option in kmail security settings solves this problem. 
("mails are allowed to load external references"-option doesn't effect this crash)

Now I stay with "ugly" mails in plaintext but no crash anymore. Seems like libQtWebKit.so.x is the evil package???

openSuSE 12.1
KDE 4.8.1
QT 4.8.0 (libqt4 4.8.0-248.1-x86_64)
kmail2 4.8.1-331-x86_64
libQtWebKit 4.8.0+2.2.0-20.1-x86_64 / 4.7.4+2.2.0-2.1.2-x86_64

I hope this helps a little further on that - especially those skilled guys who are able to solve this (today maybe???).

greez2all
Tweety
Comment 6 Alexander Stein 2012-03-16 12:08:05 UTC
I have the same behavior with the current version 4.8.1 though my backtrace looks a bit different. Attaching it. I just browsed, deleted (moveing to trash) one mail and browsed again afterwards and it crashed then.
Comment 7 Alexander Stein 2012-03-16 12:08:40 UTC
Created attachment 69660 [details]
kontact/kmail crash while browsing
Comment 8 Martin Steigerwald 2015-04-12 11:01:07 UTC
Hello! Claus, thank for reporting this bug. Claus and anyone who could confirm the issue, can you still reproduce this bug with KMail from KDEPIM 4.14 and with Akonadi 1.13? This bug report isrelated to a version of KMail that uses Nepomuk. Kmail from KDEPIM 4.14 uses Baloo for mail indexing. As I didn´t see kmail crashing on browsing mail since quite a long time and the last confirmation on this bug report is from 2012, I will close the bug in one month in case I do not receive a confirmation that it is still reproducable with recent versions. Thank you.
Comment 9 Martin Steigerwald 2015-04-12 11:50:23 UTC
Setting to waiting for information after I received bugzilla rights to do that.
Comment 10 Martin Steigerwald 2015-04-12 22:17:13 UTC
Klaus replied without ccing bug report:

Re: [kmail2] [Bug 295534] kmail2 randomly crashes upon browsing mail
Von:	Claus […] <[…]>
Datum:	Gestern 22:21:16
I haven't used KMail in at least 2 years, so I can't speak to its present
state. The bug can be closed as far as I'm concerned.

thus I am closing this bug.