Date: Sat, 16 Jul 2016 01:10:30 +0200 From: Baptiste Daroussin <bapt@FreeBSD.org> To: Jung-uk Kim <jkim@FreeBSD.org> Cc: Thomas Eberhardt <sneakywumpus@gmail.com>, freebsd-stable@FreeBSD.org Subject: Re: stable/11 Problems with Unicode character and ls(1) sorting Message-ID: <20160715231030.k6ywbzdgi43lom33@ivaldir.etoilebsd.net> In-Reply-To: <dbe39521-43cc-f5bf-342b-aef8b8fc773d@FreeBSD.org> References: <A00985AB-C9B7-4D22-B5D1-DF485370D8BF@gmail.com> <dbe39521-43cc-f5bf-342b-aef8b8fc773d@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--kdm5ptxooynwc6ol Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 15, 2016 at 11:38:22AM -0400, Jung-uk Kim wrote: > On 07/15/16 09:55 AM, Thomas Eberhardt wrote: > > % uname -a > > FreeBSD clarence.ocp.lan 11.0-BETA1 FreeBSD 11.0-BETA1 #0 r302457: Sat = Jul 9 10:41:40 CEST 2016 thomas@clarence.ocp.lan:/usr/obj/usr/src/sys/= GENERIC amd64 > >=20 > > % locale > > LANG=3Den_US.UTF-8 > > LC_CTYPE=3D"en_US.UTF-8" > > LC_COLLATE=3D"en_US.UTF-8" > > LC_TIME=3D"en_US.UTF-8" > > LC_NUMERIC=3D"en_US.UTF-8" > > LC_MONETARY=3D"en_US.UTF-8" > > LC_MESSAGES=3D"en_US.UTF-8" > > LC_ALL=3D > >=20 > > % mkdir x > > % touch x/=C3=86on1 > > % ls x > > =C3=86on1 > > % touch x/=C3=86on2 > > % ls -f x=20 > > . .. =C3=86on1 =C3=86on2 > > % ls -f x | hd > > 00000000 2e 0a 2e 2e 0a c3 86 6f 6e 31 0a c3 86 6f 6e 32 |.......on1= =2E..on2| > > 00000010 0a |.| > > 00000011 > > % ls x > > [hangs and consumes 100% CPU] > > ^C > >=20 > > % gdb /bin/ls > > [=E2=80=A6] > > (gdb) run x > > Starting program: /bin/ls x > > [hangs] > > ^C > > Program received signal SIGINT, Interrupt. > > 0x0000000800ffa9dd in _collate_lookup (table=3D<value optimized out>, t= =3D<value optimized out>,=20 > > len=3D<value optimized out>, pri=3D<value optimized out>, which=3D<= value optimized out>, state=3D<value optimized out>) > > at /usr/src/lib/libc/locale/collate.c:340 > > 340 *pri =3D table->char_pri_table[*t].pri[which]; > > Current language: auto; currently minimal > > (gdb) bt > > #0 0x0000000800ffa9dd in _collate_lookup (table=3D<value optimized out= >, t=3D<value optimized out>,=20 > > len=3D<value optimized out>, pri=3D<value optimized out>, which=3D<= value optimized out>, state=3D<value optimized out>) > > at /usr/src/lib/libc/locale/collate.c:340 > > #1 0x0000000800fdc38a in wcscoll_l (ws1=3D<value optimized out>, ws2= =3D<value optimized out>,=20 > > locale=3D<value optimized out>) at /usr/src/lib/libc/string/wcscoll= =2Ec:158 > > #2 0x0000000800fd9071 in strcoll_l (s=3D<value optimized out>, s2=3D<v= alue optimized out>, locale=3D0x80124f338) > > at /usr/src/lib/libc/string/strcoll.c:101 > > #3 0x0000000800fee253 in qsort (a=3D<value optimized out>, n=3D<value = optimized out>, es=3D<value optimized out>,=20 > > cmp=3D0x800f28530 <fts_compar>) at /usr/src/lib/libc/stdlib/qsort.c= :130 > > #4 0x0000000800f27397 in fts_sort (sp=3D<value optimized out>, head=3D= <value optimized out>, nitems=3D<value optimized out>) > > at /usr/src/lib/libc/gen/fts.c:995 > > #5 0x0000000800f2848e in fts_children (sp=3D<value optimized out>, ins= tr=3DError accessing memory address 0x2: Bad address. > > ) at /usr/src/lib/libc/gen/fts.c:570 > > #6 0x00000000004030df in traverse (argc=3D<value optimized out>, argv= =3D<value optimized out>,=20 > > options=3D<value optimized out>) at /usr/src/bin/ls/ls.c:576 > > #7 0x0000000000402eeb in main (argc=3D<value optimized out>, argv=3D<v= alue optimized out>) at /usr/src/bin/ls/ls.c:498 > > #8 0x00000000004020cf in _start () > > #9 0x0000000800629000 in ?? () > > #10 0x0000000000000000 in ?? () > > (gdb) br strcoll.c:101 > > Breakpoint 1 at 0x800fd9063: file /usr/src/lib/libc/string/strcoll.c, l= ine 101. > > (gdb) run > > The program being debugged has been started already. > > Start it from the beginning? (y or n) y > > Starting program: /bin/ls x > > [=E2=80=A6] > >=20 > > Breakpoint 1, strcoll_l (s=3D<value optimized out>, s2=3D<value optimiz= ed out>, locale=3D0x80124f338) > > at /usr/src/lib/libc/string/strcoll.c:101 > > 101 ret =3D wcscoll_l(w1, w2, locale); > > (gdb) n > > [wcscoll_l never returns] > >=20 > >=20 > > Does anybody know what=E2=80=99s going on? This is on a ZFS filesystem = if that matters. >=20 > Yes, it is a known problem and bapt is working on it. If you're in > hurry, reverting r302324 will fix the regression for now. >=20 > https://svnweb.freebsd.org/changeset/base/302324 >=20 > FYI, this problem is tracked as PR211135. >=20 > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211135 >=20 > Jung-uk Kim >=20 Fixed by: r302916. I'll merge it in 2 days in stable/11 if re@ agrees Best regards, Bapt --kdm5ptxooynwc6ol Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXiW1jAAoJEGOJi9zxtz5apRQQAJAhIf4pBa2IRoHkm6o/rjPI ZlsLUyolmloeCXrp8RnWcCKONku0kPpu+Ew1q3qCAc0sT8usL56Hcg05Vk0Igj0k tZ55pWRrIPhPhOdzZY06K8crKRJBKERCe4K/hCWsUq5iHBBLMzwDPtO4FfBB+mF/ Vrg8232FgqcNKwV2hSjkLjRT3ymYbl4Uqm/GlQlOmi9hQBXN2SdbswOexG4rSvZR ofgVXjles+D3Z+3kg5hyONsZbvjeKJ+i5TdEoQYEb7dy1G1+/tl3Ww9/fCzqRTeU +q4zQUfTkp4PQshqdxMZ5UtIufRXSzfLrv8FqMqga1F0c+qPCwi9JyOQP39aVMHr XwgcrWoXim4Z1QOKgjcnyP7ZAxbZXIL9OxrL1r2up0aGDzRCAhpjsoLx0sbVUANS zeDnTD9vSfguM6pfF0mQDhrB9n4hJt3yoADhoLPoAYqWpnoSCTY8EeIbzSdnk4P1 bbAEpDlo0Upj0lua2zfrwqL+mc38Uq793NtJgQgMseR3kTC60ffS5m/efEBCFgdZ pkox4e8iQb0Z3ZxYDwPpo+YlylK1FrUlv/gwg094JoAGm9BoCqa8fM18djYp+mbg 1zzZMnuUIuKL6I8EIVUIe3oPi4jaZhx0//mHu2Xjo98yl6iJGY15Dixd9SMHQDvc o8SUzDXNssLUEpf3H1wI =iwYb -----END PGP SIGNATURE----- --kdm5ptxooynwc6ol--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160715231030.k6ywbzdgi43lom33>