Closed Bug 1469746 Opened 2 years ago Closed 2 years ago

Crash in MergeState::HasMatchingItemInOldList when plugins are added to the page

Categories

(Core :: Web Painting, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox60 --- unaffected
firefox61 + fixed
firefox62 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

(Blocks 2 open bugs, )

Details

Attachments

(1 file)

See URL, reported in bug 1466010.

We crash when we toggle the value of nsDisplayListBuilder::WillComputePluginGeometry() between builds, since it changes the behaviour of BuildDisplayListForStackingContext (with opacity:0) without an invalidation.
Comment on attachment 8986348 [details]
Bug 1469746 - Rebuild display lists in full when we start/stop computing visibility for plugins.

https://reviewboard.mozilla.org/r/251716/#review258102

LGTM.

::: layout/base/nsLayoutUtils.cpp:3603
(Diff revision 1)
>    if ((aFlags & PaintFrameFlags::PAINT_WIDGET_LAYERS) &&
>        !(aFlags & PaintFrameFlags::PAINT_DOCUMENT_RELATIVE) &&
>        rootPresContext->NeedToComputePluginGeometryUpdates()) {
>      builder.SetWillComputePluginGeometry(true);
> +
> +    // Disable partial updates for this paint as the list we're about to

Great comments!
Attachment #8986348 - Flags: review?(mikokm) → review+
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/97d477bf9b2c
Rebuild display lists in full when we start/stop computing visibility for plugins. r=miko
Priority: -- → P2
Comment on attachment 8986348 [details]
Bug 1469746 - Rebuild display lists in full when we start/stop computing visibility for plugins.

Approval Request Comment
[Feature/Bug causing the regression]: RDL
[User impact if declined]: Assertion crashes in Nightly/Dev Edition. Specific to opacity:0 around plugins, so nothing to really render wrong in release, probably unaffected.
[Is this code covered by automated tests?]: No (our coverage of windowed plugins isn't great)
[Has the fix been verified in Nightly?]: No.
[Needs manual test from QE? If yes, steps to reproduce]: Maybe? I've verified the fix locally in my builds. The github URL has a link that crashes ~50% of the time for me. 
[List of other uplifts needed for the feature/fix]: None.
[Is the change risky?]: No.
[Why is the change risky/not risky?]: Just another RDL fallback, super low risk.
[String changes made/needed]: None.
Attachment #8986348 - Flags: approval-mozilla-beta?
Comment on attachment 8986348 [details]
Bug 1469746 - Rebuild display lists in full when we start/stop computing visibility for plugins.

Too late for the Fx61 release at this point (we're already building RCs), but I'm leaving it on the radar for possible dot release inclusion.
Attachment #8986348 - Flags: approval-mozilla-beta? → approval-mozilla-release?
https://hg.mozilla.org/mozilla-central/rev/97d477bf9b2c
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Comment on attachment 8986348 [details]
Bug 1469746 - Rebuild display lists in full when we start/stop computing visibility for plugins.

We're going to be spinning another Fx61 RC build. Let's take this in it so users getting the graduated rollout of RDL benefit from the fix sooner.
Attachment #8986348 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.