Skip Menu |
Report information
Id: 133136
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: randir <sergey.aleynikov [at] gmail.com>
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: medium
Type: core
Perl Version: 5.27.9
Fixed In: (no value)



Subject: Bisect.pl broken for 3 commits in blead
From: Sergey Aleynikov <sergey.aleynikov [...] gmail.com>
Date: Sat, 21 Apr 2018 00:36:15 +0300
To: perlbug [...] perl.org
Download (untitled) / with headers
text/plain 8.8k
This is a bug report for perl from sergey.aleynikov@gmail.com, generated with the help of perlbug 1.41 running under perl 5.27.9. ----------------------------------------------------------------- [Please describe your issue here] While trying to bisect a module failure for #133135 I've found that the following commit range 2d74dcf2f3..394d2d3f37 (3 commits) prevents Porting/bisect.pl from running further with the following messages: cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings miniperlmain.c echo @`sh cflags "optimize='-g'" opmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB opmini.c In file included from perl.h:5303:0, from utf8.c:33: utf8.c: In function ‘Perl_init_uniprops’: utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use in this function) PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ utf8.c:5881:54: note: each undeclared identifier is reported only once for each function it appears in PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB opmini.c echo @`sh cflags "optimize='-g'" perlmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c Makefile:249: recipe for target 'utf8.o' failed make: *** [utf8.o] Error 1 make: *** Waiting for unfinished jobs.... @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c cc -o generate_uudmap -fstack-protector-strong -L/usr/local/lib generate_uudmap.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc rm -f pod/perl52711delta.pod /bin/ln -s perldelta.pod pod/perl52711delta.pod cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings utf8.c cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings op.c cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings perly.c ./generate_uudmap uudmap.h bitcount.h mg_data.h cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings globals.c In file included from perl.h:5303:0, from utf8.c:33: utf8.c: In function ‘Perl_init_uniprops’: utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use in this function) PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ utf8.c:5881:54: note: each undeclared identifier is reported only once for each function it appears in PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ Makefile:249: recipe for target 'utf8.o' failed make: *** [utf8.o] Error 1 make: *** Waiting for unfinished jobs.... sh: ./installperl: ./perl: bad interpreter: No such file or directory '</dev/null ./installperl' failed, $!=No such file or directory, $?=32256 at /tmp/M_wsH0gXTD line 1522 bisect run failed: exit code 255 from '/usr/local/perl5.26.1/bin/perl /tmp/M_wsH0gXTD --gold v5.26.0 --jobs 20 --module Lexical::SealRequireHints' is < 0 or Show quoted text
>= 128
Died at Porting/bisect.pl line 269. I remember from it's docs that it should skip at least some kinds of failures, so if this is not one of them - should it be also avoided? Or should bisect.pl just blacklist those revisions? [Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=core severity=medium --- Site configuration information for perl 5.27.9: Configured by dur-randir at Wed Jan 31 10:14:37 MSK 2018. Summary of my perl5 (revision 5 version 27 subversion 9) configuration: Commit id: 577d3e04be845580196418dd9df1575e2cb4c0b6 Platform: osname=darwin osvers=13.4.0 archname=darwin-2level uname='darwin isengard.local 13.4.0 darwin kernel version 13.4.0: mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64 x86_64 ' config_args='-de -Dusedevel' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -DPERL_USE_SAFE_PUTENV' optimize='-O3' cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='' gccversion='4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='cc' ldflags =' -mmacosx-version-min=10.9 -fstack-protector -L/usr/local/lib' libpth=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib /usr/local/lib /usr/lib libs=-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc perllibs=-lpthread -ldl -lm -lutil -lc libc= so=dylib useshrplib=false libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=bundle d_dlsymun=undef ccdlflags=' ' cccdlflags=' ' lddlflags=' -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector' --- @INC for perl 5.27.9: lib /usr/local/lib/perl5/site_perl/5.27.9/darwin-2level /usr/local/lib/perl5/site_perl/5.27.9 /usr/local/lib/perl5/5.27.9/darwin-2level /usr/local/lib/perl5/5.27.9 --- Environment for perl 5.27.9: DYLD_LIBRARY_PATH (unset) HOME=/Users/dur-randir LANG=en_US.UTF-8 LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) 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 PERLBREW_BASHRC_VERSION=0.80 PERLBREW_HOME=/Users/dur-randir/.perlbrew PERLBREW_MANPATH=/Users/dur-randir/perlbrew/perls/perl-5.22.1/man PERLBREW_PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.22.1/bin PERLBREW_PERL=perl-5.22.1 PERLBREW_ROOT=/Users/dur-randir/perlbrew PERLBREW_VERSION=0.80 PERL_BADLANG (unset) SHELL=/usr/local/bin/zsh
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 5.8k
On Fri, 20 Apr 2018 21:36:22 GMT, randir wrote: Show quoted text
> This is a bug report for perl from sergey.aleynikov@gmail.com, > generated with the help of perlbug 1.41 running under perl 5.27.9. > > > ----------------------------------------------------------------- > [Please describe your issue here] > > While trying to bisect a module failure for #133135 I've found that > the following commit range 2d74dcf2f3..394d2d3f37 (3 commits) prevents > Porting/bisect.pl from running further with the following messages: > > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings miniperlmain.c > echo @`sh cflags "optimize='-g'" opmini.o` -DPERL_IS_MINIPERL > -DPERL_EXTERNAL_GLOB opmini.c > In file included from perl.h:5303:0, > from utf8.c:33: > utf8.c: In function ‘Perl_init_uniprops’: > utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use > in this function) > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > utf8.c:5881:54: note: each undeclared identifier is reported only once > for each function it appears in > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB > opmini.c > echo @`sh cflags "optimize='-g'" perlmini.o` -DPERL_IS_MINIPERL > -DPERL_EXTERNAL_GLOB perlmini.c > Makefile:249: recipe for target 'utf8.o' failed > make: *** [utf8.o] Error 1 > make: *** Waiting for unfinished jobs.... > @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB > perlmini.c > cc -o generate_uudmap -fstack-protector-strong -L/usr/local/lib > generate_uudmap.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc > rm -f pod/perl52711delta.pod > /bin/ln -s perldelta.pod pod/perl52711delta.pod > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings utf8.c > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings op.c > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings perly.c > ./generate_uudmap uudmap.h bitcount.h mg_data.h > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings globals.c > In file included from perl.h:5303:0, > from utf8.c:33: > utf8.c: In function ‘Perl_init_uniprops’: > utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use > in this function) > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > utf8.c:5881:54: note: each undeclared identifier is reported only once > for each function it appears in > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > Makefile:249: recipe for target 'utf8.o' failed > make: *** [utf8.o] Error 1 > make: *** Waiting for unfinished jobs.... > sh: ./installperl: ./perl: bad interpreter: No such file or directory > '</dev/null ./installperl' failed, $!=No such file or directory, > $?=32256 at /tmp/M_wsH0gXTD line 1522 > bisect run failed: > exit code 255 from '/usr/local/perl5.26.1/bin/perl /tmp/M_wsH0gXTD > --gold v5.26.0 --jobs 20 --module Lexical::SealRequireHints' is < 0 or
> > = 128
> Died at Porting/bisect.pl line 269. > > I remember from it's docs that it should skip at least some kinds of > failures, so if this is not one of them - should it be also avoided? > Or should bisect.pl just blacklist those revisions? >
Can you provide the specific way in which you invoked bisect.pl? Thank you very much. -- James E Keenan (jkeenan@cpan.org)
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 199b
On Fri, 20 Apr 2018 15:51:28 -0700, jkeenan wrote: Show quoted text
> Can you provide the specific way in which you invoked bisect.pl?
perl Porting/bisect.pl --start v5.26.0 -j 20 --module Lexical::SealRequireHints
Date: Fri, 20 Apr 2018 17:10:57 -0600
From: Karl Williamson <public [...] khwilliamson.com>
Subject: Re: [perl #133136] Bisect.pl broken for 3 commits in blead
CC: perl5-porters [...] perl.org
To: perlbug-followup [...] perl.org
Download (untitled) / with headers
text/plain 6.1k
On 04/20/2018 04:51 PM, James E Keenan via RT wrote: Show quoted text
> On Fri, 20 Apr 2018 21:36:22 GMT, randir wrote:
>> This is a bug report for perl from sergey.aleynikov@gmail.com, >> generated with the help of perlbug 1.41 running under perl 5.27.9. >> >> >> ----------------------------------------------------------------- >> [Please describe your issue here] >> >> While trying to bisect a module failure for #133135 I've found that >> the following commit range 2d74dcf2f3..394d2d3f37 (3 commits) prevents >> Porting/bisect.pl from running further with the following messages: >> >> cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings miniperlmain.c >> echo @`sh cflags "optimize='-g'" opmini.o` -DPERL_IS_MINIPERL >> -DPERL_EXTERNAL_GLOB opmini.c >> In file included from perl.h:5303:0, >> from utf8.c:33: >> utf8.c: In function ‘Perl_init_uniprops’: >> utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use >> in this function) >> PL_XPosix_ptrs[_CC_SPACE] = >> _new_invlist_C_array(PL_XPERLSPACE_invlist); >> ^ >> embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ >> #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) >> ^ >> utf8.c:5881:54: note: each undeclared identifier is reported only once >> for each function it appears in >> PL_XPosix_ptrs[_CC_SPACE] = >> _new_invlist_C_array(PL_XPERLSPACE_invlist); >> ^ >> embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ >> #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) >> ^ >> @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB >> opmini.c >> echo @`sh cflags "optimize='-g'" perlmini.o` -DPERL_IS_MINIPERL >> -DPERL_EXTERNAL_GLOB perlmini.c >> Makefile:249: recipe for target 'utf8.o' failed >> make: *** [utf8.o] Error 1 >> make: *** Waiting for unfinished jobs.... >> @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB >> perlmini.c >> cc -o generate_uudmap -fstack-protector-strong -L/usr/local/lib >> generate_uudmap.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc >> rm -f pod/perl52711delta.pod >> /bin/ln -s perldelta.pod pod/perl52711delta.pod >> cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings utf8.c >> cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings op.c >> cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings perly.c >> ./generate_uudmap uudmap.h bitcount.h mg_data.h >> cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe >> -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall >> -Werror=declaration-after-statement -Werror=pointer-arith -Wextra >> -Wc++-compat -Wwrite-strings globals.c >> In file included from perl.h:5303:0, >> from utf8.c:33: >> utf8.c: In function ‘Perl_init_uniprops’: >> utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use >> in this function) >> PL_XPosix_ptrs[_CC_SPACE] = >> _new_invlist_C_array(PL_XPERLSPACE_invlist); >> ^ >> embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ >> #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) >> ^ >> utf8.c:5881:54: note: each undeclared identifier is reported only once >> for each function it appears in >> PL_XPosix_ptrs[_CC_SPACE] = >> _new_invlist_C_array(PL_XPERLSPACE_invlist); >> ^ >> embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ >> #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) >> ^ >> Makefile:249: recipe for target 'utf8.o' failed >> make: *** [utf8.o] Error 1 >> make: *** Waiting for unfinished jobs.... >> sh: ./installperl: ./perl: bad interpreter: No such file or directory >> '</dev/null ./installperl' failed, $!=No such file or directory, >> $?=32256 at /tmp/M_wsH0gXTD line 1522 >> bisect run failed: >> exit code 255 from '/usr/local/perl5.26.1/bin/perl /tmp/M_wsH0gXTD >> --gold v5.26.0 --jobs 20 --module Lexical::SealRequireHints' is < 0 or
>>> = 128
>> Died at Porting/bisect.pl line 269. >> >> I remember from it's docs that it should skip at least some kinds of >> failures, so if this is not one of them - should it be also avoided? >> Or should bisect.pl just blacklist those revisions? >>
> > Can you provide the specific way in which you invoked bisect.pl? > > Thank you very much. >
I must be responsible for these, though I don't understand how it happened. So, yes, it should avoid this block of commits. I'll look at it.
RT-Send-CC: perl5-porters [...] perl.org
On Fri, 20 Apr 2018 21:36:22 GMT, randir wrote: Show quoted text
> This is a bug report for perl from sergey.aleynikov@gmail.com, > generated with the help of perlbug 1.41 running under perl 5.27.9. > > > ----------------------------------------------------------------- > [Please describe your issue here] > > While trying to bisect a module failure for #133135 I've found that > the following commit range 2d74dcf2f3..394d2d3f37 (3 commits) prevents > Porting/bisect.pl from running further with the following messages: > > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings miniperlmain.c > echo @`sh cflags "optimize='-g'" opmini.o` -DPERL_IS_MINIPERL > -DPERL_EXTERNAL_GLOB opmini.c > In file included from perl.h:5303:0, > from utf8.c:33: > utf8.c: In function ‘Perl_init_uniprops’: > utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use > in this function) > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > utf8.c:5881:54: note: each undeclared identifier is reported only once > for each function it appears in > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB > opmini.c > echo @`sh cflags "optimize='-g'" perlmini.o` -DPERL_IS_MINIPERL > -DPERL_EXTERNAL_GLOB perlmini.c > Makefile:249: recipe for target 'utf8.o' failed > make: *** [utf8.o] Error 1 > make: *** Waiting for unfinished jobs.... > @cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB > perlmini.c > cc -o generate_uudmap -fstack-protector-strong -L/usr/local/lib > generate_uudmap.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc > rm -f pod/perl52711delta.pod > /bin/ln -s perldelta.pod pod/perl52711delta.pod > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings utf8.c > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings op.c > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings perly.c > ./generate_uudmap uudmap.h bitcount.h mg_data.h > cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe > -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -std=c89 -g -Wall > -Werror=declaration-after-statement -Werror=pointer-arith -Wextra > -Wc++-compat -Wwrite-strings globals.c > In file included from perl.h:5303:0, > from utf8.c:33: > utf8.c: In function ‘Perl_init_uniprops’: > utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use > in this function) > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > utf8.c:5881:54: note: each undeclared identifier is reported only once > for each function it appears in > PL_XPosix_ptrs[_CC_SPACE] = > _new_invlist_C_array(PL_XPERLSPACE_invlist); > ^ > embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ > #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) > ^ > Makefile:249: recipe for target 'utf8.o' failed > make: *** [utf8.o] Error 1 > make: *** Waiting for unfinished jobs.... > sh: ./installperl: ./perl: bad interpreter: No such file or directory > '</dev/null ./installperl' failed, $!=No such file or directory, > $?=32256 at /tmp/M_wsH0gXTD line 1522 > bisect run failed: > exit code 255 from '/usr/local/perl5.26.1/bin/perl /tmp/M_wsH0gXTD > --gold v5.26.0 --jobs 20 --module Lexical::SealRequireHints' is < 0 or
> > = 128
> Died at Porting/bisect.pl line 269. > > I remember from it's docs that it should skip at least some kinds of > failures, so if this is not one of them - should it be also avoided? > Or should bisect.pl just blacklist those revisions? >
See attachment, which I also attached to 133135. I agree that the make-non-completion in the first two of the three commits poses a problem for bisection going forward. I'm not sure if we currently have any code in bisect.pl or bisect-runner.pl that can permit us to skip over these two commits. Thank you very much. -- James E Keenan (jkeenan@cpan.org)
Subject: 133136-three-commit-sequence.txt
$ install_branch_for_testing 2d74dcf2f3a03c7d1ea8f589d476186ceea6a76a ... cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings taint.c In file included from perl.h:5303:0, from utf8.c:33: utf8.c: In function ‘Perl_init_uniprops’: utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use in this function) PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ utf8.c:5881:54: note: each undeclared identifier is reported only once for each function it appears in PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1240:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings deb.c makefile:249: recipe for target 'utf8.o' failed make: *** [utf8.o] Error 1 make: *** Waiting for unfinished jobs.... $ install_branch_for_testing 2cdbf8d9c7a9b6f7640617efa7e5d24c9bedb9f2 ... cc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings globals.c In file included from perl.h:5303:0, from utf8.c:33: utf8.c: In function ‘Perl_init_uniprops’: utf8.c:5881:54: error: ‘PL_XPERLSPACE_invlist’ undeclared (first use in this function) PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1241:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ utf8.c:5881:54: note: each undeclared identifier is reported only once for each function it appears in PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPERLSPACE_invlist); ^ embed.h:1241:65: note: in definition of macro ‘_new_invlist_C_array’ #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) ^ makefile:249: recipe for target 'utf8.o' failed make: *** [utf8.o] Error 1 make: *** Waiting for unfinished jobs.... $ install_branch_for_testing 394d2d3f374c001b40cce3e2709c7b75de05f55e ... [make completed successfully]
RT-Send-CC: perl5-porters [...] perl.org
The attached commit fixes the problem -- Karl Williamson
Subject: 0001-PATCH-perl-133136-bisect-runner.patch
From 99074c8d4a858f62bed3619b2bbf615b70a304e5 Mon Sep 17 00:00:00 2001 From: Karl Williamson <khw@cpan.org> Date: Wed, 25 Apr 2018 16:28:37 -0600 Subject: [PATCH] PATCH: [perl #133136] bisect runner bisect runner is supposed to keep going if the particular revision being tested fails to compile. But it wasn't. Nicholas graciously diagnosed the problem. When the enhancement for testing when a module got broken, the code to do so was placed before the check to see if the build for this revision crashed. It's simply a matter of moving that module code to after that check. --- Porting/bisect-runner.pl | 59 ++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl index 6f9fd9d653..00319211c9 100755 --- a/Porting/bisect-runner.pl +++ b/Porting/bisect-runner.pl @@ -1514,10 +1514,36 @@ if ($target ne 'miniperl') { system "$options{make} $j $real_target </dev/null"; } -# Testing a cpan module? See if it will install -my $just_testing; -if (my $mod_opt = $options{module} || $options{'with-module'} +my $expected_file_found = $expected_file =~ /perl$/ + ? -x $expected_file : -r $expected_file; + +if ($expected_file_found && $expected_file eq 't/perl') { + # Check that it isn't actually pointing to ../miniperl, which will happen + # if the sanity check ./miniperl -Ilib -MExporter -e '<?>' fails, and + # Makefile tries to run minitest. + + # Of course, helpfully sometimes it's called ../perl, other times .././perl + # and who knows if that list is exhaustive... + my ($dev0, $ino0) = stat 't/perl'; + my ($dev1, $ino1) = stat 'perl'; + unless (defined $dev0 && defined $dev1 && $dev0 == $dev1 && $ino0 == $ino1) { + undef $expected_file_found; + my $link = readlink $expected_file; + warn "'t/perl' => '$link', not 'perl'"; + die_255("Could not realink t/perl: $!") unless defined $link; + } +} + +my $just_testing = 0; + +if ($options{'test-build'}) { + report_and_exit($expected_file_found, 'could build', 'could not build', + $real_target); +} elsif (!$expected_file_found) { + skip("could not build $real_target"); +} elsif (my $mod_opt = $options{module} || $options{'with-module'} || ($just_testing++, $options{'test-module'})) { + # Testing a cpan module? See if it will install # First we need to install this perl somewhere system_or_die('./installperl'); @@ -1580,33 +1606,6 @@ if (my $mod_opt = $options{module} || $options{'with-module'} } } -my $expected_file_found = $expected_file =~ /perl$/ - ? -x $expected_file : -r $expected_file; - -if ($expected_file_found && $expected_file eq 't/perl') { - # Check that it isn't actually pointing to ../miniperl, which will happen - # if the sanity check ./miniperl -Ilib -MExporter -e '<?>' fails, and - # Makefile tries to run minitest. - - # Of course, helpfully sometimes it's called ../perl, other times .././perl - # and who knows if that list is exhaustive... - my ($dev0, $ino0) = stat 't/perl'; - my ($dev1, $ino1) = stat 'perl'; - unless (defined $dev0 && defined $dev1 && $dev0 == $dev1 && $ino0 == $ino1) { - undef $expected_file_found; - my $link = readlink $expected_file; - warn "'t/perl' => '$link', not 'perl'"; - die_255("Could not realink t/perl: $!") unless defined $link; - } -} - -if ($options{'test-build'}) { - report_and_exit($expected_file_found, 'could build', 'could not build', - $real_target); -} elsif (!$expected_file_found) { - skip("could not build $real_target"); -} - match_and_exit($real_target, @ARGV) if $match; if (defined $options{'one-liner'}) { -- 2.11.0
From: Karl Williamson <public [...] khwilliamson.com>
CC: perl5-porters [...] perl.org
Subject: Re: [perl #133136] Bisect.pl broken for 3 commits in blead
To: perlbug-followup [...] perl.org
Date: Wed, 25 Apr 2018 18:09:46 -0600
Download (untitled) / with headers
text/plain 429b
On 04/25/2018 04:41 PM, Karl Williamson via RT wrote: Show quoted text
> The attached commit fixes the problem >
I believe this patch should go into 5.28.0, and am putting this ticket on the blockers list so that it will be discussed at least. 1) This changes only a Porting/ script so does not affect the perl interpreter code at all, nor its tests. 2) It fixes a bug that could otherwise create hassles in finding bugs when they occur.
Date: Mon, 30 Apr 2018 23:38:05 +0300
To: Karl Williamson <public [...] khwilliamson.com>, perlbug-followup [...] perl.org
CC: perl5-porters [...] perl.org
Subject: Re: [perl #133136] Bisect.pl broken for 3 commits in blead
From: Sawyer X <xsawyerx [...] gmail.com>
Download (untitled) / with headers
text/plain 591b
On 04/26/2018 03:09 AM, Karl Williamson wrote: Show quoted text
> On 04/25/2018 04:41 PM, Karl Williamson via RT wrote:
>> The attached commit fixes the problem >>
> > I believe this patch should go into 5.28.0, and am putting this ticket > on the blockers list so that it will be discussed at least.
I agree to this. Show quoted text
> > 1) This changes only a Porting/ script so does not affect the  perl > interpreter code at all, nor its tests.
This is the main reason I'm okay with it. Show quoted text
> > 2) It fixes a bug that could otherwise create hassles in finding bugs > when they occur.
And this is why it's important.
RT-Send-CC: perl5-porters [...] perl.org
Fixed with commit cf2c29559deccb70b57f952ba796613c5cc10bac -- Karl Williamson
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 153b
The commit message title in 3cacfe74edaec4b2b1289e9809e4e68a2bf5b851 incorrectly refers to this ticket. It should have said 133135 -- Karl Williamson
Download (untitled) / with headers
text/plain 317b
Thank you for filing this report. You have helped make Perl better. With the release yesterday of Perl 5.28.0, this and 185 other issues have been resolved. Perl 5.28.0 may be downloaded via: https://metacpan.org/release/XSAWYERX/perl-5.28.0 If you find that the problem persists, feel free to reopen this ticket.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org