[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1025312: libgl1-mesa-dri: multiple packages FTBFS and have autopkgtest regressions running test programs under Xvfb



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


Reply to: