Control: forwarded -1 https://gitlab.freedesktop.org/mesa/mesa/-/issues/7819
On Fri, 02 Dec 2022 at 12:24:00 +0000, Simon McVittie wrote: > - Install a VM/chroot/container with Debian testing > - Install the dependencies of gtk+3.0's autopkgtests > (adwaita-icon-theme-full at-spi2-core dbus-daemon gnome-desktop-testing > gtk-3-examples librsvg2-common xauth xvfb) > - xvfb-run -e /dev/stderr -a /usr/libexec/installed-tests/gtk+/builder I think this is happening because when Xvfb calls driCreateNewScreen2(), it ends up trying to use the D3D12 driver, which fails to load, but then tries to dlclose() a NULL handle during teardown. Workaround: run tests with LIBGL_ALWAYS_SOFTWARE=1 in the environment, which causes Mesa to skip the D3D12 driver. Backtrace from the above: #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f2028fcad2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007f2028f7bef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f2028f66472 in __GI_abort () at ./stdlib/abort.c:79 #4 0x0000559b7c293f1a in OsAbort () at ../../../../os/utils.c:1352 #5 0x0000559b7c299083 in AbortServer () at ../../../../os/log.c:879 #6 0x0000559b7c29a0b5 in FatalError (f=f@entry=0x559b7c2b1710 "Caught signal %d (%s). Server aborting\n") at ../../../../os/log.c:1017 #7 0x0000559b7c291298 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11) at ../../../../os/osinit.c:156 #8 OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../../../os/osinit.c:110 #9 <signal handler called> #10 _dl_close (_map=0x0) at ./elf/dl-close.c:795 #11 0x00007f202908ee9a in __GI__dl_catch_exception (exception=exception@entry=0x7ffd2818c640, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208 #12 0x00007f202908ef4f in __GI__dl_catch_error (objname=0x7ffd2818c698, errstring=0x7ffd2818c6a0, mallocedp=0x7ffd2818c697, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:227 #13 0x00007f2028fc4dc7 in _dlerror_run (operate=<optimized out>, args=<optimized out>) at ./dlfcn/dlerror.c:138 #14 0x00007f2028fc4b26 in __dlclose (handle=<optimized out>) at ./dlfcn/dlclose.c:31 #15 0x00007f20274e7f44 in d3d12_destroy_screen (screen=0x559b7d60ab10) at ../src/gallium/drivers/d3d12/d3d12_screen.cpp:744 #16 0x00007f20274e7190 in d3d12_create_dxcore_screen (winsys=winsys@entry=0x559b7d609ee0, adapter_luid=adapter_luid@entry=0x0) at ../src/gallium/drivers/d3d12/d3d12_dxcore_screen.cpp:236 #17 0x00007f2026aaa179 in sw_screen_create_named (driver=0x7f2027ac30f1 "d3d12", config=0x7ffd2818c7e0, winsys=0x559b7d609ee0) at ../src/gallium/auxiliary/target-helpers/sw_helper.h:70 #18 sw_screen_create_vk (winsys=0x559b7d609ee0, config=0x7ffd2818c7e0, sw_vk=<optimized out>) at ../src/gallium/auxiliary/target-helpers/sw_helper.h:102 #19 0x00007f20270b5156 in pipe_loader_sw_create_screen (dev=0x559b7d609e70, config=<optimized out>, sw_vk=<optimized out>) at ../src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c:425 #20 0x00007f20270b50c4 in pipe_loader_create_screen_vk (dev=0x559b7d609e70, sw_vk=sw_vk@entry=false) at ../src/gallium/auxiliary/pipe-loader/pipe_loader.c:175 #21 0x00007f20270b50f7 in pipe_loader_create_screen (dev=<optimized out>) at ../src/gallium/auxiliary/pipe-loader/pipe_loader.c:181 #22 0x00007f2026aaaa34 in drisw_init_screen (sPriv=0x559b7d606e20) at ../src/gallium/frontends/dri/drisw.c:578 #23 0x00007f2026ab44b5 in driCreateNewScreen2 (scrn=0, fd=<optimized out>, extensions=<optimized out>, driver_extensions=<optimized out>, driver_configs=0x559b7d586200, data=0x559b7d586160) at ../src/gallium/frontends/dri/dri_util.c:143 #24 0x0000559b7c18d7e7 in __glXDRIscreenProbe (pScreen=0x559b7d56f8a0) at ../../../../glx/glxdriswrast.c:448 #25 0x0000559b7c18c5ef in xorgGlxServerInit (pcbl=<optimized out>, param=<optimized out>, ext=<optimized out>) at ../../../../glx/glxext.c:550 #26 xorgGlxServerInit (pcbl=<optimized out>, param=<optimized out>, ext=<optimized out>) at ../../../../glx/glxext.c:525 #27 0x0000559b7c23cb64 in _CallCallbacks (pcbl=pcbl@entry=0x559b7c301168 <vndInitCallbackListPtr>, call_data=call_data@entry=0x559b7d585580) at ../../../../dix/dixutils.c:743 #28 0x0000559b7c1adc7f in CallCallbacks (call_data=0x559b7d585580, pcbl=0x559b7c301168 <vndInitCallbackListPtr>) at ../../../../include/callback.h:83 #29 GlxExtensionInit () at ../../../../glx/vndext.c:244 #30 0x0000559b7c14e919 in InitExtensions (argc=argc@entry=9, argv=argv@entry=0x7ffd2818d508) at ../../../../../mi/miinitext.c:272 #31 0x0000559b7c23b628 in dix_main (argc=9, argv=<optimized out>, envp=<optimized out>) at ../../../../dix/main.c:194 #32 0x00007f2028f6718a in __libc_start_call_main (main=main@entry=0x559b7c14c8f0 <main>, argc=argc@entry=9, argv=argv@entry=0x7ffd2818d508) at ../sysdeps/nptl/libc_start_call_main.h:58 #33 0x00007f2028f67245 in __libc_start_main_impl (main=0x559b7c14c8f0 <main>, argc=9, argv=0x7ffd2818d508, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd2818d4f8) at ../csu/libc-start.c:381 #34 0x0000559b7c14c921 in _start () (gdb) frame 15 (gdb) p screen->d3d12_mod $1 = (util_dl_library *) 0x0