Steam client crashes when running under Linux (locale problem)
Gaming Estimated reading time: ~3 minutes
My prefered platform for running Steam is Arch Linux at the moment. The Steam client segfaults each time it is started. It took me some time to find the root cause and the solution.
This is the console output when I start Steam. As you can see it crashes because of a segmentation fault:
[user@host ~]$ steam
/home/user/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
/home/user/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
Running Steam on arch 64-bit
/home/user/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
/usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier `direction', expected character `}'
(steam:1477): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
/usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier `direction', expected character `}'
(steam:1477): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
Installing breakpad exception handler for appid(steam)/version(1468023329)
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
[0714/135234:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak
[0714/135234:ERROR:browser_main_loop.cc(217)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
Installing breakpad exception handler for appid(steamwebhelper)/version(20160708214346)
Installing breakpad exception handler for appid(steamwebhelper)/version(1468014226)
[0714/135235:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steamwebhelper)/version(20160708214346)
Installing breakpad exception handler for appid(steamwebhelper)/version(1468023329)
Installing breakpad exception handler for appid(steamwebhelper)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Created shared memory when not owner SteamController_Shared_mem
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
** (steam:1477): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Unit dbus-org.freedesktop.NetworkManager.service not found.
Steam: An X Error occurred
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 18 (X_ChangeProperty)
Value in failed request: 0xffffffb8
Serial number of failed request: 132
xerror_handler: X failed, continuing
Installing breakpad exception handler for appid(steam)/version(1468023329)
assert_20160714135230_1.dmp[1528]: Uploading dump (out-of-process)
/tmp/dumps/assert_20160714135230_1.dmp
/home/user/.local/share/Steam/steam.sh: line 713: 1477 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
assert_20160714135230_1.dmp[1528]: Finished uploading minidump (out-of-process): success = yes
assert_20160714135230_1.dmp[1528]: response: CrashID=bp-1cba6a06-f4ab-4f26-8467-1f9f52160714
assert_20160714135230_1.dmp[1528]: file ''/tmp/dumps/assert_20160714135230_1.dmp'', upload yes: ''CrashID=bp-1cba6a06-f4ab-4f26-8467-1f9f52160714''
[user@host ~]$
The problem is that not all locales supported by the host system are also
supported by X (also see Valve GitHub Issue
1420). A quick
fix is to run LC_ALL=C steam
.
It really took some time for me to figure this
out. The problem is that the console output of the program does not give any
hints about the cause of the segmentation fault. Using Google did not help
either because most Steam client crash reports out there do not have anything
to do with system locale settings. I also tried to get to the root cause of the
problem using tools like strace
. In the end I just had luck and found Valve
GitHub Issue
1420 while browsing through Valves issue list
for the Linux Steam client over at GitHub. This issue contained the information
I needed to understand and finally run the Linux Steam client on my Arch Linux
system. My Steam client currently contains the following versioning
information:
- Built: Jul 8 2016, at 21:44:35
- Steam package versions: 1468023329
Now I have to get back to kick some zombie ass :-) Dead Island: Definitvie Edition has been release on Linux a few weeks ago…
A note about Netcup (advertisement)
Netcup is a German hosting company. Netcup offers inexpensive, yet powerfull web hosting packages, KVM-based root servers or dedicated servers for example. Using a coupon code from my Netcup coupon code web app you can even save more money (6$ on your first purchase, 30% off any KVM-based root server, ...).