GNU bug report logs - #18056
Coreutils 8.23 test-localename failure

Previous Next

Package: coreutils;

Reported by: Henrik Juul Pedersen <henrikjuul <at> gmail.com>

Date: Sat, 19 Jul 2014 11:19:02 UTC

Severity: normal

Done: Assaf Gordon <assafgordon <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18056 in the body.
You can then email your comments to 18056 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-coreutils <at> gnu.org:
bug#18056; Package coreutils. (Sat, 19 Jul 2014 11:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Henrik Juul Pedersen <henrikjuul <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-coreutils <at> gnu.org. (Sat, 19 Jul 2014 11:19:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Henrik Juul Pedersen <henrikjuul <at> gmail.com>
To: bug-coreutils <at> gnu.org
Subject: Coreutils 8.23 test-localename failure
Date: Sat, 19 Jul 2014 13:18:18 +0200
[Message part 1 (text/plain, inline)]
Hi I'm experiencing a test failure in coreutils 8.23

============================================================================
Testsuite summary for GNU coreutils 8.23
============================================================================
# TOTAL: 306
# PASS:  279
# SKIP:  26
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================

The failure is:

coreutils-8.23 % gnulib-tests/test-localename
test-localename.c:86: assertion 'strcmp (gl_locale_name (LC_MESSAGES,
"LC_MESSAGES"), gl_locale_name_default ()) == 0' failed

My system is:
Arch linux

% uname -a
Linux Lappy 3.15.5-2-ARCH #1 SMP PREEMPT Fri Jul 11 07:56:02 CEST 2014
x86_64 GNU/Linux

% gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc-multilib/src/gcc-4.9-20140604/configure
--prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib
--mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=
https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--disable-libssp --enable-gnu-unique-object --enable-linker-build-id
--enable-cloog-backend=isl --disable-isl-version-check
--disable-cloog-version-check --enable-lto --enable-plugin
--enable-install-libiberty --with-linker-hash-style=gnu --enable-multilib
--disable-werror --enable-checking=release
Thread model: posix
gcc version 4.9.0 20140604 (prerelease) (GCC)

% localectl
   System Locale: LANG=en_DK.UTF-8
                  LC_MESSAGES=en_US.UTF-8
       VC Keymap: dk-latin1
      X11 Layout: n/a

I have been unable to find any misconfiguration of my locale settings.
However it is quite possibly the case.

Coreutils was built with:
./configure && make && make check

In an attempt at some debugging, I printed the two strings failing
comparison:

gl_locale_name(LC_MESSAGES (int 5), 'LC_MESSAGES'): en_US.UTF-8
gl_locale_name_default(): C

I'll provide any other information upon request.
Thanks.

Henrik Juul Pedersen
[Message part 2 (text/html, inline)]

Information forwarded to bug-coreutils <at> gnu.org:
bug#18056; Package coreutils. (Sat, 19 Jul 2014 15:08:01 GMT) Full text and rfc822 format available.

Message #8 received at 18056 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Henrik Juul Pedersen <henrikjuul <at> gmail.com>, 18056 <at> debbugs.gnu.org
Subject: Re: bug#18056: Coreutils 8.23 test-localename failure
Date: Sat, 19 Jul 2014 08:07:19 -0700
Henrik Juul Pedersen wrote:

> gl_locale_name(LC_MESSAGES (int 5), 'LC_MESSAGES'): en_US.UTF-8
> gl_locale_name_default(): C

Thanks, since LC_MESSAGES is supposed to be unset at that point, 
gl_locale_name appears to be the culprit.  Can you use GDB to figure out 
why it's returning "en_US.UTF-8"?  You may need to recompile with "gcc 
-O0 -g3" to get decent debugging output.  Or, if you can't use GDB, just 
put in printf statements.




Information forwarded to bug-coreutils <at> gnu.org:
bug#18056; Package coreutils. (Sat, 19 Jul 2014 23:49:02 GMT) Full text and rfc822 format available.

Message #11 received at 18056 <at> debbugs.gnu.org (full text, mbox):

From: Henrik Juul Pedersen <henrikjuul <at> gmail.com>
To: 18056 <at> debbugs.gnu.org
Subject: Re: bug#18056: Coreutils 8.23 test-localename failure
Date: Sun, 20 Jul 2014 01:48:36 +0200
[Message part 1 (text/plain, inline)]
I'm a bit rusty at gdb, but here's what I've been able to find:

I compiled coreutils with -ggdb3 and was able to see, that the test called
gl_locale_name_posix, which used my systems current setlocale (do debugging
symbols):

Breakpoint 5, 0x00007ffff7a582b4 in setlocale () from /usr/lib/libc.so.6
(gdb) step
Single stepping until exit from function setlocale,
which has no line number information.
gl_locale_name_posix (category=5, categoryname=0x4035f3 "LC_MESSAGES") at
localename.c:2704
2704 }
(gdb)
gl_locale_name (category=5, categoryname=0x4035f3 "LC_MESSAGES") at
localename.c:2854
2854  if (retval != NULL)
(gdb)
2855    return retval;
(gdb)
2858 }
(gdb)
test-localename.c:86: assertion 'strcmp (gl_locale_name (LC_MESSAGES,
"LC_MESSAGES"), gl_locale_name_default ()) == 0' failed

retval from setlocale is:
(gdb) p retval
$11 = 0x606f00 "en_US.UTF-8"

So I'm unsure what to do next?

My GNU libc version is:
% pacman -Qi glibc
Name           : glibc
Version        : 2.19-5
Description    : GNU C Library
Architecture   : x86_64
[ ... ]
Build Date     : 2014-05-16T10:15:30 CEST
Install Date   : 2014-05-30T16:11:30 CEST

Thanks,
Henrik


On Sat, Jul 19, 2014 at 5:07 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> Henrik Juul Pedersen wrote:
>
>  gl_locale_name(LC_MESSAGES (int 5), 'LC_MESSAGES'): en_US.UTF-8
>> gl_locale_name_default(): C
>>
>
> Thanks, since LC_MESSAGES is supposed to be unset at that point,
> gl_locale_name appears to be the culprit.  Can you use GDB to figure out
> why it's returning "en_US.UTF-8"?  You may need to recompile with "gcc -O0
> -g3" to get decent debugging output.  Or, if you can't use GDB, just put in
> printf statements.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-coreutils <at> gnu.org:
bug#18056; Package coreutils. (Mon, 21 Jul 2014 10:11:02 GMT) Full text and rfc822 format available.

Message #14 received at 18056 <at> debbugs.gnu.org (full text, mbox):

From: Henrik Juul Pedersen <henrikjuul <at> gmail.com>
To: 18056 <at> debbugs.gnu.org
Subject: Re: bug#18056: Coreutils 8.23 test-localename failure
Date: Mon, 21 Jul 2014 12:10:36 +0200
[Message part 1 (text/plain, inline)]
I Just tried compiling and testing the 8.22 release, in order to do a
comparison. But the test failed in the exact same way.
I also did tests on a similar but yet different arch linux installation at
work, with the exact same results.

When compiling coreutils 8.22 on 2014-03-14 the tests succeeded. So
whatever changed must be outside of coreutils.

One thing I noticed is that locale.h from the gnulib has the line:
#define setlocale rpl_setlocale
which doesn't seem to come into play (as it is my system's setlocale which
is called from the test).

I have noticed that systemd has a localectl function, but doesn't list any
changed behavior w.r.t. locales and environment variables, however, could
systemd be the culprit?

Again, thanks.
Henrik


On Sun, Jul 20, 2014 at 1:48 AM, Henrik Juul Pedersen <henrikjuul <at> gmail.com>
wrote:

> I'm a bit rusty at gdb, but here's what I've been able to find:
>
> I compiled coreutils with -ggdb3 and was able to see, that the test called
> gl_locale_name_posix, which used my systems current setlocale (do debugging
> symbols):
>
> Breakpoint 5, 0x00007ffff7a582b4 in setlocale () from /usr/lib/libc.so.6
> (gdb) step
> Single stepping until exit from function setlocale,
> which has no line number information.
> gl_locale_name_posix (category=5, categoryname=0x4035f3 "LC_MESSAGES") at
> localename.c:2704
> 2704 }
> (gdb)
> gl_locale_name (category=5, categoryname=0x4035f3 "LC_MESSAGES") at
> localename.c:2854
> 2854  if (retval != NULL)
> (gdb)
> 2855    return retval;
> (gdb)
> 2858 }
> (gdb)
> test-localename.c:86: assertion 'strcmp (gl_locale_name (LC_MESSAGES,
> "LC_MESSAGES"), gl_locale_name_default ()) == 0' failed
>
> retval from setlocale is:
> (gdb) p retval
> $11 = 0x606f00 "en_US.UTF-8"
>
> So I'm unsure what to do next?
>
> My GNU libc version is:
> % pacman -Qi glibc
> Name           : glibc
> Version        : 2.19-5
> Description    : GNU C Library
> Architecture   : x86_64
> [ ... ]
> Build Date     : 2014-05-16T10:15:30 CEST
> Install Date   : 2014-05-30T16:11:30 CEST
>
> Thanks,
> Henrik
>
>
> On Sat, Jul 19, 2014 at 5:07 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>
>> Henrik Juul Pedersen wrote:
>>
>>  gl_locale_name(LC_MESSAGES (int 5), 'LC_MESSAGES'): en_US.UTF-8
>>> gl_locale_name_default(): C
>>>
>>
>> Thanks, since LC_MESSAGES is supposed to be unset at that point,
>> gl_locale_name appears to be the culprit.  Can you use GDB to figure out
>> why it's returning "en_US.UTF-8"?  You may need to recompile with "gcc -O0
>> -g3" to get decent debugging output.  Or, if you can't use GDB, just put in
>> printf statements.
>>
>
>
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-coreutils <at> gnu.org:
bug#18056; Package coreutils. (Sat, 20 Oct 2018 03:46:01 GMT) Full text and rfc822 format available.

Message #17 received at 18056 <at> debbugs.gnu.org (full text, mbox):

From: Assaf Gordon <assafgordon <at> gmail.com>
To: 18056 <at> debbugs.gnu.org
Subject: Re: bug#18056: Coreutils 8.23 test-localename failure
Date: Fri, 19 Oct 2018 21:44:53 -0600
tags 18056 ntoabug
close 18056
stop

(triaging old bugs)

On 21/07/14 04:10 AM, Henrik Juul Pedersen wrote:
[...]
> When compiling coreutils 8.22 on 2014-03-14 the tests succeeded. So
> whatever changed must be outside of coreutils.

Given the above, and without further comments in 4 years,
I'm closing this bug.

-assaf




bug closed, send any further explanations to 18056 <at> debbugs.gnu.org and Henrik Juul Pedersen <henrikjuul <at> gmail.com> Request was from Assaf Gordon <assafgordon <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 20 Oct 2018 03:46:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 17 Nov 2018 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 220 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.