Closed Bug 1783053 Opened 2 years ago Closed 2 years ago

Qualcomm GPU - Crash in DMABufSurfaceRGBA::CreateTexture

Categories

(Core :: Graphics: CanvasWebGL, defect)

Firefox 105
ARM64
Linux
defect

Tracking

()

RESOLVED MOVED
105 Branch

People

(Reporter: leonard, Assigned: leonard)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Attachments

(1 file)

Steps to reproduce:

Install nightly build
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6ef44ba37573120b0a528dfbe86a8db8cf79f293
https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/C5tepXYxSD-2wvFh5dmZ_A/runs/0/artifacts/public/build/target.tar.bz2

Open Google Drive and create a new Sheet (Tabular Document)

Actual results:

Browser crashes. Backtrace:

115     ../src/util/list.h: No such file or directory.
(gdb) bt
#0  0x0000007f6151c588 in list_delinit (item=<optimized out>) at ../src/util/list.h:115
#1  lookup_bo (key=<optimized out>, tbl=<optimized out>) at ../src/freedreno/drm/freedreno_bo.c:55
#2  fd_bo_from_dmabuf (dev=<optimized out>, fd=145) at ../src/freedreno/drm/freedreno_bo.c:202
#3  0x0000007f614a7774 in fd_screen_bo_from_handle (pscreen=pscreen@entry=0x7fe9ebf200, whandle=whandle@entry=0x7f52ec53a8)
    at ../src/gallium/drivers/freedreno/freedreno_screen.c:914
#4  0x0000007f614b65d0 in fd_resource_from_handle (pscreen=0x7fe9ebf200, tmpl=0x7f52ec52b8, handle=0x7f52ec53a8, usage=<optimized out>)
    at ../src/gallium/drivers/freedreno/freedreno_resource.c:1378
#5  0x0000007f60b7a81c in dri2_create_image_from_winsys (_screen=_screen@entry=0x7fea27f920, width=width@entry=1, height=height@entry=1, map=<optimized out>, 
    map@entry=0x7f61931278 <dri2_format_table+544>, num_handles=num_handles@entry=1, whandle=0x7f52ec53a8, bind=bind@entry=0, loaderPrivate=loaderPrivate@entry=0x0)
    at ../src/gallium/frontends/dri/dri2.c:943
#6  0x0000007f60b7abd4 in dri2_create_image_from_fd
    (_screen=0x7fea27f920, width=1, height=1, fourcc=875708993, modifier=0, fds=0x7f52ec5548, num_fds=1, strides=0x7f52ec5558, offsets=offsets@entry=0x7f52ec5568, bind=bind@entry=0, error=error@entry=0x7f52ec5544, loaderPrivate=loaderPrivate@entry=0x0) at ../src/gallium/frontends/dri/dri2.c:1082
#7  0x0000007f60b7ace8 in dri2_from_dma_bufs2
    (screen=<optimized out>, width=<optimized out>, height=<optimized out>, fourcc=<optimized out>, modifier=<optimized out>, fds=<optimized out>, num_fds=<optimized out>, strides=<optimized out>, offsets=0x7f52ec5568, yuv_color_space=__DRI_YUV_COLOR_SPACE_UNDEFINED, sample_range=__DRI_YUV_RANGE_UNDEFINED, horizontal_siting=__DRI_YUV_CHROMA_SITING_UNDEFINED, vertical_siting=__DRI_YUV_CHROMA_SITING_UNDEFINED, error=0x7f52ec5544, loaderPrivate=0x0) at ../src/gallium/frontends/dri/dri2.c:1689
#8  0x0000007f5214c014 in  () at /usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0
#9  0x0000007f52139e78 in  () at /usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0
#10 0x0000007ff1b583e4 in DMABufSurfaceRGBA::CreateTexture(mozilla::gl::GLContext*, int) () at /home/leonard/Downloads/firefox/libxul.so
#11 0x0000007fefb0f548 in mozilla::gl::SurfaceFactory_DMABUF::CanCreateSurface(mozilla::gl::GLContext&) () at /home/leonard/Downloads/firefox/libxul.so
#12 0x0000007fefb0f268 in mozilla::gl::SurfaceFactory_DMABUF::Create(mozilla::gl::GLContext&) () at /home/leonard/Downloads/firefox/libxul.so
#13 0x0000007fefb30390 in mozilla::gl::SurfaceFactory::Create(mozilla::gl::GLContext*, mozilla::layers::TextureType) () at /home/leonard/Downloads/firefox/libxul.so
#14 0x0000007ff0b23e20 in mozilla::InitSwapChain(mozilla::gl::GLContext&, mozilla::gl::SwapChain&, mozilla::layers::TextureType) ()
    at /home/leonard/Downloads/firefox/libxul.so
#15 0x0000007ff0b24bf8 in mozilla::WebGLContext::CopyToSwapChain(mozilla::WebGLFramebuffer*, mozilla::layers::TextureType, mozilla::webgl::SwapChainOptions const&) ()
    at /home/leonard/Downloads/firefox/libxul.so
#16 0x0000007ff0b6cad0 in _ZZN7mozilla16MethodDispatcherINS_21WebGLMethodDispatcherELm106EMNS_16HostWebGLContextEKFvmNS_6layers11TextureTypeERKNS_5webgl16SwapChainOptionsEEXadL_ZNKS2_15CopyToSwapChainEmS4_S8_EEE15DispatchCommandIS2_EEbRT_mRNS5_17RangeConsumerViewEENKUlDpRT_E_clIJmS4_S6_EEEDaSJ_ () at /home/leonard/Downloads/firefox/libxul.so
#17 0x0000007ff0b52d44 in mozilla::dom::WebGLParent::RecvDispatchCommands(mozilla::ipc::Shmem&&, unsigned long) () at /home/leonard/Downloads/firefox/libxul.so
#18 0x0000007ff0ba2b8c in mozilla::dom::PWebGLParent::OnMessageReceived(IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so
#19 0x0000007fefd476a0 in mozilla::gfx::PCanvasManagerParent::OnMessageReceived(IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so
#20 0x0000007fef821238 in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) ()
    at /home/leonard/Downloads/firefox/libxul.so
#21 0x0000007fef82036c in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) () at /home/leonard/Downloads/firefox/libxul.so
#22 0x0000007fef8206c8 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) ()
    at /home/leonard/Downloads/firefox/libxul.so
#23 0x0000007fef820c38 in mozilla::ipc::MessageChannel::MessageTask::Run() () at /home/leonard/Downloads/firefox/libxul.so
#24 0x0000007fef1cadf8 in nsThread::ProcessNextEvent(bool, bool*) () at /home/leonard/Downloads/firefox/libxul.so
#25 0x0000007fef1ceb84 in NS_ProcessNextEvent(nsIThread*, bool) () at /home/leonard/Downloads/firefox/libxul.so
#26 0x0000007fef82417c in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) () at /home/leonard/Downloads/firefox/libxul.so
#27 0x0000007fef7d91f0 in MessageLoop::Run() () at /home/leonard/Downloads/firefox/libxul.so
--Type <RET> for more, q to quit, c to continue without paging--
#28 0x0000007fef1c8518 in nsThread::ThreadFunc(void*) () at /home/leonard/Downloads/firefox/libxul.so
#29 0x0000007ff6fca094 in _pt_root () at /home/leonard/Downloads/firefox/libnspr4.so
#30 0x00000055556181ec in set_alt_signal_stack_and_start(PthreadCreateParams*) ()
#31 0x0000007ff7f7af3c in start_thread (arg=0x0) at pthread_create.c:481
#32 0x0000007ff7bb3cdc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79

Expected results:

Browser does not crash

Proposed resolution: Disable FEATURE_DMABUF_SURFACE_EXPORT on Qualcomm GPUs. It's already disabled on Intel and AMD and only known to work for Nvidia (https://hg.mozilla.org/integration/autoland/rev/6dce488087f13c4ffe6ba0c758362968a8e60704)

    APPEND_TO_DRIVER_BLOCKLIST_EXT(
        OperatingSystem::Linux, ScreenSizeStatus::All, BatteryStatus::All,
        DesktopEnvironment::All, WindowProtocol::All, DriverVendor::MesaAll,
        DeviceFamily::QualcommAll, nsIGfxInfo::FEATURE_DMABUF_SURFACE_EXPORT,
        nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED,
        V(0, 0, 0, 0), "FEATURE_FAILURE_BROKEN_DRIVER", "");

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: CanvasWebGL' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics: CanvasWebGL
Product: Firefox → Core
Assignee: nobody → leonard
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b1ee6c6dd7ec
Disable DMABUF_SURFACE_EXPORT on Qualcomm. r=aosmond
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 105 Branch

Tested based on https://treeherder.mozilla.org/jobs?repo=mozilla-central&revision=23d50b5617def9d4152023fd98210c0a9723e3c0&searchStr=aarch%2Clinux&selectedTaskRun=FoqOpQbzQKiI3aUrwi2RBw.0

Crash persists

(gdb) bt                                                                                                                                                                                                    [0/333]
#0  0x0000007f638ba588 in list_delinit (item=<optimized out>) at ../src/util/list.h:115                                                                                      
#1  lookup_bo (key=<optimized out>, tbl=<optimized out>) at ../src/freedreno/drm/freedreno_bo.c:55                                                                           
#2  fd_bo_from_dmabuf (dev=<optimized out>, fd=231) at ../src/freedreno/drm/freedreno_bo.c:202                                                                               
#3  0x0000007f63845774 in fd_screen_bo_from_handle (pscreen=pscreen@entry=0x7f658a7e00, whandle=whandle@entry=0x7f550ec3a8)                                                  
    at ../src/gallium/drivers/freedreno/freedreno_screen.c:914                                                                                                               
#4  0x0000007f638545d0 in fd_resource_from_handle (pscreen=0x7f658a7e00, tmpl=0x7f550ec2b8, handle=0x7f550ec3a8, usage=<optimized out>)                                      
    at ../src/gallium/drivers/freedreno/freedreno_resource.c:1378                                                                                                            
#5  0x0000007f62f1881c in dri2_create_image_from_winsys                                                                                                                      
    (_screen=_screen@entry=0x7fea280920, width=width@entry=1, height=height@entry=1, map=<optimized out>,                                                                    
    map@entry=0x7f63ccf278 <dri2_format_table+544>, num_handles=num_handles@entry=1, whandle=0x7f550ec3a8, bind=bind@entry=0, loaderPrivate=loaderPrivate@entry=0x0) at ../src/gallium/frontends/dri/dri2.c:943
#6  0x0000007f62f18bd4 in dri2_create_image_from_fd                                   
    (_screen=0x7fea280920, width=1, height=1, fourcc=875708993, modifier=0, fds=0x7f550ec548, num_fds=1, strides=0x7f550ec558, offsets=offsets@entry=0x7f550ec568, bind=bind@entry=0, error=error@entry=0x7f550ec54
4, loaderPrivate=loaderPrivate@entry=0x0)                                                                                                                                    
    at ../src/gallium/frontends/dri/dri2.c:1082                                       
#7  0x0000007f62f18ce8 in dri2_from_dma_bufs2                                         
    (screen=<optimized out>, width=<optimized out>, height=<optimized out>, fourcc=<optimized out>, modifier=<optimized out>, fds=<optimized out>, num_fds=<optimized out>, strides=<optimized out>, offsets=0x7f55
0ec568, yuv_color_space=__DRI_YUV_COLOR_SPACE_UNDEFINED, sample_range=__DRI_YUV_RANGE_UNDEFINED, horizontal_siting=__DRI_YUV_CHROMA_SITING_UNDEFINED, vertical_siting=__DRI_YUV_CHROMA_SITING_UNDEFINED, error=0x7f
550ec544, loaderPrivate=0x0) at ../src/gallium/frontends/dri/dri2.c:1689                                                                                                     
#8  0x0000007f5439c014 in  () at /usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0                                                                                                 
#9  0x0000007f54389e78 in  () at /usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0                                                                                                 
#10 0x0000007ff1b434ec in DMABufSurfaceRGBA::CreateTexture(mozilla::gl::GLContext*, int) () at /home/leonard/Downloads/firefox/libxul.so                                     
#11 0x0000007fefaf3584 in mozilla::gl::SurfaceFactory_DMABUF::CanCreateSurface(mozilla::gl::GLContext&) ()                                                                   
    at /home/leonard/Downloads/firefox/libxul.so                                                                                                                             
#12 0x0000007fefaf32a4 in mozilla::gl::SurfaceFactory_DMABUF::Create(mozilla::gl::GLContext&) () at /home/leonard/Downloads/firefox/libxul.so                                                                      
#13 0x0000007fefb143cc in mozilla::gl::SurfaceFactory::Create(mozilla::gl::GLContext*, mozilla::layers::TextureType) ()                                                      
    at /home/leonard/Downloads/firefox/libxul.so                                                                                                                             
#14 0x0000007ff0b0e3ac in mozilla::InitSwapChain(mozilla::gl::GLContext&, mozilla::gl::SwapChain&, mozilla::layers::TextureType) ()                                                                                
    at /home/leonard/Downloads/firefox/libxul.so                                                                                                                             
#15 0x0000007ff0b0f184 in mozilla::WebGLContext::CopyToSwapChain(mozilla::WebGLFramebuffer*, mozilla::layers::TextureType, mozilla::webgl::SwapChainOptions const&) () at /home/leonard/Downloads/firefox/libxul.so
#16 0x0000007ff0b570a4 in _ZZN7mozilla16MethodDispatcherINS_21WebGLMethodDispatcherELm106EMNS_16HostWebGLContextEKFvmNS_6layers11TextureTypeERKNS_5webgl16SwapChainOptionsEEXadL_ZNKS2_15CopyToSwapChainEmS4_S8_EEE
15DispatchCommandIS2_EEbRT_mRNS5_17RangeConsumerViewEENKUlDpRT_E_clIJmS4_S6_EEEDaSJ_ () at /home/leonard/Downloads/firefox/libxul.so                                                                               
#17 0x0000007ff0b3d318 in mozilla::dom::WebGLParent::RecvDispatchCommands(mozilla::ipc::Shmem&&, unsigned long) ()                                                           
    at /home/leonard/Downloads/firefox/libxul.so                                                                                                                             
--Type <RET> for more, q to quit, c to continue without paging--                                                                                                             
#18 0x0000007ff0b8d310 in mozilla::dom::PWebGLParent::OnMessageReceived(IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so                                                                       
#19 0x0000007fefd2b62c in mozilla::gfx::PCanvasManagerParent::OnMessageReceived(IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so                                                               
#20 0x0000007fef8052ac in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) ()    
    at /home/leonard/Downloads/firefox/libxul.so                                                                                                                             
#21 0x0000007fef8043e0 in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) () at /home/leonard/Downloads/
firefox/libxul.so                                                                     
#22 0x0000007fef80473c in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) ()                        
    at /home/leonard/Downloads/firefox/libxul.so       
#23 0x0000007fef804cac in mozilla::ipc::MessageChannel::MessageTask::Run() () at /home/leonard/Downloads/firefox/libxul.so                           
#24 0x0000007fef1aee04 in nsThread::ProcessNextEvent(bool, bool*) () at /home/leonard/Downloads/firefox/libxul.so                                                                                                  
#25 0x0000007fef1b2b90 in NS_ProcessNextEvent(nsIThread*, bool) () at /home/leonard/Downloads/firefox/libxul.so                                                                                                    
#26 0x0000007fef8081f0 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) () at /home/leonard/Downloads/firefox/libxul.so                                                            
#27 0x0000007fef7bd264 in MessageLoop::Run() () at /home/leonard/Downloads/firefox/libxul.so                                                                                                                       
#28 0x0000007fef1ac524 in nsThread::ThreadFunc(void*) () at /home/leonard/Downloads/firefox/libxul.so                                                                                                              
#29 0x0000007ff6fca094 in _pt_root () at /home/leonard/Downloads/firefox/libnspr4.so                     
#30 0x0000005555618888 in set_alt_signal_stack_and_start(PthreadCreateParams*) ()                        
#31 0x0000007ff7f7af3c in start_thread (arg=0x0) at pthread_create.c:481                                 
#32 0x0000007ff7bb3cdc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79                                                                                                                         
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Given that this seems to be related to WebGL, we may want to try disabling DMABUF sharing on this driver for now. It wouldn't be surprising at all if the driver is not very mature on this area. Will create a patch and try build.

Leonard, can you test this build once it's ready (and you have time)? https://treeherder.mozilla.org/jobs?repo=try&revision=54ff80514863ce83e0b871cbae0e1ef9c158c2e3

The crash persists, and dmabuf is still used. Maybe the DeviceFamily::QualcommAll condition doesn't match?

#0  0x0000007f63780ce8 in list_delinit (item=<optimized out>) at ../src/util/list.h:110                  
#1  lookup_bo (key=<optimized out>, tbl=<optimized out>) at ../src/freedreno/drm/freedreno_bo.c:55                                                                                                                 
#2  fd_bo_from_dmabuf (dev=<optimized out>, fd=177) at ../src/freedreno/drm/freedreno_bo.c:198                                                                                                                     
#3  0x0000007f6370cd04 in fd_screen_bo_from_handle (pscreen=pscreen@entry=0x7f658a2a00, whandle=whandle@entry=0x7f5513c3b8) at ../src/gallium/drivers/freedreno/freedreno_screen.c:918                             
#4  0x0000007f6371bf40 in fd_resource_from_handle (pscreen=0x7f658a2a00, tmpl=0x7f5513c2c8, handle=0x7f5513c3b8, usage=<optimized out>) at ../src/gallium/drivers/freedreno/freedreno_resource.c:1400              
#5  0x0000007f62ed9118 in dri2_create_image_from_winsys (_screen=_screen@entry=0x7feb2a53a0, width=width@entry=1, height=height@entry=1, map=<optimized out>,                                                      
    map@entry=0x7f63cb4b3c <dri2_format_table+612>, num_handles=num_handles@entry=1, whandle=0x7f5513c3b8, bind=bind@entry=0, loaderPrivate=loaderPrivate@entry=0x0) at ../src/gallium/frontends/dri/dri2.c:947    
#6  0x0000007f62ed94a8 in dri2_create_image_from_fd                                                                                                                                                                
    (_screen=0x7feb2a53a0, width=1, height=1, fourcc=875708993, modifier=0, fds=0x7f5513c558, num_fds=1, strides=0x7f5513c568, offsets=offsets@entry=0x7f5513c578, bind=bind@entry=0, error=error@entry=0x7f5513c55
4, loaderPrivate=loaderPrivate@entry=0x0) at ../src/gallium/frontends/dri/dri2.c:1086                                                                                                                              
#7  0x0000007f62ed95b8 in dri2_from_dma_bufs2                                                                                                                                                                      
    (screen=<optimized out>, width=<optimized out>, height=<optimized out>, fourcc=<optimized out>, modifier=<optimized out>, fds=<optimized out>, num_fds=<optimized out>, strides=<optimized out>, offsets=0x7f55
13c578, yuv_color_space=__DRI_YUV_COLOR_SPACE_UNDEFINED, sample_range=__DRI_YUV_RANGE_UNDEFINED, horizontal_siting=__DRI_YUV_CHROMA_SITING_UNDEFINED, vertical_siting=__DRI_YUV_CHROMA_SITING_UNDEFINED, error=0x7f
5513c554, loaderPrivate=0x0) at ../src/gallium/frontends/dri/dri2.c:1694                                                                                                                                           
#8  0x0000007f53daaab0 in  () at /usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0                             
#9  0x0000007f53d9b618 in  () at /usr/lib/aarch64-linux-gnu/libEGL_mesa.so.0                             
#10 0x0000007ff1b4170c in DMABufSurfaceRGBA::CreateTexture(mozilla::gl::GLContext*, int) () at /home/leonard/Downloads/firefox/libxul.so                                                                           
#11 0x0000007fefaf17a4 in mozilla::gl::SurfaceFactory_DMABUF::CanCreateSurface(mozilla::gl::GLContext&) () at /home/leonard/Downloads/firefox/libxul.so                                                            
#12 0x0000007fefaf14c4 in mozilla::gl::SurfaceFactory_DMABUF::Create(mozilla::gl::GLContext&) () at /home/leonard/Downloads/firefox/libxul.so                                                                      
#13 0x0000007fefb125ec in mozilla::gl::SurfaceFactory::Create(mozilla::gl::GLContext*, mozilla::layers::TextureType) () at /home/leonard/Downloads/firefox/libxul.so                                               
#14 0x0000007ff0b0c5cc in mozilla::InitSwapChain(mozilla::gl::GLContext&, mozilla::gl::SwapChain&, mozilla::layers::TextureType) () at /home/leonard/Downloads/firefox/libxul.so                                   
#15 0x0000007ff0b0c73c in mozilla::WebGLContext::Present(mozilla::WebGLFramebuffer*, mozilla::layers::TextureType, bool, mozilla::webgl::SwapChainOptions const&) () at /home/leonard/Downloads/firefox/libxul.so  
#16 0x0000007ff0b4b1f4 in _ZZN7mozilla16MethodDispatcherINS_21WebGLMethodDispatcherELm51EMNS_16HostWebGLContextEKFvmNS_6layers11TextureTypeEbRKNS_5webgl16SwapChainOptionsEEXadL_ZNKS2_7PresentEmS4_bS8_EEE15Dispat
chCommandIS2_EEbRT_mRNS5_17RangeConsumerViewEENKUlDpRT_E_clIJmS4_bS6_EEEDaSJ_ () at /home/leonard/Downloads/firefox/libxul.so                                                                                      
#17 0x0000007ff0b3aacc in mozilla::dom::WebGLParent::RecvDispatchCommands(mozilla::ipc::Shmem&&, unsigned long) () at /home/leonard/Downloads/firefox/libxul.so                                                    
#18 0x0000007ff0b8b530 in mozilla::dom::PWebGLParent::OnMessageReceived(IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so                                                                       
#19 0x0000007fefd2984c in mozilla::gfx::PCanvasManagerParent::OnMessageReceived(IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so                                                               
#20 0x0000007fef8034cc in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) () at /home/leonard/Downloads/firefox/libxul.so                              
#21 0x0000007fef802600 in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) ()                            
    at /home/leonard/Downloads/firefox/libxul.so                                                         
#22 0x0000007fef80295c in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) () at /home/leonard/Downloads/firefox/libxul.so                 
#23 0x0000007fef802ecc in mozilla::ipc::MessageChannel::MessageTask::Run() () at /home/leonard/Downloads/firefox/libxul.so                                                                                         
#24 0x0000007fef1ad024 in nsThread::ProcessNextEvent(bool, bool*) () at /home/leonard/Downloads/firefox/libxul.so                                                                                                  
#25 0x0000007fef1b0db0 in NS_ProcessNextEvent(nsIThread*, bool) () at /home/leonard/Downloads/firefox/libxul.so                                                                                                    
#26 0x0000007fef806410 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) () at /home/leonard/Downloads/firefox/libxul.so                                                            
#27 0x0000007fef7bb484 in MessageLoop::Run() () at /home/leonard/Downloads/firefox/libxul.so             
#28 0x0000007fef1aa744 in nsThread::ThreadFunc(void*) () at /home/leonard/Downloads/firefox/libxul.so    
#29 0x0000007ff6fca094 in _pt_root () at /home/leonard/Downloads/firefox/libnspr4.so                     
#30 0x0000005555618888 in set_alt_signal_stack_and_start(PthreadCreateParams*) ()                        
#31 0x0000007ff7f7af3c in start_thread (arg=0x0) at pthread_create.c:481                                 
#32 0x0000007ff7bb3cdc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79               

Ok, so assuming https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17888?diff_id=1338786&start_sha=c69ba3a48bb5d863a3a0acfe4cc5de5d50659a19 will land soon the correct fix should be:

  • back out the landed patch
  • check what's wrong with the gfxinfo qualcomm detection
  • require Mesa >= 22.3 for dmabuf on qualcomm

Leonard: can you check your about:support and confirm that the builds above did not properly disable DMABUF and/or DMABUF_SURFACE_EXPORT?

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17888 landed. It also fixes 2 further driver bugs that would cause firefox to crash when running https://registry.khronos.org/webgl/sdk/tests/webgl-conformance-tests.html. The fixes may make it for mesa 22.2, so let's wait a few days and verify if the requirement should be Mesa >= 22.2 or >= 22.3. I've opened https://bugzilla.mozilla.org/show_bug.cgi?id=1783513 to track the gfxinfo qualcomm detection.

Fix made it to 22.2 indeed (https://gitlab.freedesktop.org/mesa/mesa/-/commit/9b943044ac4dfe0565f504e970b27c74f6f97056). So now we need to fix bug 1783513 before we can bump the WR requirement here.

Depends on: 1783513

We only enable HW-WR on Mesa >= 22.2 in release (see bug 1783924) - and the corresponding fix was even backported to 22.1 and 22.0 point releases IIUC. Thus closing.

Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → WORKSFORME
OS: Unspecified → Linux
Hardware: Unspecified → ARM64
Resolution: WORKSFORME → MOVED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: