Hello @hoshinolina, it looks like libshared-library-guard.so is not part of Steam or Proton, potentially part of the Flatpak packaging. This issue needs to be reported to and evaluated by the package maintainers of the Steam Flatpak package.
Please file an issue with them at https://github.com/flathub/com.valvesoftware.Steam.
Poking around, I noticed a
libshared-library-guard.sogetting loaded viaLD_AUDIT. Disabling this by changing the launch command toLD_AUDIT= %command%fixes the issue.
That LD_AUDIT module is part of the unofficial Steam Flatpak app https://github.com/flathub/com.valvesoftware.Steam/ and is not supplied or supported by Valve.
(Technically I think the library itself is part of https://gitlab.com/freedesktop-sdk/freedesktop-sdk, but it's the unofficial Steam Flatpak app that activates it by adding it to LD_AUDIT.)
Its purpose is to work around native Linux games that bundle libraries that they (probably) shouldn't have bundled, as listed in https://github.com/flathub/com.valvesoftware.Steam/tree/master/resources/blocklist. Valve doesn't support or recommend this particular workaround.
flatpak override --user --env=SHARED_LIBRARY_GUARD=0 com.valvesoftware.Steam would deactivate it.
I believe the crash happens in this library
Are you able to get a backtrace, perhaps from systemd-coredump, which would confirm or deny this?
I couldn't figure out where that module came from (Google search for the code came up empty) so I assumed it was part of official packaging, sorry!
Are you able to get a backtrace, perhaps from systemd-coredump, which would confirm or deny this?
Took some poking around but I managed:
(gdb) bt
#0 0x00007ffff7e8787d in internal_fnmatch (pattern=pattern@entry=0x7fffffff7329 "/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8369 "common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=true,
flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:41
#1 0x00007ffff7e873ea in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8369 "common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=true,
flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1102
#2 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8369 "common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=<optimized out>,
flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
#3 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8368 "/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
#4 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8368 "/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=<optimized out>,
flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
#5 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff835e "/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
#6 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff835e "/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
#7 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8358 "/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
#8 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8358 "/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
#9 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8352 "/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#10](/issue/ValveSoftware/steam-for-linux/10) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8352 "/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#11](/issue/ValveSoftware/steam-for-linux/11) 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff834b "/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#12](/issue/ValveSoftware/steam-for-linux/12) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff834b "/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", string_end=string_end@entry=0x7fffffff83a0 "",
no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#13](/issue/ValveSoftware/steam-for-linux/13) 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8333 "/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#14](/issue/ValveSoftware/steam-for-linux/14) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8333 "/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#15](/issue/ValveSoftware/steam-for-linux/15) 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff832f "/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#16](/issue/ValveSoftware/steam-for-linux/16) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff832f "/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#17](/issue/ValveSoftware/steam-for-linux/17) 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff832a "/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#18](/issue/ValveSoftware/steam-for-linux/18) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff832a "/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#19](/issue/ValveSoftware/steam-for-linux/19) 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8325 "/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=false, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#20](/issue/ValveSoftware/steam-for-linux/20) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8325 "/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=<optimized out>, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#21](/issue/ValveSoftware/steam-for-linux/21) 0x00007ffff7e87515 in ext_match (opt=opt@entry=42, pattern=0x7fffffff7321 "(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8320 "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=string_end@entry=0x7fffffff83a0 "", no_leading_period=no_leading_period@entry=true, flags=flags@entry=37) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:1125
[#22](/issue/ValveSoftware/steam-for-linux/22) 0x00007ffff7e885e9 in internal_fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8320 "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader",
string_end=0x7fffffff83a0 "", no_leading_period=<optimized out>, no_leading_period@entry=true, flags=flags@entry=37, ends=ends@entry=0x0) at /usr/lib/debug/source/bootstrap/glibc.bst/posix/fnmatch_loop.c:93
[#23](/issue/ValveSoftware/steam-for-linux/23) 0x00007ffff7e8b22f in __fnmatch (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", string=string@entry=0x7fffffff8320 "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", flags=flags@entry=37)
at fnmatch.c:283
[#24](/issue/ValveSoftware/steam-for-linux/24) 0x00007ffff7faa3b7 in match_path (pattern=pattern@entry=0x7fffffff7320 "*(/*|/.*)/Alien Isolation/bin/AlienIsolation", filename=filename@entry=0x7fffffff8320 "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader")
at ../shared-library-guard.c:46
[#25](/issue/ValveSoftware/steam-for-linux/25) 0x00007ffff7faa6c3 in load_blocked_list (process_name=0x7fffffff8320 "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", config_name=<optimized out>) at ../shared-library-guard.c:124
[#26](/issue/ValveSoftware/steam-for-linux/26) la_version (version=2) at ../shared-library-guard.c:191
[#27](/issue/ValveSoftware/steam-for-linux/27) 0x00007ffff7fd4360 in load_audit_module (name=0x7fffffff94a8 "/tmp/pressure-vessel-libs-wyQBRd/${LIB}/libshared-library-guard.so", last_audit=<synthetic pointer>) at rtld.c:950
[#28](/issue/ValveSoftware/steam-for-linux/28) load_audit_modules (main_map=<optimized out>, audit_list=0x7fffffff9410) at rtld.c:1041
[#29](/issue/ValveSoftware/steam-for-linux/29) dl_main (phdr=<optimized out>, phnum=<optimized out>, user_entry=<optimized out>, auxv=<optimized out>) at rtld.c:1794
[#30](/issue/ValveSoftware/steam-for-linux/30) 0x00007ffff7fd0566 in _dl_sysdep_start (start_argptr=start_argptr@entry=0x7fffffff9710, dl_main=dl_main@entry=0x7ffff7fd1e10 <dl_main>) at ../sysdeps/unix/sysv/linux/dl-sysdep.c:140
[#31](/issue/ValveSoftware/steam-for-linux/31) 0x00007ffff7fd1c21 in _dl_start_final (arg=0x7fffffff9710) at rtld.c:497
[#32](/issue/ValveSoftware/steam-for-linux/32) _dl_start (arg=0x7fffffff9710) at rtld.c:582
[#33](/issue/ValveSoftware/steam-for-linux/33) 0x00007ffff7fd0ac8 in _start () from /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
[#34](/issue/ValveSoftware/steam-for-linux/34) 0x0000000000000003 in ?? ()
[#35](/issue/ValveSoftware/steam-for-linux/35) 0x00007fffffff9fb0 in ?? ()
[#36](/issue/ValveSoftware/steam-for-linux/36) 0x00007fffffffa027 in ?? ()
[#37](/issue/ValveSoftware/steam-for-linux/37) 0x00007fffffffa045 in ?? ()
[#38](/issue/ValveSoftware/steam-for-linux/38) 0x0000000000000000 in ?? ()
That looks like a stack overflow, but the stack is tiny and for some reason not growing as it normally would?
rbp 0x7fffffff04e0 0x7fffffff04e0
rsp 0x7ffffffefbe0 0x7ffffffefbe0
[45] 0x7ffffe000000->0x7fffffff0000 at 0x00132000: load33 ALLOC READONLY
[46] 0x7fffffff0000->0x7ffffffff000 at 0x00132000: load34 ALLOC LOAD HAS_CONTENTS
So it looks like something gets mapped right under the stack. From strace:
[pid 1472995] execve("/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", ["/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64-preloader", "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental/files/bin/wine64", "c:\\windows\\system32\\steam.exe", "/home/lina/.var/app/com.valvesoftware.Steam/.local/share/Steam/legacycompat/iscriptevaluator.exe", "legacycompat\\evaluatorscript_1325860.vdf"], 0x55555555b110 /* 180 vars */) = 0
[pid 1472995] arch_prctl(ARCH_SET_FS, 0x7ffff7ffe0a0) = 0
[pid 1472995] mmap(0x10000, 1048576, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x10000
[pid 1472995] mmap(0x110000, 1743716352, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x110000
[pid 1472995] mmap(0x7f000000, 16711680, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f000000
[pid 1472995] mmap(0x7ffffe000000, 33488896, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7ffffe000000
And that comes from here:
So I guess Wine just isn't compatible with that LD_AUDIT because it only leaves a small stack for the preloader to work with (until wine later unmaps the preload ranges)...
proton experimentalx1 2026-02
Your system information
tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs]Please describe your issue in as much detail as possible:
Any launch of Proton Experimental segfaults immediately when starting wine64. Enabling Proton logs does not yield anything, the segfault happens seemingly during the dynamic loading stage.
Poking around, I noticed a
libshared-library-guard.sogetting loaded viaLD_AUDIT. Disabling this by changing the launch command toLD_AUDIT= %command%fixes the issue. I believe the crash happens in this library. UsingSHARED_LIBRARY_GUARD_DEBUG="*(/*|/.*)/*"gives this:Full output log: steam-1325860.log
This issue does not seem to happen on the non-Flatpak version.
Steps for reproducing this issue:
flatpak install --user com.valvesoftware.Steamflatpak run com.valvesoftware.Steam