eglExportDMABUFImageQueryMESA crashes on amdgpu gallium/drivers/radeonsi
eglExportDMABUFImageQueryMESA call crashes on amdgpu when multiple thread access to radeonsi code:
Stack trace of thread 52252:
#0 0x00007f5f27963c3c __pthread_kill_implementation (libc.so.6 + 0x8ec3c)
#1 0x00007f5f279139c6 raise (libc.so.6 + 0x3e9c6)
#2 0x00007f5f2084b3d5 nsProfileLock::FatalSignalHandler(int, siginfo_t*, void*) (libxul.so + 0x70493d5)
#3 0x00007f5f21273559 WasmTrapHandler(int, siginfo_t*, void*) (libxul.so + 0x7a71559)
#4 0x00007f5f27913a70 __restore_rt (libc.so.6 + 0x3ea70)
#5 0x00007f5f03ffea26 si_launch_grid (radeonsi_dri.so + 0x8cca26)
#6 0x00007f5f04000017 si_launch_grid_internal (radeonsi_dri.so + 0x8ce017)
#7 0x00007f5f0400122a si_compute_copy_image (radeonsi_dri.so + 0x8cf22a)
#8 0x00007f5f03ff7fe2 si_resource_copy_region (radeonsi_dri.so + 0x8c5fe2)
#9 0x00007f5f03fdd43c si_reallocate_texture_inplace (radeonsi_dri.so + 0x8ab43c)
#10 0x00007f5f03fde33d si_texture_get_handle (radeonsi_dri.so + 0x8ac33d)
#11 0x00007f5f037e2cae dri2_query_image (radeonsi_dri.so + 0xb0cae)
#12 0x00007f5eea354e7a dri2_export_dma_buf_image_query_mesa (libEGL_mesa.so.0 + 0x1be7a)
#13 0x00007f5eea347d19 eglExportDMABUFImageQueryMESA (libEGL_mesa.so.0 + 0xed19)
#14 0x00007f5f1f2ef858 DMABufSurfaceRGBA::Create(mozilla::gl::GLContext*, void*, int, int) (libxul.so + 0x5aed858)
#15 0x00007f5f1f2f27bb DMABufSurfaceRGBA::CreateDMABufSurface(mozilla::gl::GLContext*, void*, int, int) (libxul.so + 0x5af07bb)
#0 0x00007f5f27963c3c __pthread_kill_implementation (libc.so.6 + 0x8ec3c)
#1 0x00007f5f279139c6 raise (libc.so.6 + 0x3e9c6)
#2 0x00007f5f2084b3d5 nsProfileLock::FatalSignalHandler(int, siginfo_t*, void*) (libxul.so + 0x70493d5)
#3 0x00007f5f21273559 WasmTrapHandler(int, siginfo_t*, void*) (libxul.so + 0x7a71559)
#4 0x00007f5f27913a70 __restore_rt (libc.so.6 + 0x3ea70)
#5 0x00007f5f0402d38b amdgpu_cs_flush (radeonsi_dri.so + 0x8fb38b)
#6 0x00007f5f04011452 si_flush_gfx_cs (radeonsi_dri.so + 0x8df452)
#7 0x00007f5f0400eeda si_flush_from_st (radeonsi_dri.so + 0x8dceda)
#8 0x00007f5f03fdf2eb si_texture_create_object (radeonsi_dri.so + 0x8ad2eb)
#9 0x00007f5f03fdfcea si_texture_create_with_modifier (radeonsi_dri.so + 0x8adcea)
#10 0x00007f5f038e615c st_texture_create (radeonsi_dri.so + 0x1b415c)
#11 0x00007f5f038a879f st_texture_storage (radeonsi_dri.so + 0x17679f)
#12 0x00007f5f038adb31 st_AllocTextureStorage (radeonsi_dri.so + 0x17bb31)
#13 0x00007f5f03883a6b texture_storage_error.constprop.0 (radeonsi_dri.so + 0x151a6b)
#14 0x00007f5f03883e42 texstorage_error (radeonsi_dri.so + 0x151e42)
#15 0x00007f5f03883fd8 _mesa_TexStorage2D (radeonsi_dri.so + 0x151fd8)
#16 0x00007f5f21c94b49 webrender::device::gl::Device::create_texture::h2b8f926249030de1 (libxul.so + 0x8492b49)