Bug 309788

Summary: IMAP crash when returning to this session from another session, after certificate issue
Product: [Frameworks and Libraries] Akonadi Reporter: asdinnie <kde>
Component: IMAP resourceAssignee: Kevin Ottens <ervin>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kdepim-bugs, vkrause
Priority: NOR    
Version: 4.9   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description asdinnie 2012-11-09 02:28:35 UTC
Application: akonadi_imap_resource (4.9)
KDE Platform Version: 4.9.2
Qt Version: 4.8.2
Operating System: Linux 3.2.0-33-generic-pae i686
Distribution: Ubuntu 12.04.1 LTS

-- Information about the crash:
0. I run two kde user sessions in parallel.
1. Switched to current session from the other kde user session (using Switch User button on panel)
2. Got a certificate error from KDE (see below).  Might be a time-out issue??
3. Asked it to remember the certificate forever
4. IMAP crashed straight afterwards, causing bug report


- Unusual behavior I noticed:

I seem to have frequent problems with server certificates when switching between user sessions.
It comes up with the same error dialog ("accept certificate forever", etc). I select Forever, but its certainly not forever as it keeps reoccuring in the exactly same way.
This same problem keeps happening every so often (ranging from once a day or more, up to a few times a week on a good week).

- Other:
Seems to related to bug report # 302,459 (IMAP dialog timeouts) but not exactly the same.  So both might have a similar root cause?

The crash can be reproduced some of the time.

-- Backtrace:
Application:   Mobility Express of type IMAP E-Mail Server (akonadi_imap_resource), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb49af9c0 (LWP 15523))]

Thread 4 (Thread 0xb2067b40 (LWP 15525)):
#0  0xb5502dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb72313b5 in do_gettime (frac=0xb2066fc0, sec=0xb2066fb8) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb731b6f6 in QTimerInfoList::updateCurrentTime (this=0xb1702074) at kernel/qeventdispatcher_unix.cpp:343
#4  0xb731ba4a in QTimerInfoList::timerWait (this=0xb1702074, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0xb731a2f3 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb20670cc) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb731a38d in timerSourcePrepare (source=0xb1702040, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb544c872 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb544cfaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb544d201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb731adb7 in QEventDispatcherGlib::processEvents (this=0xb1700468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0xb72e667d in QEventLoop::processEvents (this=0xb2067250, flags=...) at kernel/qeventloop.cpp:149
#12 0xb72e6919 in QEventLoop::exec (this=0xb2067250, flags=...) at kernel/qeventloop.cpp:204
#13 0xb71cf9ec in QThread::exec (this=0x9ad8660) at thread/qthread.cpp:501
#14 0xb6513299 in KIMAP::SessionThread::run (this=0x9ad8660) at ../../kimap/sessionthread.cpp:181
#15 0xb71d2e80 in QThreadPrivate::start (arg=0x9ad8660) at thread/qthread_unix.cpp:307
#16 0xb5573d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb5711d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xb16ffb40 (LWP 15744)):
#0  0xb544c884 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb544cfaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb544d201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb731adb7 in QEventDispatcherGlib::processEvents (this=0xb0d2b3b0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0xb72e667d in QEventLoop::processEvents (this=0xb16ff250, flags=...) at kernel/qeventloop.cpp:149
#5  0xb72e6919 in QEventLoop::exec (this=0xb16ff250, flags=...) at kernel/qeventloop.cpp:204
#6  0xb71cf9ec in QThread::exec (this=0x9afb548) at thread/qthread.cpp:501
#7  0xb6513299 in KIMAP::SessionThread::run (this=0x9afb548) at ../../kimap/sessionthread.cpp:181
#8  0xb71d2e80 in QThreadPrivate::start (arg=0x9afb548) at thread/qthread_unix.cpp:307
#9  0xb5573d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#10 0xb5711d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xb0977b40 (LWP 15838)):
#0  0xb5502dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb72313b5 in do_gettime (frac=0xb0976fc0, sec=0xb0976fb8) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb731b6f6 in QTimerInfoList::updateCurrentTime (this=0xb0c0599c) at kernel/qeventdispatcher_unix.cpp:343
#4  0xb731ba4a in QTimerInfoList::timerWait (this=0xb0c0599c, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0xb731a2f3 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb09770cc) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb731a38d in timerSourcePrepare (source=0xb0c05968, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb544c872 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb544cfaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb544d201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb731adb7 in QEventDispatcherGlib::processEvents (this=0xb0c051c8, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0xb72e667d in QEventLoop::processEvents (this=0xb0977250, flags=...) at kernel/qeventloop.cpp:149
#12 0xb72e6919 in QEventLoop::exec (this=0xb0977250, flags=...) at kernel/qeventloop.cpp:204
#13 0xb71cf9ec in QThread::exec (this=0x9ae0240) at thread/qthread.cpp:501
#14 0xb6513299 in KIMAP::SessionThread::run (this=0x9ae0240) at ../../kimap/sessionthread.cpp:181
#15 0xb71d2e80 in QThreadPrivate::start (arg=0x9ae0240) at thread/qthread_unix.cpp:307
#16 0xb5573d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb5711d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb49af9c0 (LWP 15523)):
[KCrash Handler]
#7  0xb72f30ca in QMetaObject::invokeMethod (obj=0x2f2f6b63, member=0xb65313a1 "sslErrorHandlerResponse", type=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1166
#8  0xb650f540 in invokeMethod (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., member=<optimized out>, obj=<optimized out>) at /usr/include/qt4/QtCore/qobjectdefs.h:434
#9  KIMAP::SessionPrivate::handleSslError (this=0x9ade500, errorData=...) at ../../kimap/session.cpp:121
#10 0xb6512102 in qt_static_metacall (_a=0xaf802498, _id=12, _o=0x9ae2e60, _c=<optimized out>) at ./session.moc:96
#11 KIMAP::Session::qt_static_metacall (_o=0x9ae2e60, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0xaf802498) at ./session.moc:78
#12 0xb72fa0d1 in QMetaCallEvent::placeMetaCall (this=0xaf800928, object=0x9ae2e60) at kernel/qobject.cpp:525
#13 0xb730314b in QObject::event (this=0x9ae2e60, e=0xaf800928) at kernel/qobject.cpp:1195
#14 0xb67d2df4 in notify_helper (e=0xaf800928, receiver=0x9ae2e60, this=0x9a86c20) at kernel/qapplication.cpp:4556
#15 QApplicationPrivate::notify_helper (this=0x9a86c20, receiver=0x9ae2e60, e=0xaf800928) at kernel/qapplication.cpp:4528
#16 0xb67d815d in QApplication::notify (this=0xaf800928, receiver=0x9ae2e60, e=0xaf800928) at kernel/qapplication.cpp:4285
#17 0xb5d8e541 in KApplication::notify (this=0xbffa6210, receiver=0x9ae2e60, event=0xaf800928) at ../../kdeui/kernel/kapplication.cpp:311
#18 0xb72e7dde in QCoreApplication::notifyInternal (this=0xbffa6210, receiver=0x9ae2e60, event=0xaf800928) at kernel/qcoreapplication.cpp:915
#19 0xb72ebf38 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#20 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9a61af0) at kernel/qcoreapplication.cpp:1539
#21 0xb72ec26c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1432
#22 0xb731a964 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#23 postEventSourceDispatch (s=0x9a7d058) at kernel/qeventdispatcher_glib.cpp:279
#24 0xb544cd86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0xb544d125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb544d201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0xb731ad57 in QEventDispatcherGlib::processEvents (this=0x9a62850, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#28 0xb688ba1a in QGuiEventDispatcherGlib::processEvents (this=0x9a62850, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#29 0xb72e667d in QEventLoop::processEvents (this=0xbffa6174, flags=...) at kernel/qeventloop.cpp:149
#30 0xb72e6919 in QEventLoop::exec (this=0xbffa6174, flags=...) at kernel/qeventloop.cpp:204
#31 0xb72ec31a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#32 0xb67d09c4 in QApplication::exec () at kernel/qapplication.cpp:3817
#33 0xb7613e21 in Akonadi::ResourceBase::init (r=0x9bb54b0) at ../../akonadi/resourcebase.cpp:451
#34 0x0805ec57 in Akonadi::ResourceBase::init<ImapResource> (argc=3, argv=0xbffa62e4) at /usr/include/akonadi/resourcebase.h:188
#35 0x0805891b in main (argc=3, argv=0xbffa62e4) at ../../../resources/imap/imapresource.cpp:652

Possible duplicates by query: bug 307197, bug 302459, bug 296856.

Reported using DrKonqi
Comment 1 Jekyll Wu 2012-11-09 03:19:37 UTC

*** This bug has been marked as a duplicate of bug 279113 ***