protonscr

Segmentation fault in __GI_strchr () at ../sysdeps/i386/i586/strchr.S:117, _XLockDisplay (dpy=0x47) at ../../src/locking.c:481

steamopen
ValveSoftware/steam-for-linux#13072 · opened 2026-04-10 by httpstorm · updated 2026-05-27 · 2 comments · github
Hhttpstorm 2026-04-10 github

Your system information

  • Steam client version (build number or date): 1775703228 Thu, Apr 9, 2026 4:38 AM UTC -08:00

  • Distribution (e.g. Ubuntu): 24.04.4 LTS

  • Opted into Steam client beta?: No

  • Have you checked for system updates?: Yes

  • Steam Logs:
    steam-logs.tar.gz
    steam-logs_GPU-server.tar.gz

  • GPU: Nvidia/Intel/AMD
    GTX980 on my desktop computer, Intel i7 930, 32 GB RAM
    RTX3080 on a GPU server using SSH with X11 forwarding or VirtualGL, Intel i5 9600KF, 32 GB RAM
    RTX4080 on a GPU server using SSH with X11 forwarding or VirtualGL, Intel i7 13700K, 64 GB RAM

Please describe your issue in as much detail as possible:

Likely caused by unterminated string passed to strchr.

I discovered this crash while trying to run Steam on a headless GPU server over SSH and remote X11 forwarding or VirtualGL. I also reproduced the crash on my local computer, so this is not related to SSH or X11 forwarding.

Local computer

  • Using mesa and indirect rendering leads to a crash.

Remote GPU server

  • The crash is always reproduced when indirect rendering is enabled, and it doesn't matter if the Nvidia GLX library is used or Mesa.
  • I don't think the Nvidia or Mesa GLX libraries are the cause. But they do change the memory layout of the process, and I'm thinking about memory corruption. Likely unterminated string passed to strchr.
  • When indirect rendering is not enabled, the crash occurs only when the Nvidia GLX library is used.
  • nvidia-driver-570 was originally installed, I removed it and installed nvidia-driver-580 which does work on my local computer, but this did not help and Steam is still crashing.

Steps for reproducing this issue:

  1. Install Steam from APT
sudo apt install steam-installer

Steam, Help, About

# local computer
Steam Beta Branch:  Steam Beta Update
Steam Version:  1775703228
Steam Client Build Date:  Thu, Apr 9, 2026 4:38 AM UTC -08:00
Steam Web Build Date:  Thu, Apr 9, 2026 2:47 AM UTC -08:00
Steam API Version:  SteamClient023

# GPU server
Steam Beta Branch:  Stable Client
Steam Version:  1773426488
Steam Client Build Date:  Fri, Mar 13, 2026 3:52 AM UTC -08:00
Steam Web Build Date:  Fri, Mar 13, 2026 3:30 AM UTC -08:00
Steam API Version:  SteamClient023
  1. Start Steam
# local desktop computer, no SSH and no X11 forwarding
# works
steam

# works, using mesa
__GLX_VENDOR_LIBRARY_NAME=mesa steam

# works, using indirect rendering
LIBGL_ALWAYS_INDIRECT=1 steam

# crash, using mesa and indirect rendering
LIBGL_ALWAYS_INDIRECT=1 __GLX_VENDOR_LIBRARY_NAME=mesa steam

# remote GPU server, using SSH and X11 forwarding or VirtualGL
# crash
steam

# crash, using mesa and indirect rendering
LIBGL_ALWAYS_INDIRECT=1 __GLX_VENDOR_LIBRARY_NAME=mesa steam

# works, using mesa
__GLX_VENDOR_LIBRARY_NAME=mesa steam
  1. GLX library
cat /proc/28128/maps | grep -E 'libGLX|libGL'

# mesa: both local computer and GPU server
/usr/lib/i386-linux-gnu/libGLX_mesa.so.0.0.0

# local computer, using nvidia-driver-580
/usr/lib/i386-linux-gnu/libGLX_nvidia.so.580.126.09

# remote GPU server, using nvidia-driver-570
/usr/lib/i386-linux-gnu/libGLX_nvidia.so.570.211.01

# remote GPU server, using nvidia-driver-580
/usr/lib/i386-linux-gnu/libGLX_nvidia.so.580.126.20
  1. GDB backtrace on local computer
LIBGL_ALWAYS_INDIRECT=1 __GLX_VENDOR_LIBRARY_NAME=mesa DEBUGGER=gdb steam
/usr/lib/i386-linux-gnu/libGLX_mesa.so.0.0.0

Thread 1 "steam" received signal SIGSEGV, Segmentation fault.
Download failed: Invalid argument.  Continuing without source file ./string/../sysdeps/i386/i586/strchr.S.
__GI_strchr () at ../sysdeps/i386/i586/strchr.S:117
warning: 117	../sysdeps/i386/i586/strchr.S: No such file or directory
(gdb) backtrace 
#0  __GI_strchr () at ../sysdeps/i386/i586/strchr.S:117
#1  0xf682f658 in _XLockDisplay (dpy=0x47) at ../../src/locking.c:481
#2  0xffff5f48 in ?? ()
#3  0xe07cc8ac in ?? () from /home/g/.local/share/Steam/ubuntu12_32/vgui2_s.so
#4  0xe07ded1f in ?? () from /home/g/.local/share/Steam/ubuntu12_32/vgui2_s.so
#5  0xf58b0eca in ?? () from /home/g/.local/share/Steam/ubuntu12_32/steamui.so
#6  0xf4f08f70 in ?? () from /home/g/.local/share/Steam/ubuntu12_32/steamui.so
#7  0xf5099d61 in ?? () from /home/g/.local/share/Steam/ubuntu12_32/steamui.so
#8  0x567f573a in ?? ()
#9  0x567f6bee in ?? ()
[#10](/issue/ValveSoftware/steam-for-linux/10) 0x567f76f5 in ?? ()
[#11](/issue/ValveSoftware/steam-for-linux/11) 0xf7c90cb9 in __libc_start_call_main (main=main@entry=0x567f76b0, argc=argc@entry=3, argv=argv@entry=0xffffc514) at ../sysdeps/nptl/libc_start_call_main.h:58
[#12](/issue/ValveSoftware/steam-for-linux/12) 0xf7c90d7c in __libc_start_main_impl (main=0x567f76b0, argc=3, argv=0xffffc514, init=0x56f3b630, fini=0x56f3b6a0, rtld_fini=0xf7fcde80 <_dl_fini>, stack_end=0xffffc50c) at ../csu/libc-start.c:360
[#13](/issue/ValveSoftware/steam-for-linux/13) 0x567dc031 in ?? ()
  1. Crash logs from local computer
LIBGL_ALWAYS_INDIRECT=1 __GLX_VENDOR_LIBRARY_NAME=mesa steam

steam.sh[33139]: Running Steam on ubuntu 24.04 64-bit
steam.sh[33139]: STEAM_RUNTIME is enabled automatically
setup.sh[33177]: Steam runtime environment up-to-date!
steam.sh[33139]: Steam client's requirements are satisfied
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2026-04-10 18:12:25] Startup - updater built Apr  9 2026 01:38:34
[2026-04-10 18:12:25] Startup - Steam Client launched with: '/home/g/.local/share/Steam/ubuntu12_32/steam' '-srt-logger-opened' '-nominidumps' '-nobreakpad'
[2026-04-10 18:12:25] Opted in to client beta 'publicbeta' via beta file
You are in the 'publicbeta' client beta.
04/10 18:12:25 minidumps folder is set to /tmp/dumps
04/10 18:12:25 Init: Installing breakpad exception handler for appid(steam)/version(1775703228)/tid(33272)
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2026-04-10 18:12:25] Process started with command-line: '/home/g/.local/share/Steam/ubuntu12_32/steam' '-child-update-ui' '-child-update-ui-socket' '8' '-srt-logger-opened' '-nominidumps' '-nobreakpad'
04/10 18:12:25 minidumps folder is set to /tmp/dumps
[2026-04-10 18:12:25] Using update UI: console
04/10 18:12:25 Init: Installing breakpad exception handler for appid(steam)/version(0)/tid(33274)
[2026-04-10 18:12:25] Create window
[2026-04-10 18:12:25] Loading cached metrics from disk (/home/g/.local/share/Steam/package/steam_client_metrics.bin)
[2026-04-10 18:12:25] Using the following download hosts for Public, Realm steamglobal
[2026-04-10 18:12:25] 1. https://client-update.fastly.steamstatic.com, /, Realm 'steamglobal', weight was 900, source = 'update_hosts_cached.vdf'
[2026-04-10 18:12:25] 2. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 400, source = 'update_hosts_cached.vdf'
[2026-04-10 18:12:25] 3. https://client-update.steamstatic.com, /, Realm 'steamglobal', weight was 1, source = 'baked in'
[2026-04-10 18:12:25] Set percent complete: 0
[2026-04-10 18:12:25] Verifying installation...
[2026-04-10 18:12:25] Verifying file sizes only
[2026-04-10 18:12:25] Set percent complete: -1
[2026-04-10 18:12:25] Set status message: Verifying installation...
[----] Verifying installation...
[2026-04-10 18:12:26] Verification complete
UpdateUI: skip show logo
[2026-04-10 18:12:26] Destroy window

Steam logging initialized: directory: /home/g/.local/share/Steam/logs

[2026-04-10 18:12:26] ProcessNextMessage: socket disconnected
[2026-04-10 18:12:26] No more messages are expected - exiting
XOpenIM() failed, LANG = en_GB.UTF-8
XOpenIM() failed, LANG = en_GB.UTF-8XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf52a5860
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf52a3fc0
/usr/share/themes/Yaru-dark/gtk-2.0/main.rc:775: error: unexpected identifier 'direction', expected character '}'
/usr/share/themes/Yaru-dark/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant
crash_20260410181226_4.dmp[33282]: Uploading dump (out-of-process)
/tmp/dumps/crash_20260410181226_4.dmp
/home/g/.local/share/Steam/steam.sh: line 966: 33272 Segmentation fault      (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"
crash_20260410181226_4.dmp[33282]: Finished uploading minidump (out-of-process): success = yes
crash_20260410181226_4.dmp[33282]: response: CrashID=bp-c3fcc8a5-cf98-4661-b28d-ea2872260410
crash_20260410181226_4.dmp[33282]: file ''/tmp/dumps/crash_20260410181226_4.dmp'', upload yes: ''CrashID=bp-c3fcc8a5-cf98-4661-b28d-ea2872260410''
  1. Crash dumps from local computer, mesa, indirect rendering

crash_20260410154000_4.dmp
crash_20260410181226_4.dmp

  1. Crash dumps from remote GPU server, nvidia-driver-580

crash_20260410193137_5.dmp

  1. I discovered the following similar issue, and while the crash always occurs after the Yaru-dark error, changing the theme for Legacy Applications in Tweaks does not resolve the issue, it may only hide the Yaru-dark error, e.g. when Ambience, Radiance or some other theme is used.
    https://github.com/ValveSoftware/steam-for-linux/issues/11980
Cchrisd-work 2026-05-27 github

I am running into this as well, had to use flatpak version to WAR it.

Hhttpstorm 2026-05-27 github

I was able to make it work on the remote server by running Steam under Sunshine and streaming to Moonlight client. But I still believe there is a bug.