Review Request 123648: Guard access to kscreen configuration

David Edmundson david at davidedmundson.co.uk
Tue May 5 22:18:27 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123648/#review79923
-----------------------------------------------------------

Ship it!


Good stuff :)


shell/shellcorona.cpp (line 189)
<https://git.reviewboard.kde.org/r/123648/#comment54779>

    an alternate solution would also be to move this to be inside ::load()
    
    soo after GetConfigOperation is done.
    
    depends if we prefer error handling or avoiding having the error in the first place. I don't have a strong opinion, your choice.


- David Edmundson


On May 5, 2015, 10:08 p.m., Sebastian Kügler wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123648/
> -----------------------------------------------------------
> 
> (Updated May 5, 2015, 10:08 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Bugs: 346590
>     https://bugs.kde.org/show_bug.cgi?id=346590
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> Guard access to kscreen configuration
> 
> reconsiderOutputs() may be called before the async config fetching
> operation (KScreen::GetConfigOperation) has finished, so the pointer is
> still null at that point. This can happen if qApp::screenRemoved fires
> before kscreen was able to start the backend loader and pass back a
> ConfigPtr.
> 
> The bug is rooted by in the dual-use of libkscreen and qApp's QScreen
> handling. The timings here produce this race condition. This patch
> should be quite safe, though, since it doesn't change the logic, but
> rather makes sure this race condition bails out nicely by falling back
> to just waiting until a kscreen config has arrived (which will happen
> right after).
> 
> BUG:346590
> REVIEW:
> FIXED-IN:5.3.1
> 
> 
> Diffs
> -----
> 
>   shell/shellcorona.cpp 558788daad66f8be7cc35955a5600ddab655cde6 
> 
> Diff: https://git.reviewboard.kde.org/r/123648/diff/
> 
> 
> Testing
> -------
> 
> I can't reproduce this crash myself.
> 
> 
> Thanks,
> 
> Sebastian Kügler
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150505/fcc3e3c4/attachment.html>


More information about the Plasma-devel mailing list