Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upIntermittent reftest failures on linux (blank rendering) #24726
Comments
|
One theory: #24677 might have caused some layout or compositing code to believe that the window is incorrectly sized. |
|
I plan to test this theory by reverting changes since e5689df and throwing this at try-wpt many times. |
|
I have a theory that this issue occurred before #24677 (which explains why it happens when we revert it) because of async webrender rendering, but #24677 wildly increased how frequently it occurs by reducing the number of steps before compositing occurs (previously there would be some messages about setting the viewport size that no longer occur). I'm going to get a revert merged and see if the frequency of the problem diminishes. |
Delay reftest screenshot while WR frame is rendering This PR addresses the theory that #24726 occurs when WR is performing an async frame render and the reftest screenshot decides it's time to synchronously read the framebuffer. If there have not been any completed frames rendered yet, that would yield the page background colour. The changes in this PR introduce an additional layer of synchronization - the compositor stores an AtomicBool value that indicates whether we know that a WR frame has started rendering, which is set to true when an IPC request from layout that submits a new display list is received. This bool is set to false when WR notifies us that a frame has been rendered. The screenshot code refuses to take a screenshot if the bool is true, causing us to delay taking a screenshot until there is no frame pending.
|
This was fixed by #25822. |

I've noticed this in two different pull requests since yesterday, and I'm pretty sure we've been ignoring these intermittent failures for an indeterminate amount of time. One test result looks like:

The other test result is completely blank. This has been observed with /css/CSS2/text/text-transform-applies-to-013.xht and /css/CSS2/fonts/shand-font-002.xht so far.