The crash occurred in XGetICValues which is part of the multi-language input (IME) handling in X11. not sure why exactly it doesn't like eu.UTF-8 setting it to "C" would effectively turn off UTF8 which you generally don't want to do.. you want to use a UTF8 locale.. such as en_US.UTF-8.
Now, on my system (Fedora 17). setting the locale to yours does not cause a crash but rather causes it to quit with an error.
LANG=eo.utf8 ./Launcher.bin.x86_64
Can't set the specified locale! Check LANG, LC_CTYPE, LC_ALL.
Now, do you have any other lang variables set?? e.g. anything starting with LC_ (set | grep LC_)
Essentially what is going on is I'm initializing the locale with the environment as internally amnesia handles Unicode conversions for text and file paths..
So we do a simple call like this in the startup.
if(!std::setlocale(LC_CTYPE, "")) {
fprintf(stderr, "Can't set the specified locale! Check LANG, LC_CTYPE, LC_ALL.\n");
return 1;
}
char *charset = nl_langinfo(CODESET);
bool utf8_mode = (strcasecmp(charset, "UTF-8") == 0);
if (!utf8_mode) {
fprintf(stderr, "UTF-8 Charset %s available.\nCurrent LANG is %s\nCharset: %s\n",
utf8_mode ? "is" : "not",
getenv("LANG"), charset);
}
Which should not fail. (And this is the same code that has been in the Penumbra series, and Amneisa: TDD).. so I'm surprised that there are now issues. And it's rather odd that on Ubuntu setting the locale succeeds only to have the X calls crash later on.
I'll have to investigate more on what is causing this issue.. But you might want to ensure you have the latest updates installed and possible report a bug with your distribution about the issue with that locale.