Locale weirdness after latest upgrade (was Re: cannot log on as root after upgrade)

Conrad J. Sabatier conrads at cox.net
Wed Apr 20 16:27:31 PDT 2005


On Wed, 20 Apr 2005 18:03:23 -0500, "Conrad J. Sabatier"
<conrads at cox.net> wrote:
> 
> I suspect he may be encountering the same problem I'm seeing here
> after my latest upgrade today, namely, locale weirdness.
> 
> If I set any locale-related environment variables (LANG, LC_ALL, or
> whatever) in my .bashrc, I can't login.  Bash just core dumps
> immediately (even after rebuilding bash).  I had the same problem with
> kdm.  I had to change the LANG=en_US default setting in kdmrc to
> LANG=C.  Setting it to null also produced the same behavior, by the
> way.
> 
> I discovered the problem by running gdb on the core dumps I was
> getting from bash and kdm_greet.  Here's the head of a backtrace from
> bash:
> 
> #0  strcpy () at /usr/src/lib/libc/amd64/string/strcpy.S:52
> #1  0x0000000800be2413 in __collate_load_tables (
>     encoding=0x800d41a80 "en_US.ISO8859-1")
>     at /usr/src/lib/libc/locale/collate.c:86
> #2  0x0000000800bb59d8 in loadlocale (category=1)
>     at /usr/src/lib/libc/locale/setlocale.c:283
> #3  0x0000000800bb5741 in setlocale (category=0, 
>     locale=0x5a2580 "en_US.ISO8859-1")
>     at /usr/src/lib/libc/locale/setlocale.c:198
> 
> (the rest has no symbols)
> 
> This is very strange.

Quick followup: using either C or POSIX locales will work OK.  Null
locale seems to be OK as well.  Anything else bombs, though.

-- 
Conrad J. Sabatier <conrads at cox.net> -- "In Unix veritas"


More information about the freebsd-current mailing list