Closed Bug 1719231 Opened 4 years ago Closed 2 years ago

Hit MOZ_CRASH(assertion failed: _old_value.is_none()) at gfx/wr/webrender/src/scene_building.rs:206

Categories

(Core :: Web Painting, defect)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: hiro, Unassigned)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

STR on debug builds

  1. Enable Fission
  2. Open https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
  3. Ctrl+P to do print preview the site
  4. Scroll down the preview

Though in my feeling it's likely an issue in APZ or in layout, but I start with WebRender component.

I can't reproduce on macOS. We'll discuss in triage and see who can reproduce it. Meanwhile, please post your about:support text.

Blocks: gfx-triage
Severity: -- → S2
Flags: needinfo?(hikezoe.birchill)
Priority: -- → P3

Tim, any ideas here?

Flags: needinfo?(tnikkel)
Attached file about_support
Flags: needinfo?(hikezoe.birchill)
Attachment #9230386 - Attachment mime type: application/octet-stream → text/plain

I tried to reproduce on mac, linux, and windows with no luck. Not much more else I can say, maybe someone who knows the webrender internals can comment on how this assert might come about?

Flags: needinfo?(tnikkel) → needinfo?(gwatson)

Note that the assertion can happen easily on print previewing https://hsivonen.fi/fission-host.html on my Linux box.

The assert is saying that the display list(s) contain two spatial node declarations that have the same spatial node ID, but they must be unique. Sounds possible that this could be fission related, since we may have OOP iframes, and somehow be supplying display lists with overlapping spatial node IDs (they are namespaced by the pipeline ID though, I think).

Flags: needinfo?(gwatson)

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

Note that the assertion can happen easily on print previewing https://hsivonen.fi/fission-host.html on my Linux box.

I could not reproduce with that page either.

The failure is a debug_assert which will only be checked in a full debug build, if that might be related to why you can't reproduce it (or you could change it to be an assert locally and see if that fires).

I run mozregresion, it turns out the assertion is caused by bug 1681052.
Actually disabling layout.display-list.improve-fragmentation stops the assertion.

No longer blocks: gfx-triage
Component: Graphics: WebRender → Layout
Regressed by: 1681052
Has Regression Range: --- → yes

The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit auto_nag documentation.

Priority: P3 → --

(In reply to Glenn Watson [:gw] from comment #6)

The assert is saying that the display list(s) contain two spatial node declarations that have the same spatial node ID, but they must be unique.

Resetting component to Web Painting, given that this seems to be a bug in display lists. (Also resetting severity so this gets into the triage queue there, and because this is debug-only so I'm not sure it makes sense as a S2-level severity.)

Severity: S2 → --
Component: Layout → Web Painting

I believe that Glenn did some work in this area just after we found these bugs last year that might have fixed this. Could you check if you can still reproduce?

Flags: needinfo?(hikezoe.birchill)

Yeah, it works now. Unfortunately it seems that we don't preserve debug builds over one year, so that I can't user mozregression to find out which bug fixed this issue. As far as I can tell I can't see the assertion on 2021-09-09 debug build.

Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(hikezoe.birchill)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: