Re: Perl 5.44.0-RC1 is now available

Leon Timmermans <[email protected]> Fri, 10 Jul 2026 00:01:19 +0200
Newsgroups gmane.comp.lang.perl.perl5.porters
Message-ID <CAHhgV8iwDKgc-sXGMjvidM0tdj+n3U-wgSz2jNCHvNw8fcPjPg@mail.gmail.com>
--00000000000046c802065634c44d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Jul 9, 2026 at 4:41=E2=80=AFAM ASSI via perl5-porters <
[email protected]> wrote:

> Leon Timmermans writes:
> > We are excited to announce version 5.44.0-RC1,
> > the first release candidate of version 5.44 of Perl.
>
> I've built it successfully on Cygwin, both with the previous gcc-13.4
> and the brand-new (for Cygwin) gcc-14.4.
>
> There is one regreesion in the testsuite:
>
> --8<---------------cut here---------------start------------->8---
> ../lib/locale_threads.t .. 1/2 LC_TIME: 'use I18N::Langinfo qw(langinfo
>     ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7
>     ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6
>     ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12
>     DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7
>     MON_1 MON_2 MON_3 MON_4 MON_5 MON_6
>     MON_7 MON_8 MON_9 MON_10 MON_11 MON_12
>     D_FMT D_T_FMT T_FMT);
> no warnings "uninitialized";
> join "|",
>     map { langinfo($_) }
>         ABDAY_1,ABDAY_2,ABDAY_3,ABDAY_4,ABDAY_5,
>         ABDAY_6,ABDAY_7,
>         ABMON_1,ABMON_2,ABMON_3,ABMON_4,ABMON_5,
>         ABMON_6, ABMON_7,ABMON_8,ABMON_9,ABMON_10,
>         ABMON_11,ABMON_12,
>         DAY_1,DAY_2,DAY_3,DAY_4,DAY_5,DAY_6,DAY_7,
>         MON_1,MON_2,MON_3,MON_4,MON_5,MON_6, MON_7,
>         MON_8,MON_9,MON_10,MON_11,MON_12,
>         D_FMT,D_T_FMT,T_FMT;
> ': locale.c: 6664: panic: nl_langinfo returned empty for 14 in supposed
> locale
> 'bs_BA'; which really is
>
> 'LC_CTYPE=3Dbs_BA;LC_NUMERIC=3DC;LC_COLLATE=3Dbs_BA;LC_TIME=3Dbs_BA;LC_ME=
SSAGES=3Dbs_BA;LC_MONETARY=3Dbs_BA'
>  codeset is 'ISO-8859-2'; radix=3D'.'; January=3D''; strtod(1,5)=3D1,
> strtod(1.5)=3D1,5
> ; errno=3D138
> # Looks like you planned 2 tests but ran 1.
> ../lib/locale_threads.t .. Dubious, test returned 138 (wstat 35328, 0x8a0=
0)
> Failed 1/2 subtests
>
> Test Summary Report
> -------------------
> ../lib/locale_threads.t (Wstat: 35328 (exited 138) Tests: 1 Failed: 0)
>   Non-zero exit status: 138
>   Parse errors: Bad plan.  You planned 2 tests but ran 1.
> Files=3D1, Tests=3D1,  1 wallclock secs ( 0.02 usr  0.02 sys +  0.79 cusr
> 0.25 csys =3D  1.07 CPU)
> Result: FAIL
> Finished test run at Sat Jul  4 17:48:32 2026.
> --8<---------------cut here---------------end--------------->8---
>
> This seems to be caused by an improper definition of this locale
> (another one, uz_UZ is also affected), which produces empty output for
> the day and month names in 5.40.3 and earlier, but now panics in
> locale.h (seemingly as intended).  I believe this was triggered by some
> change around the handling of UTF-8, as the UTF-8 variants of these two
> locales work correctly and the ouptut contains wide characters in that
> case.
>
> So while this result is probably intended at some level, it would still
> be nice if the test wasn't just aborting at the first locale that has
> that problem and maybe report this as a test failure for the spoecific
> locale(s) instead of an incomplete test.


Would you be able to provide a patch to skip these these tests for these
broken locales on cygwin?

Leon

--00000000000046c802065634c44d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Thu, Jul 9, 2026 at 4:41=E2=80=AFAM AS=
SI via perl5-porters &lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt; wrote:<br></div><div dir=3D"ltr"=
><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x">Leon Timmermans writes:<br>
&gt; We are excited to announce version 5.44.0-RC1,<br>
&gt; the first release candidate of version 5.44 of Perl.<br>
<br>
I&#39;ve built it successfully on Cygwin, both with the previous gcc-13.4<b=
r>
and the brand-new (for Cygwin) gcc-14.4.<br>
<br>
There is one regreesion in the testsuite:<br>
<br>
--8&lt;---------------cut here---------------start-------------&gt;8---<br>
../lib/locale_threads.t .. 1/2 LC_TIME: &#39;use I18N::Langinfo qw(langinfo=
<br>
=C2=A0 =C2=A0 ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7<br>
=C2=A0 =C2=A0 ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6<br>
=C2=A0 =C2=A0 ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12<br>
=C2=A0 =C2=A0 DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7<br>
=C2=A0 =C2=A0 MON_1 MON_2 MON_3 MON_4 MON_5 MON_6<br>
=C2=A0 =C2=A0 MON_7 MON_8 MON_9 MON_10 MON_11 MON_12<br>
=C2=A0 =C2=A0 D_FMT D_T_FMT T_FMT);<br>
no warnings &quot;uninitialized&quot;;<br>
join &quot;|&quot;,<br>
=C2=A0 =C2=A0 map { langinfo($_) }<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ABDAY_1,ABDAY_2,ABDAY_3,ABDAY_4,ABDAY_5,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ABDAY_6,ABDAY_7,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ABMON_1,ABMON_2,ABMON_3,ABMON_4,ABMON_5,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ABMON_6, ABMON_7,ABMON_8,ABMON_9,ABMON_10,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ABMON_11,ABMON_12,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 DAY_1,DAY_2,DAY_3,DAY_4,DAY_5,DAY_6,DAY_7,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 MON_1,MON_2,MON_3,MON_4,MON_5,MON_6, MON_7,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 MON_8,MON_9,MON_10,MON_11,MON_12,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 D_FMT,D_T_FMT,T_FMT;<br>
&#39;: locale.c: 6664: panic: nl_langinfo returned empty for 14 in supposed=
 locale <br>
&#39;bs_BA&#39;; which really is<br>
&#39;LC_CTYPE=3Dbs_BA;LC_NUMERIC=3DC;LC_COLLATE=3Dbs_BA;LC_TIME=3Dbs_BA;LC_=
MESSAGES=3Dbs_BA;LC_MONETARY=3Dbs_BA&#39;<br>
=C2=A0codeset is &#39;ISO-8859-2&#39;; radix=3D&#39;.&#39;; January=3D&#39;=
&#39;; strtod(1,5)=3D1, strtod(1.5)=3D1,5<br>
; errno=3D138<br>
# Looks like you planned 2 tests but ran 1.<br>
../lib/locale_threads.t .. Dubious, test returned 138 (wstat 35328, 0x8a00)=
<br>
Failed 1/2 subtests <br>
<br>
Test Summary Report<br>
-------------------<br>
../lib/locale_threads.t (Wstat: 35328 (exited 138) Tests: 1 Failed: 0)<br>
=C2=A0 Non-zero exit status: 138<br>
=C2=A0 Parse errors: Bad plan.=C2=A0 You planned 2 tests but ran 1.<br>
Files=3D1, Tests=3D1,=C2=A0 1 wallclock secs ( 0.02 usr=C2=A0 0.02 sys +=C2=
=A0 0.79 cusr=C2=A0 0.25 csys =3D=C2=A0 1.07 CPU)<br>
Result: FAIL<br>
Finished test run at Sat Jul=C2=A0 4 17:48:32 2026.<br>
--8&lt;---------------cut here---------------end---------------&gt;8---<br>
<br>
This seems to be caused by an improper definition of this locale<br>
(another one, uz_UZ is also affected), which produces empty output for<br>
the day and month names in 5.40.3 and earlier, but now panics in<br>
locale.h (seemingly as intended).=C2=A0 I believe this was triggered by som=
e<br>
change around the handling of UTF-8, as the UTF-8 variants of these two<br>
locales work correctly and the ouptut contains wide characters in that<br>
case.<br>
<br>
So while this result is probably intended at some level, it would still<br>
be nice if the test wasn&#39;t just aborting at the first locale that has<b=
r>
that problem and maybe report this as a test failure for the spoecific<br>
locale(s) instead of an incomplete test.</blockquote><div><br></div><div>Wo=
uld you be able to provide a patch to skip these these tests for these brok=
en locales on cygwin?</div><div><br></div><div>Leon</div></div></div>
</div>

--00000000000046c802065634c44d--