Workaround crash in Aurorae destruction
ClosedPublic

Authored by davidedmundson on Jun 19 2018, 3:24 PM.

Details

Summary

Workaround QtBug-68997

Deleting of a RenderControl/render controlled window triggers deletion
of other queued deleted items, putting KWin in a corrupt state. See Qt
bug report.

Deleting this queued means we know we don't have anything else going on
in the stack which should make this somewhat safe.

BUG: 395346

Test Plan

Couldn't reproduce original crash. Based purely on the incomplete backtrace and code reading

Set an Aurorae theme. Closed some windows. Things still worked as before

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson created this revision.Jun 19 2018, 3:24 PM
Restricted Application added a project: KWin. · View Herald TranscriptJun 19 2018, 3:24 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
davidedmundson requested review of this revision.Jun 19 2018, 3:24 PM
mart accepted this revision.Jun 20 2018, 8:35 AM
This revision is now accepted and ready to land.Jun 20 2018, 8:35 AM

FYI, I put a proper fix in Qt 5.12 which got +2d already \o/

This revision was automatically updated to reflect the committed changes.

We are getting regression crash reports on X11 (or older Qt) now: https://bugs.kde.org/show_bug.cgi?id=395732 and a bisect report in https://bugs.kde.org/show_bug.cgi?id=395807

I've seen. Sorry. It depends on the QSGRenderContext used. One hooks in with the GL context which is now out of scope - and my machine was doing something different.
Might be best to just revert as I did a proper (safe!) fix in Qt 5.12 and the original bug was more rare.

I've seen. Sorry. It depends on the QSGRenderContext used. One hooks in with the GL context which is now out of scope - and my machine was doing something different.
Might be best to just revert as I did a proper (safe!) fix in Qt 5.12 and the original bug was more rare.

It wasn't that rare. I also see it on Wayland when using Aurorae every time when closing a Wayland window (XWayland is fine). But I'm totally fine with waiting for the 5.12 release. Maybe we should disable Aurorae on Wayland if Qt < 5.12