Hello, This is just a kind reminder (no patch offered ;-)) that ‘test-localename’ has been failing on glibc 2.9 systems.
Thanks, Ludo’. [email protected] (Ludovic Courtès) writes: > Hi Bruno, > > On x86_64-linux-gnu with glibc 2.9 ‘test-localename’ segfaults for me: > > $ ../libtool --mode=execute gdb ./test-localename > GNU gdb (GDB) 7.0 > Copyright (C) 2009 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-unknown-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from > /home/ludo/src/nixpkgs/pkgs/libunistring-0.9.2/+build/tests/.libs/test-localename...done. > (gdb) r > Starting program: > /home/ludo/src/nixpkgs/pkgs/libunistring-0.9.2/+build/tests/.libs/test-localename > > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff77f0af0 in strcmp () from > /nix/store/s88vdfglm94x7jn0vqm24pqhq460s0c7-glibc-2.9/lib/libc.so.6 > (gdb) bt > #0 0x00007ffff77f0af0 in strcmp () from > /nix/store/s88vdfglm94x7jn0vqm24pqhq460s0c7-glibc-2.9/lib/libc.so.6 > #1 0x0000000000400ffc in test_locale_name_thread () at > ../../tests/test-localename.c:421 > #2 0x0000000000402305 in main () at ../../tests/test-localename.c:734 > (gdb) frame 1 > #1 0x0000000000400ffc in test_locale_name_thread () at > ../../tests/test-localename.c:421 > 421 ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == > 0); > (gdb) p j > $1 = 76 > (gdb) p i > $2 = 0 > (gdb) p unsaved_names[j][i] > $3 = 0x0 > (gdb) p saved_names[j][i] > $4 = 0x0 > (gdb) p sizeof(categories)/sizeof(categories[0]) > $6 = 12 > (gdb) p sizeof(choices)/sizeof(choices[0]) > $7 = 103 > (gdb) p choices[j] > $8 = 0x402850 "no_NO.UTF-8" > (gdb) p unsaved_names[j]...@12 > $10 = {0x0, 0x7ffff7de79d7 "H\203\300\001H\215\025\234\025\001", 0x0, 0x0, > 0x0, 0x0, 0x0, 0x7ffff7deefb5 "\205\300u\347H\203\304\b\270\001", 0x0, > 0x7ffff7ffe528 "", 0x7ffff778c60d "ld-linux-x86-64.so.2", > 0x7ffff7de8804 "\205\300t\310H\201\304\310\003"} > (gdb) p saved_names[j]...@12 > $11 = {0x0 <repeats 12 times>} > (gdb) p saved_names[j-1]...@12 > $12 = {0x650350 "no_NO", 0x650370 "no_NO", 0x650390 "no_NO", 0x6503b0 > "no_NO", 0x6503d0 "no_NO", 0x6503f0 "no_NO", 0x650410 "no_NO", 0x650430 > "no_NO", 0x650450 "no_NO", 0x650470 "no_NO", 0x650490 "no_NO", > 0x6504b0 "no_NO"} > (gdb) p unsaved_names[j-1]...@12 > $13 = {0x650338 "no_NO" <repeats 12 times>} > > Could it be that there’s something fishy specifically with > ‘no_NO.UTF-8’? See: > > scheme@(guile-user)> (setlocale LC_ALL "no_NO.UTF-8") > ERROR: In procedure setlocale: > ERROR: Invalid argument > scheme@(guile-user)> (setlocale LC_ALL "no_NO") > $1 = "no_NO" > scheme@(guile-user)> (setlocale LC_ALL "fr_FR.UTF-8") > $2 = "fr_FR.UTF-8" > scheme@(guile-user)> (setlocale LC_ALL "de_DE.UTF-8") > $3 = "de_DE.UTF-8" > scheme@(guile-user)> (setlocale LC_ALL "en_US.UTF-8") > $4 = "en_US.UTF-8" > > Thanks, > Ludo’.
