Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Steam crashes unless LANG=en_US.utf8 #1420

Closed
heftig opened this Issue · 14 comments

7 participants

@heftig

Steam crashes unless run with LANG=en_US.utf8. Log follows:

Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
unlinked 0 orphaned pipes
removing stale semaphore last operated on by process 10475 with name 0eBlobRegistryMutex_E4E7A313AFC0ADE4727A2610FD2EA665
removing stale semaphore last operated on by process 10475 with name 0eBlobRegistrySignal_E4E7A313AFC0ADE4727A2610FD2EA665
removing stale semaphore last operated on by process 10475 with name 0emSteamEngineInstance
removing stale semaphore last operated on by process 10475 with name 0eSteamEngineLock
surface_linux.cpp (686) : Assertion Failed: XOpenIM() failed, LANG = en_DE.utf8
Assert( Assertion Failed: XOpenIM() failed, LANG = en_DE.utf8 ):/home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/vgui2/src/surface_linux.cpp:686

Installing breakpad exception handler for appid(steam)/version(1360282734_client)
Uploading dump (in-process) [proxy '']
/tmp/dumps/assert_20130208180745_1.dmp
success = yes
response: CrashID=bp-2737d1e0-899e-48da-a091-019ec2130208

(steam:12725): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Adwaita/gtk-2.0/gtkrc:989: error: unexpected identifier direction', expected character}'
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
[0208/180820:WARNING:proxy_service.cc(646)] PAC support disabled because there is no system implementation
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
Installing breakpad exception handler for appid(steam)/version(1360282734_client)
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: 90
xerror_handler: X failed, continuing
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_20130208180821_2.dmp
success = yes
response: CrashID=bp-8d20fff3-1283-4c15-8540-4ae692130208
/home/jan/.local/share/Steam/steam.sh: line 561: 12725 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"

@skybon

Very strange. What is your normal LANG variable?

@heftig

As noted in the log, LANG=en_DE.utf8

@skybon

Pardon me, but is there a glibc locale named en_DE?

@heftig

Contents of /usr/share/i18n/locales/en_DE: https://gist.github.com/heftig/4740516

@scottlu
Owner

Can repro with LANG=en_NG.utf8 steam, which is installed on my system, and some other en_ variants (and w/STEAM_RUNTIME=0)

@scottlu scottlu was assigned
@scottlu
Owner

Researching this further, not all locales supported by the host system are also supported by X. A quick way to check is to do locale -a, then find which of those aren't listed in /usr/share/X11/locale. On my system, locale -a lists en_NG.UTF-8, but it isn't in /usr/share/X11/locale.

Another way to verify it is with this little program:

#include
#include
#include

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

Could you please try one or both of these checks for en_DE.UTF-8 on your system?

We've made it so Steam won't crash in the case where X doesn't support the locale, however I may change it to fall back on en_US.UTF-8 if the indicated locale isn't supported by X.

Thanks.

@scottlu
Owner

Those includes were for stdio.h, X11/Xlib.h, and locale.h. Somehow github filtered those out.

@scottlu
Owner

Btw the contents of my /usr/share/X11/locale directory are a close match to what's in the "x11-data" package that is installed on my Ubuntu system.

@heftig

en_DE.utf8 (or en_DE.UTF-8) is not supported by X11.

@scottlu
Owner

Thank you for checking this. I'm closing this bug.

@scottlu scottlu closed this
@johndrinkwater
Collaborator

I don’t get this crash with en_GB, and yet it too is unsupported according to the locale test. :/

@CMaiku

This still affects me, although with slightly different output. I've tried both the normal and beta releases. I'm on Debian Sid amd64 with LANG=eo.utf8 and I get the following output:

<Output trimmed until here>
Installing breakpad exception handler for appid(steam)/version(1373418487_client)
Installing breakpad exception handler for appid(steam)/version(1373418487_client)
Installing breakpad exception handler for appid(steam)/version(1373418487_client)
Installing breakpad exception handler for appid(steam)/version(1373418487_client)
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:  105
@slacka

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

$ 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

@xylitolgum

Thanks for investigation, I had same issue and it is now resolved following the suggestion (LC_ALL=C steam) somewhere and it is referenced back this thread.

But what is the action item on permanent fix into the steam client package?
Should such line (LC_ALL=C) be added into the linux client package (deb) - the script steam.sh?

This issue 1420 was closed in Feb 2013, I started having this issue in Oct 2013 after upgrading to Ubuntu 13.10, I tried re-install with latest deb package (and different nvidia driver versions) but didn't help. Also seeing some other people having same issue even after fresh install of Ubuntu. It was not working for me until a few days ago coming to this thread.

If this is permanently fixed in the client package, can help many other people who are not using en_US locale, especially to those who are not technical enough knowing what locale or X11 is.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.