Bug 312535 - Kmail crash after failed IMAP setup
Summary: Kmail crash after failed IMAP setup
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: IMAP resource (show other bugs)
Version: 4.9
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Ottens
Depends on:
Reported: 2013-01-03 12:48 UTC by bainespal
Modified: 2013-02-17 21:02 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.10.1


Note You need to log in before you can comment on or make changes to this bug.
Description bainespal 2013-01-03 12:48:24 UTC
Application: akonadi_imap_resource (4.9)
KDE Platform Version: 4.9.3
Qt Version: 4.8.3
Operating System: Linux 3.5.0-21-generic i686
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:I tried to register an IMAP account.

- Unusual behavior I noticed:Subsequently, at every login Kmail would attempt to open and would crash again.  Whenever I cancel, Kmail simply opens again and crashes again.  It does not go away during the entire session.

The crash can be reproduced every time.

-- Backtrace:
Application: Opera Mail account 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".
[KCrash Handler]
#6  0xb72c97a9 in QObject::disconnect (sender=0x9928980, signal=0x80ac6c4 "2stateChanged(KIMAP::Session::State,KIMAP::Session::State)", receiver=0x98f06f8, method=0x80ac680 "1onSessionStateChanged(KIMAP::Session::State,KIMAP::Session::State)") at kernel/qobject.cpp:2891
#7  0x0809a17d in SessionPool::killSession (this=0x98f06f8, session=0x9928980, termination=SessionPool::LogoutSession) at ../../../resources/imap/sessionpool.cpp:176
#8  0x0809ae68 in SessionPool::cancelSessionCreation (this=0x98f06f8, session=0x9928980, errorCode=4, errorMessage=...) at ../../../resources/imap/sessionpool.cpp:233
#9  0x0809c2ae in SessionPool::onPasswordRequestDone (this=this@entry=0x98f06f8, resultType=2, password=...) at ../../../resources/imap/sessionpool.cpp:308
#10 0x0809cbdc in SessionPool::qt_static_metacall (_o=0x98f06f8, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbf910494) at ./sessionpool.moc:94
#11 0xb72c9ed6 in QMetaObject::activate (sender=0x98fce78, m=0x80aa160 <PasswordRequesterInterface::staticMetaObject>, local_signal_index=0, argv=0xbf910494) at kernel/qobject.cpp:3547
#12 0x0808753f in PasswordRequesterInterface::done (this=0x98fce78, _t1=2, _t2=...) at ./passwordrequesterinterface.moc:118
#13 0x08064fd0 in SettingsPasswordRequester::askUserInput (this=0x98fce78, serverError=...) at ../../../resources/imap/settingspasswordrequester.cpp:75
#14 0xb72c39aa in QMetaCallEvent::placeMetaCall (this=0x97c3ec0, object=0x98fce78) at kernel/qobject.cpp:525
#15 0xb72c7eeb in QObject::event (this=0x98fce78, e=0x97c3ec0) at kernel/qobject.cpp:1195
#16 0xb67a239c in QApplicationPrivate::notify_helper (this=0x97c7e40, receiver=0x98fce78, e=0x97c3ec0) at kernel/qapplication.cpp:4562
#17 0xb67a6daf in QApplication::notify (this=0x97c3ec0, receiver=0x98fce78, e=0x97c3ec0) at kernel/qapplication.cpp:3944
#18 0xb5d7be91 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0xb72b178e in QCoreApplication::notifyInternal (this=0xbf910d44, receiver=0x98fce78, event=0x97c3ec0) at kernel/qcoreapplication.cpp:915
#20 0xb72b597d in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x97a3af0) at kernel/qcoreapplication.cpp:1539
#22 0xb72b5c0c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1432
#23 0xb72e3804 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#24 postEventSourceDispatch (s=0x97c5548) at kernel/qeventdispatcher_glib.cpp:279
#25 0xb54479e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb5447d80 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0xb5447e61 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb72e3981 in QEventDispatcherGlib::processEvents (this=0x97a4850, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#29 0xb68589aa in QGuiEventDispatcherGlib::processEvents (this=0x97a4850, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0xb72b026c in QEventLoop::processEvents (this=this@entry=0xbf910ca8, flags=...) at kernel/qeventloop.cpp:149
#31 0xb72b0561 in QEventLoop::exec (this=0xbf910ca8, flags=...) at kernel/qeventloop.cpp:204
#32 0xb72b5cba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#33 0xb679ffc4 in QApplication::exec () at kernel/qapplication.cpp:3823
#34 0xb75d6721 in Akonadi::ResourceBase::init(Akonadi::ResourceBase*) () from /usr/lib/libakonadi-kde.so.4
#35 0x0805ee9b in Akonadi::ResourceBase::init<ImapResource> (argc=argc@entry=3, argv=argv@entry=0xbf910e24) at /usr/include/akonadi/resourcebase.h:188
#36 0x08058a3b in main (argc=3, argv=0xbf910e24) at ../../../resources/imap/imapresource.cpp:654

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

Possible duplicates by query: bug 312057, bug 311014, bug 310526, bug 310072, bug 309357.

Reported using DrKonqi
Comment 1 David Faure 2013-02-17 21:02:34 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 308888, bug 288268, bug 312057, bug 309357, bug 308207, bug 311014, bug 309346, bug 307780
FIXED-IN: 4.10.1

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