[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