Closed Bug 1719437 Opened 3 years ago Closed 3 years ago

Startup crash running android sw-wr in debug build

Categories

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

Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
92 Branch
Tracking Status
firefox92 --- fixed

People

(Reporter: jnicol, Assigned: jnicol)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

webrender::device::gl::Device::new::_$u7b$$u7b$closure$u7d$$u7d$::ha1b29d8a2b0ff9d4 gl.rs:1417
_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::get_integer_v::h0e22586238e0fe57 gl.rs:101
webrender::device::gl::Device::new::h74762ab367f0b573 gl.rs:1477
webrender_bindings::bindings::wr_device_new::h4e1f6eb09bbf9ba0 bindings.rs:1190
wr_shaders_new bindings.rs:3932
mozilla::wr::WebRenderShaders::WebRenderShaders(mozilla::gl::GLContext*, mozilla::wr::WebRenderProgramCache*) RenderThread.cpp:1028
mozilla::detail::UniqueSelector<mozilla::wr::WebRenderShaders>::SingleObject mozilla::MakeUnique<mozilla::wr::WebRenderShaders, RefPtr<mozilla::gl::GLContext>&, mozilla::wr::WebRenderProgramCache*>(RefPtr<mozilla::gl::GLContext>&, mozilla::wr::WebRenderProgramCache*&&) UniquePtr.h:609
mozilla::wr::RenderThread::SingletonGL(nsTSubstring<char>&) RenderThread.cpp:925
mozilla::wr::RenderThread::SingletonGL() RenderThread.cpp:906
mozilla::wr::RenderCompositorOGLSWGL::Create(RefPtr<mozilla::widget::CompositorWidget> const&, nsTSubstring<char>&) RenderCompositorOGLSWGL.cpp:47
mozilla::wr::RenderCompositorLayersSWGL::Create(RefPtr<mozilla::widget::CompositorWidget> const&, nsTSubstring<char>&) RenderCompositorLayersSWGL.cpp:36
mozilla::wr::RenderCompositor::Create(RefPtr<mozilla::widget::CompositorWidget> const&, nsTSubstring<char>&) RenderCompositor.cpp:168
mozilla::wr::NewRenderer::Run(mozilla::wr::RenderThread&, mozilla::wr::WrWindowId) WebRenderAPI.cpp:95
mozilla::wr::RenderThread::RunEvent(mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> >) RenderThread.cpp:414
decltype(*(fp).*fp0(Get<0u>(fp1).PassAsParameter(), Get<1u>(fp1).PassAsParameter())) 

We assert due to an OpenGL error caused by this. This is caused by the RenderThread initializing the shaders here. We create a webrender Device to initialize the shaders, and attempt to query the opengl version during device initialization. We use the constants GL_MAJOR_VERSION and GL_MINOR_VERSION, which are not supported in GLES 2, so this causes the error.

Sotaro, do we need to initialize the shared shaders for software webrender? I wouldn't think we do. If so, skipping that seems like the best solution. I don't think it makes sense to make Device::new() work on GLES 2 when we require GLES 3 for hardware webrender.

This is on my Mali-400 device, which only supports GLES 2. Perhaps this crash doesn't occur on devices which support GLES 3, so we do not encounter it on CI.

Flags: needinfo?(sotaro.ikeda.g)

(In reply to Jamie Nicol [:jnicol] from comment #0)

Sotaro, do we need to initialize the shared shaders for software webrender? I wouldn't think we do. If so, skipping that seems like the best solution. I don't think it makes sense to make Device::new() work on GLES 2 when we require GLES 3 for hardware webrender.

We do not need to initialize the shared shaders for software webrender. Then we could skip it on GLES 2.

Flags: needinfo?(sotaro.ikeda.g)
Severity: -- → S2
Priority: -- → P2

It leads to OpenGL errors, as we must initialize a webrender Device in
order to initialize the shaders, and this Device attempts to use
OpenGL commands not supported by the GL context. For example the GL
context may only support GLES 2, hence why we are using SWGL in the
first place.

Assignee: nobody → jnicol
Status: NEW → ASSIGNED
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/027f05b5af02 Do not initialize shaders when creating SingletonGL for software webrender. r=aosmond
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 92 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: