https://bugs.kde.org/show_bug.cgi?id=319776

Christian Mollekopf <chrig...@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 <chrig...@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
disconnect.
* 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

http://commits.kde.org/kdepim-runtime/73dd22e5f1c7019c502fcc7b5d6221d336d3785c

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Kdepim-bugs mailing list
Kdepim-bugs@kde.org
https://mail.kde.org/mailman/listinfo/kdepim-bugs

Reply via email to