Open Bug 1484305 Opened 6 years ago Updated 2 years ago

Long blocking on CrossProcessSemaphore::Wait during paint

Categories

(Core :: Graphics, defect, P3)

63 Branch
defect

Tracking

()

Tracking Status
firefox63 --- affected

People

(Reporter: jrmuizel, Unassigned, NeedInfo)

References

Details

I can reproduce this relatively easily on my Ryzen machine https://perfht.ml/2nNJQfE roughly 80ms here's a much worse one for more than 2000ms https://perfht.ml/2nKi43t
I caused the first one by tab switching and the second one while scrolling around https://www.wired.com/story/spiders-put-on-face-paint-and-fake-eyelashes/. I'm not sure what during paint causes it.
Blocks: 1481950
I can't reproduce this locally. Looking at the profile, it looks like we just sat there for 2000ms until the parent process triggered a paint that woke the compositor up and unlocked our textures. I guess we're sending a transaction across with new textures, but deciding not to composite them for some reason (LayerTreeInvalidation decided it didn't need to be done?). The paint before the 2000ms block looks like it has a corresponding Composite event, but it's 0.3ms in duration (no profiler samples recorded). That seems quick, and might mean that we didn't do any work.
Do you have advanced layers enabled on the machine that reproduces this?
Should be but I'll confirm tomorrow.
Flags: needinfo?(jmuizelaar)
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.