Front page | perl.perl5.porters |
Postings from May 2012
[perl #113430] parallel make on NetBSD occasionally fails or corrupts
From:
Tony Cook
Date:
May 30, 2012 04:01
Subject:
[perl #113430] parallel make on NetBSD occasionally fails or corrupts
Message ID:
rt-3.6.HEAD-5009-1338375687-1118.113430-75-0@perl.org
# New Ticket Created by Tony Cook
# Please include the string: [perl #113430]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=113430 >
This is a bug report for perl from tony@develop-help.com,
generated with the help of perlbug 1.39 running under perl 5.17.0.
-----------------------------------------------------------------
[Please describe your issue here]
Parallel builds on NetBSD occasionally either fail, or produce an
invalid SDBM_File.so.
A failing build:
cp via.bs ../../lib/auto/PerlIO/via/via.bs
--- lib/auto/SDBM_File/SDBM_File.so ---
--- subdirs ---
cc -c -I../../.. -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -O -DVERSION=\"\" -DXS_VERSION=\"\" -DPIC -fPIC "-I../../.." -DSDBM -DDUFF sdbm.c
--- lib/auto/PerlIO/via/via.so ---
chmod 644 ../../lib/auto/PerlIO/via/via.bs
--- lib/auto/SDBM_File/SDBM_File.so ---
--- pair.o ---
cc -c -I../../.. -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -O -DVERSION=\"\" -DXS_VERSION=\"\" -DPIC -fPIC "-I../../.." -DSDBM -DDUFF pair.c
--- lib/auto/PerlIO/via/via.so ---
--- ../../lib/auto/PerlIO/via/via.so ---
rm -f ../../lib/auto/PerlIO/via/via.so
cc --whole-archive -shared -L/usr/pkg/lib -fstack-protector via.o -o ../../lib/auto/PerlIO/via/via.so
--- lib/auto/Socket/Socket.so ---
--- blibdirs ---
--- lib/auto/PerlIO/via/via.so ---
chmod 755 ../../lib/auto/PerlIO/via/via.so
--- lib/auto/Socket/Socket.so ---
--- config ---
--- lib/auto/PerlIO/via/via.so ---
--- dynamic ---
--- lib/auto/Socket/Socket.so ---
Making all in cpan/Socket
make all PERL_CORE=1 LIBPERL_A=libperl.a LINKTYPE=dynamic
--- lib/auto/PerlIO/via/via.so ---
--- linkext ---
--- pure_all ---
--- manifypods ---
--- all ---
--- lib/auto/Socket/Socket.so ---
--- subdirs ---
--- blibdirs ---
--- lib/auto/Storable/Storable.so ---
--- config ---
--- Storable.bs ---
--- lib/auto/Socket/Socket.so ---
--- Socket.c ---
--- lib/auto/Storable/Storable.so ---
Running Mkbootstrap for Storable ()
--- lib/auto/PerlIO/scalar/scalar.so ---
--- ../../lib/auto/PerlIO/scalar/scalar.so ---
--- lib/auto/Socket/Socket.so ---
../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap -typemap typemap Socket.xs > Socket.xsc && mv Socket.xsc Socket.c
--- lib/auto/PerlIO/scalar/scalar.so ---
rm -f ../../lib/auto/PerlIO/scalar/scalar.so
cc --whole-archive -shared -L/usr/pkg/lib -fstack-protector scalar.o -o ../../lib/auto/PerlIO/scalar/scalar.so
chmod 755 ../../lib/auto/PerlIO/scalar/scalar.so
--- lib/auto/Storable/Storable.so ---
chmod 644 Storable.bs
--- lib/auto/PerlIO/scalar/scalar.so ---
--- dynamic ---
--- lib/auto/Text/Soundex/Soundex.so ---
--- lib/auto/PerlIO/scalar/scalar.so ---
--- linkext ---
--- lib/auto/Sys/Syslog/Syslog.so ---
Writing Makefile for Sys::Syslog
--- lib/auto/SDBM_File/SDBM_File.so ---
--- sdbm/libsdbm.a ---
cd sdbm && make all
--- lib/auto/Storable/Storable.so ---
--- pm_to_blib ---
--- lib/auto/Text/Soundex/Soundex.so ---
./miniperl -Ilib make_ext.pl lib/auto/Text/Soundex/Soundex.so MAKE=make LIBPERL_A=libperl.a LINKTYPE=dynamic
Making Text::Soundex (all)
Creating Makefile.PL in cpan/Text-Soundex for Text::Soundex
Running Makefile.PL in cpan/Text-Soundex
../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.a LINKTYPE=dynamic
--- lib/auto/PerlIO/scalar/scalar.so ---
--- pure_all ---
--- manifypods ---
--- all ---
--- lib/auto/Sys/Hostname/Hostname.so ---
Writing Makefile for Sys::Hostname
--- lib/auto/Sys/Syslog/Syslog.so ---
--- ../../lib/Sys/.exists ---
--- lib/auto/SDBM_File/SDBM_File.so ---
--- SDBM_File.c ---
--- subdirs ---
--- hash.o ---
--- SDBM_File.c ---
../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap -typemap typemap SDBM_File.xs > SDBM_File.xsc && mv SDBM_File.xsc SDBM_File.c
--- subdirs ---
cc -c -I../../.. -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -O -DVERSION=\"\" -DXS_VERSION=\"\" -DPIC -fPIC "-I../../.." -DSDBM -DDUFF hash.c
--- lib/auto/Sys/Hostname/Hostname.so ---
--- ../../lib/Sys/.exists ---
--- lib/auto/SDBM_File/SDBM_File.so ---
--- sdbm/libsdbm.a ---
--- hash.o ---
--- lib/auto/Storable/Storable.so ---
cp Storable.pm ../../lib/Storable.pm
--- lib/auto/SDBM_File/SDBM_File.so ---
cc -c -I../../.. -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -O -DVERSION=\"\" -DXS_VERSION=\"\" -DPIC -fPIC "-I../../.." -DSDBM -DDUFF hash.c
--- subdirs ---
--- libsdbm.a ---
rm -rf libsdbm.a
/usr/bin/ar cr libsdbm.a sdbm.o pair.o hash.o && : libsdbm.a
--- lib/auto/Storable/Storable.so ---
--- ../../lib/auto/Storable/Storable.bs ---
--- lib/auto/Sys/Hostname/Hostname.so ---
--- ../../lib/auto/Sys/Hostname/.exists ---
--- lib/auto/Sys/Syslog/Syslog.so ---
--- ../../lib/auto/Sys/Syslog/.exists ---
--- lib/auto/Storable/Storable.so ---
cp Storable.bs ../../lib/auto/Storable/Storable.bs
--- lib/auto/SDBM_File/SDBM_File.so ---
/usr/bin/ar: hash.o: No such file or directory
--- lib/auto/Storable/Storable.so ---
chmod 644 ../../lib/auto/Storable/Storable.bs
--- lib/auto/SDBM_File/SDBM_File.so ---
*** [libsdbm.a] Error code 1
1 error
Another build apparently succeeds, but fails to run sdbm.t:
cd t && (rm -f perl; /bin/ln -s ../perl perl)
./runtests choose
t/../ext/SDBM_File/t/sdbm ... # Failed test 'use SDBM_File;'
# at ../../t/lib/dbmt_common.pl line 20.
# Tried to use 'SDBM_File'.
# Error: Can't load '../../lib/auto/SDBM_File/SDBM_File.so' for module SDBM_File: /home/tony/dev/perl/git/perl/ext/SDBM_File/../../lib/auto/SDBM_File/SDBM_File.so: Undefined PLT symbol "sdbm_hash" (symnum = 19) at ../../lib/XSLoader.pm line 68.
# at ../../lib/SDBM_File.pm line 12.
# Compilation failed in require at (eval 4) line 2.
# BEGIN failed--compilation aborted at (eval 4) line 2.
FAILED at test 1
Failed 1 test out of 0, 0.00% okay.
../ext/SDBM_File/t/sdbm.t
This one I ran with make's job tracing, an extract:
1338366321.673164 1 JOB 7484 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm hash.o 15865 0 b000001
1338366321.722132 1 DON 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm sdbm.o 15313 0 b000001
1338366321.722907 1 JOB 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm libsdbm.a 11046 0 2b000001
1338366321.728995 1 DON 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm libsdbm.a 11046 0 2b000001
1338366321.729643 1 JOB 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm static 587 0 9010004
1338366321.730677 1 DON 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm static 587 0 9010004
1338366321.731260 1 JOB 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm all 23867 0 8010004
1338366321.732245 1 DON 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm all 23867 0 8010004
1338366321.732750 0 END 4242 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm
1338366321.783131 1 DON 7484 /home/tony/dev/perl/git/perl/ext/SDBM_File/sdbm hash.o 15865 0 b000001
Note the hash.o job finishes after the libsdbm.o job.
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=install
severity=low
---
Site configuration information for perl 5.17.0:
Configured by tony at Wed May 30 18:24:37 EST 2012.
Summary of my perl5 (revision 5 version 17 subversion 0) configuration:
Commit id: 2f8cb65be80b5da49bcc214b85c10b8b1c3a4ff3
Platform:
osname=netbsd, osvers=5.1, archname=amd64-netbsd
uname='netbsd deimos.tony.develop-help.com 5.1 netbsd 5.1 (generic) #0: sat nov 6 13:19:33 utc 2010 builds@b6.netbsd.org:homebuildsabnetbsd-5-1-releaseamd64201011061943z-objhomebuildsabnetbsd-5-1-releasesrcsysarchamd64compilegeneric amd64 '
config_args='-des -Dusedevel'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include',
optimize='-O',
cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
ccversion='', gccversion='4.1.3 20080704 prerelease (NetBSD nb2 20081120)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
libpth=/usr/pkg/lib /lib /usr/lib
libs=-lgdbm -lm -lcrypt -lutil -lc -lposix
perllibs=-lm -lcrypt -lutil -lc -lposix
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E '
cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared -L/usr/pkg/lib -fstack-protector'
Locally applied patches:
---
@INC for perl 5.17.0:
lib
/opt/lib/perl5/site_perl/5.17.0/amd64-netbsd
/opt/lib/perl5/site_perl/5.17.0
/opt/lib/perl5/5.17.0/amd64-netbsd
/opt/lib/perl5/5.17.0
.
---
Environment for perl 5.17.0:
HOME=/home/tony
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/home/tony/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin
PERL_BADLANG (unset)
SHELL=/bin/sh
-
[perl #113430] parallel make on NetBSD occasionally fails or corrupts
by Tony Cook