[Kde-pim] Review Request 114995: Try to avoid another crash in the imap resource.
Kevin Ottens
ervin at kde.org
Mon Jan 13 06:53:31 GMT 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114995/#review47290
-----------------------------------------------------------
Ship it!
Ship It!
- Kevin Ottens
On Jan. 13, 2014, 12:20 a.m., Christian Mollekopf wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/114995/
> -----------------------------------------------------------
>
> (Updated Jan. 13, 2014, 12:20 a.m.)
>
>
> Review request for KDEPIM and Kevin Ottens.
>
>
> Bugs: 319776
> http://bugs.kde.org/show_bug.cgi?id=319776
>
>
> Repository: kdepim-runtime
>
>
> Description
> -------
>
> 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.
>
> BUG: 319776
>
>
> Diffs
> -----
>
> resources/imap/sessionpool.cpp ad1c9aee2fd095524563af0fe9de31ab7942298e
>
> Diff: https://git.reviewboard.kde.org/r/114995/diff/
>
>
> Testing
> -------
>
> Doesn't seem to brake anything, tests still pass.
>
>
> Thanks,
>
> Christian Mollekopf
>
>
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list