Crash in [@ OOM | large | mozalloc_abort | moz_xmalloc | std::vector<T>::_Emplace_reallocate<T> | gl::Program::loadBinary]
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox88 | --- | affected |
firefox89 | - | affected |
firefox90 | --- | affected |
People
(Reporter: aryx, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: crash)
Crash Data
[Tracking Requested - why for this release]:
Bad user experience (slow startup independent of the direction of the binary switch, nagging about crash reports if switch from 64 to 32 bit build), potential blocker for upgrading users from 32- to 64-bit builds.
Tested with Firefox 87.0, 88.0 and 90.0a1 20210424155423 on Windows 8.1.
This crash reproduces 100% on this machine with the following steps:
- Install Firefox as 64-bit build.
- Create a new profile, e.g. with the command line and
-no-remote -P
. - Install Firefox as 32-bit.
- Launch the profile the 32-bit build.
Observation:
On launch, the window remains blank (white) for a few moments, about:crashes will list such a content crash. Launching the profile again will reproduce the issue.
The same behavior can be observed for 32-bit to 64-bit switches but that doesn't generate any crash reports.
Crash report: https://crash-stats.mozilla.org/report/index/2a8e7af2-c196-4198-be1f-ef1d10210425
MOZ_CRASH Reason: MOZ_CRASH()
Top 10 frames of crashing thread:
0 mozglue.dll mozalloc_abort memory/mozalloc/mozalloc_abort.cpp:33
1 mozglue.dll mozalloc_handle_oom memory/mozalloc/mozalloc_oom.cpp:51
2 mozglue.dll moz_xmalloc memory/mozalloc/mozalloc.cpp:54
3 libglesv2.dll std::vector<gl::ProgramVaryingRef, std::allocator<gl::ProgramVaryingRef> >::_Emplace_reallocate<gl::ProgramVaryingRef> vs2017_15.8.4/VC/include/vector:956
4 libglesv2.dll gl::Program::loadBinary gfx/angle/checkout/src/libANGLE/Program.cpp:1920
5 libglesv2.dll gl::Context::programBinary gfx/angle/checkout/src/libANGLE/Context.cpp:6941
6 libglesv2.dll gl::ProgramBinary gfx/angle/checkout/src/libGLESv2/entry_points_gles_3_0_autogen.cpp:1940
7 xul.dll gleam::gl::{{impl}}::program_binary third_party/rust/gleam/src/gles_fns.rs:1702
8 xul.dll webrender::device::gl::Device::create_program gfx/wr/webrender/src/device/gl.rs:2877
9 xul.dll webrender::renderer::shade::LazilyCompiledShader::get_internal gfx/wr/webrender/src/renderer/shade.rs:213
Comment 1•3 years ago
|
||
I think we should be able to fix this by adding a check for the architecture in RemoveShaderCacheFromDiskIfNecessary
Comment 2•3 years ago
|
||
Indeed.
Updated•3 years ago
|
Comment 4•3 years ago
•
|
||
Confirmed the crash with the STR of comment 0.
https://crash-stats.mozilla.org/report/index/97107eab-1364-4841-bf20-2e9380210427
Description
•