Package: libxext6 Version: 2:1.3.3-1.1 Severity: minor Tags: upstream X-Debbugs-Cc: s...@debian.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hi, I have a very basic Vulkan app that uses libXext only indirectly through the Vulkan X11 extension, so my program is not linked against libXext directly (and can be linked only with --no-as-needed). During shutdown, the program crashes with a segmentation fault, during 63 for (ext = dpy->ext_procs; ext; ext = ext->next) { 64 if (ext->close_display) 65 (*ext->close_display)(dpy, &ext->codes); from src/ClDisplay.c in libX11. According to gdb, *ext = {next = 0x5555558d0ee0, codes = {extension = 2, major_opcode = 128, first_event = 0, first_error = 0}, create_GC = 0x0, copy_GC = 0x0, flush_GC = 0x0, free_GC = 0x0, create_Font = 0x0, free_Font = 0x0, close_display = 0x7fffed9c6ce0, error = 0x0, error_string = 0x0, name = 0x5555558d0ec0 "Generic Event Extension", error_values = 0x0, before_flush = 0x0, next_flush = 0x0} The address for close_display refers to 0x00007fffed9bd3d0 0x00007fffed9c74ff Yes (*) /lib/x86_64-linux-gnu/libXext.so.6 which has been unloaded at this point, together with the Vulkan driver. It seems that libXext expects that it will remain loaded until CloseDisplay() time, which is difficult to do here: I need to dismantle Vulkan before closing the display connection, and libXext is only used by an extension module that is loaded with dlopen(), so libXext will be unloaded during Vulkan stack teardown. I could reproduce this with both Intel and nVidia GPUs, using the source attached. The problem goes away if I configure with ./configure LIBS='-Wl,--no-as-needed,-lXext' to force link the application against libXext. Simon - -- System Information: Debian Release: 11.2 APT prefers stable APT policy: (990, 'stable'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-9-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) LSM: AppArmor: enabled Versions of packages libxext6 depends on: ii libc6 2.31-13+deb11u2 ii libx11-6 2:1.7.2-1 libxext6 recommends no packages. libxext6 suggests no packages. - -- no debconf information -----BEGIN PGP SIGNATURE----- iQFDBAEBCgAtFiEEtjuqOJSXmNjSiX3Tfr04e7CZCBEFAmHRPB4PHHNqckBkZWJp YW4ub3JnAAoJEH69OHuwmQgRhVcH/395wMUzc6/q2MPTES2qNGiLqdbvy2prlgLy MFRhvuhNGYFIxOhjaDPP9XKpjQ7FnZo54mVNq9FhSipbzCkTscj27s8bOVkcQ3Sz wIi2NRkNuUOsrHdylxnqH9+tDOd4LhcpWONf3ch65a4siXrw6VjQ4+tdgayBdVgD DzF0Ax2aXUyO/cAiUCoq4rbd1gaXkiAPSL6sprzklpf2H/Jqj475fr0cxAEJh/Mc QvtV1hh26Cl1AIIkAM8EcD49fHCWXxIWscZDv5Ubw9ROCs1fUbLdMwczzeC4H8im pFpf3TphQyB3LaZ6qSqDR3kQOv3jGcHhCPYFoc7U6dCpTmblz8Q= =SA2i -----END PGP SIGNATURE-----
vkload-0.0.20211229.tar.gz
Description: application/gzip