Bug 311014 - kmail-4.9.3 produces a Crash message when canceling the prompt to enter email password
Summary: kmail-4.9.3 produces a Crash message when canceling the prompt to enter email...
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: IMAP resource (show other bugs)
Version: 4.9
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Ottens
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-02 08:11 UTC by Christian
Modified: 2013-02-17 21:02 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.10.1
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (4.94 KB, text/plain)
2013-02-12 08:42 UTC, Bruno Friedmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christian 2012-12-02 08:11:59 UTC
Application: akonadi_imap_resource (4.9)
KDE Platform Version: 4.9.3
Qt Version: 4.8.2
Operating System: Linux 3.5.7-gentoo x86_64
Distribution: "Gentoo Base System release 2.1"

-- Information about the crash:
- What I was doing when the application crashed:
There was a popup informing me that the certificate to my IMAP SSL connection has expired. I clicked on Cancel. Then there was a popup asking whether I want to go to the account settings because there seems to be a problem with the password. I clicked on Cancel again. That causes this crash message to appear.
The first popup is shown every time, and when I click on the Cancel buttons, the crash always happens.
The crash also happens if, for another reason such as interrupted internet connection, the second popup (about going to the account settings) is shown and I click Cancel.

The crash can be reproduced every time.

-- Backtrace:
Application: IMAP-sähköpostipalvelin ESiOR OWA (akonadi_imap_resource), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#6  0x00007f7b6a8ef230 in vtable for Oxygen::EnableData () from /usr/lib64/kde4/plugins/styles/oxygen.so
#7  0x00007f7b78c681c2 in QObject::disconnect (sender=0x2b36e70, signal=0x2c49779 "stateChanged(KIMAP::Session::State,KIMAP::Session::State)", receiver=0x276ce40, method=0x2c3d8c9 "onSessionStateChanged(KIMAP::Session::State,KIMAP::Session::State)") at kernel/qobject.cpp:2891
#8  0x0000000000455b6c in SessionPool::killSession (this=0x276ce40, session=0x2b36e70, termination=SessionPool::LogoutSession) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3/resources/imap/sessionpool.cpp:176
#9  0x00000000004565a9 in SessionPool::cancelSessionCreation (this=0x276ce40, session=0x2b36e70, errorCode=4, errorMessage=...) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3/resources/imap/sessionpool.cpp:233
#10 0x00000000004568fb in SessionPool::onPasswordRequestDone (this=0x276ce40, resultType=<optimized out>, password=...) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3/resources/imap/sessionpool.cpp:308
#11 0x0000000000458207 in SessionPool::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3_build/resources/imap/sessionpool.moc:94
#12 0x00007f7b78c65c82 in QMetaObject::activate (sender=0x2752da0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffd9cf27c0) at kernel/qobject.cpp:3547
#13 0x0000000000444391 in PasswordRequesterInterface::done (this=<optimized out>, _t1=2, _t2=...) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3_build/resources/imap/passwordrequesterinterface.moc:118
#14 0x00000000004235c6 in SettingsPasswordRequester::askUserInput (this=0x2752da0, serverError=...) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3/resources/imap/settingspasswordrequester.cpp:75
#15 0x00007f7b78c6507e in QObject::event (this=0x2752da0, e=<optimized out>) at kernel/qobject.cpp:1195
#16 0x00007f7b77fbb39c in QApplicationPrivate::notify_helper (this=0x2556610, receiver=0x2752da0, e=0x2c66840) at kernel/qapplication.cpp:4551
#17 0x00007f7b77fbfe6f in QApplication::notify (this=<optimized out>, receiver=0x2752da0, e=0x2c66840) at kernel/qapplication.cpp:4412
#18 0x00007f7b7607e9a8 in KApplication::notify (this=0x7fffd9cf70b0, receiver=0x2752da0, event=0x2c66840) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/kernel/kapplication.cpp:311
#19 0x00007f7b78c502ab in QCoreApplication::notifyInternal (this=0x7fffd9cf70b0, receiver=0x2752da0, event=0x2c66840) at kernel/qcoreapplication.cpp:915
#20 0x00007f7b78c538a7 in sendEvent (event=0x2c66840, receiver=0x2752da0) at kernel/qcoreapplication.h:231
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x252d450) at kernel/qcoreapplication.cpp:1539
#22 0x00007f7b78c7f3b3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#23 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#24 0x00007f7b73e6e8fa in g_main_dispatch (context=0x2557b00) at gmain.c:2539
#25 g_main_context_dispatch (context=0x2557b00) at gmain.c:3075
#26 0x00007f7b73e6ec58 in g_main_context_iterate (context=0x2557b00, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#27 0x00007f7b73e6ed0c in g_main_context_iteration (context=0x2557b00, may_block=1) at gmain.c:3207
#28 0x00007f7b78c7f51a in QEventDispatcherGlib::processEvents (this=0x252ecb0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#29 0x00007f7b780613c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007f7b78c4ef92 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007f7b78c4f285 in QEventLoop::exec (this=0x7fffd9cf33d0, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007f7b7847226a in QDialog::exec (this=0x2a78ed0) at dialogs/qdialog.cpp:554
#33 0x00007f7b77313781 in KIO::SslUi::askIgnoreSslErrors (uiData=..., storedRules=KIO::SslUi::RecallAndStoreRules) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kio/kssl/sslui.cpp:104
#34 0x00007f7b77862d5a in KIMAP::SessionPrivate::handleSslError (this=0x2996be0, errorData=...) at /tmp/portage/kde-base/kdepimlibs-4.9.3/work/kdepimlibs-4.9.3/kimap/session.cpp:118
#35 0x00007f7b78c6507e in QObject::event (this=0x28b4700, e=<optimized out>) at kernel/qobject.cpp:1195
#36 0x00007f7b77fbb39c in QApplicationPrivate::notify_helper (this=0x2556610, receiver=0x28b4700, e=0x7f7b600968f0) at kernel/qapplication.cpp:4551
#37 0x00007f7b77fbfe6f in QApplication::notify (this=<optimized out>, receiver=0x28b4700, e=0x7f7b600968f0) at kernel/qapplication.cpp:4412
#38 0x00007f7b7607e9a8 in KApplication::notify (this=0x7fffd9cf70b0, receiver=0x28b4700, event=0x7f7b600968f0) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/kernel/kapplication.cpp:311
#39 0x00007f7b78c502ab in QCoreApplication::notifyInternal (this=0x7fffd9cf70b0, receiver=0x28b4700, event=0x7f7b600968f0) at kernel/qcoreapplication.cpp:915
#40 0x00007f7b78c538a7 in sendEvent (event=0x7f7b600968f0, receiver=0x28b4700) at kernel/qcoreapplication.h:231
#41 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x252d450) at kernel/qcoreapplication.cpp:1539
#42 0x00007f7b78c7f3b3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#43 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#44 0x00007f7b73e6e8fa in g_main_dispatch (context=0x2557b00) at gmain.c:2539
#45 g_main_context_dispatch (context=0x2557b00) at gmain.c:3075
#46 0x00007f7b73e6ec58 in g_main_context_iterate (context=0x2557b00, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#47 0x00007f7b73e6ed0c in g_main_context_iteration (context=0x2557b00, may_block=1) at gmain.c:3207
#48 0x00007f7b78c7f51a in QEventDispatcherGlib::processEvents (this=0x252ecb0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#49 0x00007f7b780613c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#50 0x00007f7b78c4ef92 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#51 0x00007f7b78c4f285 in QEventLoop::exec (this=0x7fffd9cf44f0, flags=...) at kernel/qeventloop.cpp:204
#52 0x00007f7b7847226a in QDialog::exec (this=0x2829120) at dialogs/qdialog.cpp:554
#53 0x00007f7b77313781 in KIO::SslUi::askIgnoreSslErrors (uiData=..., storedRules=KIO::SslUi::RecallAndStoreRules) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kio/kssl/sslui.cpp:104
#54 0x00007f7b77862d5a in KIMAP::SessionPrivate::handleSslError (this=0x280a6b0, errorData=...) at /tmp/portage/kde-base/kdepimlibs-4.9.3/work/kdepimlibs-4.9.3/kimap/session.cpp:118
#55 0x00007f7b78c6507e in QObject::event (this=0x281f6c0, e=<optimized out>) at kernel/qobject.cpp:1195
#56 0x00007f7b77fbb39c in QApplicationPrivate::notify_helper (this=0x2556610, receiver=0x281f6c0, e=0x7f7b5800bc90) at kernel/qapplication.cpp:4551
#57 0x00007f7b77fbfe6f in QApplication::notify (this=<optimized out>, receiver=0x281f6c0, e=0x7f7b5800bc90) at kernel/qapplication.cpp:4412
#58 0x00007f7b7607e9a8 in KApplication::notify (this=0x7fffd9cf70b0, receiver=0x281f6c0, event=0x7f7b5800bc90) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/kernel/kapplication.cpp:311
#59 0x00007f7b78c502ab in QCoreApplication::notifyInternal (this=0x7fffd9cf70b0, receiver=0x281f6c0, event=0x7f7b5800bc90) at kernel/qcoreapplication.cpp:915
#60 0x00007f7b78c538a7 in sendEvent (event=0x7f7b5800bc90, receiver=0x281f6c0) at kernel/qcoreapplication.h:231
#61 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x252d450) at kernel/qcoreapplication.cpp:1539
#62 0x00007f7b78c7f3b3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#63 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#64 0x00007f7b73e6e8fa in g_main_dispatch (context=0x2557b00) at gmain.c:2539
#65 g_main_context_dispatch (context=0x2557b00) at gmain.c:3075
#66 0x00007f7b73e6ec58 in g_main_context_iterate (context=0x2557b00, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#67 0x00007f7b73e6ed0c in g_main_context_iteration (context=0x2557b00, may_block=1) at gmain.c:3207
#68 0x00007f7b78c7f51a in QEventDispatcherGlib::processEvents (this=0x252ecb0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#69 0x00007f7b780613c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#70 0x00007f7b78c4ef92 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#71 0x00007f7b78c4f285 in QEventLoop::exec (this=0x7fffd9cf5610, flags=...) at kernel/qeventloop.cpp:204
#72 0x00007f7b7847226a in QDialog::exec (this=0x27a0610) at dialogs/qdialog.cpp:554
#73 0x00007f7b75fe86ed in KMessageBox::createKMessageBox (dialog=0x27a0610, icon=..., text=..., strlist=..., ask=..., checkboxReturn=0x7fffd9cf5e4f, options=..., details=..., notifyType=QMessageBox::Warning) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/dialogs/kmessagebox.cpp:344
#74 0x00007f7b75fe8eed in KMessageBox::createKMessageBox (dialog=0x27a0610, icon=QMessageBox::Warning, text=..., strlist=..., ask=..., checkboxReturn=0x7fffd9cf5e4f, options=..., details=...) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/dialogs/kmessagebox.cpp:159
#75 0x00007f7b75fea20c in KMessageBox::warningYesNoCancelListWId (parent_id=0, text=..., strlist=..., caption=..., buttonYes_=..., buttonNo_=..., buttonCancel_=..., dontAskAgainName=..., options=...) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/dialogs/kmessagebox.cpp:802
#76 0x00007f7b75fea415 in KMessageBox::warningYesNoCancelList (parent=<optimized out>, text=..., strlist=..., caption=..., buttonYes=..., buttonNo=..., buttonCancel=..., dontAskAgainName=..., options=...) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/dialogs/kmessagebox.cpp:760
#77 0x00007f7b75fea470 in KMessageBox::warningYesNoCancel (parent=<optimized out>, text=..., caption=..., buttonYes=..., buttonNo=..., buttonCancel=..., dontAskAgainName=..., options=...) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/dialogs/kmessagebox.cpp:735
#78 0x00007f7b77313365 in KIO::SslUi::askIgnoreSslErrors (uiData=..., storedRules=KIO::SslUi::RecallAndStoreRules) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kio/kssl/sslui.cpp:82
#79 0x00007f7b77862d5a in KIMAP::SessionPrivate::handleSslError (this=0x27881e0, errorData=...) at /tmp/portage/kde-base/kdepimlibs-4.9.3/work/kdepimlibs-4.9.3/kimap/session.cpp:118
#80 0x00007f7b78c6507e in QObject::event (this=0x27880f0, e=<optimized out>) at kernel/qobject.cpp:1195
#81 0x00007f7b77fbb39c in QApplicationPrivate::notify_helper (this=0x2556610, receiver=0x27880f0, e=0x7f7b6016b6c0) at kernel/qapplication.cpp:4551
#82 0x00007f7b77fbfe6f in QApplication::notify (this=<optimized out>, receiver=0x27880f0, e=0x7f7b6016b6c0) at kernel/qapplication.cpp:4412
#83 0x00007f7b7607e9a8 in KApplication::notify (this=0x7fffd9cf70b0, receiver=0x27880f0, event=0x7f7b6016b6c0) at /tmp/portage/kde-base/kdelibs-4.9.3/work/kdelibs-4.9.3/kdeui/kernel/kapplication.cpp:311
#84 0x00007f7b78c502ab in QCoreApplication::notifyInternal (this=0x7fffd9cf70b0, receiver=0x27880f0, event=0x7f7b6016b6c0) at kernel/qcoreapplication.cpp:915
#85 0x00007f7b78c538a7 in sendEvent (event=0x7f7b6016b6c0, receiver=0x27880f0) at kernel/qcoreapplication.h:231
#86 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x252d450) at kernel/qcoreapplication.cpp:1539
#87 0x00007f7b78c7f3b3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#88 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#89 0x00007f7b73e6e8fa in g_main_dispatch (context=0x2557b00) at gmain.c:2539
#90 g_main_context_dispatch (context=0x2557b00) at gmain.c:3075
#91 0x00007f7b73e6ec58 in g_main_context_iterate (context=0x2557b00, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#92 0x00007f7b73e6ed0c in g_main_context_iteration (context=0x2557b00, may_block=1) at gmain.c:3207
#93 0x00007f7b78c7f556 in QEventDispatcherGlib::processEvents (this=0x252ecb0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#94 0x00007f7b780613c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#95 0x00007f7b78c4ef92 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#96 0x00007f7b78c4f285 in QEventLoop::exec (this=0x7fffd9cf7010, flags=...) at kernel/qeventloop.cpp:204
#97 0x00007f7b78c53d3b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#98 0x00007f7b793970a3 in Akonadi::ResourceBase::init (r=0x27672d0) at /tmp/portage/kde-base/kdepimlibs-4.9.3/work/kdepimlibs-4.9.3/akonadi/resourcebase.cpp:451
#99 0x000000000041a4bd in init<ImapResource> (argv=<optimized out>, argc=<optimized out>) at /usr/include/akonadi/resourcebase.h:188
#100 main (argc=<optimized out>, argv=<optimized out>) at /tmp/portage/kde-base/kdepim-runtime-4.9.3/work/kdepim-runtime-4.9.3/resources/imap/imapresource.cpp:654

Reported using DrKonqi
Comment 1 Christoph Feck 2012-12-07 01:03:37 UTC
Complicated nested event loops.
Comment 2 Jure Repinc 2013-01-25 10:14:14 UTC
I also get this crash in 4.10 RC3
Comment 3 Bruno Friedmann 2013-02-12 08:42:50 UTC
Created attachment 77187 [details]
New crash information added by DrKonqi

akonadi_imap_resource (4.10) on KDE Platform 4.10.00 "release 1" using Qt 4.8.4

- What I was doing when the application crashed: on a previous working imap(tls) offline account, change in the account the password to make it wrong.
with akonadi configuration, run the edit account, and let it failed the login. Cancel, re-edit by putting the right password.
Then I get the backtrace report.

server is dovecot + tls

-- Backtrace (Reduced):
#6  0x00007f11e20219b1 in QObject::disconnect (sender=0x20f8e20, signal=0x2131e59 "stateChanged(KIMAP::Session::State,KIMAP::Session::State)", receiver=0x1ce30b0, method=0x1f5db59 "onSessionStateChanged(KIMAP::Session::State,KIMAP::Session::State)") at kernel/qobject.cpp:2896
#7  0x0000000000456115 in SessionPool::killSession (this=this@entry=0x1ce30b0, session=session@entry=0x20f8e20, termination=termination@entry=SessionPool::LogoutSession) at /usr/src/debug/kdepim-runtime-4.10.0/resources/imap/sessionpool.cpp:176
#8  0x0000000000456b51 in SessionPool::cancelSessionCreation (this=this@entry=0x1ce30b0, session=0x20f8e20, errorCode=errorCode@entry=2, errorMessage=...) at /usr/src/debug/kdepim-runtime-4.10.0/resources/imap/sessionpool.cpp:233
#9  0x0000000000457e29 in SessionPool::onPasswordRequestDone (this=0x1ce30b0, resultType=<optimized out>, password=...) at /usr/src/debug/kdepim-runtime-4.10.0/resources/imap/sessionpool.cpp:295
#10 0x0000000000458997 in SessionPool::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kdepim-runtime-4.10.0/build/resources/imap/sessionpool.moc:94
Comment 4 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 312535, bug 309346, bug 307780
FIXED-IN: 4.10.1

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

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