I managed to borrow a Pixel 6a to investigate the issue locally and found that while [the latest patch](https://phabricator.services.mozilla.com/D251090) no longer send 422 video to google AV1 decoder and successfully uses bundled `dav1d` decoder, the GPU process crashes: ``` (lldb) thread backtrace * thread #19, name = 'Renderer', stop reason = breakpoint 6.1 * frame #0: 0x0000007385d31124 libart.so`art_sigsegv_fault frame #1: 0x0000007385d316b8 libart.so`art::FaultManager::HandleSigsegvFault(int, siginfo*, void*) - 18446743577543108935 frame #2: 0x0000007620be806c libsigchain.so`art::SignalChain::Handler(int, siginfo*, void*) + 372 frame #3: 0x000000763bcd889c [vdso]`__kernel_rt_sigreturn frame #4: 0x00000072623fbef4 libxul.so`::RustMozCrash(const char *, int, const char *) [inlined] MOZ_CrashSequence(aAddress=0x0000000000000000, aLine=<unavailable>) at Assertions.h:253:3 frame #5: 0x00000072623fbef4 libxul.so`::RustMozCrash(const char *, int, const char *) [inlined] MOZ_Crash(aFilename=<unavailable>, aLine=1500, aReason="Caught GL error 500 at tex_storage_2d") at Assertions.h:381:3 frame #6: 0x00000072623fbed4 libxul.so`RustMozCrash(aFilename=<unavailable>, aLine=1500, aReason="Caught GL error 500 at tex_storage_2d") at wrappers.cpp:18:3 frame #7: 0x00000072623fb7c0 libxul.so`mozglue_static::panic_hook::hf3bdd1e388fd410b(info=<unavailable>) at lib.rs:99:9 frame #8: 0x00000072623fb65c libxul.so`core::ops::function::Fn::call::h9f6b146f9564033e((null)=<unavailable>, (null)=<unavailable>) at function.rs:79:5 frame #9: 0x000000726354c034 libxul.so`std::panicking::rust_panic_with_hook::hdd8652fbe01df54d [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..Fn$LT$Args$GT$$GT$::call::h1035084c31692e8c at boxed.rs:2007:9 frame #10: 0x000000726354c02c libxul.so`std::panicking::rust_panic_with_hook::hdd8652fbe01df54d at panicking.rs:836:13 frame #11: 0x000000726354bcbc libxul.so`std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h7b1b9c04dae419aa at panicking.rs:701:13 frame #12: 0x000000726354941c libxul.so`std::sys::backtrace::__rust_end_short_backtrace::h4825b147fc54c84f at backtrace.rs:168:18 frame #13: 0x000000726354b97c libxul.so`rust_begin_unwind at panicking.rs:692:5 frame #14: 0x000000726358fc00 libxul.so`core::panicking::panic_fmt::h205176a891f44e54 at panicking.rs:75:14 frame #15: 0x0000007261ee461c libxul.so`_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::tex_storage_2d::hc8acc56522d9ae5e [inlined] webrender::device::gl::Device::new::_$u7b$$u7b$closure$u7d$$u7d$::h7d2be6de9e52a32c(gl=<unavailable>, name=(data_ptr = "tex_storage_2dtex_storage_3ddelete_texturesend_tiling_qcomgenerate_mipmapget_integer_64vis_renderbuffersample_coverageset_fence_appletex_parameter_ftex_parameter_ibind_buffer_basebind_framebufferblit_framebufferclient_wait_syncgen_fences_applegen_framebuff"..., length = 14), code=1280) at gl.rs:1500:17 frame #16: 0x0000007261ee4560 libxul.so`_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::tex_storage_2d::hc8acc56522d9ae5e(self=<unavailable>, target=<unavailable>, levels=<unavailable>, internal_format=<unavailable>, width=<unavailable>, height=<unavailable>) at gl.rs:101:21 frame #17: 0x0000007261d8fac4 libxul.so`webrender::device::gl::Device::create_texture::h495164340d16086a(self=0x000000726f2e6000, target=<unavailable>, format=<unavailable>, width=512, height=512, filter=<unavailable>, render_target=Option<webrender::internal_types::RenderTargetInfo> @ x21) at gl.rs:2643:13 frame #18: 0x00000072620f8858 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326 [inlined] webrender::renderer::Renderer::update_texture_cache::_$u7b$$u7b$closure$u7d$$u7d$::hf3d130997cafdc0a at mod.rs:1973:29 frame #19: 0x00000072620f8834 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326 [inlined] core::option::Option$LT$T$GT$::unwrap_or_else::h6b6c080da528e309(self=Option<webrender::device::gl::Texture> @ 0x0000600003c87a80, f=<unavailable>) at option.rs:1023:21 frame #20: 0x00000072620f8830 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326(self=<unavailable>) at mod.rs:1972:43 frame #21: 0x00000072620f4d4c libxul.so`webrender::renderer::Renderer::render_impl::h8210cd586b43e33e(self=<unavailable>, doc_id=DocumentId @ 0x000000762245fcf8, active_doc=<unavailable>, device_size=<unavailable>, buffer_age=3) at mod.rs:1553:13 frame #22: 0x00000072620f44b8 libxul.so`webrender::renderer::Renderer::render::h22d66831cafa1ea5(self=<unavailable>, device_size=<unavailable>, buffer_age=<unavailable>) at mod.rs:1283:30 frame #23: 0x0000007261d20ce4 libxul.so`wr_renderer_render(renderer=<unavailable>, width=<unavailable>, height=<unavailable>, buffer_age=<unavailable>, out_stats=0x00000076224615c0, out_dirty_rects=0x00000076224613f8) at bindings.rs:650:11 frame #24: 0x000000725abd0350 libxul.so`mozilla::wr::RendererOGL::UpdateAndRender(this=0x00000073821a7c40, aReadbackSize=0x0000007622461668, aReadbackFormat=<unavailable>, aReadbackBuffer=0x0000007622461630, aNeedsYFlip=<unavailable>, aFrameParams=0x000000722ce34c70, aOutStats=0x00000076224615c0) at RendererOGL.cpp:220:19 frame #25: 0x000000725abcf2a4 libxul.so`mozilla::wr::RenderThread::UpdateAndRender(this=0x000000738213f400, aWindowId=(mHandle = 1), aStartId=0x0000007622461628, aStartTime=0x0000007622461620, aParams=0x000000722ce34c70, aReadbackSize=0x0000007622461668, aReadbackFormat=0x00000076224615bc, aReadbackBuffer=0x0000007622461630, aStats=0x00000076224615c0, aNeedsYFlip=0x0000000000000000) at RenderThread.cpp:853:31 frame #26: 0x000000725abce828 libxul.so`mozilla::wr::RenderThread::HandleFrameOneDocInner(this=0x000000738213f400, aWindowId=(mHandle = 1), aParams=0x000000722ce34c70, aTrackedFrame=<unavailable>, aPublishId=Maybe<mozilla::wr::FramePublishId> @ 0x00000076224616e0) at RenderThread.cpp:667:3 frame #27: 0x000000725abcdfd0 libxul.so`mozilla::wr::RenderThread::HandleFrameOneDoc(this=0x000000738213f400, aWindowId=(mHandle = 1), aParams=0x000000722ce34c70, aTrackedFrame=true, aPublishId=Maybe<mozilla::wr::FramePublishId> @ 0x0000007622461768) at RenderThread.cpp:614:3 frame #28: 0x000000725abcd974 libxul.so`mozilla::wr::RenderThread::HandleWrNotifierEvents(mozilla::wr::WrWindowId) [inlined] mozilla::wr::RenderThread::WrNotifierEvent_HandleNewFrameReady(this=0x000000738213f400, aWindowId=(mHandle = 1), aPublishId=(_0 = 1149), aParams=<unavailable>) at RenderThread.cpp:575:3 frame #29: 0x000000725abcd958 libxul.so`mozilla::wr::RenderThread::HandleWrNotifierEvents(this=0x000000738213f400, aWindowId=(mHandle = 1)) at RenderThread.cpp:536:9 frame #30: 0x000000725abe4fe4 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] auto decltype(this=<unavailable>, args=<unavailable>) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...)::operator()<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(auto&&...) const at nsThreadUtils.h:1085:18 frame #31: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(std::declval<mozilla::wr::RenderThread>()(std::declval<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>())) std::__ndk1::__invoke[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(__f=<unavailable>, __args=<unavailable>) at invoke.h:150:25 frame #32: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) std::__ndk1::__apply_tuple_impl[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::__ndk1::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&, 0ul>(__f=<unavailable>, __t=<unavailable>, (null)=<unavailable>) at tuple:1383:5 frame #33: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) std::__ndk1::apply[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::__ndk1::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&>(__f=<unavailable>, __t=<unavailable>) at tuple:1387:5 frame #34: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(this=<unavailable>, o=<unavailable>, m=<unavailable>) at nsThreadUtils.h:1083:12 frame #35: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run(this=<unavailable>) at nsThreadUtils.h:1134:13 frame #36: 0x00000072594891b8 libxul.so`nsThread::ProcessNextEvent(this=0x000000738214e580, aMayWait=<unavailable>, aResult=0x0000007622461944) at nsThread.cpp:1153:16 frame #37: 0x000000725948f250 libxul.so`NS_ProcessNextEvent(aThread=<unavailable>, aMayWait=true) at nsThreadUtils.cpp:480:10 frame #38: 0x0000007259fe9580 libxul.so`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x000000726f228e00, aDelegate=0x0000007622461a20) at MessagePump.cpp:329:5 ``` Frame#17 (`webrender::device::gl::Device::create_texture`) is where the error occurs, but I cannot tell what the problem is.
Bug 1967752 Comment 19 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I managed to borrow a Pixel 6a to investigate the issue locally and found that while [the latest patch](https://phabricator.services.mozilla.com/D251090) no longer send 422 video to google AV1 decoder and successfully uses bundled `dav1d` decoder, the GPU process crashes: ``` (lldb) thread backtrace * thread #19, name = 'Renderer', stop reason = breakpoint 6.1 * frame #0: 0x0000007385d31124 libart.so`art_sigsegv_fault frame #1: 0x0000007385d316b8 libart.so`art::FaultManager::HandleSigsegvFault(int, siginfo*, void*) - 18446743577543108935 frame #2: 0x0000007620be806c libsigchain.so`art::SignalChain::Handler(int, siginfo*, void*) + 372 frame #3: 0x000000763bcd889c [vdso]`__kernel_rt_sigreturn frame #4: 0x00000072623fbef4 libxul.so`::RustMozCrash(const char *, int, const char *) [inlined] MOZ_CrashSequence(aAddress=0x0000000000000000, aLine=<unavailable>) at Assertions.h:253:3 frame #5: 0x00000072623fbef4 libxul.so`::RustMozCrash(const char *, int, const char *) [inlined] MOZ_Crash(aFilename=<unavailable>, aLine=1500, aReason="Caught GL error 500 at tex_storage_2d") at Assertions.h:381:3 frame #6: 0x00000072623fbed4 libxul.so`RustMozCrash(aFilename=<unavailable>, aLine=1500, aReason="Caught GL error 500 at tex_storage_2d") at wrappers.cpp:18:3 frame #7: 0x00000072623fb7c0 libxul.so`mozglue_static::panic_hook::hf3bdd1e388fd410b(info=<unavailable>) at lib.rs:99:9 frame #8: 0x00000072623fb65c libxul.so`core::ops::function::Fn::call::h9f6b146f9564033e((null)=<unavailable>, (null)=<unavailable>) at function.rs:79:5 frame #9: 0x000000726354c034 libxul.so`std::panicking::rust_panic_with_hook::hdd8652fbe01df54d [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..Fn$LT$Args$GT$$GT$::call::h1035084c31692e8c at boxed.rs:2007:9 frame #10: 0x000000726354c02c libxul.so`std::panicking::rust_panic_with_hook::hdd8652fbe01df54d at panicking.rs:836:13 frame #11: 0x000000726354bcbc libxul.so`std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h7b1b9c04dae419aa at panicking.rs:701:13 frame #12: 0x000000726354941c libxul.so`std::sys::backtrace::__rust_end_short_backtrace::h4825b147fc54c84f at backtrace.rs:168:18 frame #13: 0x000000726354b97c libxul.so`rust_begin_unwind at panicking.rs:692:5 frame #14: 0x000000726358fc00 libxul.so`core::panicking::panic_fmt::h205176a891f44e54 at panicking.rs:75:14 frame #15: 0x0000007261ee461c libxul.so`_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::tex_storage_2d::hc8acc56522d9ae5e [inlined] webrender::device::gl::Device::new::_$u7b$$u7b$closure$u7d$$u7d$::h7d2be6de9e52a32c(gl=<unavailable>, name=(data_ptr = "tex_storage_2dtex_storage_3ddelete_texturesend_tiling_qcomgenerate_mipmapget_integer_64vis_renderbuffersample_coverageset_fence_appletex_parameter_ftex_parameter_ibind_buffer_basebind_framebufferblit_framebufferclient_wait_syncgen_fences_applegen_framebuff"..., length = 14), code=1280) at gl.rs:1500:17 frame #16: 0x0000007261ee4560 libxul.so`_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::tex_storage_2d::hc8acc56522d9ae5e(self=<unavailable>, target=<unavailable>, levels=<unavailable>, internal_format=<unavailable>, width=<unavailable>, height=<unavailable>) at gl.rs:101:21 frame #17: 0x0000007261d8fac4 libxul.so`webrender::device::gl::Device::create_texture::h495164340d16086a(self=0x000000726f2e6000, target=<unavailable>, format=<unavailable>, width=512, height=512, filter=<unavailable>, render_target=Option<webrender::internal_types::RenderTargetInfo> @ x21) at gl.rs:2643:13 frame #18: 0x00000072620f8858 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326 [inlined] webrender::renderer::Renderer::update_texture_cache::_$u7b$$u7b$closure$u7d$$u7d$::hf3d130997cafdc0a at mod.rs:1973:29 frame #19: 0x00000072620f8834 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326 [inlined] core::option::Option$LT$T$GT$::unwrap_or_else::h6b6c080da528e309(self=Option<webrender::device::gl::Texture> @ 0x0000600003c87a80, f=<unavailable>) at option.rs:1023:21 frame #20: 0x00000072620f8830 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326(self=<unavailable>) at mod.rs:1972:43 frame #21: 0x00000072620f4d4c libxul.so`webrender::renderer::Renderer::render_impl::h8210cd586b43e33e(self=<unavailable>, doc_id=DocumentId @ 0x000000762245fcf8, active_doc=<unavailable>, device_size=<unavailable>, buffer_age=3) at mod.rs:1553:13 frame #22: 0x00000072620f44b8 libxul.so`webrender::renderer::Renderer::render::h22d66831cafa1ea5(self=<unavailable>, device_size=<unavailable>, buffer_age=<unavailable>) at mod.rs:1283:30 frame #23: 0x0000007261d20ce4 libxul.so`wr_renderer_render(renderer=<unavailable>, width=<unavailable>, height=<unavailable>, buffer_age=<unavailable>, out_stats=0x00000076224615c0, out_dirty_rects=0x00000076224613f8) at bindings.rs:650:11 frame #24: 0x000000725abd0350 libxul.so`mozilla::wr::RendererOGL::UpdateAndRender(this=0x00000073821a7c40, aReadbackSize=0x0000007622461668, aReadbackFormat=<unavailable>, aReadbackBuffer=0x0000007622461630, aNeedsYFlip=<unavailable>, aFrameParams=0x000000722ce34c70, aOutStats=0x00000076224615c0) at RendererOGL.cpp:220:19 frame #25: 0x000000725abcf2a4 libxul.so`mozilla::wr::RenderThread::UpdateAndRender(this=0x000000738213f400, aWindowId=(mHandle = 1), aStartId=0x0000007622461628, aStartTime=0x0000007622461620, aParams=0x000000722ce34c70, aReadbackSize=0x0000007622461668, aReadbackFormat=0x00000076224615bc, aReadbackBuffer=0x0000007622461630, aStats=0x00000076224615c0, aNeedsYFlip=0x0000000000000000) at RenderThread.cpp:853:31 frame #26: 0x000000725abce828 libxul.so`mozilla::wr::RenderThread::HandleFrameOneDocInner(this=0x000000738213f400, aWindowId=(mHandle = 1), aParams=0x000000722ce34c70, aTrackedFrame=<unavailable>, aPublishId=Maybe<mozilla::wr::FramePublishId> @ 0x00000076224616e0) at RenderThread.cpp:667:3 frame #27: 0x000000725abcdfd0 libxul.so`mozilla::wr::RenderThread::HandleFrameOneDoc(this=0x000000738213f400, aWindowId=(mHandle = 1), aParams=0x000000722ce34c70, aTrackedFrame=true, aPublishId=Maybe<mozilla::wr::FramePublishId> @ 0x0000007622461768) at RenderThread.cpp:614:3 frame #28: 0x000000725abcd974 libxul.so`mozilla::wr::RenderThread::HandleWrNotifierEvents(mozilla::wr::WrWindowId) [inlined] mozilla::wr::RenderThread::WrNotifierEvent_HandleNewFrameReady(this=0x000000738213f400, aWindowId=(mHandle = 1), aPublishId=(_0 = 1149), aParams=<unavailable>) at RenderThread.cpp:575:3 frame #29: 0x000000725abcd958 libxul.so`mozilla::wr::RenderThread::HandleWrNotifierEvents(this=0x000000738213f400, aWindowId=(mHandle = 1)) at RenderThread.cpp:536:9 frame #30: 0x000000725abe4fe4 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] auto decltype(this=<unavailable>, args=<unavailable>) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...)::operator()<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(auto&&...) const at nsThreadUtils.h:1085:18 frame #31: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(std::declval<mozilla::wr::RenderThread>()(std::declval<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>())) std::__ndk1::__invoke[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(__f=<unavailable>, __args=<unavailable>) at invoke.h:150:25 frame #32: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) std::__ndk1::__apply_tuple_impl[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::__ndk1::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&, 0ul>(__f=<unavailable>, __t=<unavailable>, (null)=<unavailable>) at tuple:1383:5 frame #33: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) std::__ndk1::apply[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::__ndk1::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&>(__f=<unavailable>, __t=<unavailable>) at tuple:1387:5 frame #34: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(this=<unavailable>, o=<unavailable>, m=<unavailable>) at nsThreadUtils.h:1083:12 frame #35: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run(this=<unavailable>) at nsThreadUtils.h:1134:13 frame #36: 0x00000072594891b8 libxul.so`nsThread::ProcessNextEvent(this=0x000000738214e580, aMayWait=<unavailable>, aResult=0x0000007622461944) at nsThread.cpp:1153:16 frame #37: 0x000000725948f250 libxul.so`NS_ProcessNextEvent(aThread=<unavailable>, aMayWait=true) at nsThreadUtils.cpp:480:10 frame #38: 0x0000007259fe9580 libxul.so`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x000000726f228e00, aDelegate=0x0000007622461a20) at MessagePump.cpp:329:5 ``` Frame#17 - 19(`webrender::device::gl::Device::create_texture`) is where the error started, but I cannot tell what the problem is.
I managed to borrow a Pixel 6a to investigate the issue locally and found that while [the latest patch](https://phabricator.services.mozilla.com/D251090) no longer send 422 video to google AV1 decoder and successfully uses bundled `dav1d` decoder, the GPU process crashes: ``` (lldb) thread backtrace * thread #19, name = 'Renderer', stop reason = breakpoint 6.1 * frame #0: 0x0000007385d31124 libart.so`art_sigsegv_fault frame #1: 0x0000007385d316b8 libart.so`art::FaultManager::HandleSigsegvFault(int, siginfo*, void*) - 18446743577543108935 frame #2: 0x0000007620be806c libsigchain.so`art::SignalChain::Handler(int, siginfo*, void*) + 372 frame #3: 0x000000763bcd889c [vdso]`__kernel_rt_sigreturn frame #4: 0x00000072623fbef4 libxul.so`::RustMozCrash(const char *, int, const char *) [inlined] MOZ_CrashSequence(aAddress=0x0000000000000000, aLine=<unavailable>) at Assertions.h:253:3 frame #5: 0x00000072623fbef4 libxul.so`::RustMozCrash(const char *, int, const char *) [inlined] MOZ_Crash(aFilename=<unavailable>, aLine=1500, aReason="Caught GL error 500 at tex_storage_2d") at Assertions.h:381:3 frame #6: 0x00000072623fbed4 libxul.so`RustMozCrash(aFilename=<unavailable>, aLine=1500, aReason="Caught GL error 500 at tex_storage_2d") at wrappers.cpp:18:3 frame #7: 0x00000072623fb7c0 libxul.so`mozglue_static::panic_hook::hf3bdd1e388fd410b(info=<unavailable>) at lib.rs:99:9 frame #8: 0x00000072623fb65c libxul.so`core::ops::function::Fn::call::h9f6b146f9564033e((null)=<unavailable>, (null)=<unavailable>) at function.rs:79:5 frame #9: 0x000000726354c034 libxul.so`std::panicking::rust_panic_with_hook::hdd8652fbe01df54d [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..Fn$LT$Args$GT$$GT$::call::h1035084c31692e8c at boxed.rs:2007:9 frame #10: 0x000000726354c02c libxul.so`std::panicking::rust_panic_with_hook::hdd8652fbe01df54d at panicking.rs:836:13 frame #11: 0x000000726354bcbc libxul.so`std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h7b1b9c04dae419aa at panicking.rs:701:13 frame #12: 0x000000726354941c libxul.so`std::sys::backtrace::__rust_end_short_backtrace::h4825b147fc54c84f at backtrace.rs:168:18 frame #13: 0x000000726354b97c libxul.so`rust_begin_unwind at panicking.rs:692:5 frame #14: 0x000000726358fc00 libxul.so`core::panicking::panic_fmt::h205176a891f44e54 at panicking.rs:75:14 frame #15: 0x0000007261ee461c libxul.so`_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::tex_storage_2d::hc8acc56522d9ae5e [inlined] webrender::device::gl::Device::new::_$u7b$$u7b$closure$u7d$$u7d$::h7d2be6de9e52a32c(gl=<unavailable>, name=(data_ptr = "tex_storage_2dtex_storage_3ddelete_texturesend_tiling_qcomgenerate_mipmapget_integer_64vis_renderbuffersample_coverageset_fence_appletex_parameter_ftex_parameter_ibind_buffer_basebind_framebufferblit_framebufferclient_wait_syncgen_fences_applegen_framebuff"..., length = 14), code=1280) at gl.rs:1500:17 frame #16: 0x0000007261ee4560 libxul.so`_$LT$gleam..gl..ErrorReactingGl$LT$F$GT$$u20$as$u20$gleam..gl..Gl$GT$::tex_storage_2d::hc8acc56522d9ae5e(self=<unavailable>, target=<unavailable>, levels=<unavailable>, internal_format=<unavailable>, width=<unavailable>, height=<unavailable>) at gl.rs:101:21 frame #17: 0x0000007261d8fac4 libxul.so`webrender::device::gl::Device::create_texture::h495164340d16086a(self=0x000000726f2e6000, target=<unavailable>, format=<unavailable>, width=512, height=512, filter=<unavailable>, render_target=Option<webrender::internal_types::RenderTargetInfo> @ x21) at gl.rs:2643:13 frame #18: 0x00000072620f8858 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326 [inlined] webrender::renderer::Renderer::update_texture_cache::_$u7b$$u7b$closure$u7d$$u7d$::hf3d130997cafdc0a at mod.rs:1973:29 frame #19: 0x00000072620f8834 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326 [inlined] core::option::Option$LT$T$GT$::unwrap_or_else::h6b6c080da528e309(self=Option<webrender::device::gl::Texture> @ 0x0000600003c87a80, f=<unavailable>) at option.rs:1023:21 frame #20: 0x00000072620f8830 libxul.so`webrender::renderer::Renderer::update_texture_cache::h6afe4cc39e924326(self=<unavailable>) at mod.rs:1972:43 frame #21: 0x00000072620f4d4c libxul.so`webrender::renderer::Renderer::render_impl::h8210cd586b43e33e(self=<unavailable>, doc_id=DocumentId @ 0x000000762245fcf8, active_doc=<unavailable>, device_size=<unavailable>, buffer_age=3) at mod.rs:1553:13 frame #22: 0x00000072620f44b8 libxul.so`webrender::renderer::Renderer::render::h22d66831cafa1ea5(self=<unavailable>, device_size=<unavailable>, buffer_age=<unavailable>) at mod.rs:1283:30 frame #23: 0x0000007261d20ce4 libxul.so`wr_renderer_render(renderer=<unavailable>, width=<unavailable>, height=<unavailable>, buffer_age=<unavailable>, out_stats=0x00000076224615c0, out_dirty_rects=0x00000076224613f8) at bindings.rs:650:11 frame #24: 0x000000725abd0350 libxul.so`mozilla::wr::RendererOGL::UpdateAndRender(this=0x00000073821a7c40, aReadbackSize=0x0000007622461668, aReadbackFormat=<unavailable>, aReadbackBuffer=0x0000007622461630, aNeedsYFlip=<unavailable>, aFrameParams=0x000000722ce34c70, aOutStats=0x00000076224615c0) at RendererOGL.cpp:220:19 frame #25: 0x000000725abcf2a4 libxul.so`mozilla::wr::RenderThread::UpdateAndRender(this=0x000000738213f400, aWindowId=(mHandle = 1), aStartId=0x0000007622461628, aStartTime=0x0000007622461620, aParams=0x000000722ce34c70, aReadbackSize=0x0000007622461668, aReadbackFormat=0x00000076224615bc, aReadbackBuffer=0x0000007622461630, aStats=0x00000076224615c0, aNeedsYFlip=0x0000000000000000) at RenderThread.cpp:853:31 frame #26: 0x000000725abce828 libxul.so`mozilla::wr::RenderThread::HandleFrameOneDocInner(this=0x000000738213f400, aWindowId=(mHandle = 1), aParams=0x000000722ce34c70, aTrackedFrame=<unavailable>, aPublishId=Maybe<mozilla::wr::FramePublishId> @ 0x00000076224616e0) at RenderThread.cpp:667:3 frame #27: 0x000000725abcdfd0 libxul.so`mozilla::wr::RenderThread::HandleFrameOneDoc(this=0x000000738213f400, aWindowId=(mHandle = 1), aParams=0x000000722ce34c70, aTrackedFrame=true, aPublishId=Maybe<mozilla::wr::FramePublishId> @ 0x0000007622461768) at RenderThread.cpp:614:3 frame #28: 0x000000725abcd974 libxul.so`mozilla::wr::RenderThread::HandleWrNotifierEvents(mozilla::wr::WrWindowId) [inlined] mozilla::wr::RenderThread::WrNotifierEvent_HandleNewFrameReady(this=0x000000738213f400, aWindowId=(mHandle = 1), aPublishId=(_0 = 1149), aParams=<unavailable>) at RenderThread.cpp:575:3 frame #29: 0x000000725abcd958 libxul.so`mozilla::wr::RenderThread::HandleWrNotifierEvents(this=0x000000738213f400, aWindowId=(mHandle = 1)) at RenderThread.cpp:536:9 frame #30: 0x000000725abe4fe4 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] auto decltype(this=<unavailable>, args=<unavailable>) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...)::operator()<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(auto&&...) const at nsThreadUtils.h:1085:18 frame #31: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(std::declval<mozilla::wr::RenderThread>()(std::declval<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>())) std::__ndk1::__invoke[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>&>(__f=<unavailable>, __args=<unavailable>) at invoke.h:150:25 frame #32: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) std::__ndk1::__apply_tuple_impl[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::__ndk1::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&, 0ul>(__f=<unavailable>, __t=<unavailable>, (null)=<unavailable>) at tuple:1383:5 frame #33: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) std::__ndk1::apply[abi:dn190000]<decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId))::'lambda'(auto&&...), std::__ndk1::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>>&>(__f=<unavailable>, __t=<unavailable>) at tuple:1387:5 frame #34: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() [inlined] decltype(auto) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(this=<unavailable>, o=<unavailable>, m=<unavailable>) at nsThreadUtils.h:1083:12 frame #35: 0x000000725abe4fc0 libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run(this=<unavailable>) at nsThreadUtils.h:1134:13 frame #36: 0x00000072594891b8 libxul.so`nsThread::ProcessNextEvent(this=0x000000738214e580, aMayWait=<unavailable>, aResult=0x0000007622461944) at nsThread.cpp:1153:16 frame #37: 0x000000725948f250 libxul.so`NS_ProcessNextEvent(aThread=<unavailable>, aMayWait=true) at nsThreadUtils.cpp:480:10 frame #38: 0x0000007259fe9580 libxul.so`mozilla::ipc::MessagePumpForNonMainThreads::Run(this=0x000000726f228e00, aDelegate=0x0000007622461a20) at MessagePump.cpp:329:5 ``` Frame #15 - 17(`webrender::device::gl::Device::create_texture`, `tex_storage_2d`) is where the error started, but I cannot tell what the problem is.