Android OpenGL assert when running in a mac x86 emulator
Categories
(Core :: Graphics, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fix-optional |
People
(Reporter: agi, Unassigned)
Details
(Keywords: regression, Whiteboard: [geckoview:p3])
Attachments
(2 files)
I consistently get an assert crash when running GeckoViewExample on an x86_64 emulator on mac (does not reproduce on linux).
I can reproduce consistently navigating to cnn.com
, scrolling a little bit and waiting for a minute or so.
This makes working on a mac pretty much impossible for me :/ I've tried both the mach-vendored emulator and the latest emulator available on Android Studio.
mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::WriteLog(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&) Logging.h:741
mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::Flush() Logging.h:279
mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::~Log() Logging.h:272
mozilla::gl::GLContext::AfterGLCall_Debug(char const*) const GLContext.cpp:2896
mozilla::gl::GLContext::fGetFloatv(unsigned int, float*) GLContext.h:1202
mozilla::WebGLContext::InitAndValidateGL(mozilla::WebGLContext::FailureReason*) WebGLContextValidate.cpp:481
mozilla::WebGLContext::CreateAndInitGL(bool, std::__ndk1::vector<mozilla::WebGLContext::FailureReason, std::__ndk1::allocator<mozilla::WebGLContext::FailureReason> >*) WebGLContext.cpp:645
mozilla::WebGLContext::SetDimensions(int, int) WebGLContext.cpp:866
mozilla::dom::CanvasRenderingContextHelper::UpdateContext(JSContext*, JS::Handle<JS::Value>, mozilla::ErrorResult&) CanvasRenderingContextHelper.cpp:221
mozilla::dom::CanvasRenderingContextHelper::GetContext(JSContext*, nsTSubstring<char16_t> const&, JS::Handle<JS::Value>, mozilla::ErrorResult&) CanvasRenderingContextHelper.cpp:179
mozilla::dom::HTMLCanvasElement::GetContext(JSContext*, nsTSubstring<char16_t> const&, JS::Handle<JS::Value>, mozilla::ErrorResult&) HTMLCanvasElement.cpp:910
mozilla::dom::HTMLCanvasElement_Binding::getContext(JSContext*, JS::Handle<JSObject*>, mozilla::dom::HTMLCanvasElement*, JSJitMethodCallArgs const&) HTMLCanvasElementBinding.cpp:288
bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) BindingUtils.cpp:3250
CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) Interpreter.cpp:458
js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) Interpreter.cpp:551
js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) BaselineIC.cpp:3229
<unknown> 0x0000287573f4f3e3
Comment 1•5 years ago
|
||
I see this as well, and in fact the emulator crashes for me. (So maybe I don't see exactly this, but something worse?) It's not related to the site, 'cuz I never visit cnn.com
for testing. More often, example.com
or reddit.com
or google.ca
.
I see many warnings/errors about missing GL features/flags/capabilities. I don't have a capture of the details right this moment.
Reporter | ||
Updated•5 years ago
|
Comment 2•5 years ago
|
||
Agi says this is a Gecko regression likely hitting an emulator bug. There was also a recent regression (bug 1582838) in the ARM emulator that prevents GV or Fennec from even launching.
Comment 3•5 years ago
|
||
Comment 4•5 years ago
|
||
Comment 5•5 years ago
|
||
In the adb logcat
before the emulator goes down, I see:
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBufferData:425 GL error 0x500
A screenshot of the emulator crash reporter will be attached. The details will be attached as well.
Comment 6•5 years ago
|
||
Interesting: I only see this when running under Browsertime with --video=true
, which means when the Gecko Window Recorder is active. That means the issue is probably related to reading back from the OpenGL buffer. I wonder if anything can be done.
Barret, do you have any ideas on how we can narrow this down? It's very frustrating to not be able to test in the emulator!
Comment 7•5 years ago
|
||
GL error 0x500 is invalid enum so it's possible the emulator doesn't support glBufferData with whatever we are giving it. However I'm far from an expert in OpenGL.
Comment 8•5 years ago
|
||
The priority flag is not set for this bug.
:jbonisteel, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 9•5 years ago
|
||
For the initial bug that Agi reported, I've filed an android bug a while ago:
https://issuetracker.google.com/issues/142738198 - Fetching LOCAL_GL_POINT_SIZE_RANGE in emulator with hardware acceleration fails.
Will update this thread if this gets addressed.
Comment 10•5 years ago
|
||
Removing the regressionwindow-wanted keyword since this issue is tracked on the android side.
Comment 11•4 years ago
|
||
Any updates on this? I am not able to debug Fenix issues because my GVE crushes on Android 6 due to this bug.
Updated•2 years ago
|
Description
•