Open Bug 1576514 Opened 3 months ago Updated 3 months ago

Assertion failure: false (Two layers that scroll together have different ancestor transforms), at gfx/layers/apz/src/APZCTreeManager.cpp:1173

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

People

(Reporter: hiro, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached file parent.html

Similar to bug 1491000 and bug 1450686, but this assertion happens only with enabling fission that means a test case that causes the assertion has an out-of-process iframe. I am going to attach the parent html here and will attach the child html file in a later comment.

Attached file child.html

To reproduce the assertion you need to specify fission related preferences something like this;

./mach run --setpref "fission.autostart=true" --setpref "fission.oopif.attribute=true" --setpref="gfx.webrender.all=true" parent.html

(In reply to Hiroyuki Ikezoe (:hiro) from comment #1)

To reproduce the assertion you need to specify fission related preferences something like this;

./mach run --setpref "fission.autostart=true" --setpref "fission.oopif.attribute=true" --setpref="gfx.webrender.all=true" parent.html

Forgot to say that you also need to scroll by mouse wheel or some such.

(In reply to Hiroyuki Ikezoe (:hiro) from comment #1)

./mach run --setpref "fission.autostart=true" --setpref "fission.oopif.attribute=true" --setpref="gfx.webrender.all=true" parent.html

Are you including the WebRender pref here because it's required for Fission to work? Or just required for this bug to reproduce?

It's for reproducing this assertion.

Attached file APZC tree dump

Since we don't have a layers dump with WebRender, I hacked the APZC tree dump to print the scroll nodes' transforms (attached).

The scroll nodes on line 5 and line 11 of the dump share the same APZC (APZC (0x100000002, 2, 2)), but have different transforms ([ 1 0; 0 1; 14 767; ] vs. [ I ]), thus triggering the assertion.

Unfortunately I have no quick ideas on why this might be happening. It will take some digging through the WebRenderCommandBuilder code that produces the WebRenderScrollData and related objects to understand how we end up in this situation.

(In reply to Botond Ballo [:botond] from comment #5)

Since we don't have a layers dump with WebRender, I hacked the APZC tree dump to print the scroll nodes' transforms (attached).

That sounds like something that might be good to land for debugging future issues.

(In reply to Timothy Nikkel (:tnikkel) from comment #6)

(In reply to Botond Ballo [:botond] from comment #5)

Since we don't have a layers dump with WebRender, I hacked the APZC tree dump to print the scroll nodes' transforms (attached).

That sounds like something that might be good to land for debugging future issues.

Yeah, I'm thinking of adding a "WebRender layer dump" of sorts that dumps the scroll nodes in UpdateHitTestingTree and prints many of the same properties we'd print for layers.

Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.