perl.perl5.porters https://www.nntp.perl.org/group/perl.perl5.porters/ ... Copyright 1998-2019 perl.org Mon, 18 Mar 2019 13:22:38 +0000 ask@perl.org DAVEM TPF grant#2 weekly report for week #253 by Dave Mitchell I spent last week continuing trying to reduce smoke failures; specifically<br/>builds run under clang&#39;s address-sanitizer.<br/><br/>2019/03/11<br/> 2:46 look at failures under Asan: t/lib/croak.t<br/><br/>2019/03/12<br/> 4:21 look at failures under Asan: t/re/regexp.t<br/><br/>2019/03/13<br/> 3:22 look at failures under Asan: t/re/regexp.t<br/><br/>2019/03/14<br/> 1:35 look at failures under Asan: t/re/regexp.t<br/><br/>SUMMARY:<br/> 2:46 look at failures under Asan: t/lib/croak.t<br/> 9:18 look at failures under Asan: t/re/regexp.t<br/> ------<br/> 12:04 TOTAL (HH::MM)<br/><br/><br/>-- <br/>The optimist believes that he lives in the best of all possible worlds.<br/>As does the pessimist.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253946.html Mon, 18 Mar 2019 09:23:27 +0000 [perl #133936] IO::Socket::send ignores peer on connectedconnection-less socket by Tony Cook via RT On Fri, 15 Mar 2019 11:52:31 -0700, chemobejk@gmail.com wrote:<br/>&gt; I stumbled over the IO::Socket::send() implementation while<br/>&gt; investigating<br/>&gt; SO question #55161627 (https://stackoverflow.com/questions/55161627/<br/>&gt; &quot;Why<br/>&gt; does sendto() via Perl Socket-&gt;send() ignore the peer address?&quot;):<br/>&gt; <br/><br/>Does the attached help for you?<br/><br/>Tony<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133936<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253945.html Mon, 18 Mar 2019 05:06:13 +0000 [perl #132884] stack-overflow in S_regclass (perl/regcomp.c:16224) by Karl Williamson via RT On Sun, 04 Mar 2018 08:49:01 -0800, khw wrote:<br/>&gt; Added to wishlist<br/><br/>I believe that perl #131551 addresses this, and will merge this ticket to that one in a month-ish if I don&#39;t hear arguments to the contrary<br/>-- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=132884<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253944.html Mon, 18 Mar 2019 04:28:02 +0000 [perl #131551] segfault in S_regnode_guts by Karl Williamson via RT This has been fixed by <br/>commit 6ef7fe531911e0b41ffcc04c1d6b6ec25a8b1bc9<br/> Author: Karl Williamson &lt;khw@cpan.org&gt;<br/> Date: Sun Mar 17 22:11:04 2019 -0600<br/> <br/> PATCH: [perl #131551] Too deep regex compilation recursion<br/> <br/> This patch, started by Yves Orton, and refined in consultation with Tony<br/> Cook, imposes a maximum depth of unclosed left parentheses, at which<br/> point it croaks. This is to prevent the segfault in the ticket.<br/> <br/> The patch adds a variable that can be set to increase or decrease this<br/> limit at run time (actually regex compilation time) should this be<br/> desired, and hence our pre-determined limit of 1000 can be changed if<br/> necessary.<br/> -- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=131551<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253943.html Mon, 18 Mar 2019 04:19:20 +0000 [perl #120600] Variable length lookbehind is not variable by Karl Williamson via RT Yes, this ticket can be closed, and I am so doing.<br/><br/>The second part involved the German U+DF that folds to &#39;ss&#39;. That is covered by [perl #132367]<br/>- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=120600<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253942.html Mon, 18 Mar 2019 03:38:32 +0000 Re: [perl #133928] POSIX::mblen() broken on threaded perls withglibc by Karl Williamson On 3/17/19 1:55 PM, Niko Tyni wrote:<br/>&gt; On Sat, Mar 16, 2019 at 06:08:05AM -0700, James E Keenan via RT wrote:<br/>&gt;&gt; On Sat, 16 Mar 2019 10:19:33 GMT, ntyni@debian.org wrote:<br/>&gt; <br/>&gt;&gt;&gt; The best I can think of is that all the failing ones have set LC_ALL=C<br/>&gt;&gt;&gt; or something like that, which seems a bit improbable. Nevertheless,<br/>&gt;&gt;&gt; here&#39;s an updated patch that shouldn&#39;t break in the presence of<br/>&gt;&gt;&gt; LC_ALL.<br/>&gt;&gt;&gt;<br/>&gt;&gt;&gt; Could we please see if this fares any better?<br/>&gt;&gt;<br/>&gt;&gt; New branch for smoke-testing:<br/>&gt;&gt;<br/>&gt;&gt; smoke-me/jkeenan/ntyni/133928-posix-2nd<br/>&gt; <br/>&gt; Thanks. This looks much better. The only relevant failure left<br/>&gt; AFAICS is on OpenBSD.<br/>&gt; <br/>&gt; I looked a bit into this and I&#39;m sort of baffled. I&#39;d appreciate<br/>&gt; some eyeballs on this.<br/>&gt; <br/>&gt; openbsd% locale<br/>&gt; LANG=<br/>&gt; LC_COLLATE=&quot;C&quot;<br/>&gt; LC_CTYPE=&quot;C&quot;<br/>&gt; LC_MONETARY=&quot;C&quot;<br/>&gt; LC_NUMERIC=&quot;C&quot;<br/>&gt; LC_TIME=&quot;C&quot;<br/>&gt; LC_MESSAGES=&quot;C&quot;<br/>&gt; LC_ALL=<br/>&gt; <br/>&gt; Without -Dusethreads, where my patch doesn&#39;t make a difference, the<br/>&gt; behaviour looks correct to me (giving 2 for the test case below in a<br/>&gt; UTF-8 locale).<br/>&gt; <br/>&gt; % LC_CTYPE=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>&gt; 2<br/>&gt; % LANG=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>&gt; 2<br/>&gt; <br/>&gt; However, with -Dusethreads, it seems that LC_CTYPE is not effective<br/>&gt; while LANG is. Without my patch:<br/>&gt; <br/>&gt; % LC_CTYPE=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>&gt; 1<br/>&gt; % LANG=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>&gt; -1<br/>&gt; <br/>&gt; With -Dusethreads, with my patch:<br/>&gt; <br/>&gt; % LC_CTYPE=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>&gt; 1<br/>&gt; % LANG=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>&gt; 2<br/>&gt; <br/>&gt; Why isn&#39;t LC_CTYPE working here?<br/>&gt; <br/><br/>Use the -DLv flag on a DEBUGGING build to get locale handling trace. <br/>Also set PERL_DEBUG_LOCALE_INIT=1 to be effective during the execution.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253941.html Mon, 18 Mar 2019 03:09:49 +0000 [perl #133938] indirect.pm fails assertions with threaded perl by Tony Cook via RT On Sat, 16 Mar 2019 07:51:14 -0700, shlomif@gmail.com wrote:<br/>&gt; indirect.pm-asserts-fail.md<br/>&gt; <br/>&gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; `((void*)(oi-&gt;buf)) !<br/>&gt; = 0&#39; failed.<br/><br/>This is a bug in indirect.<br/><br/>Copy() is built on top of memcpy(), and it causes undefined behaviour if you supply a NULL pointer to memcpy() even if no data is being copied.<br/><br/>When I was working on #131746 I had two possible solutions:<br/><br/>a) add conditionals to the Copy() etc macros so they&#39;re safe if &quot;n&quot; is zero.<br/><br/>b) assert() that the pointers are non-NULL<br/><br/>The problem with a) is that every call to the macros pay the cost, even code that correctly only calls these macros with non-NULL pointers.<br/><br/>It also means that there&#39;s no indication to CPAN modules that use these macros that they&#39;re doing something undefined in older perls, since older perls wouldn&#39;t have the conditionals, and might still be supplying NULL pointers, resulting in undefined behaviour on older perls.<br/><br/>So I went with b) so rather than hiding undefined behaviour bugs, a -DDEBUGGING build will scream about them.<br/><br/>Tony<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133938<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253940.html Sun, 17 Mar 2019 23:08:59 +0000 Re: [perl #133928] POSIX::mblen() broken on threaded perls withglibc by Niko Tyni On Sat, Mar 16, 2019 at 06:08:05AM -0700, James E Keenan via RT wrote:<br/>&gt; On Sat, 16 Mar 2019 10:19:33 GMT, ntyni@debian.org wrote:<br/><br/>&gt; &gt; The best I can think of is that all the failing ones have set LC_ALL=C<br/>&gt; &gt; or something like that, which seems a bit improbable. Nevertheless,<br/>&gt; &gt; here&#39;s an updated patch that shouldn&#39;t break in the presence of<br/>&gt; &gt; LC_ALL.<br/>&gt; &gt; <br/>&gt; &gt; Could we please see if this fares any better?<br/>&gt; <br/>&gt; New branch for smoke-testing:<br/>&gt; <br/>&gt; smoke-me/jkeenan/ntyni/133928-posix-2nd<br/><br/>Thanks. This looks much better. The only relevant failure left<br/>AFAICS is on OpenBSD.<br/><br/>I looked a bit into this and I&#39;m sort of baffled. I&#39;d appreciate<br/>some eyeballs on this.<br/><br/>openbsd% locale<br/>LANG=<br/>LC_COLLATE=&quot;C&quot;<br/>LC_CTYPE=&quot;C&quot;<br/>LC_MONETARY=&quot;C&quot;<br/>LC_NUMERIC=&quot;C&quot;<br/>LC_TIME=&quot;C&quot;<br/>LC_MESSAGES=&quot;C&quot;<br/>LC_ALL=<br/><br/>Without -Dusethreads, where my patch doesn&#39;t make a difference, the<br/>behaviour looks correct to me (giving 2 for the test case below in a<br/>UTF-8 locale).<br/><br/>% LC_CTYPE=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>2<br/>% LANG=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>2<br/><br/>However, with -Dusethreads, it seems that LC_CTYPE is not effective<br/>while LANG is. Without my patch:<br/><br/>% LC_CTYPE=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>1<br/>% LANG=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>-1<br/><br/>With -Dusethreads, with my patch:<br/><br/>% LC_CTYPE=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>1<br/>% LANG=fi_FI.UTF-8 ./perl -Ilib -MPOSIX=mblen -le &#39;print mblen(&quot;\303\244&quot;, 5)&#39;<br/>2<br/><br/>Why isn&#39;t LC_CTYPE working here?<br/>-- <br/>Niko<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253939.html Sun, 17 Mar 2019 19:55:58 +0000 Re: [perl #133938] indirect.pm fails assertions with threaded perl by Karl Williamson On 3/17/19 8:38 AM, Shlomi Fish wrote: <br/>&gt; Hi, <br/>&gt; <br/>&gt; On Sun, Mar 17, 2019 at 2:07 AM James E Keenan via RT <br/>&gt; &lt;perlbug-followup@perl.org &lt;mailto:perlbug-followup@perl.org&gt;&gt; wrote: <br/>&gt; <br/>&gt; On Sat, 16 Mar 2019 14:51:14 GMT, shlomif@gmail.com <br/>&gt; &lt;mailto:shlomif@gmail.com&gt; wrote: <br/>&gt; &gt; indirect.pm-asserts-fail.md &lt;http://indirect.pm-asserts-fail.md&gt; <br/>&gt; &gt; <br/>&gt; &gt; :Author: Shlomi Fish <br/>&gt; &gt; :Email: shlomif@cpan.org &lt;mailto:shlomif@cpan.org&gt; <br/>&gt; &gt; :Date: 2019-03-16 16:33 <br/>&gt; &gt; <br/>&gt; &gt; Hi all! <br/>&gt; &gt; <br/>&gt; &gt; After building perl using: <br/>&gt; &gt; <br/>&gt; &gt; ``` <br/>&gt; &gt; #!/bin/sh <br/>&gt; &gt; rm -f config.sh Policy.sh <br/>&gt; &gt; sh Configure -de -Dprefix=&quot;$HOME&quot;/apps/perl/bleadperl-debug <br/>&gt; &gt; -Doptimize=&#39;-g3&#39; \ <br/>&gt; &gt;&nbsp; &nbsp; &nbsp;-DDEBUGGING&nbsp; \ <br/>&gt; &gt;&nbsp; &nbsp; &nbsp;-Dman1dir=none -Dman3dir=none \ <br/>&gt; &gt;&nbsp; &nbsp; &nbsp;-Duseithreads -Dusedevel <br/>&gt; &gt; ``` <br/>&gt; &gt; <br/>&gt; &gt; on bleadperl: <br/>&gt; &gt; <br/>&gt; &gt; ``` <br/>&gt; &gt; [shlomif@telaviv1 perl]$ git show | head -5 <br/>&gt; &gt; commit 4fa9266363598bc31684f549c2c8ce8c6664d137 <br/>&gt; &gt; Author: Karl Williamson &lt;khw@cpan.org &lt;mailto:khw@cpan.org&gt;&gt; <br/>&gt; &gt; Date:&nbsp; &nbsp;Fri Mar 15 11:11:11 2019 -0600 <br/>&gt; &gt; <br/>&gt; &gt; inline.h: Improve comment <br/>&gt; &gt; [shlomif@telaviv1 perl]$ <br/>&gt; &gt; ``` <br/>&gt; &gt; <br/>&gt; &gt; running all tests successfully and installing. Then I get: <br/>&gt; &gt; <br/>&gt; &gt; ``` <br/>&gt; &gt; [shlomif@telaviv1 perl]$ -t perl/core <br/>&gt; &gt; [shlomif@telaviv1 perl]$ <br/>&gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/cpan5.29.9 -i indirect <br/>&gt; &gt; Loading internal logger. Log::Log4perl recommended for better logging <br/>&gt; &gt; Reading &#39;/home/shlomif/.cpan/Metadata&#39; <br/>&gt; &gt;&nbsp; &nbsp;Database was generated on Sat, 16 Mar 2019 12:17:02 GMT <br/>&gt; &gt; Running install for module &#39;indirect&#39; <br/>&gt; &gt; CPAN: Digest::SHA loaded ok (v6.02) <br/>&gt; &gt; CPAN: Compress::Zlib loaded ok (v2.084) <br/>&gt; &gt; Checksum for <br/>&gt; &gt; /home/shlomif/.cpan/sources/authors/id/V/VP/VPIT/indirect-0.38.tar. <br/>&gt; &gt; gz ok <br/>&gt; &gt; CPAN: Archive::Tar loaded ok (v2.32) <br/>&gt; &gt; indirect-0.38/ <br/>&gt; &gt; indirect-0.38/Changes <br/>&gt; &gt; indirect-0.38/indirect.xs <br/>&gt; &gt; indirect-0.38/lib/ <br/>&gt; &gt; indirect-0.38/Makefile.PL <br/>&gt; &gt; indirect-0.38/MANIFEST <br/>&gt; &gt; indirect-0.38/META.json <br/>&gt; &gt; indirect-0.38/META.yml <br/>&gt; &gt; indirect-0.38/README <br/>&gt; &gt; indirect-0.38/samples/ <br/>&gt; &gt; indirect-0.38/t/ <br/>&gt; &gt; indirect-0.38/xsh/ <br/>&gt; &gt; indirect-0.38/xsh/caps.h <br/>&gt; &gt; indirect-0.38/xsh/debug.h <br/>&gt; &gt; indirect-0.38/xsh/hints.h <br/>&gt; &gt; indirect-0.38/xsh/mem.h <br/>&gt; &gt; indirect-0.38/xsh/ops.h <br/>&gt; &gt; indirect-0.38/xsh/ptable.h <br/>&gt; &gt; indirect-0.38/xsh/threads.h <br/>&gt; &gt; indirect-0.38/xsh/util.h <br/>&gt; &gt; indirect-0.38/t/00-load.t <br/>&gt; &gt; indirect-0.38/t/09-load-threads.t <br/>&gt; &gt; indirect-0.38/t/10-args.t <br/>&gt; &gt; indirect-0.38/t/11-line.t <br/>&gt; &gt; indirect-0.38/t/12-env.t <br/>&gt; &gt; indirect-0.38/t/20-good.t <br/>&gt; &gt; indirect-0.38/t/21-bad.t <br/>&gt; &gt; indirect-0.38/t/22-bad-mixed.t <br/>&gt; &gt; indirect-0.38/t/23-bad-notaint.t <br/>&gt; &gt; indirect-0.38/t/30-scope.t <br/>&gt; &gt; indirect-0.38/t/31-hints.t <br/>&gt; &gt; indirect-0.38/t/32-global.t <br/>&gt; &gt; indirect-0.38/t/33-compilation-errors.t <br/>&gt; &gt; indirect-0.38/t/40-threads.t <br/>&gt; &gt; indirect-0.38/t/41-threads-teardown.t <br/>&gt; &gt; indirect-0.38/t/42-threads-global.t <br/>&gt; &gt; indirect-0.38/t/45-memory.t <br/>&gt; &gt; indirect-0.38/t/46-stress.t <br/>&gt; &gt; indirect-0.38/t/47-stress-use.t <br/>&gt; &gt; indirect-0.38/t/50-external.t <br/>&gt; &gt; indirect-0.38/t/51-dd-newlines.t <br/>&gt; &gt; indirect-0.38/t/lib/ <br/>&gt; &gt; indirect-0.38/t/testcases/ <br/>&gt; &gt; indirect-0.38/t/testcases/babycart_in_heredoc.pl <br/>&gt; &lt;http://babycart_in_heredoc.pl&gt; <br/>&gt; &gt; indirect-0.38/t/testcases/rt115392.pl &lt;http://rt115392.pl&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/ <br/>&gt; &gt; indirect-0.38/t/lib/Test/ <br/>&gt; &gt; indirect-0.38/t/lib/VPIT/ <br/>&gt; &gt; indirect-0.38/t/lib/VPIT/TestHelpers.pm <br/>&gt; &gt; indirect-0.38/t/lib/Test/Leaner.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/ <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/ <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test2.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test3.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test4.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test5.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestCompilationError.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired1.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired2.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3X.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3Y.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/ <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/ <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired6.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequiredGlobal.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/a0.pm &lt;http://a0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/b0.pm &lt;http://b0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/c0.pm &lt;http://c0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/d0.pm &lt;http://d0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/a0.pm &lt;http://a0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/b0.pm &lt;http://b0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/c0.pm &lt;http://c0.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/il1.pm &lt;http://il1.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/il2.pm &lt;http://il2.pm&gt; <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/ <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/ <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/Pppppppp.pm <br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/Vvvvvvv.pm <br/>&gt; &gt; indirect-0.38/samples/indirect.pl &lt;http://indirect.pl&gt; <br/>&gt; &gt; indirect-0.38/lib/indirect.pm &lt;http://indirect.pm&gt; <br/>&gt; &gt; &#39;YAML&#39; not installed, will not store persistent state <br/>&gt; &gt; CPAN: CPAN::Meta::Requirements loaded ok (v2.140) <br/>&gt; &gt; CPAN: Parse::CPAN::Meta loaded ok (v2.150010) <br/>&gt; &gt; CPAN: CPAN::Meta loaded ok (v2.150010) <br/>&gt; &gt; CPAN: Module::CoreList loaded ok (v5.20190320) <br/>&gt; &gt; Configuring V/VP/VPIT/indirect-0.38.tar.gz with Makefile.PL <br/>&gt; &gt; Checking if this is gcc 3.4 on Windows trying to link against an <br/>&gt; &gt; import <br/>&gt; &gt; library. <br/>&gt; &gt; .. no <br/>&gt; &gt; Checking if your kit is complete... <br/>&gt; &gt; Looks good <br/>&gt; &gt; Generating a Unix-style Makefile <br/>&gt; &gt; Writing Makefile for indirect <br/>&gt; &gt; Writing MYMETA.yml and MYMETA.json <br/>&gt; &gt;&nbsp; &nbsp;VPIT/indirect-0.38.tar.gz <br/>&gt; &gt;&nbsp; &nbsp;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9 Makefile.PL <br/>&gt; &gt; -- OK <br/>&gt; &gt; Running make for V/VP/VPIT/indirect-0.38.tar.gz <br/>&gt; &gt; cp lib/indirect.pm &lt;http://indirect.pm&gt; blib/lib/indirect.pm <br/>&gt; &lt;http://indirect.pm&gt; <br/>&gt; &gt; Running Mkbootstrap for indirect () <br/>&gt; &gt; chmod 644 &quot;indirect.bs &lt;http://indirect.bs&gt;&quot; <br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot; <br/>&gt; &gt; -MExtUtils::Command::MM <br/>&gt; &gt;&nbsp; -e &#39;cp_nonempty&#39; -- indirect.bs &lt;http://indirect.bs&gt; <br/>&gt; blib/arch/auto/indirect/indirect.bs &lt;http://indirect.bs&gt; <br/>&gt; &gt; 644 <br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot; <br/>&gt; &gt; &quot;/home/shlomif/apps/per <br/>&gt; &gt; l/bleadperl-debug/lib/5.29.9/ExtUtils/xsubpp&quot;&nbsp; -typemap <br/>&gt; &gt; &#39;/home/shlomif/apps/perl <br/>&gt; &gt; /bleadperl-debug/lib/5.29.9/ExtUtils/typemap&#39;&nbsp; indirect.xs &gt; <br/>&gt; &gt; indirect.xsc <br/>&gt; &gt; mv indirect.xsc indirect.c <br/>&gt; &gt; cc -c&nbsp; &nbsp;-D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict- <br/>&gt; &gt; aliasing <br/>&gt; &gt; -pip <br/>&gt; &gt; e -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE <br/>&gt; &gt; -D_FILE_OFFS <br/>&gt; &gt; ET_BITS=64 -g3&nbsp; &nbsp;-DVERSION=\&quot;0.38\&quot; -DXS_VERSION=\&quot;0.38\&quot; -fPIC <br/>&gt; &gt; &quot;-I/home/shlomif <br/>&gt; &gt; /apps/perl/bleadperl-debug/lib/5.29.9/x86_64-linux-thread-multi/CORE&quot; <br/>&gt; &gt; indirect <br/>&gt; &gt; .c <br/>&gt; &gt; rm -f blib/arch/auto/indirect/indirect.so <br/>&gt; &gt; cc&nbsp; -shared -g3 -L/usr/local/lib -fstack-protector-strong&nbsp; indirect.o <br/>&gt; &gt; -o <br/>&gt; &gt; blib/a <br/>&gt; &gt; rch/auto/indirect/indirect.so&nbsp; \ <br/>&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp;\ <br/>&gt; &gt; <br/>&gt; &gt; chmod 755 blib/arch/auto/indirect/indirect.so <br/>&gt; &gt;&nbsp; &nbsp;VPIT/indirect-0.38.tar.gz <br/>&gt; &gt;&nbsp; &nbsp;/usr/bin/make -- OK <br/>&gt; &gt; Running make test for VPIT/indirect-0.38.tar.gz <br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot; <br/>&gt; &gt; -MExtUtils::Command::MM <br/>&gt; &gt;&nbsp; -e &#39;cp_nonempty&#39; -- indirect.bs &lt;http://indirect.bs&gt; <br/>&gt; blib/arch/auto/indirect/indirect.bs &lt;http://indirect.bs&gt; <br/>&gt; &gt; 644 <br/>&gt; &gt; PERL_DL_NONLAZY=1 &quot;/home/shlomif/apps/perl/bleadperl- <br/>&gt; &gt; debug/bin/perl5.29.9&quot; <br/>&gt; &gt; &quot;-MEx <br/>&gt; &gt; tUtils::Command::MM&quot; &quot;-MTest::Harness&quot; &quot;-e&quot; &quot;undef <br/>&gt; &gt; *Test::Harness::Switches; tes <br/>&gt; &gt; t_harness(0, &#39;blib/lib&#39;, &#39;blib/arch&#39;)&quot; t/*.t <br/>&gt; &gt; t/00-load.t ................ 1/1 # Testing indirect 0.38, Perl <br/>&gt; &gt; 5.029009, <br/>&gt; &gt; /home/s <br/>&gt; &gt; hlomif/apps/perl/bleadperl-debug/bin/perl5.29.9 <br/>&gt; &gt; t/00-load.t ................ ok <br/>&gt; &gt; t/09-load-threads.t ........ # Using threads 2.22 <br/>&gt; &gt; # Using threads::shared 1.6 <br/>&gt; &gt; t/09-load-threads.t ........ ok <br/>&gt; &gt; t/10-args.t ................ ok <br/>&gt; &gt; t/11-line.t ................ ok <br/>&gt; &gt; t/12-env.t ................. ok <br/>&gt; &gt; t/20-good.t ................ ok <br/>&gt; &gt; t/21-bad.t ................. ok <br/>&gt; &gt; t/22-bad-mixed.t ........... ok <br/>&gt; &gt; t/23-bad-notaint.t ......... ok <br/>&gt; &gt; t/30-scope.t ............... ok <br/>&gt; &gt; t/31-hints.t ............... ok <br/>&gt; &gt; t/32-global.t .............. ok <br/>&gt; &gt; t/33-compilation-errors.t .. # Using IO::Handle 1.40 <br/>&gt; &gt; # Using IO::Select 1.40 <br/>&gt; &gt; # Using IPC::Open3 1.20 <br/>&gt; &gt; t/33-compilation-errors.t .. ok <br/>&gt; &gt; t/40-threads.t ............. # Using threads 2.22 <br/>&gt; &gt; # Using threads::shared 1.6 <br/>&gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion <br/>&gt; &gt; `((void*)(oi-&gt;buf)) ! <br/>&gt; &gt; = 0&#39; failed. <br/>&gt; &gt; t/40-threads.t ............. No subtests run <br/>&gt; &gt; t/41-threads-teardown.t .... # Using threads 2.22 <br/>&gt; &gt; # Using threads::shared 1.6 <br/>&gt; &gt; t/41-threads-teardown.t .... ok <br/>&gt; &gt; t/42-threads-global.t ...... # Using threads 2.22 <br/>&gt; &gt; # Using threads::shared 1.6 <br/>&gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion <br/>&gt; &gt; `((void*)(oi-&gt;buf)) ! <br/>&gt; &gt; = 0&#39; failed. <br/>&gt; &gt; t/42-threads-global.t ...... No subtests run <br/>&gt; &gt; t/45-memory.t .............. ok <br/>&gt; &gt; t/46-stress.t .............. ok <br/>&gt; &gt; t/47-stress-use.t .......... ok <br/>&gt; &gt; t/50-external.t ............ ok <br/>&gt; &gt; t/51-dd-newlines.t ......... skipped: Could not load Devel::Declare <br/>&gt; &gt; 0.006007 <br/>&gt; &gt; <br/>&gt; &gt; Test Summary Report <br/>&gt; &gt; ------------------- <br/>&gt; &gt; t/40-threads.t&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Wstat: 134 Tests: 0 Failed: 0) <br/>&gt; &gt;&nbsp; &nbsp;Non-zero wait status: 134 <br/>&gt; &gt;&nbsp; &nbsp;Parse errors: No plan found in TAP output <br/>&gt; &gt; t/42-threads-global.t&nbsp; &nbsp; (Wstat: 134 Tests: 0 Failed: 0) <br/>&gt; &gt;&nbsp; &nbsp;Non-zero wait status: 134 <br/>&gt; &gt;&nbsp; &nbsp;Parse errors: No plan found in TAP output <br/>&gt; &gt; Files=21, Tests=4517, 15 wallclock secs ( 2.41 usr&nbsp; 0.12 sys + 12.29 <br/>&gt; &gt; cusr <br/>&gt; &gt; 0.85 <br/>&gt; &gt; csys = 15.67 CPU) <br/>&gt; &gt; Result: FAIL <br/>&gt; &gt; Failed 2/21 test programs. 0/4517 subtests failed. <br/>&gt; &gt; make: *** [Makefile:1071: test_dynamic] Error 255 <br/>&gt; &gt;&nbsp; &nbsp;VPIT/indirect-0.38.tar.gz <br/>&gt; &gt;&nbsp; &nbsp;/usr/bin/make test -- NOT OK <br/>&gt; &gt; //hint// to see the cpan-testers results for installing this module, <br/>&gt; &gt; try: <br/>&gt; &gt;&nbsp; &nbsp;reports VPIT/indirect-0.38.tar.gz <br/>&gt; &gt; [shlomif@telaviv1 perl]$ <br/>&gt; &gt; ``` <br/>&gt; &gt; <br/>&gt; &gt; I am on mageia v7 x86-64 ( https://en.wikipedia.org/wiki/Mageia ). <br/>&gt; &gt; <br/>&gt; &gt; ``` <br/>&gt; &gt; <br/>&gt; <br/>&gt; My research so far indicates that it is the combination of <br/>&gt; -Duseithreads AND -DDEBUGGING that causes the failures in two tests <br/>&gt; in indirect&#39;s test suite.&nbsp; I.e., I do *not* get the failures when I <br/>&gt; build with threads or with debugging individually. <br/>&gt; <br/>&gt; This also appears to be the case with these two failures reported by <br/>&gt; Andreas: <br/>&gt; <br/>&gt; http://www.cpantesters.org/cpan/report/6df6fa7e-3840-11e9-99ca-ba6e2b878bbe <br/>&gt; <br/>&gt; http://www.cpantesters.org/cpan/report/f3ffdba6-3852-11e9-a75d-ac272b878bbe <br/>&gt; <br/>&gt; Can you confirm that it is the combination of these two configure <br/>&gt; options that generates the failures? <br/>&gt; <br/>&gt; <br/>&gt; Indeed. With either of these options removed - &quot;cpan -i indirect&quot; works. <br/> <br/>Note that without -DDEBUGGING, asserts are no-ops, so of course it won&#39;t <br/>get an assertion error without that option. What this really means is <br/>that this fails on threaded builds, and on unthreaded there is a <br/>problem, but it doesn&#39;t affect the outcome of the test cases. <br/> <br/>&gt; <br/>&gt; Thank you very much. <br/>&gt; <br/>&gt; -- <br/>&gt; James E Keenan (jkeenan@cpan.org &lt;mailto:jkeenan@cpan.org&gt;) <br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; -- <br/>&gt; Shlomi Fish http://www.shlomifish.org/ <br/>&gt; <br/>&gt; Buddha has the Chuck Norris nature. <br/>&gt; <br/>&gt; Please reply to list if it&#39;s a mailing list post - http://shlom.in/reply . <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253938.html Sun, 17 Mar 2019 16:19:55 +0000 Re: [perl #133938] indirect.pm fails assertions with threaded perl by Shlomi Fish Hi,<br/><br/>On Sun, Mar 17, 2019 at 2:07 AM James E Keenan via RT &lt;<br/>perlbug-followup@perl.org&gt; wrote:<br/><br/>&gt; On Sat, 16 Mar 2019 14:51:14 GMT, shlomif@gmail.com wrote:<br/>&gt; &gt; indirect.pm-asserts-fail.md<br/>&gt; &gt;<br/>&gt; &gt; :Author: Shlomi Fish<br/>&gt; &gt; :Email: shlomif@cpan.org<br/>&gt; &gt; :Date: 2019-03-16 16:33<br/>&gt; &gt;<br/>&gt; &gt; Hi all!<br/>&gt; &gt;<br/>&gt; &gt; After building perl using:<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt; #!/bin/sh<br/>&gt; &gt; rm -f config.sh Policy.sh<br/>&gt; &gt; sh Configure -de -Dprefix=&quot;$HOME&quot;/apps/perl/bleadperl-debug<br/>&gt; &gt; -Doptimize=&#39;-g3&#39; \<br/>&gt; &gt; -DDEBUGGING \<br/>&gt; &gt; -Dman1dir=none -Dman3dir=none \<br/>&gt; &gt; -Duseithreads -Dusedevel<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; &gt; on bleadperl:<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt; [shlomif@telaviv1 perl]$ git show | head -5<br/>&gt; &gt; commit 4fa9266363598bc31684f549c2c8ce8c6664d137<br/>&gt; &gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt; &gt; Date: Fri Mar 15 11:11:11 2019 -0600<br/>&gt; &gt;<br/>&gt; &gt; inline.h: Improve comment<br/>&gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; &gt; running all tests successfully and installing. Then I get:<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt; [shlomif@telaviv1 perl]$ -t perl/core<br/>&gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/cpan5.29.9 -i indirect<br/>&gt; &gt; Loading internal logger. Log::Log4perl recommended for better logging<br/>&gt; &gt; Reading &#39;/home/shlomif/.cpan/Metadata&#39;<br/>&gt; &gt; Database was generated on Sat, 16 Mar 2019 12:17:02 GMT<br/>&gt; &gt; Running install for module &#39;indirect&#39;<br/>&gt; &gt; CPAN: Digest::SHA loaded ok (v6.02)<br/>&gt; &gt; CPAN: Compress::Zlib loaded ok (v2.084)<br/>&gt; &gt; Checksum for<br/>&gt; &gt; /home/shlomif/.cpan/sources/authors/id/V/VP/VPIT/indirect-0.38.tar.<br/>&gt; &gt; gz ok<br/>&gt; &gt; CPAN: Archive::Tar loaded ok (v2.32)<br/>&gt; &gt; indirect-0.38/<br/>&gt; &gt; indirect-0.38/Changes<br/>&gt; &gt; indirect-0.38/indirect.xs<br/>&gt; &gt; indirect-0.38/lib/<br/>&gt; &gt; indirect-0.38/Makefile.PL<br/>&gt; &gt; indirect-0.38/MANIFEST<br/>&gt; &gt; indirect-0.38/META.json<br/>&gt; &gt; indirect-0.38/META.yml<br/>&gt; &gt; indirect-0.38/README<br/>&gt; &gt; indirect-0.38/samples/<br/>&gt; &gt; indirect-0.38/t/<br/>&gt; &gt; indirect-0.38/xsh/<br/>&gt; &gt; indirect-0.38/xsh/caps.h<br/>&gt; &gt; indirect-0.38/xsh/debug.h<br/>&gt; &gt; indirect-0.38/xsh/hints.h<br/>&gt; &gt; indirect-0.38/xsh/mem.h<br/>&gt; &gt; indirect-0.38/xsh/ops.h<br/>&gt; &gt; indirect-0.38/xsh/ptable.h<br/>&gt; &gt; indirect-0.38/xsh/threads.h<br/>&gt; &gt; indirect-0.38/xsh/util.h<br/>&gt; &gt; indirect-0.38/t/00-load.t<br/>&gt; &gt; indirect-0.38/t/09-load-threads.t<br/>&gt; &gt; indirect-0.38/t/10-args.t<br/>&gt; &gt; indirect-0.38/t/11-line.t<br/>&gt; &gt; indirect-0.38/t/12-env.t<br/>&gt; &gt; indirect-0.38/t/20-good.t<br/>&gt; &gt; indirect-0.38/t/21-bad.t<br/>&gt; &gt; indirect-0.38/t/22-bad-mixed.t<br/>&gt; &gt; indirect-0.38/t/23-bad-notaint.t<br/>&gt; &gt; indirect-0.38/t/30-scope.t<br/>&gt; &gt; indirect-0.38/t/31-hints.t<br/>&gt; &gt; indirect-0.38/t/32-global.t<br/>&gt; &gt; indirect-0.38/t/33-compilation-errors.t<br/>&gt; &gt; indirect-0.38/t/40-threads.t<br/>&gt; &gt; indirect-0.38/t/41-threads-teardown.t<br/>&gt; &gt; indirect-0.38/t/42-threads-global.t<br/>&gt; &gt; indirect-0.38/t/45-memory.t<br/>&gt; &gt; indirect-0.38/t/46-stress.t<br/>&gt; &gt; indirect-0.38/t/47-stress-use.t<br/>&gt; &gt; indirect-0.38/t/50-external.t<br/>&gt; &gt; indirect-0.38/t/51-dd-newlines.t<br/>&gt; &gt; indirect-0.38/t/lib/<br/>&gt; &gt; indirect-0.38/t/testcases/<br/>&gt; &gt; indirect-0.38/t/testcases/babycart_in_heredoc.pl<br/>&gt; &gt; indirect-0.38/t/testcases/rt115392.pl<br/>&gt; &gt; indirect-0.38/t/lib/indirect/<br/>&gt; &gt; indirect-0.38/t/lib/Test/<br/>&gt; &gt; indirect-0.38/t/lib/VPIT/<br/>&gt; &gt; indirect-0.38/t/lib/VPIT/TestHelpers.pm<br/>&gt; &gt; indirect-0.38/t/lib/Test/Leaner.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test2.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test3.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test4.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test5.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestCompilationError.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired1.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired2.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3X.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3Y.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired6.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequiredGlobal.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/a0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/b0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/c0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/d0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/a0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/b0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/c0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/il1.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/il2.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/Pppppppp.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/Vvvvvvv.pm<br/>&gt; &gt; indirect-0.38/samples/indirect.pl<br/>&gt; &gt; indirect-0.38/lib/indirect.pm<br/>&gt; &gt; &#39;YAML&#39; not installed, will not store persistent state<br/>&gt; &gt; CPAN: CPAN::Meta::Requirements loaded ok (v2.140)<br/>&gt; &gt; CPAN: Parse::CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; CPAN: CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; CPAN: Module::CoreList loaded ok (v5.20190320)<br/>&gt; &gt; Configuring V/VP/VPIT/indirect-0.38.tar.gz with Makefile.PL<br/>&gt; &gt; Checking if this is gcc 3.4 on Windows trying to link against an<br/>&gt; &gt; import<br/>&gt; &gt; library.<br/>&gt; &gt; .. no<br/>&gt; &gt; Checking if your kit is complete...<br/>&gt; &gt; Looks good<br/>&gt; &gt; Generating a Unix-style Makefile<br/>&gt; &gt; Writing Makefile for indirect<br/>&gt; &gt; Writing MYMETA.yml and MYMETA.json<br/>&gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9 Makefile.PL<br/>&gt; &gt; -- OK<br/>&gt; &gt; Running make for V/VP/VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; cp lib/indirect.pm blib/lib/indirect.pm<br/>&gt; &gt; Running Mkbootstrap for indirect ()<br/>&gt; &gt; chmod 644 &quot;indirect.bs&quot;<br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; 644<br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &quot;/home/shlomif/apps/per<br/>&gt; &gt; l/bleadperl-debug/lib/5.29.9/ExtUtils/xsubpp&quot; -typemap<br/>&gt; &gt; &#39;/home/shlomif/apps/perl<br/>&gt; &gt; /bleadperl-debug/lib/5.29.9/ExtUtils/typemap&#39; indirect.xs &gt;<br/>&gt; &gt; indirect.xsc<br/>&gt; &gt; mv indirect.xsc indirect.c<br/>&gt; &gt; cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-<br/>&gt; &gt; aliasing<br/>&gt; &gt; -pip<br/>&gt; &gt; e -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE<br/>&gt; &gt; -D_FILE_OFFS<br/>&gt; &gt; ET_BITS=64 -g3 -DVERSION=\&quot;0.38\&quot; -DXS_VERSION=\&quot;0.38\&quot; -fPIC<br/>&gt; &gt; &quot;-I/home/shlomif<br/>&gt; &gt; /apps/perl/bleadperl-debug/lib/5.29.9/x86_64-linux-thread-multi/CORE&quot;<br/>&gt; &gt; indirect<br/>&gt; &gt; .c<br/>&gt; &gt; rm -f blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; cc -shared -g3 -L/usr/local/lib -fstack-protector-strong indirect.o<br/>&gt; &gt; -o<br/>&gt; &gt; blib/a<br/>&gt; &gt; rch/auto/indirect/indirect.so \<br/>&gt; &gt; \<br/>&gt; &gt;<br/>&gt; &gt; chmod 755 blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; /usr/bin/make -- OK<br/>&gt; &gt; Running make test for VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; 644<br/>&gt; &gt; PERL_DL_NONLAZY=1 &quot;/home/shlomif/apps/perl/bleadperl-<br/>&gt; &gt; debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &quot;-MEx<br/>&gt; &gt; tUtils::Command::MM&quot; &quot;-MTest::Harness&quot; &quot;-e&quot; &quot;undef<br/>&gt; &gt; *Test::Harness::Switches; tes<br/>&gt; &gt; t_harness(0, &#39;blib/lib&#39;, &#39;blib/arch&#39;)&quot; t/*.t<br/>&gt; &gt; t/00-load.t ................ 1/1 # Testing indirect 0.38, Perl<br/>&gt; &gt; 5.029009,<br/>&gt; &gt; /home/s<br/>&gt; &gt; hlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; &gt; t/00-load.t ................ ok<br/>&gt; &gt; t/09-load-threads.t ........ # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; t/09-load-threads.t ........ ok<br/>&gt; &gt; t/10-args.t ................ ok<br/>&gt; &gt; t/11-line.t ................ ok<br/>&gt; &gt; t/12-env.t ................. ok<br/>&gt; &gt; t/20-good.t ................ ok<br/>&gt; &gt; t/21-bad.t ................. ok<br/>&gt; &gt; t/22-bad-mixed.t ........... ok<br/>&gt; &gt; t/23-bad-notaint.t ......... ok<br/>&gt; &gt; t/30-scope.t ............... ok<br/>&gt; &gt; t/31-hints.t ............... ok<br/>&gt; &gt; t/32-global.t .............. ok<br/>&gt; &gt; t/33-compilation-errors.t .. # Using IO::Handle 1.40<br/>&gt; &gt; # Using IO::Select 1.40<br/>&gt; &gt; # Using IPC::Open3 1.20<br/>&gt; &gt; t/33-compilation-errors.t .. ok<br/>&gt; &gt; t/40-threads.t ............. # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; = 0&#39; failed.<br/>&gt; &gt; t/40-threads.t ............. No subtests run<br/>&gt; &gt; t/41-threads-teardown.t .... # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; t/41-threads-teardown.t .... ok<br/>&gt; &gt; t/42-threads-global.t ...... # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; = 0&#39; failed.<br/>&gt; &gt; t/42-threads-global.t ...... No subtests run<br/>&gt; &gt; t/45-memory.t .............. ok<br/>&gt; &gt; t/46-stress.t .............. ok<br/>&gt; &gt; t/47-stress-use.t .......... ok<br/>&gt; &gt; t/50-external.t ............ ok<br/>&gt; &gt; t/51-dd-newlines.t ......... skipped: Could not load Devel::Declare<br/>&gt; &gt; 0.006007<br/>&gt; &gt;<br/>&gt; &gt; Test Summary Report<br/>&gt; &gt; -------------------<br/>&gt; &gt; t/40-threads.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; t/42-threads-global.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; Files=21, Tests=4517, 15 wallclock secs ( 2.41 usr 0.12 sys + 12.29<br/>&gt; &gt; cusr<br/>&gt; &gt; 0.85<br/>&gt; &gt; csys = 15.67 CPU)<br/>&gt; &gt; Result: FAIL<br/>&gt; &gt; Failed 2/21 test programs. 0/4517 subtests failed.<br/>&gt; &gt; make: *** [Makefile:1071: test_dynamic] Error 255<br/>&gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; /usr/bin/make test -- NOT OK<br/>&gt; &gt; //hint// to see the cpan-testers results for installing this module,<br/>&gt; &gt; try:<br/>&gt; &gt; reports VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; &gt; I am on mageia v7 x86-64 ( https://en.wikipedia.org/wiki/Mageia ).<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt;<br/>&gt; My research so far indicates that it is the combination of -Duseithreads<br/>&gt; AND -DDEBUGGING that causes the failures in two tests in indirect&#39;s test<br/>&gt; suite. I.e., I do *not* get the failures when I build with threads or with<br/>&gt; debugging individually.<br/>&gt;<br/>&gt; This also appears to be the case with these two failures reported by<br/>&gt; Andreas:<br/>&gt;<br/>&gt; http://www.cpantesters.org/cpan/report/6df6fa7e-3840-11e9-99ca-ba6e2b878bbe<br/>&gt;<br/>&gt; http://www.cpantesters.org/cpan/report/f3ffdba6-3852-11e9-a75d-ac272b878bbe<br/>&gt;<br/>&gt; Can you confirm that it is the combination of these two configure options<br/>&gt; that generates the failures?<br/>&gt;<br/>&gt;<br/>Indeed. With either of these options removed - &quot;cpan -i indirect&quot; works.<br/><br/><br/>&gt; Thank you very much.<br/>&gt;<br/>&gt; --<br/>&gt; James E Keenan (jkeenan@cpan.org)<br/>&gt;<br/><br/><br/>-- <br/>Shlomi Fish http://www.shlomifish.org/<br/><br/>Buddha has the Chuck Norris nature.<br/><br/>Please reply to list if it&#39;s a mailing list post - http://shlom.in/reply .<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253937.html Sun, 17 Mar 2019 14:39:14 +0000 [perl #133938] indirect.pm fails assertions with threaded perl by James E Keenan via RT On Sun, 17 Mar 2019 02:40:36 GMT, jkeenan wrote:<br/>&gt; On Sun, 17 Mar 2019 02:00:00 GMT, jkeenan wrote:<br/>&gt; &gt; On Sun, 17 Mar 2019 00:07:58 GMT, jkeenan wrote:<br/>&gt; &gt; &gt; On Sat, 16 Mar 2019 14:51:14 GMT, shlomif@gmail.com wrote:<br/>&gt; &gt; &gt; &gt; indirect.pm-asserts-fail.md<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; :Author: Shlomi Fish<br/>&gt; &gt; &gt; &gt; :Email: shlomif@cpan.org<br/>&gt; &gt; &gt; &gt; :Date: 2019-03-16 16:33<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; Hi all!<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; After building perl using:<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt; #!/bin/sh<br/>&gt; &gt; &gt; &gt; rm -f config.sh Policy.sh<br/>&gt; &gt; &gt; &gt; sh Configure -de -Dprefix=&quot;$HOME&quot;/apps/perl/bleadperl-debug<br/>&gt; &gt; &gt; &gt; -Doptimize=&#39;-g3&#39; \<br/>&gt; &gt; &gt; &gt; -DDEBUGGING \<br/>&gt; &gt; &gt; &gt; -Dman1dir=none -Dman3dir=none \<br/>&gt; &gt; &gt; &gt; -Duseithreads -Dusedevel<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; on bleadperl:<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt; [shlomif@telaviv1 perl]$ git show | head -5<br/>&gt; &gt; &gt; &gt; commit 4fa9266363598bc31684f549c2c8ce8c6664d137<br/>&gt; &gt; &gt; &gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt; &gt; &gt; &gt; Date: Fri Mar 15 11:11:11 2019 -0600<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; inline.h: Improve comment<br/>&gt; &gt; &gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; running all tests successfully and installing. Then I get:<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt; [shlomif@telaviv1 perl]$ -t perl/core<br/>&gt; &gt; &gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; &gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/cpan5.29.9 -i<br/>&gt; &gt; &gt; &gt; indirect<br/>&gt; &gt; &gt; &gt; Loading internal logger. Log::Log4perl recommended for better<br/>&gt; &gt; &gt; &gt; logging<br/>&gt; &gt; &gt; &gt; Reading &#39;/home/shlomif/.cpan/Metadata&#39;<br/>&gt; &gt; &gt; &gt; Database was generated on Sat, 16 Mar 2019 12:17:02 GMT<br/>&gt; &gt; &gt; &gt; Running install for module &#39;indirect&#39;<br/>&gt; &gt; &gt; &gt; CPAN: Digest::SHA loaded ok (v6.02)<br/>&gt; &gt; &gt; &gt; CPAN: Compress::Zlib loaded ok (v2.084)<br/>&gt; &gt; &gt; &gt; Checksum for<br/>&gt; &gt; &gt; &gt; /home/shlomif/.cpan/sources/authors/id/V/VP/VPIT/indirect-<br/>&gt; &gt; &gt; &gt; 0.38.tar.<br/>&gt; &gt; &gt; &gt; gz ok<br/>&gt; &gt; &gt; &gt; CPAN: Archive::Tar loaded ok (v2.32)<br/>&gt; &gt; &gt; &gt; indirect-0.38/<br/>&gt; &gt; &gt; &gt; indirect-0.38/Changes<br/>&gt; &gt; &gt; &gt; indirect-0.38/indirect.xs<br/>&gt; &gt; &gt; &gt; indirect-0.38/lib/<br/>&gt; &gt; &gt; &gt; indirect-0.38/Makefile.PL<br/>&gt; &gt; &gt; &gt; indirect-0.38/MANIFEST<br/>&gt; &gt; &gt; &gt; indirect-0.38/META.json<br/>&gt; &gt; &gt; &gt; indirect-0.38/META.yml<br/>&gt; &gt; &gt; &gt; indirect-0.38/README<br/>&gt; &gt; &gt; &gt; indirect-0.38/samples/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/caps.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/debug.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/hints.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/mem.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/ops.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/ptable.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/threads.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/xsh/util.h<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/00-load.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/09-load-threads.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/10-args.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/11-line.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/12-env.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/20-good.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/21-bad.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/22-bad-mixed.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/23-bad-notaint.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/30-scope.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/31-hints.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/32-global.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/33-compilation-errors.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/40-threads.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/41-threads-teardown.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/42-threads-global.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/45-memory.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/46-stress.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/47-stress-use.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/50-external.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/51-dd-newlines.t<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/testcases/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/testcases/babycart_in_heredoc.pl<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/testcases/rt115392.pl<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/Test/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/VPIT/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/VPIT/TestHelpers.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/Test/Leaner.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test1/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test2.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test3.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test4.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test5.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestCompilationError.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired1.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired2.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3X.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3Y.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired6.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequiredGlobal.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/a0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/b0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/c0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/d0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/a0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/b0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/c0.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test1/il1.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test1/il2.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/Pppppppp.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/Vvvvvvv.pm<br/>&gt; &gt; &gt; &gt; indirect-0.38/samples/indirect.pl<br/>&gt; &gt; &gt; &gt; indirect-0.38/lib/indirect.pm<br/>&gt; &gt; &gt; &gt; &#39;YAML&#39; not installed, will not store persistent state<br/>&gt; &gt; &gt; &gt; CPAN: CPAN::Meta::Requirements loaded ok (v2.140)<br/>&gt; &gt; &gt; &gt; CPAN: Parse::CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; &gt; &gt; CPAN: CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; &gt; &gt; CPAN: Module::CoreList loaded ok (v5.20190320)<br/>&gt; &gt; &gt; &gt; Configuring V/VP/VPIT/indirect-0.38.tar.gz with Makefile.PL<br/>&gt; &gt; &gt; &gt; Checking if this is gcc 3.4 on Windows trying to link against an<br/>&gt; &gt; &gt; &gt; import<br/>&gt; &gt; &gt; &gt; library.<br/>&gt; &gt; &gt; &gt; .. no<br/>&gt; &gt; &gt; &gt; Checking if your kit is complete...<br/>&gt; &gt; &gt; &gt; Looks good<br/>&gt; &gt; &gt; &gt; Generating a Unix-style Makefile<br/>&gt; &gt; &gt; &gt; Writing Makefile for indirect<br/>&gt; &gt; &gt; &gt; Writing MYMETA.yml and MYMETA.json<br/>&gt; &gt; &gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; &gt; &gt; &gt; Makefile.PL<br/>&gt; &gt; &gt; &gt; -- OK<br/>&gt; &gt; &gt; &gt; Running make for V/VP/VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &gt; cp lib/indirect.pm blib/lib/indirect.pm<br/>&gt; &gt; &gt; &gt; Running Mkbootstrap for indirect ()<br/>&gt; &gt; &gt; &gt; chmod 644 &quot;indirect.bs&quot;<br/>&gt; &gt; &gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; &gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs<br/>&gt; &gt; &gt; &gt; blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; &gt; &gt; 644<br/>&gt; &gt; &gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; &gt; &quot;/home/shlomif/apps/per<br/>&gt; &gt; &gt; &gt; l/bleadperl-debug/lib/5.29.9/ExtUtils/xsubpp&quot; -typemap<br/>&gt; &gt; &gt; &gt; &#39;/home/shlomif/apps/perl<br/>&gt; &gt; &gt; &gt; /bleadperl-debug/lib/5.29.9/ExtUtils/typemap&#39; indirect.xs &gt;<br/>&gt; &gt; &gt; &gt; indirect.xsc<br/>&gt; &gt; &gt; &gt; mv indirect.xsc indirect.c<br/>&gt; &gt; &gt; &gt; cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-<br/>&gt; &gt; &gt; &gt; strict-<br/>&gt; &gt; &gt; &gt; aliasing<br/>&gt; &gt; &gt; &gt; -pip<br/>&gt; &gt; &gt; &gt; e -fstack-protector-strong -I/usr/local/include<br/>&gt; &gt; &gt; &gt; -D_LARGEFILE_SOURCE<br/>&gt; &gt; &gt; &gt; -D_FILE_OFFS<br/>&gt; &gt; &gt; &gt; ET_BITS=64 -g3 -DVERSION=\&quot;0.38\&quot; -DXS_VERSION=\&quot;0.38\&quot; -fPIC<br/>&gt; &gt; &gt; &gt; &quot;-I/home/shlomif<br/>&gt; &gt; &gt; &gt; /apps/perl/bleadperl-debug/lib/5.29.9/x86_64-linux-thread-<br/>&gt; &gt; &gt; &gt; multi/CORE&quot;<br/>&gt; &gt; &gt; &gt; indirect<br/>&gt; &gt; &gt; &gt; .c<br/>&gt; &gt; &gt; &gt; rm -f blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; &gt; &gt; cc -shared -g3 -L/usr/local/lib -fstack-protector-strong<br/>&gt; &gt; &gt; &gt; indirect.o<br/>&gt; &gt; &gt; &gt; -o<br/>&gt; &gt; &gt; &gt; blib/a<br/>&gt; &gt; &gt; &gt; rch/auto/indirect/indirect.so \<br/>&gt; &gt; &gt; &gt; \<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; chmod 755 blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; &gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &gt; /usr/bin/make -- OK<br/>&gt; &gt; &gt; &gt; Running make test for VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; &gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs<br/>&gt; &gt; &gt; &gt; blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; &gt; &gt; 644<br/>&gt; &gt; &gt; &gt; PERL_DL_NONLAZY=1 &quot;/home/shlomif/apps/perl/bleadperl-<br/>&gt; &gt; &gt; &gt; debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; &gt; &quot;-MEx<br/>&gt; &gt; &gt; &gt; tUtils::Command::MM&quot; &quot;-MTest::Harness&quot; &quot;-e&quot; &quot;undef<br/>&gt; &gt; &gt; &gt; *Test::Harness::Switches; tes<br/>&gt; &gt; &gt; &gt; t_harness(0, &#39;blib/lib&#39;, &#39;blib/arch&#39;)&quot; t/*.t<br/>&gt; &gt; &gt; &gt; t/00-load.t ................ 1/1 # Testing indirect 0.38, Perl<br/>&gt; &gt; &gt; &gt; 5.029009,<br/>&gt; &gt; &gt; &gt; /home/s<br/>&gt; &gt; &gt; &gt; hlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; &gt; &gt; &gt; t/00-load.t ................ ok<br/>&gt; &gt; &gt; &gt; t/09-load-threads.t ........ # Using threads 2.22<br/>&gt; &gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; &gt; t/09-load-threads.t ........ ok<br/>&gt; &gt; &gt; &gt; t/10-args.t ................ ok<br/>&gt; &gt; &gt; &gt; t/11-line.t ................ ok<br/>&gt; &gt; &gt; &gt; t/12-env.t ................. ok<br/>&gt; &gt; &gt; &gt; t/20-good.t ................ ok<br/>&gt; &gt; &gt; &gt; t/21-bad.t ................. ok<br/>&gt; &gt; &gt; &gt; t/22-bad-mixed.t ........... ok<br/>&gt; &gt; &gt; &gt; t/23-bad-notaint.t ......... ok<br/>&gt; &gt; &gt; &gt; t/30-scope.t ............... ok<br/>&gt; &gt; &gt; &gt; t/31-hints.t ............... ok<br/>&gt; &gt; &gt; &gt; t/32-global.t .............. ok<br/>&gt; &gt; &gt; &gt; t/33-compilation-errors.t .. # Using IO::Handle 1.40<br/>&gt; &gt; &gt; &gt; # Using IO::Select 1.40<br/>&gt; &gt; &gt; &gt; # Using IPC::Open3 1.20<br/>&gt; &gt; &gt; &gt; t/33-compilation-errors.t .. ok<br/>&gt; &gt; &gt; &gt; t/40-threads.t ............. # Using threads 2.22<br/>&gt; &gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; &gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; &gt; &gt; = 0&#39; failed.<br/>&gt; &gt; &gt; &gt; t/40-threads.t ............. No subtests run<br/>&gt; &gt; &gt; &gt; t/41-threads-teardown.t .... # Using threads 2.22<br/>&gt; &gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; &gt; t/41-threads-teardown.t .... ok<br/>&gt; &gt; &gt; &gt; t/42-threads-global.t ...... # Using threads 2.22<br/>&gt; &gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; &gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; &gt; &gt; = 0&#39; failed.<br/>&gt; &gt; &gt; &gt; t/42-threads-global.t ...... No subtests run<br/>&gt; &gt; &gt; &gt; t/45-memory.t .............. ok<br/>&gt; &gt; &gt; &gt; t/46-stress.t .............. ok<br/>&gt; &gt; &gt; &gt; t/47-stress-use.t .......... ok<br/>&gt; &gt; &gt; &gt; t/50-external.t ............ ok<br/>&gt; &gt; &gt; &gt; t/51-dd-newlines.t ......... skipped: Could not load<br/>&gt; &gt; &gt; &gt; Devel::Declare<br/>&gt; &gt; &gt; &gt; 0.006007<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; Test Summary Report<br/>&gt; &gt; &gt; &gt; -------------------<br/>&gt; &gt; &gt; &gt; t/40-threads.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; &gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; &gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; &gt; &gt; t/42-threads-global.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; &gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; &gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; &gt; &gt; Files=21, Tests=4517, 15 wallclock secs ( 2.41 usr 0.12 sys +<br/>&gt; &gt; &gt; &gt; 12.29<br/>&gt; &gt; &gt; &gt; cusr<br/>&gt; &gt; &gt; &gt; 0.85<br/>&gt; &gt; &gt; &gt; csys = 15.67 CPU)<br/>&gt; &gt; &gt; &gt; Result: FAIL<br/>&gt; &gt; &gt; &gt; Failed 2/21 test programs. 0/4517 subtests failed.<br/>&gt; &gt; &gt; &gt; make: *** [Makefile:1071: test_dynamic] Error 255<br/>&gt; &gt; &gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &gt; /usr/bin/make test -- NOT OK<br/>&gt; &gt; &gt; &gt; //hint// to see the cpan-testers results for installing this<br/>&gt; &gt; &gt; &gt; module,<br/>&gt; &gt; &gt; &gt; try:<br/>&gt; &gt; &gt; &gt; reports VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; I am on mageia v7 x86-64 ( https://en.wikipedia.org/wiki/Mageia<br/>&gt; &gt; &gt; &gt; ).<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt; &gt; ```<br/>&gt; &gt; &gt; &gt;<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; My research so far indicates that it is the combination of<br/>&gt; &gt; &gt; -Duseithreads AND -DDEBUGGING that causes the failures in two tests<br/>&gt; &gt; &gt; in<br/>&gt; &gt; &gt; indirect&#39;s test suite. I.e., I do *not* get the failures when I<br/>&gt; &gt; &gt; build<br/>&gt; &gt; &gt; with threads or with debugging individually.<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; This also appears to be the case with these two failures reported<br/>&gt; &gt; &gt; by<br/>&gt; &gt; &gt; Andreas:<br/>&gt; &gt; &gt;<br/><br/>Andreas reported this problem upstream. See:<br/>https://rt.cpan.org/Ticket/Display.html?id=127118<br/><br/>&gt; &gt; &gt; http://www.cpantesters.org/cpan/report/6df6fa7e-3840-11e9-99ca-<br/>&gt; &gt; &gt; ba6e2b878bbe<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; http://www.cpantesters.org/cpan/report/f3ffdba6-3852-11e9-a75d-<br/>&gt; &gt; &gt; ac272b878bbe<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; Can you confirm that it is the combination of these two configure<br/>&gt; &gt; &gt; options that generates the failures?<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; Thank you very much.<br/>&gt; &gt;<br/>&gt; &gt; Building with threads and debugging, I have (I think) narrowed this<br/>&gt; &gt; down to breakage between v5.27.3 and v5.27.4. However,<br/>&gt; &gt; &#39;Porting/bisect.pl&#39; is not DWIMming for me -- at least not when<br/>&gt; &gt; called<br/>&gt; &gt; with this pattern of arguments:<br/>&gt; &gt;<br/>&gt; &gt; #####<br/>&gt; &gt; perl Porting/bisect.pl --start=v5.26.0 --end=v5.28.0 -Duseithreads<br/>&gt; &gt; -DDEBUGGING --module=indirect<br/>&gt; &gt; #####<br/>&gt; &gt;<br/>&gt; &gt; The program terminates at the start commit but, even if I know that<br/>&gt; &gt; at<br/>&gt; &gt; the start tag &#39;indirect&#39; gets installed, the program reports that it<br/>&gt; &gt; exits 256 instead of 0 and the bisection program terminates.<br/>&gt; &gt;<br/>&gt; &gt; Anyone have suggestions for better bisecting?<br/>&gt; &gt;<br/>&gt; &gt; Thank you very much.<br/>&gt; <br/>&gt; Manual bisection points to this commit:<br/>&gt; <br/>&gt; #####<br/>&gt; commit f14cf3632059d421de83cf901c7e849adc1fcd03<br/>&gt; Author: Tony Cook &lt;tony@develop-help.com&gt;<br/>&gt; AuthorDate: Mon Aug 14 11:52:39 2017 +1000<br/>&gt; Commit: Tony Cook &lt;tony@develop-help.com&gt;<br/>&gt; CommitDate: Mon Sep 4 14:47:29 2017 +1000<br/>&gt; <br/>&gt; (perl #131746) avoid undefined behaviour in Copy() etc<br/>&gt; <br/>&gt; These functions depend on C library functions which have undefined<br/>&gt; behaviour when passed NULL pointers, even when passed a zero &#39;n&#39;<br/>&gt; value.<br/>&gt; <br/>&gt; Some compilers use this information, ie. assume the pointers are non-<br/>&gt; NULL when optimizing any following code, so we do need to prevent such<br/>&gt; unguarded calls.<br/>&gt; <br/>&gt; My initial thought was to add conditionals to each macro to skip the<br/>&gt; call to the library function when n is zero, but this adds a cost to<br/>&gt; every use of these macros, even when the n value is always true.<br/>&gt; <br/>&gt; So instead I added asserts() which will give us a much more visible<br/>&gt; indicator of such broken code and revealed the pp_caller and Glob.xs<br/>&gt; issues also patched here.<br/>&gt; #####<br/>&gt; <br/>&gt; Tony, can you take a look?<br/>&gt; <br/>&gt; Thank you very much.<br/><br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133938<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253936.html Sun, 17 Mar 2019 02:45:14 +0000 [perl #133938] indirect.pm fails assertions with threaded perl by James E Keenan via RT On Sun, 17 Mar 2019 02:00:00 GMT, jkeenan wrote:<br/>&gt; On Sun, 17 Mar 2019 00:07:58 GMT, jkeenan wrote:<br/>&gt; &gt; On Sat, 16 Mar 2019 14:51:14 GMT, shlomif@gmail.com wrote:<br/>&gt; &gt; &gt; indirect.pm-asserts-fail.md<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; :Author: Shlomi Fish<br/>&gt; &gt; &gt; :Email: shlomif@cpan.org<br/>&gt; &gt; &gt; :Date: 2019-03-16 16:33<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; Hi all!<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; After building perl using:<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt; #!/bin/sh<br/>&gt; &gt; &gt; rm -f config.sh Policy.sh<br/>&gt; &gt; &gt; sh Configure -de -Dprefix=&quot;$HOME&quot;/apps/perl/bleadperl-debug<br/>&gt; &gt; &gt; -Doptimize=&#39;-g3&#39; \<br/>&gt; &gt; &gt; -DDEBUGGING \<br/>&gt; &gt; &gt; -Dman1dir=none -Dman3dir=none \<br/>&gt; &gt; &gt; -Duseithreads -Dusedevel<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; on bleadperl:<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt; [shlomif@telaviv1 perl]$ git show | head -5<br/>&gt; &gt; &gt; commit 4fa9266363598bc31684f549c2c8ce8c6664d137<br/>&gt; &gt; &gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt; &gt; &gt; Date: Fri Mar 15 11:11:11 2019 -0600<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; inline.h: Improve comment<br/>&gt; &gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; running all tests successfully and installing. Then I get:<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt; [shlomif@telaviv1 perl]$ -t perl/core<br/>&gt; &gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/cpan5.29.9 -i indirect<br/>&gt; &gt; &gt; Loading internal logger. Log::Log4perl recommended for better<br/>&gt; &gt; &gt; logging<br/>&gt; &gt; &gt; Reading &#39;/home/shlomif/.cpan/Metadata&#39;<br/>&gt; &gt; &gt; Database was generated on Sat, 16 Mar 2019 12:17:02 GMT<br/>&gt; &gt; &gt; Running install for module &#39;indirect&#39;<br/>&gt; &gt; &gt; CPAN: Digest::SHA loaded ok (v6.02)<br/>&gt; &gt; &gt; CPAN: Compress::Zlib loaded ok (v2.084)<br/>&gt; &gt; &gt; Checksum for<br/>&gt; &gt; &gt; /home/shlomif/.cpan/sources/authors/id/V/VP/VPIT/indirect-0.38.tar.<br/>&gt; &gt; &gt; gz ok<br/>&gt; &gt; &gt; CPAN: Archive::Tar loaded ok (v2.32)<br/>&gt; &gt; &gt; indirect-0.38/<br/>&gt; &gt; &gt; indirect-0.38/Changes<br/>&gt; &gt; &gt; indirect-0.38/indirect.xs<br/>&gt; &gt; &gt; indirect-0.38/lib/<br/>&gt; &gt; &gt; indirect-0.38/Makefile.PL<br/>&gt; &gt; &gt; indirect-0.38/MANIFEST<br/>&gt; &gt; &gt; indirect-0.38/META.json<br/>&gt; &gt; &gt; indirect-0.38/META.yml<br/>&gt; &gt; &gt; indirect-0.38/README<br/>&gt; &gt; &gt; indirect-0.38/samples/<br/>&gt; &gt; &gt; indirect-0.38/t/<br/>&gt; &gt; &gt; indirect-0.38/xsh/<br/>&gt; &gt; &gt; indirect-0.38/xsh/caps.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/debug.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/hints.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/mem.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/ops.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/ptable.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/threads.h<br/>&gt; &gt; &gt; indirect-0.38/xsh/util.h<br/>&gt; &gt; &gt; indirect-0.38/t/00-load.t<br/>&gt; &gt; &gt; indirect-0.38/t/09-load-threads.t<br/>&gt; &gt; &gt; indirect-0.38/t/10-args.t<br/>&gt; &gt; &gt; indirect-0.38/t/11-line.t<br/>&gt; &gt; &gt; indirect-0.38/t/12-env.t<br/>&gt; &gt; &gt; indirect-0.38/t/20-good.t<br/>&gt; &gt; &gt; indirect-0.38/t/21-bad.t<br/>&gt; &gt; &gt; indirect-0.38/t/22-bad-mixed.t<br/>&gt; &gt; &gt; indirect-0.38/t/23-bad-notaint.t<br/>&gt; &gt; &gt; indirect-0.38/t/30-scope.t<br/>&gt; &gt; &gt; indirect-0.38/t/31-hints.t<br/>&gt; &gt; &gt; indirect-0.38/t/32-global.t<br/>&gt; &gt; &gt; indirect-0.38/t/33-compilation-errors.t<br/>&gt; &gt; &gt; indirect-0.38/t/40-threads.t<br/>&gt; &gt; &gt; indirect-0.38/t/41-threads-teardown.t<br/>&gt; &gt; &gt; indirect-0.38/t/42-threads-global.t<br/>&gt; &gt; &gt; indirect-0.38/t/45-memory.t<br/>&gt; &gt; &gt; indirect-0.38/t/46-stress.t<br/>&gt; &gt; &gt; indirect-0.38/t/47-stress-use.t<br/>&gt; &gt; &gt; indirect-0.38/t/50-external.t<br/>&gt; &gt; &gt; indirect-0.38/t/51-dd-newlines.t<br/>&gt; &gt; &gt; indirect-0.38/t/lib/<br/>&gt; &gt; &gt; indirect-0.38/t/testcases/<br/>&gt; &gt; &gt; indirect-0.38/t/testcases/babycart_in_heredoc.pl<br/>&gt; &gt; &gt; indirect-0.38/t/testcases/rt115392.pl<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/Test/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/VPIT/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/VPIT/TestHelpers.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/Test/Leaner.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test1/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test2.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test3.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test4.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test5.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestCompilationError.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired1.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired2.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3X.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3Y.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired6.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequiredGlobal.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/a0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/b0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/c0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/d0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/a0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/b0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/c0.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test1/il1.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test1/il2.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/Pppppppp.pm<br/>&gt; &gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/Vvvvvvv.pm<br/>&gt; &gt; &gt; indirect-0.38/samples/indirect.pl<br/>&gt; &gt; &gt; indirect-0.38/lib/indirect.pm<br/>&gt; &gt; &gt; &#39;YAML&#39; not installed, will not store persistent state<br/>&gt; &gt; &gt; CPAN: CPAN::Meta::Requirements loaded ok (v2.140)<br/>&gt; &gt; &gt; CPAN: Parse::CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; &gt; CPAN: CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; &gt; CPAN: Module::CoreList loaded ok (v5.20190320)<br/>&gt; &gt; &gt; Configuring V/VP/VPIT/indirect-0.38.tar.gz with Makefile.PL<br/>&gt; &gt; &gt; Checking if this is gcc 3.4 on Windows trying to link against an<br/>&gt; &gt; &gt; import<br/>&gt; &gt; &gt; library.<br/>&gt; &gt; &gt; .. no<br/>&gt; &gt; &gt; Checking if your kit is complete...<br/>&gt; &gt; &gt; Looks good<br/>&gt; &gt; &gt; Generating a Unix-style Makefile<br/>&gt; &gt; &gt; Writing Makefile for indirect<br/>&gt; &gt; &gt; Writing MYMETA.yml and MYMETA.json<br/>&gt; &gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; &gt; &gt; Makefile.PL<br/>&gt; &gt; &gt; -- OK<br/>&gt; &gt; &gt; Running make for V/VP/VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; cp lib/indirect.pm blib/lib/indirect.pm<br/>&gt; &gt; &gt; Running Mkbootstrap for indirect ()<br/>&gt; &gt; &gt; chmod 644 &quot;indirect.bs&quot;<br/>&gt; &gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs<br/>&gt; &gt; &gt; blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; &gt; 644<br/>&gt; &gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; &quot;/home/shlomif/apps/per<br/>&gt; &gt; &gt; l/bleadperl-debug/lib/5.29.9/ExtUtils/xsubpp&quot; -typemap<br/>&gt; &gt; &gt; &#39;/home/shlomif/apps/perl<br/>&gt; &gt; &gt; /bleadperl-debug/lib/5.29.9/ExtUtils/typemap&#39; indirect.xs &gt;<br/>&gt; &gt; &gt; indirect.xsc<br/>&gt; &gt; &gt; mv indirect.xsc indirect.c<br/>&gt; &gt; &gt; cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-<br/>&gt; &gt; &gt; aliasing<br/>&gt; &gt; &gt; -pip<br/>&gt; &gt; &gt; e -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE<br/>&gt; &gt; &gt; -D_FILE_OFFS<br/>&gt; &gt; &gt; ET_BITS=64 -g3 -DVERSION=\&quot;0.38\&quot; -DXS_VERSION=\&quot;0.38\&quot; -fPIC<br/>&gt; &gt; &gt; &quot;-I/home/shlomif<br/>&gt; &gt; &gt; /apps/perl/bleadperl-debug/lib/5.29.9/x86_64-linux-thread-<br/>&gt; &gt; &gt; multi/CORE&quot;<br/>&gt; &gt; &gt; indirect<br/>&gt; &gt; &gt; .c<br/>&gt; &gt; &gt; rm -f blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; &gt; cc -shared -g3 -L/usr/local/lib -fstack-protector-strong<br/>&gt; &gt; &gt; indirect.o<br/>&gt; &gt; &gt; -o<br/>&gt; &gt; &gt; blib/a<br/>&gt; &gt; &gt; rch/auto/indirect/indirect.so \<br/>&gt; &gt; &gt; \<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; chmod 755 blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; /usr/bin/make -- OK<br/>&gt; &gt; &gt; Running make test for VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs<br/>&gt; &gt; &gt; blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; &gt; 644<br/>&gt; &gt; &gt; PERL_DL_NONLAZY=1 &quot;/home/shlomif/apps/perl/bleadperl-<br/>&gt; &gt; &gt; debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &gt; &quot;-MEx<br/>&gt; &gt; &gt; tUtils::Command::MM&quot; &quot;-MTest::Harness&quot; &quot;-e&quot; &quot;undef<br/>&gt; &gt; &gt; *Test::Harness::Switches; tes<br/>&gt; &gt; &gt; t_harness(0, &#39;blib/lib&#39;, &#39;blib/arch&#39;)&quot; t/*.t<br/>&gt; &gt; &gt; t/00-load.t ................ 1/1 # Testing indirect 0.38, Perl<br/>&gt; &gt; &gt; 5.029009,<br/>&gt; &gt; &gt; /home/s<br/>&gt; &gt; &gt; hlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; &gt; &gt; t/00-load.t ................ ok<br/>&gt; &gt; &gt; t/09-load-threads.t ........ # Using threads 2.22<br/>&gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; t/09-load-threads.t ........ ok<br/>&gt; &gt; &gt; t/10-args.t ................ ok<br/>&gt; &gt; &gt; t/11-line.t ................ ok<br/>&gt; &gt; &gt; t/12-env.t ................. ok<br/>&gt; &gt; &gt; t/20-good.t ................ ok<br/>&gt; &gt; &gt; t/21-bad.t ................. ok<br/>&gt; &gt; &gt; t/22-bad-mixed.t ........... ok<br/>&gt; &gt; &gt; t/23-bad-notaint.t ......... ok<br/>&gt; &gt; &gt; t/30-scope.t ............... ok<br/>&gt; &gt; &gt; t/31-hints.t ............... ok<br/>&gt; &gt; &gt; t/32-global.t .............. ok<br/>&gt; &gt; &gt; t/33-compilation-errors.t .. # Using IO::Handle 1.40<br/>&gt; &gt; &gt; # Using IO::Select 1.40<br/>&gt; &gt; &gt; # Using IPC::Open3 1.20<br/>&gt; &gt; &gt; t/33-compilation-errors.t .. ok<br/>&gt; &gt; &gt; t/40-threads.t ............. # Using threads 2.22<br/>&gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; &gt; = 0&#39; failed.<br/>&gt; &gt; &gt; t/40-threads.t ............. No subtests run<br/>&gt; &gt; &gt; t/41-threads-teardown.t .... # Using threads 2.22<br/>&gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; t/41-threads-teardown.t .... ok<br/>&gt; &gt; &gt; t/42-threads-global.t ...... # Using threads 2.22<br/>&gt; &gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; &gt; = 0&#39; failed.<br/>&gt; &gt; &gt; t/42-threads-global.t ...... No subtests run<br/>&gt; &gt; &gt; t/45-memory.t .............. ok<br/>&gt; &gt; &gt; t/46-stress.t .............. ok<br/>&gt; &gt; &gt; t/47-stress-use.t .......... ok<br/>&gt; &gt; &gt; t/50-external.t ............ ok<br/>&gt; &gt; &gt; t/51-dd-newlines.t ......... skipped: Could not load Devel::Declare<br/>&gt; &gt; &gt; 0.006007<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; Test Summary Report<br/>&gt; &gt; &gt; -------------------<br/>&gt; &gt; &gt; t/40-threads.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; &gt; t/42-threads-global.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; &gt; Files=21, Tests=4517, 15 wallclock secs ( 2.41 usr 0.12 sys +<br/>&gt; &gt; &gt; 12.29<br/>&gt; &gt; &gt; cusr<br/>&gt; &gt; &gt; 0.85<br/>&gt; &gt; &gt; csys = 15.67 CPU)<br/>&gt; &gt; &gt; Result: FAIL<br/>&gt; &gt; &gt; Failed 2/21 test programs. 0/4517 subtests failed.<br/>&gt; &gt; &gt; make: *** [Makefile:1071: test_dynamic] Error 255<br/>&gt; &gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; /usr/bin/make test -- NOT OK<br/>&gt; &gt; &gt; //hint// to see the cpan-testers results for installing this<br/>&gt; &gt; &gt; module,<br/>&gt; &gt; &gt; try:<br/>&gt; &gt; &gt; reports VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; I am on mageia v7 x86-64 ( https://en.wikipedia.org/wiki/Mageia ).<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; ```<br/>&gt; &gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; My research so far indicates that it is the combination of<br/>&gt; &gt; -Duseithreads AND -DDEBUGGING that causes the failures in two tests<br/>&gt; &gt; in<br/>&gt; &gt; indirect&#39;s test suite. I.e., I do *not* get the failures when I<br/>&gt; &gt; build<br/>&gt; &gt; with threads or with debugging individually.<br/>&gt; &gt;<br/>&gt; &gt; This also appears to be the case with these two failures reported by<br/>&gt; &gt; Andreas:<br/>&gt; &gt;<br/>&gt; &gt; http://www.cpantesters.org/cpan/report/6df6fa7e-3840-11e9-99ca-<br/>&gt; &gt; ba6e2b878bbe<br/>&gt; &gt;<br/>&gt; &gt; http://www.cpantesters.org/cpan/report/f3ffdba6-3852-11e9-a75d-<br/>&gt; &gt; ac272b878bbe<br/>&gt; &gt;<br/>&gt; &gt; Can you confirm that it is the combination of these two configure<br/>&gt; &gt; options that generates the failures?<br/>&gt; &gt;<br/>&gt; &gt; Thank you very much.<br/>&gt; <br/>&gt; Building with threads and debugging, I have (I think) narrowed this<br/>&gt; down to breakage between v5.27.3 and v5.27.4. However,<br/>&gt; &#39;Porting/bisect.pl&#39; is not DWIMming for me -- at least not when called<br/>&gt; with this pattern of arguments:<br/>&gt; <br/>&gt; #####<br/>&gt; perl Porting/bisect.pl --start=v5.26.0 --end=v5.28.0 -Duseithreads<br/>&gt; -DDEBUGGING --module=indirect<br/>&gt; #####<br/>&gt; <br/>&gt; The program terminates at the start commit but, even if I know that at<br/>&gt; the start tag &#39;indirect&#39; gets installed, the program reports that it<br/>&gt; exits 256 instead of 0 and the bisection program terminates.<br/>&gt; <br/>&gt; Anyone have suggestions for better bisecting?<br/>&gt; <br/>&gt; Thank you very much.<br/><br/>Manual bisection points to this commit:<br/><br/>#####<br/>commit f14cf3632059d421de83cf901c7e849adc1fcd03<br/>Author: Tony Cook &lt;tony@develop-help.com&gt;<br/>AuthorDate: Mon Aug 14 11:52:39 2017 +1000<br/>Commit: Tony Cook &lt;tony@develop-help.com&gt;<br/>CommitDate: Mon Sep 4 14:47:29 2017 +1000<br/><br/>(perl #131746) avoid undefined behaviour in Copy() etc<br/><br/>These functions depend on C library functions which have undefined behaviour when passed NULL pointers, even when passed a zero &#39;n&#39; value.<br/><br/>Some compilers use this information, ie. assume the pointers are non-NULL when optimizing any following code, so we do need to prevent such unguarded calls.<br/><br/>My initial thought was to add conditionals to each macro to skip the call to the library function when n is zero, but this adds a cost to every use of these macros, even when the n value is always true.<br/><br/>So instead I added asserts() which will give us a much more visible indicator of such broken code and revealed the pp_caller and Glob.xs issues also patched here.<br/>#####<br/><br/>Tony, can you take a look?<br/><br/>Thank you very much.<br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133938<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253935.html Sun, 17 Mar 2019 02:40:46 +0000 [perl #133938] indirect.pm fails assertions with threaded perl by James E Keenan via RT On Sun, 17 Mar 2019 00:07:58 GMT, jkeenan wrote:<br/>&gt; On Sat, 16 Mar 2019 14:51:14 GMT, shlomif@gmail.com wrote:<br/>&gt; &gt; indirect.pm-asserts-fail.md<br/>&gt; &gt;<br/>&gt; &gt; :Author: Shlomi Fish<br/>&gt; &gt; :Email: shlomif@cpan.org<br/>&gt; &gt; :Date: 2019-03-16 16:33<br/>&gt; &gt;<br/>&gt; &gt; Hi all!<br/>&gt; &gt;<br/>&gt; &gt; After building perl using:<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt; #!/bin/sh<br/>&gt; &gt; rm -f config.sh Policy.sh<br/>&gt; &gt; sh Configure -de -Dprefix=&quot;$HOME&quot;/apps/perl/bleadperl-debug<br/>&gt; &gt; -Doptimize=&#39;-g3&#39; \<br/>&gt; &gt; -DDEBUGGING \<br/>&gt; &gt; -Dman1dir=none -Dman3dir=none \<br/>&gt; &gt; -Duseithreads -Dusedevel<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; &gt; on bleadperl:<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt; [shlomif@telaviv1 perl]$ git show | head -5<br/>&gt; &gt; commit 4fa9266363598bc31684f549c2c8ce8c6664d137<br/>&gt; &gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt; &gt; Date: Fri Mar 15 11:11:11 2019 -0600<br/>&gt; &gt;<br/>&gt; &gt; inline.h: Improve comment<br/>&gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; &gt; running all tests successfully and installing. Then I get:<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt; [shlomif@telaviv1 perl]$ -t perl/core<br/>&gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/cpan5.29.9 -i indirect<br/>&gt; &gt; Loading internal logger. Log::Log4perl recommended for better logging<br/>&gt; &gt; Reading &#39;/home/shlomif/.cpan/Metadata&#39;<br/>&gt; &gt; Database was generated on Sat, 16 Mar 2019 12:17:02 GMT<br/>&gt; &gt; Running install for module &#39;indirect&#39;<br/>&gt; &gt; CPAN: Digest::SHA loaded ok (v6.02)<br/>&gt; &gt; CPAN: Compress::Zlib loaded ok (v2.084)<br/>&gt; &gt; Checksum for<br/>&gt; &gt; /home/shlomif/.cpan/sources/authors/id/V/VP/VPIT/indirect-0.38.tar.<br/>&gt; &gt; gz ok<br/>&gt; &gt; CPAN: Archive::Tar loaded ok (v2.32)<br/>&gt; &gt; indirect-0.38/<br/>&gt; &gt; indirect-0.38/Changes<br/>&gt; &gt; indirect-0.38/indirect.xs<br/>&gt; &gt; indirect-0.38/lib/<br/>&gt; &gt; indirect-0.38/Makefile.PL<br/>&gt; &gt; indirect-0.38/MANIFEST<br/>&gt; &gt; indirect-0.38/META.json<br/>&gt; &gt; indirect-0.38/META.yml<br/>&gt; &gt; indirect-0.38/README<br/>&gt; &gt; indirect-0.38/samples/<br/>&gt; &gt; indirect-0.38/t/<br/>&gt; &gt; indirect-0.38/xsh/<br/>&gt; &gt; indirect-0.38/xsh/caps.h<br/>&gt; &gt; indirect-0.38/xsh/debug.h<br/>&gt; &gt; indirect-0.38/xsh/hints.h<br/>&gt; &gt; indirect-0.38/xsh/mem.h<br/>&gt; &gt; indirect-0.38/xsh/ops.h<br/>&gt; &gt; indirect-0.38/xsh/ptable.h<br/>&gt; &gt; indirect-0.38/xsh/threads.h<br/>&gt; &gt; indirect-0.38/xsh/util.h<br/>&gt; &gt; indirect-0.38/t/00-load.t<br/>&gt; &gt; indirect-0.38/t/09-load-threads.t<br/>&gt; &gt; indirect-0.38/t/10-args.t<br/>&gt; &gt; indirect-0.38/t/11-line.t<br/>&gt; &gt; indirect-0.38/t/12-env.t<br/>&gt; &gt; indirect-0.38/t/20-good.t<br/>&gt; &gt; indirect-0.38/t/21-bad.t<br/>&gt; &gt; indirect-0.38/t/22-bad-mixed.t<br/>&gt; &gt; indirect-0.38/t/23-bad-notaint.t<br/>&gt; &gt; indirect-0.38/t/30-scope.t<br/>&gt; &gt; indirect-0.38/t/31-hints.t<br/>&gt; &gt; indirect-0.38/t/32-global.t<br/>&gt; &gt; indirect-0.38/t/33-compilation-errors.t<br/>&gt; &gt; indirect-0.38/t/40-threads.t<br/>&gt; &gt; indirect-0.38/t/41-threads-teardown.t<br/>&gt; &gt; indirect-0.38/t/42-threads-global.t<br/>&gt; &gt; indirect-0.38/t/45-memory.t<br/>&gt; &gt; indirect-0.38/t/46-stress.t<br/>&gt; &gt; indirect-0.38/t/47-stress-use.t<br/>&gt; &gt; indirect-0.38/t/50-external.t<br/>&gt; &gt; indirect-0.38/t/51-dd-newlines.t<br/>&gt; &gt; indirect-0.38/t/lib/<br/>&gt; &gt; indirect-0.38/t/testcases/<br/>&gt; &gt; indirect-0.38/t/testcases/babycart_in_heredoc.pl<br/>&gt; &gt; indirect-0.38/t/testcases/rt115392.pl<br/>&gt; &gt; indirect-0.38/t/lib/indirect/<br/>&gt; &gt; indirect-0.38/t/lib/Test/<br/>&gt; &gt; indirect-0.38/t/lib/VPIT/<br/>&gt; &gt; indirect-0.38/t/lib/VPIT/TestHelpers.pm<br/>&gt; &gt; indirect-0.38/t/lib/Test/Leaner.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test2.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test3.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test4.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test5.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestCompilationError.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired1.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired2.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3X.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired3Y.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired6.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequiredGlobal.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/a0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/b0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/c0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired5/d0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/a0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/b0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/TestRequired4/c0.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/il1.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test1/il2.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/Pppppppp.pm<br/>&gt; &gt; indirect-0.38/t/lib/indirect/Test0/Fffff/Vvvvvvv.pm<br/>&gt; &gt; indirect-0.38/samples/indirect.pl<br/>&gt; &gt; indirect-0.38/lib/indirect.pm<br/>&gt; &gt; &#39;YAML&#39; not installed, will not store persistent state<br/>&gt; &gt; CPAN: CPAN::Meta::Requirements loaded ok (v2.140)<br/>&gt; &gt; CPAN: Parse::CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; CPAN: CPAN::Meta loaded ok (v2.150010)<br/>&gt; &gt; CPAN: Module::CoreList loaded ok (v5.20190320)<br/>&gt; &gt; Configuring V/VP/VPIT/indirect-0.38.tar.gz with Makefile.PL<br/>&gt; &gt; Checking if this is gcc 3.4 on Windows trying to link against an<br/>&gt; &gt; import<br/>&gt; &gt; library.<br/>&gt; &gt; .. no<br/>&gt; &gt; Checking if your kit is complete...<br/>&gt; &gt; Looks good<br/>&gt; &gt; Generating a Unix-style Makefile<br/>&gt; &gt; Writing Makefile for indirect<br/>&gt; &gt; Writing MYMETA.yml and MYMETA.json<br/>&gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; /home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9 Makefile.PL<br/>&gt; &gt; -- OK<br/>&gt; &gt; Running make for V/VP/VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; cp lib/indirect.pm blib/lib/indirect.pm<br/>&gt; &gt; Running Mkbootstrap for indirect ()<br/>&gt; &gt; chmod 644 &quot;indirect.bs&quot;<br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; 644<br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &quot;/home/shlomif/apps/per<br/>&gt; &gt; l/bleadperl-debug/lib/5.29.9/ExtUtils/xsubpp&quot; -typemap<br/>&gt; &gt; &#39;/home/shlomif/apps/perl<br/>&gt; &gt; /bleadperl-debug/lib/5.29.9/ExtUtils/typemap&#39; indirect.xs &gt;<br/>&gt; &gt; indirect.xsc<br/>&gt; &gt; mv indirect.xsc indirect.c<br/>&gt; &gt; cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-<br/>&gt; &gt; aliasing<br/>&gt; &gt; -pip<br/>&gt; &gt; e -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE<br/>&gt; &gt; -D_FILE_OFFS<br/>&gt; &gt; ET_BITS=64 -g3 -DVERSION=\&quot;0.38\&quot; -DXS_VERSION=\&quot;0.38\&quot; -fPIC<br/>&gt; &gt; &quot;-I/home/shlomif<br/>&gt; &gt; /apps/perl/bleadperl-debug/lib/5.29.9/x86_64-linux-thread-multi/CORE&quot;<br/>&gt; &gt; indirect<br/>&gt; &gt; .c<br/>&gt; &gt; rm -f blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; cc -shared -g3 -L/usr/local/lib -fstack-protector-strong indirect.o<br/>&gt; &gt; -o<br/>&gt; &gt; blib/a<br/>&gt; &gt; rch/auto/indirect/indirect.so \<br/>&gt; &gt; \<br/>&gt; &gt;<br/>&gt; &gt; chmod 755 blib/arch/auto/indirect/indirect.so<br/>&gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; /usr/bin/make -- OK<br/>&gt; &gt; Running make test for VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &gt; -MExtUtils::Command::MM<br/>&gt; &gt; -e &#39;cp_nonempty&#39; -- indirect.bs blib/arch/auto/indirect/indirect.bs<br/>&gt; &gt; 644<br/>&gt; &gt; PERL_DL_NONLAZY=1 &quot;/home/shlomif/apps/perl/bleadperl-<br/>&gt; &gt; debug/bin/perl5.29.9&quot;<br/>&gt; &gt; &quot;-MEx<br/>&gt; &gt; tUtils::Command::MM&quot; &quot;-MTest::Harness&quot; &quot;-e&quot; &quot;undef<br/>&gt; &gt; *Test::Harness::Switches; tes<br/>&gt; &gt; t_harness(0, &#39;blib/lib&#39;, &#39;blib/arch&#39;)&quot; t/*.t<br/>&gt; &gt; t/00-load.t ................ 1/1 # Testing indirect 0.38, Perl<br/>&gt; &gt; 5.029009,<br/>&gt; &gt; /home/s<br/>&gt; &gt; hlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; &gt; t/00-load.t ................ ok<br/>&gt; &gt; t/09-load-threads.t ........ # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; t/09-load-threads.t ........ ok<br/>&gt; &gt; t/10-args.t ................ ok<br/>&gt; &gt; t/11-line.t ................ ok<br/>&gt; &gt; t/12-env.t ................. ok<br/>&gt; &gt; t/20-good.t ................ ok<br/>&gt; &gt; t/21-bad.t ................. ok<br/>&gt; &gt; t/22-bad-mixed.t ........... ok<br/>&gt; &gt; t/23-bad-notaint.t ......... ok<br/>&gt; &gt; t/30-scope.t ............... ok<br/>&gt; &gt; t/31-hints.t ............... ok<br/>&gt; &gt; t/32-global.t .............. ok<br/>&gt; &gt; t/33-compilation-errors.t .. # Using IO::Handle 1.40<br/>&gt; &gt; # Using IO::Select 1.40<br/>&gt; &gt; # Using IPC::Open3 1.20<br/>&gt; &gt; t/33-compilation-errors.t .. ok<br/>&gt; &gt; t/40-threads.t ............. # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; = 0&#39; failed.<br/>&gt; &gt; t/40-threads.t ............. No subtests run<br/>&gt; &gt; t/41-threads-teardown.t .... # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; t/41-threads-teardown.t .... ok<br/>&gt; &gt; t/42-threads-global.t ...... # Using threads 2.22<br/>&gt; &gt; # Using threads::shared 1.6<br/>&gt; &gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; &gt; `((void*)(oi-&gt;buf)) !<br/>&gt; &gt; = 0&#39; failed.<br/>&gt; &gt; t/42-threads-global.t ...... No subtests run<br/>&gt; &gt; t/45-memory.t .............. ok<br/>&gt; &gt; t/46-stress.t .............. ok<br/>&gt; &gt; t/47-stress-use.t .......... ok<br/>&gt; &gt; t/50-external.t ............ ok<br/>&gt; &gt; t/51-dd-newlines.t ......... skipped: Could not load Devel::Declare<br/>&gt; &gt; 0.006007<br/>&gt; &gt;<br/>&gt; &gt; Test Summary Report<br/>&gt; &gt; -------------------<br/>&gt; &gt; t/40-threads.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; t/42-threads-global.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; &gt; Non-zero wait status: 134<br/>&gt; &gt; Parse errors: No plan found in TAP output<br/>&gt; &gt; Files=21, Tests=4517, 15 wallclock secs ( 2.41 usr 0.12 sys + 12.29<br/>&gt; &gt; cusr<br/>&gt; &gt; 0.85<br/>&gt; &gt; csys = 15.67 CPU)<br/>&gt; &gt; Result: FAIL<br/>&gt; &gt; Failed 2/21 test programs. 0/4517 subtests failed.<br/>&gt; &gt; make: *** [Makefile:1071: test_dynamic] Error 255<br/>&gt; &gt; VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; /usr/bin/make test -- NOT OK<br/>&gt; &gt; //hint// to see the cpan-testers results for installing this module,<br/>&gt; &gt; try:<br/>&gt; &gt; reports VPIT/indirect-0.38.tar.gz<br/>&gt; &gt; [shlomif@telaviv1 perl]$<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; &gt; I am on mageia v7 x86-64 ( https://en.wikipedia.org/wiki/Mageia ).<br/>&gt; &gt;<br/>&gt; &gt; ```<br/>&gt; &gt;<br/>&gt; <br/>&gt; My research so far indicates that it is the combination of<br/>&gt; -Duseithreads AND -DDEBUGGING that causes the failures in two tests in<br/>&gt; indirect&#39;s test suite. I.e., I do *not* get the failures when I build<br/>&gt; with threads or with debugging individually.<br/>&gt; <br/>&gt; This also appears to be the case with these two failures reported by<br/>&gt; Andreas:<br/>&gt; <br/>&gt; http://www.cpantesters.org/cpan/report/6df6fa7e-3840-11e9-99ca-<br/>&gt; ba6e2b878bbe<br/>&gt; <br/>&gt; http://www.cpantesters.org/cpan/report/f3ffdba6-3852-11e9-a75d-<br/>&gt; ac272b878bbe<br/>&gt; <br/>&gt; Can you confirm that it is the combination of these two configure<br/>&gt; options that generates the failures?<br/>&gt; <br/>&gt; Thank you very much.<br/><br/>Building with threads and debugging, I have (I think) narrowed this down to breakage between v5.27.3 and v5.27.4. However, &#39;Porting/bisect.pl&#39; is not DWIMming for me -- at least not when called with this pattern of arguments:<br/><br/>#####<br/>perl Porting/bisect.pl --start=v5.26.0 --end=v5.28.0 -Duseithreads -DDEBUGGING --module=indirect<br/>#####<br/><br/>The program terminates at the start commit but, even if I know that at the start tag &#39;indirect&#39; gets installed, the program reports that it exits 256 instead of 0 and the bisection program terminates.<br/><br/>Anyone have suggestions for better bisecting?<br/><br/>Thank you very much.<br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133938<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253934.html Sun, 17 Mar 2019 02:00:04 +0000 [perl #133938] indirect.pm fails assertions with threaded perl by James E Keenan via RT On Sat, 16 Mar 2019 14:51:14 GMT, shlomif@gmail.com wrote:<br/>&gt; indirect.pm-asserts-fail.md<br/>&gt; <br/>&gt; :Author: Shlomi Fish<br/>&gt; :Email: shlomif@cpan.org<br/>&gt; :Date: 2019-03-16 16:33<br/>&gt; <br/>&gt; Hi all!<br/>&gt; <br/>&gt; After building perl using:<br/>&gt; <br/>&gt; ```<br/>&gt; #!/bin/sh<br/>&gt; rm -f config.sh Policy.sh<br/>&gt; sh Configure -de -Dprefix=&quot;$HOME&quot;/apps/perl/bleadperl-debug<br/>&gt; -Doptimize=&#39;-g3&#39; \<br/>&gt; -DDEBUGGING \<br/>&gt; -Dman1dir=none -Dman3dir=none \<br/>&gt; -Duseithreads -Dusedevel<br/>&gt; ```<br/>&gt; <br/>&gt; on bleadperl:<br/>&gt; <br/>&gt; ```<br/>&gt; [shlomif@telaviv1 perl]$ git show | head -5<br/>&gt; commit 4fa9266363598bc31684f549c2c8ce8c6664d137<br/>&gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt; Date: Fri Mar 15 11:11:11 2019 -0600<br/>&gt; <br/>&gt; inline.h: Improve comment<br/>&gt; [shlomif@telaviv1 perl]$<br/>&gt; ```<br/>&gt; <br/>&gt; running all tests successfully and installing. Then I get:<br/>&gt; <br/>&gt; ```<br/>&gt; [shlomif@telaviv1 perl]$ -t perl/core<br/>&gt; [shlomif@telaviv1 perl]$<br/>&gt; /home/shlomif/apps/perl/bleadperl-debug/bin/cpan5.29.9 -i indirect<br/>&gt; Loading internal logger. Log::Log4perl recommended for better logging<br/>&gt; Reading &#39;/home/shlomif/.cpan/Metadata&#39;<br/>&gt; Database was generated on Sat, 16 Mar 2019 12:17:02 GMT<br/>&gt; Running install for module &#39;indirect&#39;<br/>&gt; CPAN: Digest::SHA loaded ok (v6.02)<br/>&gt; CPAN: Compress::Zlib loaded ok (v2.084)<br/>&gt; Checksum for<br/>&gt; /home/shlomif/.cpan/sources/authors/id/V/VP/VPIT/indirect-0.38.tar.<br/>&gt; gz ok<br/>&gt; CPAN: Archive::Tar loaded ok (v2.32)<br/>&gt; indirect-0.38/<br/>&gt; indirect-0.38/Changes<br/>&gt; indirect-0.38/indirect.xs<br/>&gt; indirect-0.38/lib/<br/>&gt; indirect-0.38/Makefile.PL<br/>&gt; indirect-0.38/MANIFEST<br/>&gt; indirect-0.38/META.json<br/>&gt; indirect-0.38/META.yml<br/>&gt; indirect-0.38/README<br/>&gt; indirect-0.38/samples/<br/>&gt; indirect-0.38/t/<br/>&gt; indirect-0.38/xsh/<br/>&gt; indirect-0.38/xsh/caps.h<br/>&gt; indirect-0.38/xsh/debug.h<br/>&gt; indirect-0.38/xsh/hints.h<br/>&gt; indirect-0.38/xsh/mem.h<br/>&gt; indirect-0.38/xsh/ops.h<br/>&gt; indirect-0.38/xsh/ptable.h<br/>&gt; indirect-0.38/xsh/threads.h<br/>&gt; indirect-0.38/xsh/util.h<br/>&gt; indirect-0.38/t/00-load.t<br/>&gt; indirect-0.38/t/09-load-threads.t<br/>&gt; indirect-0.38/t/10-args.t<br/>&gt; indirect-0.38/t/11-line.t<br/>&gt; indirect-0.38/t/12-env.t<br/>&gt; indirect-0.38/t/20-good.t<br/>&gt; indirect-0.38/t/21-bad.t<br/>&gt; indirect-0.38/t/22-bad-mixed.t<br/>&gt; indirect-0.38/t/23-bad-notaint.t<br/>&gt; indirect-0.38/t/30-scope.t<br/>&gt; indirect-0.38/t/31-hints.t<br/>&gt; indirect-0.38/t/32-global.t<br/>&gt; indirect-0.38/t/33-compilation-errors.t<br/>&gt; indirect-0.38/t/40-threads.t<br/>&gt; indirect-0.38/t/41-threads-teardown.t<br/>&gt; indirect-0.38/t/42-threads-global.t<br/>&gt; indirect-0.38/t/45-memory.t<br/>&gt; indirect-0.38/t/46-stress.t<br/>&gt; indirect-0.38/t/47-stress-use.t<br/>&gt; indirect-0.38/t/50-external.t<br/>&gt; indirect-0.38/t/51-dd-newlines.t<br/>&gt; indirect-0.38/t/lib/<br/>&gt; indirect-0.38/t/testcases/<br/>&gt; indirect-0.38/t/testcases/babycart_in_heredoc.pl<br/>&gt; indirect-0.38/t/testcases/rt115392.pl<br/>&gt; indirect-0.38/t/lib/indirect/<br/>&gt; indirect-0.38/t/lib/Test/<br/>&gt; indirect-0.38/t/lib/VPIT/<br/>&gt; indirect-0.38/t/lib/VPIT/TestHelpers.pm<br/>&gt; indirect-0.38/t/lib/Test/Leaner.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test0/<br/>&gt; indirect-0.38/t/lib/indirect/Test1/<br/>&gt; indirect-0.38/t/lib/indirect/Test2.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test3.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test4.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test5.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestCompilationError.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired1.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired2.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired3X.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired3Y.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired4/<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired5/<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired6.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequiredGlobal.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired5/a0.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired5/b0.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired5/c0.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired5/d0.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired4/a0.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired4/b0.pm<br/>&gt; indirect-0.38/t/lib/indirect/TestRequired4/c0.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test1/il1.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test1/il2.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test0/Fffff/<br/>&gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/<br/>&gt; indirect-0.38/t/lib/indirect/Test0/Oooooo/Pppppppp.pm<br/>&gt; indirect-0.38/t/lib/indirect/Test0/Fffff/Vvvvvvv.pm<br/>&gt; indirect-0.38/samples/indirect.pl<br/>&gt; indirect-0.38/lib/indirect.pm<br/>&gt; &#39;YAML&#39; not installed, will not store persistent state<br/>&gt; CPAN: CPAN::Meta::Requirements loaded ok (v2.140)<br/>&gt; CPAN: Parse::CPAN::Meta loaded ok (v2.150010)<br/>&gt; CPAN: CPAN::Meta loaded ok (v2.150010)<br/>&gt; CPAN: Module::CoreList loaded ok (v5.20190320)<br/>&gt; Configuring V/VP/VPIT/indirect-0.38.tar.gz with Makefile.PL<br/>&gt; Checking if this is gcc 3.4 on Windows trying to link against an<br/>&gt; import<br/>&gt; library.<br/>&gt; .. no<br/>&gt; Checking if your kit is complete...<br/>&gt; Looks good<br/>&gt; Generating a Unix-style Makefile<br/>&gt; Writing Makefile for indirect<br/>&gt; Writing MYMETA.yml and MYMETA.json<br/>&gt; VPIT/indirect-0.38.tar.gz<br/>&gt; /home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9 Makefile.PL<br/>&gt; -- OK<br/>&gt; Running make for V/VP/VPIT/indirect-0.38.tar.gz<br/>&gt; cp lib/indirect.pm blib/lib/indirect.pm<br/>&gt; Running Mkbootstrap for indirect ()<br/>&gt; chmod 644 &quot;indirect.bs&quot;<br/>&gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; -MExtUtils::Command::MM<br/>&gt; -e &#39;cp_nonempty&#39; -- indirect.bs blib/arch/auto/indirect/indirect.bs<br/>&gt; 644<br/>&gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; &quot;/home/shlomif/apps/per<br/>&gt; l/bleadperl-debug/lib/5.29.9/ExtUtils/xsubpp&quot; -typemap<br/>&gt; &#39;/home/shlomif/apps/perl<br/>&gt; /bleadperl-debug/lib/5.29.9/ExtUtils/typemap&#39; indirect.xs &gt;<br/>&gt; indirect.xsc<br/>&gt; mv indirect.xsc indirect.c<br/>&gt; cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-<br/>&gt; aliasing<br/>&gt; -pip<br/>&gt; e -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE<br/>&gt; -D_FILE_OFFS<br/>&gt; ET_BITS=64 -g3 -DVERSION=\&quot;0.38\&quot; -DXS_VERSION=\&quot;0.38\&quot; -fPIC<br/>&gt; &quot;-I/home/shlomif<br/>&gt; /apps/perl/bleadperl-debug/lib/5.29.9/x86_64-linux-thread-multi/CORE&quot;<br/>&gt; indirect<br/>&gt; .c<br/>&gt; rm -f blib/arch/auto/indirect/indirect.so<br/>&gt; cc -shared -g3 -L/usr/local/lib -fstack-protector-strong indirect.o<br/>&gt; -o<br/>&gt; blib/a<br/>&gt; rch/auto/indirect/indirect.so \<br/>&gt; \<br/>&gt; <br/>&gt; chmod 755 blib/arch/auto/indirect/indirect.so<br/>&gt; VPIT/indirect-0.38.tar.gz<br/>&gt; /usr/bin/make -- OK<br/>&gt; Running make test for VPIT/indirect-0.38.tar.gz<br/>&gt; &quot;/home/shlomif/apps/perl/bleadperl-debug/bin/perl5.29.9&quot;<br/>&gt; -MExtUtils::Command::MM<br/>&gt; -e &#39;cp_nonempty&#39; -- indirect.bs blib/arch/auto/indirect/indirect.bs<br/>&gt; 644<br/>&gt; PERL_DL_NONLAZY=1 &quot;/home/shlomif/apps/perl/bleadperl-<br/>&gt; debug/bin/perl5.29.9&quot;<br/>&gt; &quot;-MEx<br/>&gt; tUtils::Command::MM&quot; &quot;-MTest::Harness&quot; &quot;-e&quot; &quot;undef<br/>&gt; *Test::Harness::Switches; tes<br/>&gt; t_harness(0, &#39;blib/lib&#39;, &#39;blib/arch&#39;)&quot; t/*.t<br/>&gt; t/00-load.t ................ 1/1 # Testing indirect 0.38, Perl<br/>&gt; 5.029009,<br/>&gt; /home/s<br/>&gt; hlomif/apps/perl/bleadperl-debug/bin/perl5.29.9<br/>&gt; t/00-load.t ................ ok<br/>&gt; t/09-load-threads.t ........ # Using threads 2.22<br/>&gt; # Using threads::shared 1.6<br/>&gt; t/09-load-threads.t ........ ok<br/>&gt; t/10-args.t ................ ok<br/>&gt; t/11-line.t ................ ok<br/>&gt; t/12-env.t ................. ok<br/>&gt; t/20-good.t ................ ok<br/>&gt; t/21-bad.t ................. ok<br/>&gt; t/22-bad-mixed.t ........... ok<br/>&gt; t/23-bad-notaint.t ......... ok<br/>&gt; t/30-scope.t ............... ok<br/>&gt; t/31-hints.t ............... ok<br/>&gt; t/32-global.t .............. ok<br/>&gt; t/33-compilation-errors.t .. # Using IO::Handle 1.40<br/>&gt; # Using IO::Select 1.40<br/>&gt; # Using IPC::Open3 1.20<br/>&gt; t/33-compilation-errors.t .. ok<br/>&gt; t/40-threads.t ............. # Using threads 2.22<br/>&gt; # Using threads::shared 1.6<br/>&gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; `((void*)(oi-&gt;buf)) !<br/>&gt; = 0&#39; failed.<br/>&gt; t/40-threads.t ............. No subtests run<br/>&gt; t/41-threads-teardown.t .... # Using threads 2.22<br/>&gt; # Using threads::shared 1.6<br/>&gt; t/41-threads-teardown.t .... ok<br/>&gt; t/42-threads-global.t ...... # Using threads 2.22<br/>&gt; # Using threads::shared 1.6<br/>&gt; perl5.29.9: indirect.xs:264: indirect_map_store: Assertion<br/>&gt; `((void*)(oi-&gt;buf)) !<br/>&gt; = 0&#39; failed.<br/>&gt; t/42-threads-global.t ...... No subtests run<br/>&gt; t/45-memory.t .............. ok<br/>&gt; t/46-stress.t .............. ok<br/>&gt; t/47-stress-use.t .......... ok<br/>&gt; t/50-external.t ............ ok<br/>&gt; t/51-dd-newlines.t ......... skipped: Could not load Devel::Declare<br/>&gt; 0.006007<br/>&gt; <br/>&gt; Test Summary Report<br/>&gt; -------------------<br/>&gt; t/40-threads.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; Non-zero wait status: 134<br/>&gt; Parse errors: No plan found in TAP output<br/>&gt; t/42-threads-global.t (Wstat: 134 Tests: 0 Failed: 0)<br/>&gt; Non-zero wait status: 134<br/>&gt; Parse errors: No plan found in TAP output<br/>&gt; Files=21, Tests=4517, 15 wallclock secs ( 2.41 usr 0.12 sys + 12.29<br/>&gt; cusr<br/>&gt; 0.85<br/>&gt; csys = 15.67 CPU)<br/>&gt; Result: FAIL<br/>&gt; Failed 2/21 test programs. 0/4517 subtests failed.<br/>&gt; make: *** [Makefile:1071: test_dynamic] Error 255<br/>&gt; VPIT/indirect-0.38.tar.gz<br/>&gt; /usr/bin/make test -- NOT OK<br/>&gt; //hint// to see the cpan-testers results for installing this module,<br/>&gt; try:<br/>&gt; reports VPIT/indirect-0.38.tar.gz<br/>&gt; [shlomif@telaviv1 perl]$<br/>&gt; ```<br/>&gt; <br/>&gt; I am on mageia v7 x86-64 ( https://en.wikipedia.org/wiki/Mageia ).<br/>&gt; <br/>&gt; ```<br/>&gt; <br/><br/>My research so far indicates that it is the combination of -Duseithreads AND -DDEBUGGING that causes the failures in two tests in indirect&#39;s test suite. I.e., I do *not* get the failures when I build with threads or with debugging individually.<br/><br/>This also appears to be the case with these two failures reported by Andreas:<br/><br/>http://www.cpantesters.org/cpan/report/6df6fa7e-3840-11e9-99ca-ba6e2b878bbe<br/><br/>http://www.cpantesters.org/cpan/report/f3ffdba6-3852-11e9-a75d-ac272b878bbe<br/><br/>Can you confirm that it is the combination of these two configure options that generates the failures?<br/><br/>Thank you very much.<br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133938<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253933.html Sun, 17 Mar 2019 00:08:06 +0000 [perl #133928] POSIX::mblen() broken on threaded perls with glibc by James E Keenan via RT On Sat, 16 Mar 2019 10:19:33 GMT, ntyni@debian.org wrote:<br/>&gt; On Thu, Mar 14, 2019 at 05:07:27AM -0700, James E Keenan via RT wrote:<br/>&gt; &gt; On Wed, 13 Mar 2019 21:27:49 GMT, jkeenan wrote:<br/>&gt; <br/>&gt; &gt; &gt; Made available for smoke-testing in this branch:<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt; smoke-me/jkeenan/ntyni/133928-posix<br/>&gt; &gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; Niko, we&#39;re getting lots of smoke-test failures in this branch. See<br/>&gt; &gt; http://perl.develop-help.com/?b=smoke-me%2Fjkeenan%2Fntyni%2F133928-<br/>&gt; &gt; posix<br/>&gt; &gt;<br/>&gt; &gt; Specifically, failing on Linux when using g++. Failing on NetBSD<br/>&gt; &gt; when using either gcc or g++.<br/>&gt; <br/>&gt; Seems to be failing on pretty much all BSD variants.<br/>&gt; <br/>&gt; However, I just tried and it works fine for me on FreeBSD 12. And also<br/>&gt; on Linux with g++.<br/>&gt; <br/>&gt; The best I can think of is that all the failing ones have set LC_ALL=C<br/>&gt; or something like that, which seems a bit improbable. Nevertheless,<br/>&gt; here&#39;s an updated patch that shouldn&#39;t break in the presence of<br/>&gt; LC_ALL.<br/>&gt; <br/>&gt; Could we please see if this fares any better?<br/>&gt; <br/><br/>New branch for smoke-testing:<br/><br/>smoke-me/jkeenan/ntyni/133928-posix-2nd<br/><br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133928<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253932.html Sat, 16 Mar 2019 13:08:15 +0000 Re: [perl #133928] POSIX::mblen() broken on threaded perls withglibc by Niko Tyni On Thu, Mar 14, 2019 at 05:07:27AM -0700, James E Keenan via RT wrote:<br/>&gt; On Wed, 13 Mar 2019 21:27:49 GMT, jkeenan wrote:<br/><br/>&gt; &gt; Made available for smoke-testing in this branch:<br/>&gt; &gt; <br/>&gt; &gt; smoke-me/jkeenan/ntyni/133928-posix<br/>&gt; &gt; <br/>&gt; <br/>&gt; Niko, we&#39;re getting lots of smoke-test failures in this branch. See http://perl.develop-help.com/?b=smoke-me%2Fjkeenan%2Fntyni%2F133928-posix<br/>&gt; <br/>&gt; Specifically, failing on Linux when using g++. Failing on NetBSD when using either gcc or g++.<br/><br/>Seems to be failing on pretty much all BSD variants.<br/><br/>However, I just tried and it works fine for me on FreeBSD 12. And also<br/>on Linux with g++.<br/><br/>The best I can think of is that all the failing ones have set LC_ALL=C<br/>or something like that, which seems a bit improbable. Nevertheless,<br/>here&#39;s an updated patch that shouldn&#39;t break in the presence of LC_ALL.<br/><br/>Could we please see if this fares any better?<br/><br/>Thanks,<br/>-- <br/>Niko<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253931.html Sat, 16 Mar 2019 10:19:27 +0000 Re: [perl #133934] perlipc modernization by Tomasz Konojacki <br/><br/>On Sat, 16 Mar 2019 04:15:40 +0100<br/>Leon Timmermans &lt;fawaka@gmail.com&gt; wrote:<br/><br/>&gt; Your work is laudable, but I&#39;m genuinely not sure if fixes like these<br/>&gt; are truly the path forward.<br/>&gt; <br/>&gt; It was written more than 20 years ago and not only has the Perl<br/>&gt; ecosystem drastically changed, so have the needs of Perl programmers.<br/>&gt; There are so many things fundamentally wrong with it in 2019 that<br/>&gt; aren&#39;t fixed by cleanups like this.<br/>&gt; <br/>&gt; For starters, it probably needs to be split up into &quot;unix<br/>&gt; inter-process communication&quot; and &quot;networking&quot;. Especially the latter<br/>&gt; could really benefit from a rewrite from scratch (it currently doesn&#39;t<br/>&gt; even mention IPv6 because it predates IPv6).<br/>&gt; <br/>&gt; Leon<br/><br/>It *is* a step forward, just not a big one. Although, I agree, it should<br/>be split into two separate documents. IPC and network programming are<br/>two, almost completely different topics.<br/><br/>BTW, none of the topics discussed in perlipc are unix-specific, apart<br/>from tiny sysv shared memory section. If you have Windows 10 1803 or<br/>newer and Socket.pm &gt;= 2.029, AF_UNIX sockets are fully supported.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253930.html Sat, 16 Mar 2019 06:17:04 +0000 [perl #133934] perlipc modernization by Dan Book via RT On Fri, 15 Mar 2019 20:16:00 -0700, LeonT wrote:<br/>&gt; <br/>&gt; Your work is laudable, but I&#39;m genuinely not sure if fixes like these<br/>&gt; are truly the path forward.<br/>&gt; <br/>&gt; It was written more than 20 years ago and not only has the Perl<br/>&gt; ecosystem drastically changed, so have the needs of Perl programmers.<br/>&gt; There are so many things fundamentally wrong with it in 2019 that<br/>&gt; aren&#39;t fixed by cleanups like this.<br/>&gt; <br/>&gt; For starters, it probably needs to be split up into &quot;unix<br/>&gt; inter-process communication&quot; and &quot;networking&quot;. Especially the latter<br/>&gt; could really benefit from a rewrite from scratch (it currently doesn&#39;t<br/>&gt; even mention IPv6 because it predates IPv6).<br/>&gt; <br/><br/>It may be the case for the latter part of the document, but I&#39;m not sure I&#39;m qualified to make that level of fixes (nor to bikeshed them), and I still think these cleanups are worthwhile as a start, as this is the primary source of pipe open documentation.<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133934<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253929.html Sat, 16 Mar 2019 03:22:06 +0000 Re: [perl #133934] perlipc modernization by Leon Timmermans On Fri, Mar 15, 2019 at 3:39 AM Dan Book (via RT)<br/>&lt;perlbug-followup@perl.org&gt; wrote:<br/>&gt; Currently I am very unlikely to direct anyone to the otherwise very useful<br/>&gt; perlipc for documentation, as it almost entirely uses bareword filehandles<br/>&gt; and the two-argument form of open. Two patches will be attached.<br/>&gt;<br/>&gt; The first corrects this by replacing bareword filehandles with lexicals,<br/>&gt; and using three-arg open where possible, and slightly reorganizes the<br/>&gt; explanation of forking and Unix platforms (forking is a property of using<br/>&gt; three-arg pipe open which works fine back to 5.6, not the list form which<br/>&gt; requires 5.8). Also the explanation of lexical filehandles is removed since<br/>&gt; they are used all over perldocs now and there&#39;s nothing special about them<br/>&gt; here.<br/>&gt;<br/>&gt; The second patch is a more general cleanup of consistency, as currently the<br/>&gt; examples are very inconsistent in strict safety and variable declaration.<br/>&gt; The patch makes all the examples strict safe, the &quot;full script&quot; examples<br/>&gt; consistently use strict and warnings, removes unnecessary forward<br/>&gt; declaration of variables (this practice leads to bugs), links to the core<br/>&gt; modules IPC::Open2/3 and Socket as they&#39;re mentioned, removed -w from<br/>&gt; shebangs (replaced by use warnings, due to the problems described by<br/>&gt; warnings.pm), and includes a waitpid line at the end of the IPC::Open2<br/>&gt; example since it&#39;s required for proper usage of the module. Also one<br/>&gt; cleanup of a sentence fragment that&#39;s apparently been there since 1997! (<br/>&gt; https://perl5.git.perl.org/perl.git/commitdiff/7b05b7e32c22894360c5332cd30232bdea49f5a8<br/>&gt; )<br/>&gt;<br/>&gt; I hope that at least the first patch can be applied, if the second is not<br/>&gt; agreeable.<br/><br/>Your work is laudable, but I&#39;m genuinely not sure if fixes like these<br/>are truly the path forward.<br/><br/>It was written more than 20 years ago and not only has the Perl<br/>ecosystem drastically changed, so have the needs of Perl programmers.<br/>There are so many things fundamentally wrong with it in 2019 that<br/>aren&#39;t fixed by cleanups like this.<br/><br/>For starters, it probably needs to be split up into &quot;unix<br/>inter-process communication&quot; and &quot;networking&quot;. Especially the latter<br/>could really benefit from a rewrite from scratch (it currently doesn&#39;t<br/>even mention IPv6 because it predates IPv6).<br/><br/>Leon<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253928.html Sat, 16 Mar 2019 03:16:01 +0000 Perl 5 Commit Summary by Perl 5 commit summary Perl 5 commit summary, activity since Wednesday<br/><br/>Current branch blead<br/>34 commits. 2 unique authors. 2 unique committers.<br/>28 files changed, 718 insertions(+), 400 deletions(-)<br/><br/>Snapshot: http://perl5.git.perl.org/perl.git/snapshot/4fa9266363598bc3.tar.gz<br/><br/> inline.h: Improve comment<br/> Karl Williamson 1 file changed, 2 insertions(+), 2 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/4fa9266363598bc3<br/><br/> utf8_length() Add two UNLIKELY()s<br/> Karl Williamson 1 file changed, 2 insertions(+), 2 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/12c43b0a5b21dd9e<br/><br/> S_multiconcat() Use faster variant counting<br/> Karl Williamson 1 file changed, 2 insertions(+), 7 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/c1a88fe2e96cf992<br/><br/> toke.c: lex_stuff_pvn() Use faster UTF-8 variant count<br/> Karl Williamson 1 file changed, 3 insertions(+), 7 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/01ccd497717f655b<br/><br/> t/re/pat.t: Add test for [perl #133933]<br/> Karl Williamson 1 file changed, 25 insertions(+), 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/88b5a12c0ee9aace<br/><br/> regcomp.c: Add assertions<br/> Karl Williamson 1 file changed, 2 insertions(+)<br/> http://perl5.git.perl.org/perl.git/commit/f5f909b1e1e4c878<br/><br/> Add more checking for regnode offset overflowing<br/> Karl Williamson 4 files changed, 99 insertions(+), 25 deletions(<br/> http://perl5.git.perl.org/perl.git/commit/bf848a12528ab1e6<br/><br/> regnodes.h, perldebguts: Shorten some descriptions<br/> Karl Williamson 3 files changed, 37 insertions(+), 40 deletions(<br/> http://perl5.git.perl.org/perl.git/commit/912b808cb4fcd596<br/><br/> Any Common digit set can match in any script<br/> Karl Williamson 4 files changed, 56 insertions(+), 40 deletions(<br/> http://perl5.git.perl.org/perl.git/commit/f4e61fc03836484e<br/><br/> PATCH: [perl #133921] Segfaults in regcomp.c<br/> Karl Williamson 2 files changed, 12 insertions(+), 8 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/bfa9f5ee70ce509f<br/><br/> t/re/pat.t: Rmv stray semi-colon<br/> Karl Williamson 1 file changed, 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/a9cea67c10bc154f<br/><br/> PATCH: [perl #133871] heap-buffer-overflow in S_reginsert<br/> Karl Williamson 2 files changed, 10 insertions(+), 2 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/e0814905161f8420<br/><br/> regcomp.c: Create macro, add comments<br/> Karl Williamson 1 file changed, 22 insertions(+), 13 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/b76e1c044f939bf7<br/><br/> regcomp.c: Rmv unused variable<br/> Karl Williamson 1 file changed, 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/1c1a700b2cac2497<br/><br/> t/re/pat.t: Outdent 2 lines<br/> Karl Williamson 1 file changed, 3 insertions(+), 2 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/99956112fb8debe6<br/><br/> Allow qr&#39;\N{...}&#39;<br/> Karl Williamson 9 files changed, 197 insertions(+), 57 deletions<br/> http://perl5.git.perl.org/perl.git/commit/945961fdfa1d070c<br/><br/> regcomp.c: White-space, comments only<br/> Karl Williamson 1 file changed, 7 insertions(+), 8 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/f7a9988ec2e0db8a<br/><br/> toke.c: Allow \N{} handling fcn to be used elsewhere in core<br/> Karl Williamson 4 files changed, 35 insertions(+), 24 deletions(<br/> http://perl5.git.perl.org/perl.git/commit/25c7fb78daaad4f8<br/><br/> toke.c: Add wrapper function<br/> Karl Williamson 4 files changed, 41 insertions(+), 26 deletions(<br/> http://perl5.git.perl.org/perl.git/commit/2c43c309caa1db7b<br/><br/> toke.c: Change API of static function<br/> Karl Williamson 3 files changed, 26 insertions(+), 15 deletions(<br/> http://perl5.git.perl.org/perl.git/commit/164e423c70b80a4c<br/><br/> there is no sv_catpvfn()<br/> Tony Cook 3 files changed, 9 insertions(+), 9 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/26b0dc0c52fbcb48<br/><br/> regcomp.h: Rmv obsolete references to &#39;swash&#39;<br/> Karl Williamson 1 file changed, 14 insertions(+), 13 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/7a94a5fe7ff9b21c<br/><br/> regexec.c: We know the end ptr; don&#39;t need to recalc<br/> Karl Williamson 1 file changed, 1 insertion(+), 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/14f657d436dd5738<br/><br/> regexec.c: Add assertion<br/> Karl Williamson 1 file changed, 1 insertion(+), 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/2892a27e931e4ba5<br/><br/> regcomp.c: Add assertion<br/> Karl Williamson 1 file changed, 1 insertion(+)<br/> http://perl5.git.perl.org/perl.git/commit/1f25ceb1dbba05ad<br/><br/> regcomp.c: Rmv unnecessary branch<br/> Karl Williamson 1 file changed, 1 insertion(+), 3 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/ee2223a54bee07e3<br/><br/> perlvar: Fix broken link<br/> Karl Williamson 1 file changed, 2 insertions(+), 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/135226faaef3671e<br/><br/> perlrecharclass: Minor wording improvements<br/> Karl Williamson 1 file changed, 4 insertions(+), 3 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/67d5c462b11923ef<br/><br/> perlre: Minor wording improvements<br/> Karl Williamson 1 file changed, 4 insertions(+), 3 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/447fcf49ce69125d<br/><br/> perlre: Italicize a bunch of stuff<br/> Karl Williamson 1 file changed, 96 insertions(+), 93 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/407fecf1ecbd5b45<br/><br/> dquote.c: Use UTF8_SAFE_SKIP<br/> Karl Williamson 1 file changed, 3 insertions(+), 3 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/6dd641e14cd26750<br/><br/> Add UTF8_SAFE_SKIP API macro<br/> Karl Williamson 1 file changed, 11 insertions(+)<br/> http://perl5.git.perl.org/perl.git/commit/85fcc8f2234ce65e<br/><br/> perldiag: A deprecation is now fatal<br/> Karl Williamson 1 file changed, 4 insertions(+), 4 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/823c3b2daca34098<br/><br/> t/re/pat_advanced.t: Change some ok&#39;s to like&#39;s<br/> Karl Williamson 1 file changed, 13 insertions(+), 12 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/8f46dbea87575fb3<br/><br/>New branch smoke-me/jkeenan/ntyni/133928-posix<br/>1 commit. 1 unique author. 1 unique committer.<br/>Thanks, applied: James E Keenan (1)<br/>Snapshot: http://perl5.git.perl.org/perl.git/snapshot/9047dc36a542ea1e.tar.gz<br/><br/> Fix POSIX::mblen mbstate_t initialization on threaded perls with glibc<br/> Niko Tyni 4 files changed, 48 insertions(+), 2 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/9047dc36a542ea1e<br/><br/>New branch smoke-me/khw-length<br/>6 commits. 1 unique author. 1 unique committer.<br/><br/>Snapshot: http://perl5.git.perl.org/perl.git/snapshot/f282003c7db040e7.tar.gz<br/><br/> smoke<br/> Karl Williamson 5 files changed, 122 insertions(+), 20 deletions<br/> http://perl5.git.perl.org/perl.git/commit/f282003c7db040e7<br/><br/> maybe drop: avoid ifs<br/> Karl Williamson 4 files changed, 6 insertions(+), 14 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/e1668afc38410cff<br/><br/> Debug for EBCDIC<br/> Karl Williamson 1 file changed, 13 insertions(+), 2 deletions(-)<br/> http://perl5.git.perl.org/perl.git/commit/1a1b3cde06a6e1d2<br/><br/> [perl #133886]<br/> Karl Williamson 1 file changed, 1 insertion(+), 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/09f397fda4d20c07<br/><br/> XXX don&#39;t push, khw customization for bench.pl<br/> Karl Williamson 1 file changed, 49 insertions(+), 1 deletion(-)<br/> http://perl5.git.perl.org/perl.git/commit/bdb7b42caa233d86<br/><br/> apitest<br/> Karl Williamson 3 files changed, 69 insertions(+), 5 deletions(-<br/> http://perl5.git.perl.org/perl.git/commit/8fc40c12fa1cbc13<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253927.html Sat, 16 Mar 2019 03:08:22 +0000 [perl #133937] Assertion failure in Perl_grok_bslash_x(dquote.c:226) by Sergey Aleynikov # New Ticket Created by Sergey Aleynikov <br/># Please include the string: [perl #133937]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=133937 &gt;<br/><br/><br/>This is a bug report for perl from sergey.aleynikov@gmail.com,<br/>generated with the help of perlbug 1.41 running under perl 5.29.9.<br/><br/><br/>-----------------------------------------------------------------<br/>[Please describe your issue here]<br/><br/>While fuzzing perl v5.29.8-110-gf5f909b1e1 built with afl and run<br/>under libdislocator, I found the following<br/><br/>m$\x{100}(?[\x$<br/><br/>to cause an assertion failure<br/><br/>perl: dquote.c:226: _Bool Perl_grok_bslash_x(char **, const char<br/>*const, UV *, const char **, const _Bool, const _Bool, const _Bool,<br/>const _Bool): Assertion `(send) &gt; (*s)&#39; failed.<br/><br/>This is a regression in blead, bisect points to:<br/><br/>commit 6dd641e14cd2675068749eeea8c8aabee158595e<br/>Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>Date: Wed Mar 13 11:42:15 2019 -0600<br/><br/> dquote.c: Use UTF8_SAFE_SKIP<br/><br/> Otherwise malformed input could cause this to return a pointer outside<br/> its buffer<br/><br/>[Please do not change anything below this line]<br/>-----------------------------------------------------------------<br/>---<br/>Flags:<br/> category=core<br/> severity=medium<br/>---<br/>Site configuration information for perl 5.29.9:<br/><br/>Configured by dur-randir at Wed Feb 27 14:51:01 MSK 2019.<br/><br/>Summary of my perl5 (revision 5 version 29 subversion 9) configuration:<br/> Commit id: c1e47bad34ce1d9c84ed57c9b8978bcbd5a02e98<br/> Platform:<br/> osname=darwin<br/> osvers=13.4.0<br/> archname=darwin-thread-multi-2level<br/> uname=&#39;darwin isengard.local 13.4.0 darwin kernel version 13.4.0:<br/>mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64<br/>x86_64 &#39;<br/> config_args=&#39;-de -Dusedevel -DDEBUGGING -Dusethreads&#39;<br/> hint=recommended<br/> useposix=true<br/> d_sigaction=define<br/> useithreads=define<br/> usemultiplicity=define<br/> use64bitint=define<br/> use64bitall=define<br/> uselongdouble=undef<br/> usemymalloc=n<br/> default_inc_excludes_dot=define<br/> bincompat5005=undef<br/> Compiler:<br/> cc=&#39;cc&#39;<br/> ccflags =&#39;-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9<br/>-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector<br/>-I/usr/local/include -DPERL_USE_SAFE_PUTENV&#39;<br/> optimize=&#39;-O3 -g&#39;<br/> cppflags=&#39;-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9<br/>-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector<br/>-I/usr/local/include&#39;<br/> ccversion=&#39;&#39;<br/> gccversion=&#39;4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)&#39;<br/> gccosandvers=&#39;&#39;<br/> intsize=4<br/> longsize=8<br/> ptrsize=8<br/> doublesize=8<br/> byteorder=12345678<br/> doublekind=3<br/> d_longlong=define<br/> longlongsize=8<br/> d_longdbl=define<br/> longdblsize=16<br/> longdblkind=3<br/> ivtype=&#39;long&#39;<br/> ivsize=8<br/> nvtype=&#39;double&#39;<br/> nvsize=8<br/> Off_t=&#39;off_t&#39;<br/> lseeksize=8<br/> alignbytes=8<br/> prototype=define<br/> Linker and Libraries:<br/> ld=&#39;cc&#39;<br/> ldflags =&#39; -mmacosx-version-min=10.9 -fstack-protector -L/usr/local/lib&#39;<br/> libpth=/usr/local/lib<br/>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib<br/>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib<br/>/usr/lib<br/> libs=-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc<br/> perllibs=-lpthread -ldl -lm -lutil -lc<br/> libc=<br/> so=dylib<br/> useshrplib=false<br/> libperl=libperl.a<br/> gnulibc_version=&#39;&#39;<br/> Dynamic Linking:<br/> dlsrc=dl_dlopen.xs<br/> dlext=bundle<br/> d_dlsymun=undef<br/> ccdlflags=&#39; &#39;<br/> cccdlflags=&#39; &#39;<br/> lddlflags=&#39; -mmacosx-version-min=10.9 -bundle -undefined<br/>dynamic_lookup -L/usr/local/lib -fstack-protector&#39;<br/><br/><br/>---<br/>@INC for perl 5.29.9:<br/> lib<br/> /usr/local/lib/perl5/site_perl/5.29.9/darwin-thread-multi-2level<br/> /usr/local/lib/perl5/site_perl/5.29.9<br/> /usr/local/lib/perl5/5.29.9/darwin-thread-multi-2level<br/> /usr/local/lib/perl5/5.29.9<br/><br/>---<br/>Environment for perl 5.29.9:<br/> DYLD_LIBRARY_PATH (unset)<br/> HOME=/Users/dur-randir<br/> LANG=en_US.UTF-8<br/> LANGUAGE (unset)<br/> LD_LIBRARY_PATH (unset)<br/> LOGDIR (unset)<br/> PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin<br/> PERLBREW_HOME=/Users/dur-randir/.perlbrew<br/> PERLBREW_MANPATH=/Users/dur-randir/perlbrew/perls/perl-5.22.1/man<br/> PERLBREW_PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin<br/> PERLBREW_PERL=perl-5.22.1<br/> PERLBREW_ROOT=/Users/dur-randir/perlbrew<br/> PERLBREW_SHELLRC_VERSION=0.84<br/> PERLBREW_VERSION=0.84<br/> PERL_BADLANG (unset)<br/> SHELL=/usr/local/bin/zsh<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253926.html Fri, 15 Mar 2019 21:11:45 +0000 [perl #133934] perlipc modernization by Dan Book via RT On Fri, 15 Mar 2019 06:34:49 -0700, me@xenu.pl wrote:<br/>&gt; IMO we should remove all uses of English.pm variables from perlipc, it<br/>&gt; makes the examples more confusing.<br/><br/>Attached third patch to remove English.pm usage.<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133934<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253925.html Fri, 15 Mar 2019 19:01:11 +0000 Re: [perl #133934] perlipc modernization by Tomasz Konojacki On Fri, 15 Mar 2019, at 03:39, Dan Book (via RT) wrote:<br/>&gt; # New Ticket Created by Dan Book <br/>&gt; # Please include the string: [perl #133934]<br/>&gt; # in the subject line of all future correspondence about this issue. <br/>&gt; # &lt;URL: https://rt.perl.org/Ticket/Display.html?id=133934 &gt;<br/>&gt; <br/>&gt; <br/>&gt; Currently I am very unlikely to direct anyone to the otherwise very useful<br/>&gt; perlipc for documentation, as it almost entirely uses bareword filehandles<br/>&gt; and the two-argument form of open. Two patches will be attached.<br/>&gt; <br/>&gt; The first corrects this by replacing bareword filehandles with lexicals,<br/>&gt; and using three-arg open where possible, and slightly reorganizes the<br/>&gt; explanation of forking and Unix platforms (forking is a property of using<br/>&gt; three-arg pipe open which works fine back to 5.6, not the list form which<br/>&gt; requires 5.8). Also the explanation of lexical filehandles is removed since<br/>&gt; they are used all over perldocs now and there&#39;s nothing special about them<br/>&gt; here.<br/>&gt; <br/>&gt; The second patch is a more general cleanup of consistency, as currently <br/>&gt; the<br/>&gt; examples are very inconsistent in strict safety and variable <br/>&gt; declaration.<br/>&gt; The patch makes all the examples strict safe, the &quot;full script&quot; examples<br/>&gt; consistently use strict and warnings, removes unnecessary forward<br/>&gt; declaration of variables (this practice leads to bugs), links to the <br/>&gt; core<br/>&gt; modules IPC::Open2/3 and Socket as they&#39;re mentioned, removed -w from<br/>&gt; shebangs (replaced by use warnings, due to the problems described by<br/>&gt; warnings.pm), and includes a waitpid line at the end of the IPC::Open2<br/>&gt; example since it&#39;s required for proper usage of the module. Also one<br/>&gt; cleanup of a sentence fragment that&#39;s apparently been there since 1997! <br/>&gt; (<br/>&gt; https://perl5.git.perl.org/perl.git/commitdiff/7b05b7e32c22894360c5332cd30232bdea49f5a8<br/>&gt; )<br/>&gt; <br/>&gt; I hope that at least the first patch can be applied, if the second is not<br/>&gt; agreeable.<br/>&gt; <br/>&gt; -Dan<br/>&gt; <br/>&gt; (Perl)<br/><br/>IMO we should remove all uses of English.pm variables from perlipc, it makes the examples more confusing.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253924.html Fri, 15 Mar 2019 13:34:43 +0000 Re: [perl #133934] perlipc modernization by Shlomi Fish On Thu, 14 Mar 2019 19:41:56 -0700 <br/>&quot;Dan Book via RT&quot; &lt;perlbug-followup@perl.org&gt; wrote: <br/> <br/>&gt; Patches attached. <br/>&gt; <br/>&gt; --- <br/>&gt; via perlbug: queue: perl5 status: new <br/>&gt; https://rt.perl.org/Ticket/Display.html?id=133934 <br/> <br/>Thanks for your efforts. I appreciate them. <br/> <br/>-- <br/>----------------------------------------------------------------- <br/>Shlomi Fish http://www.shlomifish.org/ <br/>Buffy Factoids - http://www.shlomifish.org/humour/bits/facts/Buffy/ <br/> <br/>How can you make a programming language that will be good for everything if you <br/>cannot even make such a screwdriver? <br/> &mdash; An Israeli Open Source Software Enthusiast. <br/> <br/>Please reply to list if it&#39;s a mailing list post - http://shlom.in/reply . <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253923.html Fri, 15 Mar 2019 10:22:04 +0000 [perl #133934] perlipc modernization by Dan Book via RT Patches attached.<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133934<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253922.html Fri, 15 Mar 2019 02:42:09 +0000 [perl #133934] perlipc modernization by Dan Book # New Ticket Created by Dan Book <br/># Please include the string: [perl #133934]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=133934 &gt;<br/><br/><br/>Currently I am very unlikely to direct anyone to the otherwise very useful<br/>perlipc for documentation, as it almost entirely uses bareword filehandles<br/>and the two-argument form of open. Two patches will be attached.<br/><br/>The first corrects this by replacing bareword filehandles with lexicals,<br/>and using three-arg open where possible, and slightly reorganizes the<br/>explanation of forking and Unix platforms (forking is a property of using<br/>three-arg pipe open which works fine back to 5.6, not the list form which<br/>requires 5.8). Also the explanation of lexical filehandles is removed since<br/>they are used all over perldocs now and there&#39;s nothing special about them<br/>here.<br/><br/>The second patch is a more general cleanup of consistency, as currently the<br/>examples are very inconsistent in strict safety and variable declaration.<br/>The patch makes all the examples strict safe, the &quot;full script&quot; examples<br/>consistently use strict and warnings, removes unnecessary forward<br/>declaration of variables (this practice leads to bugs), links to the core<br/>modules IPC::Open2/3 and Socket as they&#39;re mentioned, removed -w from<br/>shebangs (replaced by use warnings, due to the problems described by<br/>warnings.pm), and includes a waitpid line at the end of the IPC::Open2<br/>example since it&#39;s required for proper usage of the module. Also one<br/>cleanup of a sentence fragment that&#39;s apparently been there since 1997! (<br/>https://perl5.git.perl.org/perl.git/commitdiff/7b05b7e32c22894360c5332cd30232bdea49f5a8<br/>)<br/><br/>I hope that at least the first patch can be applied, if the second is not<br/>agreeable.<br/><br/>-Dan<br/><br/>(Perl)<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253921.html Fri, 15 Mar 2019 02:39:27 +0000 [perl #133933] heap-use-after-free in S_reg (regcomp.c:12154) by Karl Williamson via RT It turns out that this was fixed by bf848a12528ab1e63a2f20da532eda498adbdca6<br/>I&#39;ve pushed 88b5a12c0ee9aace59f68cc1bde92925ae4c9512 which adds the test for this ticket<br/>-- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133933<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253920.html Thu, 14 Mar 2019 23:41:10 +0000 Re: [perl #133921] Coredump in S_make_trie (regcomp.c:2759) by Karl Williamson On 3/14/19 3:17 PM, Sergey Aleynikov via RT wrote:<br/>&gt; Here&#39;s the original that was minimized to 0120_1 in this ticket and 0160 in #133933, but which itself fails with different assertion - regexec.c:7812: ssize_t S_regmatch(regmatch_info *, char *, regnode *): Assertion `cur_curlyx&#39; failed.<br/>&gt; <br/>&gt; Unfortunately, I don&#39;t have time to minimize it to exactly cur_curlyx failure, but maybe it&#39;ll go away when you fix others.<br/>&gt; <br/>&gt; ---<br/>&gt; via perlbug: queue: perl5 status: resolved<br/>&gt; https://rt.perl.org/Ticket/Display.html?id=133921<br/>&gt; <br/><br/>Both of your recent files now work (and have been added to pat.t) by <br/>this commit:<br/><br/>commit bf848a12528ab1e63a2f20da532eda498adbdca6<br/> Author: Karl Williamson &lt;khw@cpan.org&gt;<br/> Date: Thu Mar 14 16:46:50 2019 -0600<br/><br/> Add more checking for regnode offset overflowing<br/><br/> This is part of the ongoing failures in [perl #133921].<br/><br/> The bottom line cause is that there are generally 16 bits <br/>available for<br/> the address of the next regnode. On very large patterns, this may not<br/> be enough. When that happens, a long jump is used instead.<br/><br/> What previous commits have done is to insert tests in a loop to detect<br/> that overflow isn&#39;t going to occur. But it turns out that there are<br/> other places where such overflow could occur. The real solution <br/>should<br/> be to detect overflow in the base level routine that would <br/>otherwise get<br/> things wrong. This entails making that routine be able to return<br/> failure. It turns out that another function is used under <br/>DEBUGGING, so<br/> that one must be changed as well. And the calls where it is possible<br/> for this to overflow are changed to look for failure return and <br/>proceed<br/> appropriately, which is to set a flag that we need to use long jumps,<br/> and restart the parse.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253919.html Thu, 14 Mar 2019 23:13:10 +0000 [perl #133921] Coredump in S_make_trie (regcomp.c:2759) by Sergey Aleynikov via RT Here&#39;s the original that was minimized to 0120_1 in this ticket and 0160 in #133933, but which itself fails with different assertion - regexec.c:7812: ssize_t S_regmatch(regmatch_info *, char *, regnode *): Assertion `cur_curlyx&#39; failed.<br/><br/>Unfortunately, I don&#39;t have time to minimize it to exactly cur_curlyx failure, but maybe it&#39;ll go away when you fix others.<br/><br/>---<br/>via perlbug: queue: perl5 status: resolved<br/>https://rt.perl.org/Ticket/Display.html?id=133921<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253918.html Thu, 14 Mar 2019 21:17:40 +0000 [perl #133933] heap-use-after-free in S_reg (regcomp.c:12154) by Sergey Aleynikov # New Ticket Created by Sergey Aleynikov <br/># Please include the string: [perl #133933]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=133933 &gt;<br/><br/><br/>This is a bug report for perl from sergey.aleynikov@gmail.com,<br/>generated with the help of perlbug 1.41 running under perl 5.29.9.<br/><br/><br/>-----------------------------------------------------------------<br/>[Please describe your issue here]<br/><br/>While fuzzing perl v5.29.8-106-gbfa9f5ee70 built with afl and run<br/>under libdislocator, I found the program attached to this message<br/>to cause a heap-buffer-overflow read. This is a regression in blead,<br/>so not a security issue, bisect points to:<br/><br/>7c932d07cab18751bfc7515b4320436273a459e2 is the first bad commit<br/>commit 7c932d07cab18751bfc7515b4320436273a459e2<br/>Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>Date: Fri Oct 19 09:48:34 2018 -0600<br/><br/> Remove sizing pass from regular expression compiler<br/><br/> This commit removes the sizing pass for regular expression compilation.<br/> It attempts to be the minimum required to do this. Future patches are<br/> in the works that improve it,, and there is certainly lots more that<br/> could be done.<br/><br/>ASAN trace is following:<br/><br/>==1208==ERROR: AddressSanitizer: heap-use-after-free on address<br/>0x7fe0847db9a9 at pc 0x000000770e74 bp 0x7ffdb5003b30 sp<br/>0x7ffdb5003b28<br/>READ of size 1 at 0x7fe0847db9a9 thread T0<br/> #0 0x770e73 in S_reg /home/afl/afl-asan/regcomp.c:12154:28<br/> #1 0x73b5dd in Perl_re_op_compile /home/afl/afl-asan/regcomp.c:7678:9<br/> #2 0x53fb86 in Perl_pmruntime /home/afl/afl-asan/op.c:7131:6<br/> #3 0x70bedc in Perl_yyparse /home/afl/afl-asan/perly.y:1228:23<br/> #4 0x5ebe5a in S_parse_body /home/afl/afl-asan/perl.c:2507:9<br/> #5 0x5e2213 in perl_parse /home/afl/afl-asan/perl.c:1798:2<br/> #6 0x50b5fe in main /home/afl/afl-asan/perlmain.c:126:10<br/> #7 0x7fe0933bd09a in __libc_start_main<br/>(/lib/x86_64-linux-gnu/libc.so.6+0x2409a)<br/> #8 0x43bde9 in _start (/home/afl/afl-asan/perl+0x43bde9)<br/><br/>0x7fe0847db9a9 is located 4521 bytes inside of 524324-byte region<br/>[0x7fe0847da800,0x7fe08485a824)<br/>freed by thread T0 here:<br/> #0 0x4da790 in realloc (/home/afl/afl-asan/perl+0x4da790)<br/> #1 0x8996a9 in Perl_safesysrealloc /home/afl/afl-asan/util.c:271:18<br/> #2 0x81df76 in S_change_engine_size /home/afl/afl-asan/regcomp.c:19416:5<br/> #3 0x81d167 in S_regnode_guts /home/afl/afl-asan/regcomp.c:19439:5<br/> #4 0x75ad5c in S_reg_node /home/afl/afl-asan/regcomp.c:19469:32<br/> #5 0x75ad5c in S_reg /home/afl/afl-asan/regcomp.c:12120<br/> #6 0x73b5dd in Perl_re_op_compile /home/afl/afl-asan/regcomp.c:7678:9<br/> #7 0x53fb86 in Perl_pmruntime /home/afl/afl-asan/op.c:7131:6<br/> #8 0x70bedc in Perl_yyparse /home/afl/afl-asan/perly.y:1228:23<br/> #9 0x5ebe5a in S_parse_body /home/afl/afl-asan/perl.c:2507:9<br/> #10 0x5e2213 in perl_parse /home/afl/afl-asan/perl.c:1798:2<br/> #11 0x50b5fe in main /home/afl/afl-asan/perlmain.c:126:10<br/> #12 0x7fe0933bd09a in __libc_start_main<br/>(/lib/x86_64-linux-gnu/libc.so.6+0x2409a)<br/><br/>previously allocated by thread T0 here:<br/> #0 0x4da790 in realloc (/home/afl/afl-asan/perl+0x4da790)<br/> #1 0x8996a9 in Perl_safesysrealloc /home/afl/afl-asan/util.c:271:18<br/> #2 0x81df76 in S_change_engine_size /home/afl/afl-asan/regcomp.c:19416:5<br/> #3 0x82942d in S_regatom /home/afl/afl-asan/regcomp.c:14582:13<br/> #4 0x800619 in S_regpiece /home/afl/afl-asan/regcomp.c:12385:11<br/> #5 0x800619 in S_regbranch /home/afl/afl-asan/regcomp.c:12303<br/> #6 0x759cb1 in S_reg /home/afl/afl-asan/regcomp.c:12068:14<br/> #7 0x73b5dd in Perl_re_op_compile /home/afl/afl-asan/regcomp.c:7678:9<br/> #8 0x53fb86 in Perl_pmruntime /home/afl/afl-asan/op.c:7131:6<br/> #9 0x70bedc in Perl_yyparse /home/afl/afl-asan/perly.y:1228:23<br/> #10 0x5ebe5a in S_parse_body /home/afl/afl-asan/perl.c:2507:9<br/> #11 0x5e2213 in perl_parse /home/afl/afl-asan/perl.c:1798:2<br/> #12 0x50b5fe in main /home/afl/afl-asan/perlmain.c:126:10<br/> #13 0x7fe0933bd09a in __libc_start_main<br/>(/lib/x86_64-linux-gnu/libc.so.6+0x2409a)<br/><br/>[Please do not change anything below this line]<br/>-----------------------------------------------------------------<br/>---<br/>Flags:<br/> category=core<br/> severity=medium<br/>---<br/>Site configuration information for perl 5.29.9:<br/><br/>Configured by dur-randir at Wed Feb 27 14:51:01 MSK 2019.<br/><br/>Summary of my perl5 (revision 5 version 29 subversion 9) configuration:<br/> Commit id: c1e47bad34ce1d9c84ed57c9b8978bcbd5a02e98<br/> Platform:<br/> osname=darwin<br/> osvers=13.4.0<br/> archname=darwin-thread-multi-2level<br/> uname=&#39;darwin isengard.local 13.4.0 darwin kernel version 13.4.0:<br/>mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64<br/>x86_64 &#39;<br/> config_args=&#39;-de -Dusedevel -DDEBUGGING -Dusethreads&#39;<br/> hint=recommended<br/> useposix=true<br/> d_sigaction=define<br/> useithreads=define<br/> usemultiplicity=define<br/> use64bitint=define<br/> use64bitall=define<br/> uselongdouble=undef<br/> usemymalloc=n<br/> default_inc_excludes_dot=define<br/> bincompat5005=undef<br/> Compiler:<br/> cc=&#39;cc&#39;<br/> ccflags =&#39;-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9<br/>-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector<br/>-I/usr/local/include -DPERL_USE_SAFE_PUTENV&#39;<br/> optimize=&#39;-O3 -g&#39;<br/> cppflags=&#39;-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9<br/>-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector<br/>-I/usr/local/include&#39;<br/> ccversion=&#39;&#39;<br/> gccversion=&#39;4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)&#39;<br/> gccosandvers=&#39;&#39;<br/> intsize=4<br/> longsize=8<br/> ptrsize=8<br/> doublesize=8<br/> byteorder=12345678<br/> doublekind=3<br/> d_longlong=define<br/> longlongsize=8<br/> d_longdbl=define<br/> longdblsize=16<br/> longdblkind=3<br/> ivtype=&#39;long&#39;<br/> ivsize=8<br/> nvtype=&#39;double&#39;<br/> nvsize=8<br/> Off_t=&#39;off_t&#39;<br/> lseeksize=8<br/> alignbytes=8<br/> prototype=define<br/> Linker and Libraries:<br/> ld=&#39;cc&#39;<br/> ldflags =&#39; -mmacosx-version-min=10.9 -fstack-protector -L/usr/local/lib&#39;<br/> libpth=/usr/local/lib<br/>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib<br/>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib<br/>/usr/lib<br/> libs=-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc<br/> perllibs=-lpthread -ldl -lm -lutil -lc<br/> libc=<br/> so=dylib<br/> useshrplib=false<br/> libperl=libperl.a<br/> gnulibc_version=&#39;&#39;<br/> Dynamic Linking:<br/> dlsrc=dl_dlopen.xs<br/> dlext=bundle<br/> d_dlsymun=undef<br/> ccdlflags=&#39; &#39;<br/> cccdlflags=&#39; &#39;<br/> lddlflags=&#39; -mmacosx-version-min=10.9 -bundle -undefined<br/>dynamic_lookup -L/usr/local/lib -fstack-protector&#39;<br/><br/><br/>---<br/>@INC for perl 5.29.9:<br/> lib<br/> /usr/local/lib/perl5/site_perl/5.29.9/darwin-thread-multi-2level<br/> /usr/local/lib/perl5/site_perl/5.29.9<br/> /usr/local/lib/perl5/5.29.9/darwin-thread-multi-2level<br/> /usr/local/lib/perl5/5.29.9<br/><br/>---<br/>Environment for perl 5.29.9:<br/> DYLD_LIBRARY_PATH (unset)<br/> HOME=/Users/dur-randir<br/> LANG=en_US.UTF-8<br/> LANGUAGE (unset)<br/> LD_LIBRARY_PATH (unset)<br/> LOGDIR (unset)<br/> PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin<br/> PERLBREW_HOME=/Users/dur-randir/.perlbrew<br/> PERLBREW_MANPATH=/Users/dur-randir/perlbrew/perls/perl-5.22.1/man<br/> PERLBREW_PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin<br/> PERLBREW_PERL=perl-5.22.1<br/> PERLBREW_ROOT=/Users/dur-randir/perlbrew<br/> PERLBREW_SHELLRC_VERSION=0.84<br/> PERLBREW_VERSION=0.84<br/> PERL_BADLANG (unset)<br/> SHELL=/usr/local/bin/zsh<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253917.html Thu, 14 Mar 2019 21:17:05 +0000 Re: [perl #133547] Inconsistency in Script Run by Karl Williamson On 1/9/19 11:16 AM, Steve Hay via RT wrote:<br/>&gt; On Sun, 30 Sep 2018 09:51:12 -0700, khw wrote:<br/>&gt;&gt; This is fixed by<br/>&gt;&gt;<br/>&gt;&gt; commit 393e5a4585b92e635cfc4eee34da8f86f3bfd2af<br/>&gt;&gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt;&gt; Date: Sun Sep 30 10:38:02 2018 -0600<br/>&gt;&gt; <br/>&gt; <br/>&gt; Karl, is there any chance you could prepare a patch for applying to maint-5.28? It doesn&#39;t cherry-pick cleanly and I think you&#39;re probably better placed than me to resolve the conflicts.<br/><br/>I didn&#39;t do this because of the design flaw in 5.30 this ticket showed. <br/>That has now been fixed by f4e61fc03836484ea88518e8bf04cc1b32a6a1a0 <br/>which I don&#39;t know if is suitable for back porting or not,.<br/><br/>&gt; <br/>&gt; ---<br/>&gt; via perlbug: queue: perl5 status: pending release<br/>&gt; https://rt.perl.org/Ticket/Display.html?id=133547<br/>&gt; <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253916.html Thu, 14 Mar 2019 19:28:15 +0000 [perl #133921] Coredump in S_make_trie (regcomp.c:2759) by Sergey Aleynikov via RT The attached file still fails with the following trace:<br/><br/>(gdb) bt<br/>#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br/>#1 0x00007ffff7c25535 in __GI_abort () at abort.c:79<br/>#2 0x00007ffff7c2540f in __assert_fail_base (fmt=0x7ffff7d87ee0 &quot;%s%s%s:%u: %s%sAssertion `%s&#39; failed.\n%n&quot;, assertion=0x555555a7df9c &quot;last&quot;,<br/> file=0x555555a7d850 &quot;regcomp.c&quot;, line=4455, function=&lt;optimized out&gt;) at assert.c:92<br/>#3 0x00007ffff7c330f2 in __GI___assert_fail (assertion=0x555555a7df9c &quot;last&quot;, file=0x555555a7d850 &quot;regcomp.c&quot;, line=4455,<br/> function=0x555555a9ce38 &lt;__PRETTY_FUNCTION__.21795&gt; &quot;S_study_chunk&quot;) at assert.c:101<br/>#4 0x000055555568eea2 in S_study_chunk (pRExC_state=0x7fffffffd6a0, scanp=0x7fffffffcf08, minlenp=0x7fffffffd430, deltap=0x7fffffffcf28, last=0x0,<br/> data=0x7fffffffd290, stopparen=-1, recursed_depth=0, and_withp=0x0, flags=10240, depth=1) at regcomp.c:4455<br/>#5 0x000055555568f7a0 in S_study_chunk (pRExC_state=0x7fffffffd6a0, scanp=0x7fffffffd428, minlenp=0x7fffffffd430, deltap=0x7fffffffd450,<br/> last=0x555555d16f18, data=0x7fffffffd9f0, stopparen=-1, recursed_depth=0, and_withp=0x0, flags=10240, depth=0) at regcomp.c:4635<br/>#6 0x000055555569fdcc in Perl_re_op_compile (patternp=0x0, pat_count=2, expr=0x555555b7bf20, eng=0x555555b43d20 &lt;PL_core_reg_engine&gt;, old_re=0x0,<br/> is_bare_re=0x0, orig_rx_flags=4, pm_flags=4) at regcomp.c:8148<br/>#7 0x00005555555ba0be in Perl_pmruntime (o=0x555555b7b818, expr=0x555555b7bf20, repl=0x555555b7b758, flags=1, floor=0) at op.c:7131<br/>#8 0x00005555556705e4 in Perl_yyparse (gramtype=258) at perly.y:1228<br/>#9 0x00005555555ec359 in S_parse_body (env=0x0, xsinit=0x5555555a11f8 &lt;xs_init&gt;) at perl.c:2507<br/>#10 0x00005555555ea62b in perl_parse (my_perl=0x555555b4e260, xsinit=0x5555555a11f8 &lt;xs_init&gt;, argc=2, argv=0x7fffffffe1e8, env=0x0) at perl.c:1798<br/>#11 0x00005555555a113b in main (argc=2, argv=0x7fffffffe1e8, env=0x7fffffffe200) at perlmain.c:126<br/><br/>---<br/>via perlbug: queue: perl5 status: resolved<br/>https://rt.perl.org/Ticket/Display.html?id=133921<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253915.html Thu, 14 Mar 2019 19:13:52 +0000 [perl #133547] Inconsistency in Script Run by Karl Williamson via RT I have now applied:<br/> commit f4e61fc03836484ea88518e8bf04cc1b32a6a1a0<br/> Author: Karl Williamson &lt;khw@cpan.org&gt;<br/> Date: Thu Mar 14 11:48:11 2019 -0600<br/> <br/> Any Common digit set can match in any script<br/> <br/> This fixes a design flaw in script runs that in 5.30 effectively<br/> prevented digits from the Common script except the ASCII [0-9] from<br/> being in any meaningful script run.<br/>-- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: pending release<br/>https://rt.perl.org/Ticket/Display.html?id=133547<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253914.html Thu, 14 Mar 2019 18:28:58 +0000 [perl #133928] POSIX::mblen() broken on threaded perls with glibc by James E Keenan via RT On Wed, 13 Mar 2019 21:27:49 GMT, jkeenan wrote:<br/>&gt; On Wed, 13 Mar 2019 20:49:30 GMT, ntyni@debian.org wrote:<br/>&gt; &gt; This is a bug report for perl from ntyni@debian.org,<br/>&gt; &gt; generated with the help of perlbug 1.41 running under perl 5.29.9.<br/><br/>[snip]<br/><br/><br/>&gt; &gt; <br/>&gt; <br/>&gt; Made available for smoke-testing in this branch:<br/>&gt; <br/>&gt; smoke-me/jkeenan/ntyni/133928-posix<br/>&gt; <br/><br/>Niko, we&#39;re getting lots of smoke-test failures in this branch. See http://perl.develop-help.com/?b=smoke-me%2Fjkeenan%2Fntyni%2F133928-posix<br/><br/>Specifically, failing on Linux when using g++. Failing on NetBSD when using either gcc or g++.<br/><br/>Can you investigate?<br/><br/>Thank you very much.<br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133928<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253913.html Thu, 14 Mar 2019 12:07:32 +0000 [perl #133771] ext/File-Find/t/*.t: Continued intermittent failuresduring parallel testing by James E Keenan via RT On Tue, 12 Mar 2019 16:19:57 GMT, jkeenan wrote:<br/>[snip]<br/>&gt; <br/>&gt; See http://perl5.test-smoke.org/report/81935<br/><br/>Also: http://perl5.test-smoke.org/report/82348<br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=133771<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253912.html Thu, 14 Mar 2019 11:55:18 +0000 Re: [perl #133928] POSIX::mblen() broken on threaded perls withglibc by Tomasz Konojacki On Wed, 13 Mar 2019 13:49:31 -0700<br/>&quot;Niko Tyni \(via RT\)&quot; &lt;perlbug-followup@perl.org&gt; wrote:<br/><br/>&gt; As reported in https://bugs.launchpad.net/bugs/1818953 POSIX::mblen()<br/>&gt; is broken on threaded perls with glibc.<br/>&gt; <br/>&gt; % perl -MPOSIX=mblen -e &#39;mblen(&quot;a&quot;, 1)&#39;<br/>&gt; perl: mbrtowc.c:105: __mbrtowc: Assertion `__mbsinit (data.__statep)&#39; failed.<br/>&gt; zsh: abort (core dumped) perl -MPOSIX=mblen -e &#39;mblen(&quot;a&quot;, 1)&#39;<br/>&gt; <br/>&gt; This broke in v5.27.8-134-g6c9ff7e96e which made the function<br/>&gt; use mbrlen(3) under the hood on threaded perls.<br/>&gt; <br/>&gt; The problem is initialization of the shift state with<br/>&gt; <br/>&gt; mbrlen(NULL, 0, &amp;ps));<br/>&gt; <br/>&gt; The glibc documentation for mbrlen(3) at<br/>&gt; <br/>&gt; https://www.gnu.org/software/libc/manual/html_node/Converting-a-Character.html#Converting-a-Character<br/>&gt; <br/>&gt; does not mention initialization by passing in a null pointer for the<br/>&gt; string, only a pointer to a NUL wide character.<br/>&gt; <br/>&gt; If the next multibyte character corresponds to the NUL wide character,<br/>&gt; the return value is 0. If the next n bytes form a valid multibyte<br/>&gt; character, the number of bytes belonging to this multibyte character<br/>&gt; byte sequence is returned.<br/>&gt; <br/>&gt; The attached proposed patch uses memset(3) instead for mbstate_t initialization,<br/>&gt; as suggested in<br/>&gt; <br/>&gt; https://www.gnu.org/software/libc/manual/html_node/Keeping-the-state.html<br/>&gt; <br/>&gt; with the hope that this is more portable.<br/>&gt; <br/>&gt; The patch also adds a few basic test cases. These are in a new file because<br/>&gt; they need fresh_perl_is() from test.pl while the existing ones use<br/>&gt; Test::More (and conversion of at least posix.t looks way too involved.)<br/>&gt; <br/><br/>BTW, it seems that we are *not* resetting the shift state when mblen()<br/>is being used. It means that if you&#39;re using some exotic east-asian locale<br/>with encoding like ISO-2022-JP, the user-visible behaviour of<br/>POSIX::mblen() changes depending whether it was implemented using mblen()<br/>or mbrlen().<br/><br/>ISO-2022-* encodings have special escape sequences which change the<br/>meaning of following characters. For example, in ISO-2022-JP &quot;\e(B&quot;<br/>means &quot;interpret the following bytes as ASCII&quot;, while &quot;\e\$@&quot; changes<br/>the encoding to JIS X 0208-1978. <br/><br/>The state changes caused by those escape sequences are global and<br/>preserved between mblen() calls. The state can be reset using mblen(NULL,<br/>0). That stupid misfeature of ISO-2022-* encodings is the sole reason<br/>why mb(r)len API is so insane.<br/><br/>It&#39;s mostly a theoretical problem and it&#39;s practically untestable,<br/>because, while ISO-2022-* encodings are pretty widespread, they were<br/>(almost?) never used for system locales. <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253911.html Thu, 14 Mar 2019 09:39:09 +0000 [perl #133921] Coredump in S_make_trie (regcomp.c:2759) by Karl Williamson via RT Fixed by<br/>commit bfa9f5ee70ce509f0e66dcff9e9fda131ea8a133<br/> Author: Karl Williamson &lt;khw@cpan.org&gt;<br/> Date: Wed Mar 13 21:25:05 2019 -0600<br/> <br/> PATCH: [perl #133921] Segfaults in regcomp.c<br/> <br/> If a regular expression pattern gets too long so that the branch<br/> instructions need more bits than are available, it is supposed to<br/> reparse and use long jumps instead of the normal ones that don&#39;t take up<br/> extra room. The blamed commit caused the test for this to be done too<br/> late. This just moves the test to do it in time; lexically later in the<br/> file, but just after the variable takes on the too-large value and<br/> before it gets used in the next loop iteration.<br/><br/>-- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133921<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253910.html Thu, 14 Mar 2019 03:32:33 +0000 [perl #133871] heap-buffer-overflow in S_reginsert by Karl Williamson via RT Fixed by<br/> commit e0814905161f8420d3be47dd3883b1f3c9590a82<br/> Author: Karl Williamson &lt;khw@cpan.org&gt;<br/> Date: Wed Mar 13 19:11:46 2019 -0600<br/> <br/> PATCH: [perl #133871] heap-buffer-overflow in S_reginsert<br/> <br/> The regex compiler was written assuming it knew how many parentheses<br/> pairs there were at code generation time. When I converted to a single<br/> pass in 7c932d07cab18751bfc7515b4320436273a459e2, most things were<br/> straight forward to not have to know this number, but there were a few<br/> where it was non-trivial (for me anyway) to figure out how to handle.<br/> So I punted on these and do a second pass when these are encountered.<br/> There are few of them and are less commonly used, namely (?R), (?|...)<br/> and forward references to groups (which most commonly will end up being<br/> a syntax error anyway).<br/> <br/> The fix in this commit is to avoid doing some parentheses relocations<br/> when a regnode is inserted when it is known that the parentheses counts<br/> are unreliable (during initial parsing of one of these tricky<br/> constructs). The code in the ticket is using a branch reset &#39;(?|...)&#39;.<br/> A second pass will get done, and the insert properly handled then, after<br/> the counts are reliable.<br/><br/>-- <br/>Karl Williamson<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133871<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253909.html Thu, 14 Mar 2019 01:32:35 +0000 [perl #133928] POSIX::mblen() broken on threaded perls with glibc by James E Keenan via RT On Wed, 13 Mar 2019 20:49:30 GMT, ntyni@debian.org wrote:<br/>&gt; This is a bug report for perl from ntyni@debian.org,<br/>&gt; generated with the help of perlbug 1.41 running under perl 5.29.9.<br/>&gt; <br/>&gt; <br/>&gt; -----------------------------------------------------------------<br/>&gt; <br/>&gt; As reported in https://bugs.launchpad.net/bugs/1818953 POSIX::mblen()<br/>&gt; is broken on threaded perls with glibc.<br/>&gt; <br/>&gt; % perl -MPOSIX=mblen -e &#39;mblen(&quot;a&quot;, 1)&#39;<br/>&gt; perl: mbrtowc.c:105: __mbrtowc: Assertion `__mbsinit (data.__statep)&#39;<br/>&gt; failed.<br/>&gt; zsh: abort (core dumped) perl -MPOSIX=mblen -e &#39;mblen(&quot;a&quot;, 1)&#39;<br/>&gt; <br/>&gt; This broke in v5.27.8-134-g6c9ff7e96e which made the function<br/>&gt; use mbrlen(3) under the hood on threaded perls.<br/>&gt; <br/>&gt; The problem is initialization of the shift state with<br/>&gt; <br/>&gt; mbrlen(NULL, 0, &amp;ps));<br/>&gt; <br/>&gt; The glibc documentation for mbrlen(3) at<br/>&gt; <br/>&gt; https://www.gnu.org/software/libc/manual/html_node/Converting-a-<br/>&gt; Character.html#Converting-a-Character<br/>&gt; <br/>&gt; does not mention initialization by passing in a null pointer for the<br/>&gt; string, only a pointer to a NUL wide character.<br/>&gt; <br/>&gt; If the next multibyte character corresponds to the NUL wide character,<br/>&gt; the return value is 0. If the next n bytes form a valid multibyte<br/>&gt; character, the number of bytes belonging to this multibyte character<br/>&gt; byte sequence is returned.<br/>&gt; <br/>&gt; The attached proposed patch uses memset(3) instead for mbstate_t<br/>&gt; initialization,<br/>&gt; as suggested in<br/>&gt; <br/>&gt; https://www.gnu.org/software/libc/manual/html_node/Keeping-the-<br/>&gt; state.html<br/>&gt; <br/>&gt; with the hope that this is more portable.<br/>&gt; <br/>&gt; The patch also adds a few basic test cases. These are in a new file<br/>&gt; because<br/>&gt; they need fresh_perl_is() from test.pl while the existing ones use<br/>&gt; Test::More (and conversion of at least posix.t looks way too<br/>&gt; involved.)<br/>&gt; <br/><br/>Made available for smoke-testing in this branch:<br/><br/>smoke-me/jkeenan/ntyni/133928-posix<br/><br/>Thank you very much.<br/><br/>-- <br/>James E Keenan (jkeenan@cpan.org)<br/><br/>---<br/>via perlbug: queue: perl5 status: new<br/>https://rt.perl.org/Ticket/Display.html?id=133928<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253908.html Wed, 13 Mar 2019 21:27:53 +0000 [perl #133928] POSIX::mblen() broken on threaded perls with glibc by Niko Tyni # New Ticket Created by Niko Tyni <br/># Please include the string: [perl #133928]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=133928 &gt;<br/><br/><br/>This is a bug report for perl from ntyni@debian.org,<br/>generated with the help of perlbug 1.41 running under perl 5.29.9.<br/><br/><br/>-----------------------------------------------------------------<br/><br/>As reported in https://bugs.launchpad.net/bugs/1818953 POSIX::mblen()<br/>is broken on threaded perls with glibc.<br/><br/> % perl -MPOSIX=mblen -e &#39;mblen(&quot;a&quot;, 1)&#39;<br/> perl: mbrtowc.c:105: __mbrtowc: Assertion `__mbsinit (data.__statep)&#39; failed.<br/> zsh: abort (core dumped) perl -MPOSIX=mblen -e &#39;mblen(&quot;a&quot;, 1)&#39;<br/><br/>This broke in v5.27.8-134-g6c9ff7e96e which made the function<br/>use mbrlen(3) under the hood on threaded perls.<br/><br/>The problem is initialization of the shift state with<br/><br/> mbrlen(NULL, 0, &amp;ps));<br/><br/>The glibc documentation for mbrlen(3) at<br/><br/> https://www.gnu.org/software/libc/manual/html_node/Converting-a-Character.html#Converting-a-Character<br/><br/>does not mention initialization by passing in a null pointer for the<br/>string, only a pointer to a NUL wide character.<br/><br/> If the next multibyte character corresponds to the NUL wide character,<br/> the return value is 0. If the next n bytes form a valid multibyte<br/> character, the number of bytes belonging to this multibyte character<br/> byte sequence is returned.<br/><br/>The attached proposed patch uses memset(3) instead for mbstate_t initialization,<br/>as suggested in<br/><br/> https://www.gnu.org/software/libc/manual/html_node/Keeping-the-state.html<br/><br/>with the hope that this is more portable.<br/><br/>The patch also adds a few basic test cases. These are in a new file because<br/>they need fresh_perl_is() from test.pl while the existing ones use<br/>Test::More (and conversion of at least posix.t looks way too involved.)<br/><br/>-----------------------------------------------------------------<br/>---<br/>Flags:<br/> category=library<br/> severity=medium<br/> module=POSIX<br/>---<br/>Site configuration information for perl 5.29.9:<br/><br/>Configured by niko at Wed Mar 13 21:49:26 EET 2019.<br/><br/>Summary of my perl5 (revision 5 version 29 subversion 9) configuration:<br/> Local Commit: aaf1159fe2b891f63f819b2d496b0f938456a36d<br/> Ancestor: 823c3b2daca3409863f10ec5e1c6d416d2614a5a<br/> Platform:<br/> osname=linux<br/> osvers=4.19.0-2-amd64<br/> archname=x86_64-linux-thread-multi<br/> uname=&#39;linux estella 4.19.0-2-amd64 #1 smp debian 4.19.16-1 (2019-01-17) x86_64 gnulinux &#39;<br/> config_args=&#39;-des -Dusedevel -Dusethreads&#39;<br/> hint=recommended<br/> useposix=true<br/> d_sigaction=define<br/> useithreads=define<br/> usemultiplicity=define<br/> use64bitint=define<br/> use64bitall=define<br/> uselongdouble=undef<br/> usemymalloc=n<br/> default_inc_excludes_dot=define<br/> bincompat5005=undef<br/> Compiler:<br/> cc=&#39;cc&#39;<br/> ccflags =&#39;-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2&#39;<br/> optimize=&#39;-O2&#39;<br/> cppflags=&#39;-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include&#39;<br/> ccversion=&#39;&#39;<br/> gccversion=&#39;8.2.0&#39;<br/> gccosandvers=&#39;&#39;<br/> intsize=4<br/> longsize=8<br/> ptrsize=8<br/> doublesize=8<br/> byteorder=12345678<br/> doublekind=3<br/> d_longlong=define<br/> longlongsize=8<br/> d_longdbl=define<br/> longdblsize=16<br/> longdblkind=3<br/> ivtype=&#39;long&#39;<br/> ivsize=8<br/> nvtype=&#39;double&#39;<br/> nvsize=8<br/> Off_t=&#39;off_t&#39;<br/> lseeksize=8<br/> alignbytes=8<br/> prototype=define<br/> Linker and Libraries:<br/> ld=&#39;cc&#39;<br/> ldflags =&#39; -fstack-protector-strong -L/usr/local/lib&#39;<br/> libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib<br/> libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat<br/> perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc<br/> libc=libc-2.28.so<br/> so=so<br/> useshrplib=false<br/> libperl=libperl.a<br/> gnulibc_version=&#39;2.28&#39;<br/> Dynamic Linking:<br/> dlsrc=dl_dlopen.xs<br/> dlext=so<br/> d_dlsymun=undef<br/> ccdlflags=&#39;-Wl,-E&#39;<br/> cccdlflags=&#39;-fPIC&#39;<br/> lddlflags=&#39;-shared -O2 -L/usr/local/lib -fstack-protector-strong&#39;<br/><br/>Locally applied patches:<br/> aaf1159fe2b891f63f819b2d496b0f938456a36d<br/><br/>---<br/>@INC for perl 5.29.9:<br/> lib<br/> /usr/local/lib/perl5/site_perl/5.29.9/x86_64-linux-thread-multi<br/> /usr/local/lib/perl5/site_perl/5.29.9<br/> /usr/local/lib/perl5/5.29.9/x86_64-linux-thread-multi<br/> /usr/local/lib/perl5/5.29.9<br/><br/>---<br/>Environment for perl 5.29.9:<br/> HOME=/home/niko<br/> LANG=en_US.UTF-8<br/> LANGUAGE (unset)<br/> LC_CTYPE=fi_FI.UTF-8<br/> LD_LIBRARY_PATH (unset)<br/> LOGDIR (unset)<br/> PATH=/home/niko/bin:/home/niko/bin:/home/niko/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/sbin:/usr/sbin<br/> PERL_BADLANG (unset)<br/> SHELL=/bin/zsh<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2019/03/msg253907.html Wed, 13 Mar 2019 20:49:39 +0000