This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [WIPv5] Expected behaviour for a-z, A-Z, and 0-9 (Bug 23393).


On 07/28/2018 03:12 AM, Carlos O'Donell wrote:
On 07/26/2018 10:50 AM, Florian Weimer wrote:
shs_CA: U+0000E6 matches /[a-z]/ unexpectedly
shs_CA: U+0000C6 matches /[A-Z]/ unexpectedly
shs_CA.utf8: U+0000E6 matches /[a-z]/ unexpectedly
shs_CA.utf8: U+0000C6 matches /[A-Z]/ unexpectedly

This is a WIP, because the number of tests now is too big
to simply add them to tst-fnmatch.input, and so I'm writing
a new tester tst-rational-ranges.c. I'm parsing SUPPORTED,
expecting all of the locales to be built for testing, and
then running through all the rational ranges to test
inclusion of the required datums.

Let me repeat my suggestion that we should initially fix the locales with the common collation order, where glibc 2.28 regresses.

How slow is your tester? Should I do what you do to test
for the inclusion of characters that shouldn't be in the
range? Or will that take too long?

v5
- Add ~30k+ tests to tst-fnmatch.input.
- Fix broken locales:
- Fix shs_CA to not reorder-after for no reason.

Could you run this through the tester please?

It fails installation for me:

$ make localedata/install-locales DESTDIR=/tmp/locales
sl_SI.UTF-8...locales/sl_SI:1230: order for `U00000061' already defined at locales/sl_SI:998
locales/sl_SI:1231: [error] symbol `S0062' not defined
locales/sl_SI:1231: [error] symbol `BASE' not defined
/bin/sh: line 17: 4148 Segmentation fault (core dumped) I18NPATH=. GCONV_PATH=/home/fweimer/src/gnu/glibc/build/iconvdata LC_ALL=C /home/fweimer/src/gnu/glibc/build/elf/ld-linux-x86-64.so.2 --library-path /home/fweimer/src/gnu/glibc/build:/home/fweimer/src/gnu/glibc/build/math:/home/fweimer/src/gnu/glibc/build/elf:/home/fweimer/src/gnu/glibc/build/dlfcn:/home/fweimer/src/gnu/glibc/build/nss:/home/fweimer/src/gnu/glibc/build/nis:/home/fweimer/src/gnu/glibc/build/rt:/home/fweimer/src/gnu/glibc/build/resolv:/home/fweimer/src/gnu/glibc/build/mathvec:/home/fweimer/src/gnu/glibc/build/support:/home/fweimer/src/gnu/glibc/build/crypt:/home/fweimer/src/gnu/glibc/build/nptl /home/fweimer/src/gnu/glibc/build/locale/localedef $flags --alias-file=../intl/locale.alias -i locales/$input -f charmaps/$charset --prefix=/tmp/locales $locale

GDB says this:

Core was generated by `/home/fweimer/src/gnu/glibc/build/elf/ld-linux-x86-64.so.2 --library-path /home'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000000419234 in output_weight (pool=pool@entry=0x7ffdf1550ce0, collate=collate@entry=0x7fd5a8a03240,
    elem=elem@entry=0x7fd5a8a9b300) at programs/ld-collate.c:1912
1912              len += utf8_encode (&buf[len],
(gdb) bt
#0 0x0000000000419234 in output_weight (pool=pool@entry=0x7ffdf1550ce0, collate=collate@entry=0x7fd5a8a03240,
    elem=elem@entry=0x7fd5a8a9b300) at programs/ld-collate.c:1912
#1  0x000000000041dc4a in collate_output () at programs/ld-collate.c:2180
#2 0x000000000042709f in write_all_categories (definitions=0x7ffdf15513c0, charmap=charmap@entry=0x7fd5a71786a0, locname=0x7ffdf1552e33 "sl_SI.UTF-8", output_path=output_path@entry=0x7fd5a7178310 "/tmp/locales/usr/lib64/locale/sl_SI.utf8/")
    at programs/locfile.c:337
#3 0x0000000000402f69 in main (argc=<optimized out>, argv=0x7ffdf1551630) at programs/localedef.c:300
(gdb) l
1907          int i;
1908
1909          for (i = 0; i < elem->weights[cnt].cnt; ++i)
1910 /* Encode the weight value. We do nothing for IGNORE entries. */
1911            if (elem->weights[cnt].w[i] != NULL)
1912              len += utf8_encode (&buf[len],
1913 elem->weights[cnt].w[i]->mborder[cnt]);
1914
1915          /* And add the buffer content.  */
1916          obstack_1grow (pool, len);
(gdb) print elem->weights[cnt].w[i]->mborder[cnt]
Cannot access memory at address 0x0
(gdb) print elem->weights[cnt].w[i]->mborder
$3 = (int *) 0x0
(gdb)

Any idea what is going on?

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]