Closed Bug 1652403 Opened 4 years ago Closed 4 years ago

Crash in [@ mozilla::wr::RenderDXGITextureHostOGL::EnsureLockable]

Categories

(Core :: Graphics: WebRender, defect)

All
Windows
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr78 --- disabled
firefox78 --- wontfix
firefox79 --- wontfix
firefox80 --- wontfix

People

(Reporter: gsvelto, Assigned: sotaro)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

This bug is for crash report bp-4c8d68c0-14f0-4fd3-9b08-68e330200711.

Top 10 frames of crashing thread:

0 xul.dll mozilla::wr::RenderDXGITextureHostOGL::EnsureLockable gfx/webrender_bindings/RenderD3D11TextureHostOGL.cpp:124
1 xul.dll mozilla::wr::RenderDXGITextureHostOGL::Lock gfx/webrender_bindings/RenderD3D11TextureHostOGL.cpp:208
2 xul.dll mozilla::wr::wr_renderer_lock_external_image gfx/webrender_bindings/RendererOGL.cpp:36
3 xul.dll webrender_bindings::bindings::{{impl}}::lock gfx/webrender_bindings/src/bindings.rs:416
4 xul.dll webrender::renderer::Renderer::render_impl gfx/wr/webrender/src/renderer.rs:3477
5 xul.dll webrender::renderer::Renderer::render gfx/wr/webrender/src/renderer.rs:3255
6 xul.dll webrender_bindings::bindings::wr_renderer_render gfx/webrender_bindings/src/bindings.rs:606
7 xul.dll mozilla::wr::RendererOGL::UpdateAndRender gfx/webrender_bindings/RendererOGL.cpp:142
8 xul.dll mozilla::wr::RenderThread::UpdateAndRender gfx/webrender_bindings/RenderThread.cpp:478
9 xul.dll mozilla::wr::RenderThread::HandleFrameOneDoc gfx/webrender_bindings/RenderThread.cpp:356

There's at least two different stacks under this signature. The above is the more recent one and seems to have started with buildid 20200709093347, it's a NULL pointer dereference from the looks of it.

The second one is the following:

Top 10 frames of crashing thread:

0 xul.dll mozilla::wr::RenderDXGITextureHostOGL::EnsureLockable gfx/webrender_bindings/RenderD3D11TextureHostOGL.cpp:154
1 xul.dll mozilla::wr::RenderDXGITextureHostOGL::Lock gfx/webrender_bindings/RenderD3D11TextureHostOGL.cpp:208
2 xul.dll mozilla::wr::RenderTextureHostWrapper::Lock gfx/webrender_bindings/RenderTextureHostWrapper.cpp:37
3 xul.dll mozilla::wr::wr_renderer_lock_external_image gfx/webrender_bindings/RendererOGL.cpp:36
4 xul.dll webrender_bindings::bindings::{{impl}}::lock gfx/webrender_bindings/src/bindings.rs:416
5 xul.dll webrender::renderer::Renderer::render_impl gfx/wr/webrender/src/renderer.rs:3477
6 xul.dll webrender::renderer::Renderer::render gfx/wr/webrender/src/renderer.rs:3255
7 xul.dll webrender_bindings::bindings::wr_renderer_render gfx/webrender_bindings/src/bindings.rs:606
8 xul.dll mozilla::wr::RendererOGL::UpdateAndRender gfx/webrender_bindings/RendererOGL.cpp:142
9 xul.dll mozilla::wr::RenderThread::UpdateAndRender gfx/webrender_bindings/RenderThread.cpp:478

Which started much earlier, at buildid 20200409095500.

The first one uses Fission and Has dual GPUs.
bp-4c8d68c0-14f0-4fd3-9b08-68e330200711.

GraphicsCriticalError |[0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[1][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[2][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[3][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[4][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756)


The second has this crash reason:
bp-291dc982-eb6e-4a5c-a7a5-b4e840200713

MOZ_CRASH Reason (Sanitized) MOZ_DIAGNOSTIC_ASSERT(false) (egl->fStreamConsumerGLTextureExternalAttribsNV( egl->Display(), mStream, nullptr))

GraphicsCriticalError |[G0][GFX1-]: Present1 failed: 0x887a0001 (t=944.824) |[G226][GFX1-]: RenderDXGITextureHostOGL Failed to open shared texture, hr=0x8007000e (t=3137.44) |[G227][GFX1-]: RenderDXGITextureHostOGL Failed to open shared texture, hr=0x8007000e (t=3137.57) |[G228][GFX1-]: RenderDXGITextureHostOGL Failed to open shared texture, hr=0x8007000e (t=3137.66) |[G229][GFX1-]: RenderDXGITextureHostOGL Failed to open shared texture, hr=0x8007000e (t=3137.79)

I have found this comment:
(Rares Doghi from bug 1625857 comment 14)

The only issue I noticed was the following error in the Failure log displayed multiple times on Nightly, im not sure what it means : GP+[GFX1-]: Present1 failed: 0x887a0001

In Release 74 there is this error displayed (GP+[GFX1-]: Updating unknown shared surface: 60129544279) as well as this one (CP+[GFX1-]: Failed to connect WebRenderBridgeChild) for scrolling really fast on reddit .

This issue started to occur as soon as I upgraded the driver version to the one from the reporter.

Blocks: wr-stability
OS: Windows 10 → Windows
Hardware: Unspecified → All
See Also: → 1625857
Blocks: gfx-triage
Severity: -- → S3
Blocks: wr-80
No longer blocks: gfx-triage

Sotaro - do you have any suggestions?

Flags: needinfo?(sotaro.ikeda.g)

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #1)

The second has this crash reason:
bp-291dc982-eb6e-4a5c-a7a5-b4e840200713

MOZ_CRASH Reason (Sanitized) MOZ_DIAGNOSTIC_ASSERT(false) (egl->fStreamConsumerGLTextureExternalAttribsNV( egl->Display(), mStream, nullptr))

GraphicsCriticalError of the second had "Context has been lost". It meant that context of ANGLE was lost. It seemed to happen by Texture2D allocation failure within ANGLE.

Created Bug 1655395 for comment 3.

Depends on: 1655395
Assignee: nobody → sotaro.ikeda.g

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #1)

The first one uses Fission and Has dual GPUs.
bp-4c8d68c0-14f0-4fd3-9b08-68e330200711.

GraphicsCriticalError |[0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[1][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[2][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[3][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756) |[4][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=61.2756)

App note of the crash report does not have "EGL? EGL+ GL Context? GL Context+ ". From it, EGL seems not used when the crash happened. Then it seemed that ANGLE with WebRender was not used. ANGLE could be disabled on WebRender by pref "gfx.webrender.force-angle=false". And there should be a STR that hit RenderDXGITextureHostOGL::EnsureLockable() without ANGLE WebRender.

I do not know the STR of the crash. But I found that RenderDXGITextureHostOGL is created with flash video. Though I did not see RenderDXGITextureHostOGL::EnsureLockable() calling.

Flags: needinfo?(sotaro.ikeda.g)

(In reply to Sotaro Ikeda [:sotaro] from comment #5)

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #1)

I do not know the STR of the crash. But I found that RenderDXGITextureHostOGL is created with flash video. Though I did not see RenderDXGITextureHostOGL::EnsureLockable() calling.

Bug 1577336 added the D3D11TextureData creation. It is still valid even when ANGLE with WebRender was disabled.

Depends on: 1655882

Created Bug 1655882 for comment 6.

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #1)

The first one uses Fission and Has dual GPUs.
bp-4c8d68c0-14f0-4fd3-9b08-68e330200711.

All recent crashes had SwComposite thread. Then it seems to related to software WebRender.

(In reply to Sotaro Ikeda [:sotaro] from comment #8)

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #1)

The first one uses Fission and Has dual GPUs.
bp-4c8d68c0-14f0-4fd3-9b08-68e330200711.

All recent crashes had SwComposite thread. Then it seems to related to software WebRender.

I could reproduce the crash with software WebRender on Windows.

Depends on: 1655900
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.