2.22: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed.

Arkadiusz Miśkiewicz arekm@maven.pl
Thu Aug 13 13:53:00 GMT 2015


On Tuesday 11 of August 2015, Allan McRae wrote:
> On 11/08/15 20:54, Ondřej Bílka wrote:
> > On Thu, Aug 06, 2015 at 08:29:17AM +0200, Arkadiusz Miśkiewicz wrote:
> >> On Thursday 06 of August 2015, Arkadiusz Miśkiewicz wrote:
> >>> On Thursday 06 of August 2015, Mike Frysinger wrote:
> >>>> On 06 Aug 2015 07:18, Arkadiusz Miśkiewicz wrote:
> >>>>> On 2.22, x86_64 linux I'm getting:
> >>>>> 
> >>>>> $ sudo ldconfig -v
> >>>>> ldconfig: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt <
> >>>>> (sizeof (_nl_value_type_LC_COLLATE) / sizeof
> >>>>> (_nl_value_type_LC_COLLATE[0]))' failed.
> >>>> 
> >>>> what is your `locale` set to ?
> >>>> -mike
> >>> 
> >>> pl_PL.UTF-8 but also fails with en_US
> >>> 
> >>> with C works fine
> >>> 
> >>> 
> >>> # localedef -f UTF-8 -i pl_PL pl_PL.UTF-8
> >>> # locale
> >>> LANG=pl_PL.UTF-8
> >>> LC_CTYPE="pl_PL.UTF-8"
> >>> LC_NUMERIC="pl_PL.UTF-8"
> >>> LC_TIME="pl_PL.UTF-8"
> >>> LC_COLLATE="pl_PL.UTF-8"
> >>> LC_MONETARY="pl_PL.UTF-8"
> >>> LC_MESSAGES="pl_PL.UTF-8"
> >>> LC_PAPER="pl_PL.UTF-8"
> >>> LC_NAME="pl_PL.UTF-8"
> >>> LC_ADDRESS="pl_PL.UTF-8"
> >>> LC_TELEPHONE="pl_PL.UTF-8"
> >>> LC_MEASUREMENT="pl_PL.UTF-8"
> >>> LC_IDENTIFICATION="pl_PL.UTF-8"
> >>> LC_ALL=
> >>> # ldconfig
> >>> ldconfig: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt <
> >>> (sizeof (_nl_value_type_LC_COLLATE) / sizeof
> >>> (_nl_value_type_LC_COLLATE[0]))' failed. Przerwane
> >> 
> >> Ok, false alarm, looks like this local patch (that was fine with 2.21)
> >> breaks things
> >> 
> >> http://git.pld-linux.org/gitweb.cgi?p=packages/glibc.git;a=blob_plain;f=
> >> glibc-locale_fixes.patch;hb=HEAD
> >> 
> >> Does anyone see what's invalid with this patch that it breaks with 2.22
> >> ? (pl_PL hunk for example)
> > 
> > Could you provide minimal example? Just apply one change from
> > patch at time to see which one caused that.

I've blamed glibc-locale_fixes.patch because dropping it "fixed" the 
problem... but new build was already being made with glibc 2.22 installed 
environment and that actually "fixed" the problem. In the end that patch is 
not guilty.

> I have seen several reports of this in Arch Linux when people use locale
> definition files make with localdef from glibc-2.22 on a system with
> glibc-2.21.

Not the other way around? glibc 2.22 with locales made with old 2.21 
localedef?

> Allan

-- 
Arkadiusz Miśkiewicz, arekm / ( maven.pl | pld-linux.org )



More information about the Libc-alpha mailing list