Description
After a recent commit we have begun to experience build and test failures on OpenBSD.
See, for example, either of these smoke-test reports:
https://perl5.test-smoke.org/report/5001906 (@cguevara)
v5.33.6-42-g6dc0bc8817
openbsd 6.8 using clang version OpenBSD Clang 10.0.1
https://perl5.test-smoke.org/report/5001921 (@jkeenan)
v5.33.6-44-g874732f8cc
openbsd 6.6 using cc version 4.2.1 Compatible OpenBSD Clang 8.0.1
Some individual smoke-runs are getting through make
successfully, but then encountering test failures. Some are not even making it all the way through make
. Here are excerpts from the smokecurrent.log
for 5001921:
[2021-02-07 00:31:30+0000] make ...
[2021-02-07 00:31:30+0000] [make ]
[2021-02-07 00:36:18+0000] Unable to make anything but miniperl in this configuration
[2021-02-07 00:36:18+0000] TSTENV = minitest
[2021-02-07 00:36:18+0000]
[2021-02-07 00:36:18+0000] You may see some irrelevant test failures if you have been unable
[2021-02-07 00:36:18+0000] You may see some irrelevant test failures if you have been unable
[2021-02-07 00:36:18+0000] to build lib/Config.pm, or the Unicode data files.
[2021-02-07 00:36:18+0000] to build lib/Config.pm, or the Unicode data files.
...
[2021-02-07 00:39:22+0000] Error while reading test-results: 1
[2021-02-07 00:39:22+0000] You may see some irrelevant test failures if you have been unable
[2021-02-07 00:39:22+0000] to build lib/Config.pm, or the Unicode data files.
[2021-02-07 00:39:22+0000] t/re/pat ....................... FAILED--no leader found
[2021-02-07 00:39:22+0000] t/re/regex_sets ................ FAILED--no leader found
[2021-02-07 00:39:22+0000] t/re/script_run ................ FAILED--no leader found
[2021-02-07 00:39:22+0000] t/op/split_unicode ............. FAILED--no leader found
[2021-02-07 00:39:22+0000] t/op/tr ........................ FAILED--no leader found
I decided to explore the build failures first. On my OpenBSD-6.6 VM, I then built blead
at HEAD:
# On OpenBSD-6.6
$ git describe
v5.33.6-44-g874732f8cc
$ sh ./Configure -des -Dusedevel Duseithreads -Doptimize="-O2 -pipe -fstack-protector -fno-strict-aliasing" \
&& make minitest_prep
...
# terminates with:
Compiling Perl properties
Creating Perl synonyms
Writing tables
*** Signal SIGSEGV in . (makefile:392 'uni.data')
*** Error 1 in target 'minitest_prep' (ignored)
You may see some irrelevant test failures if you have been unable
to build lib/Config.pm, or the Unicode data files.
cd t && (rm -f perl; /bin/ln -s ../miniperl perl)
So the problems are showing up even before we attempt to test minitest. But proceeding:
$ make minitest
You may see some irrelevant test failures if you have been unable
to build lib/Config.pm, or the Unicode data files.
cd t && (rm -f perl; /bin/ln -s ../miniperl perl)
cd t && ./perl -Ilib -I. TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t </dev/tty
t/base/cond .................... ok
...
t/re/overload .................. ok
t/re/pat ....................... Can't locate unicore/Name.pm in @INC (you may need to install the unicore::Name module) (@INC contains: ../lib . ../ext/re /home/jkeenan/gitwork/perl/cpan/AutoLoader/lib /home/jkeenan/gitwork/perl/dist/Carp/lib /home/jkeenan/gitwork/perl/dist/PathTools /home/jkeenan/gitwork/perl/dist/PathTools/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Install/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-MakeMaker/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Manifest/lib /home/jkeenan/gitwork/perl/cpan/File-Path/lib /home/jkeenan/gitwork/perl/ext/re /home/jkeenan/gitwork/perl/dist/Term-ReadLine/lib /home/jkeenan/gitwork/perl/dist/Exporter/lib /home/jkeenan/gitwork/perl/ext/File-Find/lib /home/jkeenan/gitwork/perl/cpan/Text-Tabs/lib /home/jkeenan/gitwork/perl/dist/constant/lib /home/jkeenan/gitwork/perl/cpan/version/lib /home/jkeenan/gitwork/perl/cpan/Getopt-Long/lib /home/jkeenan/gitwork/perl/cpan/Text-ParseWords/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-PL2Bat/lib /home/jkeenan/gitwork/perl/lib .. . .) at ../lib/_charnames.pm line 10.
BEGIN failed--compilation aborted at ../lib/_charnames.pm line 10.
Compilation failed in require at re/pat.t line 1364.
BEGIN failed--compilation aborted at re/pat.t line 1364.
FAILED--no leader found
t/re/pat_advanced .............. skipped
t/re/reg_posixcc ............... ok
t/re/regex_sets ................ Can't locate unicore/Name.pm in @INC (you may need to install the unicore::Name module) (@INC contains: ../lib . ../ext/re /home/jkeenan/gitwork/perl/cpan/AutoLoader/lib /home/jkeenan/gitwork/perl/dist/Carp/lib /home/jkeenan/gitwork/perl/dist/PathTools /home/jkeenan/gitwork/perl/dist/PathTools/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Install/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-MakeMaker/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Manifest/lib /home/jkeenan/gitwork/perl/cpan/File-Path/lib /home/jkeenan/gitwork/perl/ext/re /home/jkeenan/gitwork/perl/dist/Term-ReadLine/lib /home/jkeenan/gitwork/perl/dist/Exporter/lib /home/jkeenan/gitwork/perl/ext/File-Find/lib /home/jkeenan/gitwork/perl/cpan/Text-Tabs/lib /home/jkeenan/gitwork/perl/dist/constant/lib /home/jkeenan/gitwork/perl/cpan/version/lib /home/jkeenan/gitwork/perl/cpan/Getopt-Long/lib /home/jkeenan/gitwork/perl/cpan/Text-ParseWords/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-PL2Bat/lib /home/jkeenan/gitwork/perl/lib .. . .) at ../lib/_charnames.pm line 10.
BEGIN failed--compilation aborted at ../lib/_charnames.pm line 10.
Compilation failed in require at re/regex_sets.t line 58.
BEGIN failed--compilation aborted at re/regex_sets.t line 58.
FAILED--no leader found
t/re/regex_sets_compat ......... skipped
...
\t/re/rt122747 .................. skipped
t/re/rxcode .................... ok
t/re/script_run ................ Can't locate unicore/Name.pm in @INC (you may need to install the unicore::Name module) (@INC contains: ../lib /home/jkeenan/gitwork/perl/cpan/AutoLoader/lib /home/jkeenan/gitwork/perl/dist/Carp/lib /home/jkeenan/gitwork/perl/dist/PathTools /home/jkeenan/gitwork/perl/dist/PathTools/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Install/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-MakeMaker/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Manifest/lib /home/jkeenan/gitwork/perl/cpan/File-Path/lib /home/jkeenan/gitwork/perl/ext/re /home/jkeenan/gitwork/perl/dist/Term-ReadLine/lib /home/jkeenan/gitwork/perl/dist/Exporter/lib /home/jkeenan/gitwork/perl/ext/File-Find/lib /home/jkeenan/gitwork/perl/cpan/Text-Tabs/lib /home/jkeenan/gitwork/perl/dist/constant/lib /home/jkeenan/gitwork/perl/cpan/version/lib /home/jkeenan/gitwork/perl/cpan/Getopt-Long/lib /home/jkeenan/gitwork/perl/cpan/Text-ParseWords/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-PL2Bat/lib /home/jkeenan/gitwork/perl/lib .. . .) at ../lib/_charnames.pm line 10.
BEGIN failed--compilation aborted at ../lib/_charnames.pm line 10.
Compilation failed in require at re/script_run.t line 24.
BEGIN failed--compilation aborted at re/script_run.t line 24.
FAILED--no leader found
t/re/speed ..................... skipped
...
t/op/split ..................... ok
t/op/split_unicode ............. Can't locate unicore/Name.pm in @INC (you may need to install the unicore::Name module) (@INC contains: /home/jkeenan/gitwork/perl/cpan/AutoLoader/lib /home/jkeenan/gitwork/perl/dist/Carp/lib /home/jkeenan/gitwork/perl/dist/PathTools /home/jkeenan/gitwork/perl/dist/PathTools/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Install/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-MakeMaker/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Manifest/lib /home/jkeenan/gitwork/perl/cpan/File-Path/lib /home/jkeenan/gitwork/perl/ext/re /home/jkeenan/gitwork/perl/dist/Term-ReadLine/lib /home/jkeenan/gitwork/perl/dist/Exporter/lib /home/jkeenan/gitwork/perl/ext/File-Find/lib /home/jkeenan/gitwork/perl/cpan/Text-Tabs/lib /home/jkeenan/gitwork/perl/dist/constant/lib /home/jkeenan/gitwork/perl/cpan/version/lib /home/jkeenan/gitwork/perl/cpan/Getopt-Long/lib /home/jkeenan/gitwork/perl/cpan/Text-ParseWords/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-PL2Bat/lib /home/jkeenan/gitwork/perl/lib .. . .) at /home/jkeenan/gitwork/perl/lib/charnames.pm line 5.
BEGIN failed--compilation aborted at /home/jkeenan/gitwork/perl/lib/charnames.pm line 5.
Compilation failed in require at op/split_unicode.t line 13.
BEGIN failed--compilation aborted at op/split_unicode.t line 13.
FAILED--no leader found
t/op/sprintf ................... ok
...
t/op/time_loop ................. ok
t/op/tr ........................ Can't locate unicore/Name.pm in @INC (you may need to install the unicore::Name module) (@INC contains: ../lib /home/jkeenan/gitwork/perl/cpan/AutoLoader/lib /home/jkeenan/gitwork/perl/dist/Carp/lib /home/jkeenan/gitwork/perl/dist/PathTools /home/jkeenan/gitwork/perl/dist/PathTools/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Install/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-MakeMaker/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-Manifest/lib /home/jkeenan/gitwork/perl/cpan/File-Path/lib /home/jkeenan/gitwork/perl/ext/re /home/jkeenan/gitwork/perl/dist/Term-ReadLine/lib /home/jkeenan/gitwork/perl/dist/Exporter/lib /home/jkeenan/gitwork/perl/ext/File-Find/lib /home/jkeenan/gitwork/perl/cpan/Text-Tabs/lib /home/jkeenan/gitwork/perl/dist/constant/lib /home/jkeenan/gitwork/perl/cpan/version/lib /home/jkeenan/gitwork/perl/cpan/Getopt-Long/lib /home/jkeenan/gitwork/perl/cpan/Text-ParseWords/lib /home/jkeenan/gitwork/perl/cpan/ExtUtils-PL2Bat/lib /home/jkeenan/gitwork/perl/lib .. . .) at ../lib/_charnames.pm line 10.
BEGIN failed--compilation aborted at ../lib/_charnames.pm line 10.
Compilation failed in require at op/tr.t line 512.
BEGIN failed--compilation aborted at op/tr.t line 512.
FAILED--no leader found
t/op/tr_latin1 ................. ok
...
t/perf/taint ................... skipped
Failed 5 tests out of 323, 98.45% okay.
op/split_unicode.t
op/tr.t
re/pat.t
re/regex_sets.t
re/script_run.t
...
Elapsed: 150 sec
u=0.37 s=1.09 cu=35.39 cs=34.59 scripts=323 tests=90848
*** Error 1 in /home/jkeenan/gitwork/perl (makefile:817 'minitest')
The test failures above are similar to what I got in the smoke-test runs.
I got the same failures in make minitest_prep
on unthreaded builds.
I then manually bisected and attempted threaded builds.
$ git checkout 99dbf64538
...
$ git describe
v5.33.6-34-g99dbf64538
make minitest_prep
completed without any evidence of shortcoming. make minitest
PASSed.
Next:
$ git checkout a1325b902d57aa7a99bed3d2ec0fa5ce42836207
Previous HEAD position was 99dbf64538 Rename CxTRYBLOCK() to CxEVALBLOCK()
HEAD is now at a1325b902d Initial attempt at feature 'try'
$ git describe
v5.33.6-35-ga1325b902d
$ sh ./Configure -des -Dusedevel Duseithreads -Doptimize="-O2 -pipe -fstack-protector -fno-strict-aliasing" && make minitest_prep
...
Creating Perl synonyms
Writing tables
*** Signal SIGSEGV in . (makefile:392 'uni.data')
*** Error 1 in target 'minitest_prep' (ignored)
You may see some irrelevant test failures if you have been unable
to build lib/Config.pm, or the Unicode data files.
cd t && (rm -f perl; /bin/ln -s ../miniperl perl)
make minitest
then failed in the files reported above.
Calling in the bomb squad: @leonerd, @khwilliamson, @afresh1
Thank you very much.
Jim Keenan