[Akonadi] [Bug 319776] Akonadi crashed, possibly because of sudden lack of network connection, caused by the laptop going into suspend-to-ram

Christian Mollekopf chrigi_1 at fastmail.fm
Mon Jan 13 09:09:15 GMT 2014


Christian Mollekopf <chrigi_1 at fastmail.fm> changed:

           What    |Removed                     |Added
             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |http://commits.kde.org/kdep
                   |                            |im-runtime/73dd22e5f1c7019c
                   |                            |502fcc7b5d6221d336d3785c

--- Comment #12 from Christian Mollekopf <chrigi_1 at fastmail.fm> ---
Git commit 73dd22e5f1c7019c502fcc7b5d6221d336d3785c by Christian Mollekopf.
Committed on 13/01/2014 at 09:08.
Pushed by cmollekopf into branch 'master'.

Try to avoid another crash in the imap resource.

This crash might have appeared when:
* KIMAP::LoginJob fails with connectionLost
* SessionPool::onLoginDone calls cancelSessionCreation
* the emit connectDone will hiddenly leave the function and
call IMAPResource::onConnectDone which again calls SessionPool::disconnect
thus potentially deleting all Sessions (although with deleteLater()).
* cancelSessionCreation later calls killSession again with the pointer
that is potentially already deleted using deleteLater from the call to
* The code finally crashes in killSession when calling QObject::disconnect on
the apparently invalid session pointer.

The analysis is based on the backtrace in 322440 (duplicate of 319776).

Note that this analysis makes only sense if the deleteLater was actually
executed for some reason (we somehow entered the eventloop),
and that I never managed to write a testcase reproducing the issue.

Since I'm out of ideas I try anyways, also, code that leaves the function
in the middle of the function due to signals gives me headaches.
REVIEW: 114995

M  +5    -5    resources/imap/sessionpool.cpp


You are receiving this mail because:
You are on the CC list for the bug.

More information about the Kdepim-bugs mailing list