protonscr

Steam crashes with locale LANG=en_HK.UTF-8

steamopen reviewedSteam client
ValveSoftware/steam-for-linux#3125 · opened 2014-01-27 by slacka · updated 2019-07-18 · 6 comments · github
Sslacka 2014-01-27 github

My system has default $ locale
LANG=en_HK.UTF-8

Steam Runtime Version: steam-runtime-release_2013-10-23
Steam client application: Jan 7 2014 at 12:07:42
Steam API: v012

$ lsb_release -rcd ; uname -r
Description: Linux Mint 16 Petra
Release: 16
Codename: petra
3.11.0-12-generic

$ steam
...
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: 0x0
Serial number of failed request: 151
xerror_handler: X failed, continuing
Installing breakpad exception handler for appid(steam)/version(1389129507_client)
...
steam fails to load

$ LANG=en_US.UTF-8 steam

steam loads normally

Sslacka 2014-01-28 github

Tested with the latest steam client: Jan 25 2014 at 13:45:55

$ LANG=en_HK.UTF-8 steam
RESULT: steam crashes

$ LANG=en_US.UTF-8 steam
RESULT: steam loads

Jjohndrinkwater 2014-01-31 github

Would you supply the output of locale please.
See you posted in #1420, thanks, have you been through the comments there, specifically https://github.com/ValveSoftware/steam-for-linux/issues/1420#issuecomment-13363126 as that should provide extra info for your issue.

Sslacka 2014-02-02 github

Yes, on my system, locale -a lists en_HK.UTF-8, but it is not in /usr/share/X11/locale.

$ locale
LANG=en_HK.UTF-8
LANGUAGE=
LC_CTYPE="en_HK.UTF-8"
LC_NUMERIC="en_HK.UTF-8"
LC_TIME="en_HK.UTF-8"
LC_COLLATE="en_HK.UTF-8"
LC_MONETARY="en_HK.UTF-8"
LC_MESSAGES="en_HK.UTF-8"
LC_PAPER="en_HK.UTF-8"
LC_NAME="en_HK.UTF-8"
LC_ADDRESS="en_HK.UTF-8"
LC_TELEPHONE="en_HK.UTF-8"
LC_MEASUREMENT="en_HK.UTF-8"
LC_IDENTIFICATION="en_HK.UTF-8"
LC_ALL=

From that comment on #1420 , I ran a modified version of the test:

#include <stdio.h>
#include <clocale>
#include <X11/Xlib.h>
#include <X11/Xlocale.h>

int main(int argc, char **argv) {
setlocale(LC_CTYPE, "en_HK.UTF-8");
if (!XSupportsLocale())
printf("locale not supported.\n");
return 0;
}

$ clang test.cpp -o t -lX11
$ ./t
locale not supported.

This is on a fresh install of Mint 16. Should I file I bug report with Mint? In any case, there should probably be a work around on the steam client so it doesn't crash for other people with this problem in their X11 configuration.

Bbrancoliticus 2015-03-30 github

Kubuntu 14.04.02 fresh install I have a similar issue. I am also affected by issue 3728, but I have found out that running the steam client a second time works ok, and I can launch TF2.

It was going like that for some time, but after awhile I found out that I have broken locale from the install and I changed the locale. Then steam didn't start anymore by running it a second time.

I have just found out that I can use the following solution to go back to a working condition of the run steam twice hack, to make it eventually show the steam window: http://askubuntu.com/questions/352687/steam-opens-update-box-and-closes.

Basically run 'LC_ALL="en_US.UTF8" steam' to not have a startup problem from the locale.

This is the error:
Major opcode of failed request: 18 (X_ChangeProperty)
Value in failed request: 0x0
Serial number of failed request: 566
xerror_handler: X failed, continuing
assert_20150330024337_1.dmp[4641]: Uploading dump (out-of-process)

This is my current locale that prevents me from running steam by the run twice to avoid the libgl etc errors:
LANG="en_US.UTF-8"
LC_NUMERIC="ro_RO.UTF-8"
LC_TIME="ro_RO.UTF-8"
LC_MONETARY="ro_RO.UTF-8"
LC_PAPER="ro_RO.UTF-8"
LC_NAME="ro_RO.UTF-8"
LC_ADDRESS="ro_RO.UTF-8"
LC_TELEPHONE="ro_RO.UTF-8"
LC_MEASUREMENT="ro_RO.UTF-8"
LC_IDENTIFICATION="ro_RO.UTF-8"
LC_ALL="en_US.UTF.8"

Qq3452 2016-11-16 github

Two and a half years later and this bug appears to still be present in Ubuntu 16.04 and Mint 18.

Pprashcr 2017-04-25 github

Still facing this issue in 2017. It's an Xlib issue.