Bug 308888

Summary: Setting up another GMail IMAP server
Product: [Frameworks and Libraries] Akonadi Reporter: Julius Schwartzenberg <julius.schwartzenberg>
Component: IMAP resourceAssignee: Kevin Ottens <ervin>
Status: RESOLVED FIXED    
Severity: crash CC: kdepim-bugs, vkrause
Priority: NOR    
Version: 4.9   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.10.1

Description Julius Schwartzenberg 2012-10-23 17:49:52 UTC
Application: akonadi_imap_resource (4.9)
KDE Platform Version: 4.9.2
Qt Version: 4.8.3
Operating System: Linux 3.5.0-17-generic x86_64
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:

Avoiding the automatic security button.
Clicking OK after correcting my password.

-- Backtrace:
Application: z_god@zgod.cjb.net van type IMAP e-mailserver (akonadi_imap_resource), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f492ccae780 (LWP 4194))]

Thread 3 (Thread 0x7f491374e700 (LWP 4198)):
#0  0x00007f49286e4303 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f4927230d84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4927230ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f492c0ccc16 in QEventDispatcherGlib::processEvents (this=0x7f49080008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f492c09d2bf in QEventLoop::processEvents (this=this@entry=0x7f491374ddd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f492c09d548 in QEventLoop::exec (this=0x7f491374ddd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f492bf9eb10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f492c07d9af in QInotifyFileSystemWatcherEngine::run (this=0x1d80d60) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f492bfa1aec in QThreadPrivate::start (arg=0x1d80d60) at thread/qthread_unix.cpp:338
#9  0x00007f4927d4ee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f49286efcbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f491183d700 (LWP 4199)):
#0  0x00007f4927230170 in g_main_context_release () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f4927230d35 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4927230ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f492c0ccc16 in QEventDispatcherGlib::processEvents (this=0x7f49000008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f492c09d2bf in QEventLoop::processEvents (this=this@entry=0x7f491183cde0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f492c09d548 in QEventLoop::exec (this=0x7f491183cde0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f492bf9eb10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f492ad02a89 in ?? () from /usr/lib/libkimap.so.4
#8  0x00007f492bfa1aec in QThreadPrivate::start (arg=0x1dc96d0) at thread/qthread_unix.cpp:338
#9  0x00007f4927d4ee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f49286efcbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f492ccae780 (LWP 4194)):
[KCrash Handler]
#5  0x00007f492c0b66df in QObject::disconnect (sender=0x1bd2030, signal=0x1d8b8b9 "stateChanged(KIMAP::Session::State,KIMAP::Session::State)", receiver=0x1b99b80, method=0x19c17b9 "onSessionStateChanged(KIMAP::Session::State,KIMAP::Session::State)") at kernel/qobject.cpp:2891
#6  0x00000000004539f5 in SessionPool::killSession (this=this@entry=0x1b99b80, session=session@entry=0x1bd2030, termination=termination@entry=SessionPool::LogoutSession) at ../../../resources/imap/sessionpool.cpp:176
#7  0x0000000000454421 in SessionPool::cancelSessionCreation (this=this@entry=0x1b99b80, session=0x1bd2030, errorCode=errorCode@entry=2, errorMessage=...) at ../../../resources/imap/sessionpool.cpp:233
#8  0x0000000000455709 in SessionPool::onPasswordRequestDone (this=0x1b99b80, resultType=<optimized out>, password=...) at ../../../resources/imap/sessionpool.cpp:295
#9  0x0000000000456287 in SessionPool::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./sessionpool.moc:94
#10 0x00007f492c0b3f5f in QMetaObject::activate (sender=0x1b858e0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe94015b0) at kernel/qobject.cpp:3547
#11 0x0000000000441a21 in PasswordRequesterInterface::done (this=<optimized out>, _t1=1, _t2=...) at ./passwordrequesterinterface.moc:118
#12 0x0000000000421262 in SettingsPasswordRequester::askUserInput (this=0x1b858e0, serverError=...) at ../../../resources/imap/settingspasswordrequester.cpp:66
#13 0x00007f492c0b343e in QObject::event (this=0x1b858e0, e=<optimized out>) at kernel/qobject.cpp:1195
#14 0x00007f492b445e9c in QApplicationPrivate::notify_helper (this=this@entry=0x19c3ae0, receiver=receiver@entry=0x1b858e0, e=e@entry=0x1b9b6a0) at kernel/qapplication.cpp:4562
#15 0x00007f492b44a30a in QApplication::notify (this=0x7fffe9403140, receiver=0x1b858e0, e=0x1b9b6a0) at kernel/qapplication.cpp:4423
#16 0x00007f49295b91d6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#17 0x00007f492c09e56e in QCoreApplication::notifyInternal (this=0x7fffe9403140, receiver=receiver@entry=0x1b858e0, event=event@entry=0x1b9b6a0) at kernel/qcoreapplication.cpp:915
#18 0x00007f492c0a23f1 in sendEvent (event=0x1b9b6a0, receiver=0x1b858e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x19924d0) at kernel/qcoreapplication.cpp:1539
#20 0x00007f492c0cca63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#21 postEventSourceDispatch (s=0x19c2bf0) at kernel/qeventdispatcher_glib.cpp:279
#22 0x00007f4927230ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f4927230de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f4927230ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f492c0ccbf6 in QEventDispatcherGlib::processEvents (this=0x1993cb0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#26 0x00007f492b4eac1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#27 0x00007f492c09d2bf in QEventLoop::processEvents (this=this@entry=0x7fffe94020c0, flags=...) at kernel/qeventloop.cpp:149
#28 0x00007f492c09d548 in QEventLoop::exec (this=0x7fffe94020c0, flags=...) at kernel/qeventloop.cpp:204
#29 0x00007f492b8fe428 in QDialog::exec (this=0x1f1ad80) at dialogs/qdialog.cpp:554
#30 0x00007f492952af4a in KMessageBox::createKMessageBox(KDialog*, QIcon const&, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&, QMessageBox::Icon) () from /usr/lib/libkdeui.so.5
#31 0x00007f492952b4fa in KMessageBox::createKMessageBox(KDialog*, QMessageBox::Icon, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&) () from /usr/lib/libkdeui.so.5
#32 0x00007f492952d6c5 in KMessageBox::questionYesNoCancelWId(unsigned long, QString const&, QString const&, KGuiItem const&, KGuiItem const&, KGuiItem const&, QString const&, QFlags<KMessageBox::Option>) () from /usr/lib/libkdeui.so.5
#33 0x0000000000420f32 in SettingsPasswordRequester::askUserInput (this=0x1b858e0, serverError=...) at ../../../resources/imap/settingspasswordrequester.cpp:61
#34 0x00007f492c0b343e in QObject::event (this=0x1b858e0, e=<optimized out>) at kernel/qobject.cpp:1195
#35 0x00007f492b445e9c in QApplicationPrivate::notify_helper (this=this@entry=0x19c3ae0, receiver=receiver@entry=0x1b858e0, e=e@entry=0x1e5fb70) at kernel/qapplication.cpp:4562
#36 0x00007f492b44a30a in QApplication::notify (this=0x7fffe9403140, receiver=0x1b858e0, e=0x1e5fb70) at kernel/qapplication.cpp:4423
#37 0x00007f49295b91d6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#38 0x00007f492c09e56e in QCoreApplication::notifyInternal (this=0x7fffe9403140, receiver=receiver@entry=0x1b858e0, event=event@entry=0x1e5fb70) at kernel/qcoreapplication.cpp:915
#39 0x00007f492c0a23f1 in sendEvent (event=0x1e5fb70, receiver=0x1b858e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x19924d0) at kernel/qcoreapplication.cpp:1539
#41 0x00007f492c0cca63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#42 postEventSourceDispatch (s=0x19c2bf0) at kernel/qeventdispatcher_glib.cpp:279
#43 0x00007f4927230ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f4927230de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f4927230ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f492c0ccbf6 in QEventDispatcherGlib::processEvents (this=0x1993cb0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#47 0x00007f492b4eac1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x00007f492c09d2bf in QEventLoop::processEvents (this=this@entry=0x7fffe94030c0, flags=...) at kernel/qeventloop.cpp:149
#49 0x00007f492c09d548 in QEventLoop::exec (this=0x7fffe94030c0, flags=...) at kernel/qeventloop.cpp:204
#50 0x00007f492c0a2708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#51 0x00007f492c7bc683 in Akonadi::ResourceBase::init(Akonadi::ResourceBase*) () from /usr/lib/libakonadi-kde.so.4
#52 0x000000000041afe3 in Akonadi::ResourceBase::init<ImapResource> (argc=<optimized out>, argv=<optimized out>) at /usr/include/akonadi/resourcebase.h:188
#53 0x00007f492861d76d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#54 0x00000000004156a5 in _start ()

This bug may be a duplicate of or related to bug 293189.

Possible duplicates by query: bug 308207, bug 307780, bug 307658, bug 305691, bug 303386.

Reported using DrKonqi
Comment 1 David Faure 2013-02-17 21:02:27 UTC
Git commit d82e4917f7286984bce16c2fa36ea4e9f6a24453 by David Faure.
Committed on 17/02/2013 at 21:54.
Pushed by dfaure into branch 'KDE/4.10'.

Fix crash due to dangling session pointer in m_pendingInitialSession.

This happens after disconnect() kills all sessions (e.g. due to losing
internet connection while the password dialog is up, or explicit toggling
of offline/online status, or due to the "SSL not supported").
Related: bug 312480, bug 310072, bug 288268, bug 312057, bug 309357, bug 308207, bug 312535, bug 311014, bug 309346, bug 307780
FIXED-IN: 4.10.1

M  +1    -0    resources/imap/sessionpool.cpp

http://commits.kde.org/kdepim-runtime/d82e4917f7286984bce16c2fa36ea4e9f6a24453