Hello automakers. While teststing the `testsuite-work' branch on NetBSD 5, I've encountered a weird failure in the test `parallel-tests3.test', which actually caused the whole testsuite to crash (!) due to a stray SIGTERM.
I've reduced the failure to the attached testcase, which expose the bug also for the older automake release 1.11.1. Note that, on GNU/Linux and Solaris 10, the testcases passes without problems. To reproduce from a freshly extracted 1.11.1 tarball, make sure GNU make is in PATH named as `gmake', then run: $ ./configure && make $ cd tests $ cp /path/to/saved/foo.test . $ sh foo.test ... gmake[2]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[1]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' [2] Terminated ${sleep} gmake: *** [check-am] Terminated + signal=15 + Exit 1 + set +e [1] Terminated+ ${MAKE} -j1 checkexit 1 + exit 1 + exit_status=1 + set +e + cd /tmp/automake-1.11.1/tests + test 15 != 0 + echo foo: caught signal 15 foo: caught signal 15 + echo foo: exit 1 foo: exit 1 + exit 1 Attached are the config.log file and test logs for /bin/sh, /bin/ksh, and bash 4.1. Any idea of what's going on? Regards, Stefano
/tmp/automake-1.11.1/tests:/home/slattarini/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 === Running test foo.test + pwd /tmp/automake-1.11.1/tests/foo.dir + MAKE=gmake + export MAKE + cat + > configure.in + << "END" + cat + > Makefile.am + << "END" + cat + > foo1.test + << "END" + chmod a+x foo1.test + cat + > foo2.test + << "END" + chmod a+x foo2.test + cat + > foo3.test + << "END" + chmod a+x foo3.test + aclocal-1.11 -Werror + autoconf + automake-1.11 --foreign -Werror -Wall -a + ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether gmake sets $(MAKE)... yes configure: creating ./config.status config.status: creating Makefile + sleep 2 + gmake -j1 check gmake check-TESTS gmake[1]: Entering directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[2]: Entering directory `/tmp/automake-1.11.1/tests/foo.dir' PASS: foo1.test + kill 20320 + test ! -f test-suite.log + sleep 2 PASS: foo2.test PASS: foo3.test ================== All 3 tests passed ================== gmake[2]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[1]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' Terminated + signal=15 + Exit 1 gmake: *** [check-am] Terminated foo: caught signal 15 foo: exit 1
/tmp/automake-1.11.1/tests:/home/slattarini/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 === Running test foo.test ++ pwd /tmp/automake-1.11.1/tests/foo.dir + MAKE=gmake + export MAKE + cat + cat + for i in 1 2 3 + cat + chmod a+x foo1.test + for i in 1 2 3 + cat + chmod a+x foo2.test + for i in 1 2 3 + cat + chmod a+x foo3.test + aclocal-1.11 -Werror + autoconf + automake-1.11 --foreign -Werror -Wall -a + ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether gmake sets $(MAKE)... yes configure: creating ./config.status config.status: creating Makefile + sleep 2 + gmake -j1 check gmake check-TESTS gmake[1]: Entering directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[2]: Entering directory `/tmp/automake-1.11.1/tests/foo.dir' PASS: foo1.test + kill 22441 + test '!' -f test-suite.log + sleep 2 PASS: foo2.test PASS: foo3.test ================== All 3 tests passed ================== gmake[2]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[1]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' Terminated ++ signal=15 ++ Exit 1 ++ set +e gmake: *** [check-am] Terminated ++ exit 1 ++ exit 1 + exit_status=1 + set +e + cd /tmp/automake-1.11.1/tests + case $exit_status,$keep_testdirs in + test 15 '!=' 0 + echo 'foo: caught signal 15' foo: caught signal 15 + echo 'foo: exit 1' foo: exit 1 + exit 1
/tmp/automake-1.11.1/tests:/home/slattarini/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 === Running test foo.test + pwd /tmp/automake-1.11.1/tests/foo.dir + MAKE=gmake + export MAKE + cat + cat + cat + chmod a+x foo1.test + cat + chmod a+x foo2.test + cat + chmod a+x foo3.test + aclocal-1.11 -Werror + autoconf + automake-1.11 --foreign -Werror -Wall -a + ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether gmake sets $(MAKE)... yes configure: creating ./config.status config.status: creating Makefile + gmake -j1 check + sleep 2 gmake check-TESTS gmake[1]: Entering directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[2]: Entering directory `/tmp/automake-1.11.1/tests/foo.dir' PASS: foo1.test + kill 26199 + test ! -f test-suite.log + sleep 2 PASS: foo2.test PASS: foo3.test ================== All 3 tests passed ================== gmake[2]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' gmake[1]: Leaving directory `/tmp/automake-1.11.1/tests/foo.dir' [2] Terminated ${sleep} + signal=15 + Exit 1 + set +e gmake: *** [check-am] Terminated [1] Terminated ${MAKE} -j1 check + exit 1 + exit 1 + exit_status=1 + set +e + cd /tmp/automake-1.11.1/tests + test 15 != 0 + echo foo: caught signal 15 foo: caught signal 15 + echo foo: exit 1 foo: exit 1 + exit 1
This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU Automake configure 1.11.1, which was generated by GNU Autoconf 2.65. Invocation command line was $ ./configure ## --------- ## ## Platform. ## ## --------- ## hostname = gcc70.fsffrance.org uname -m = amd64 uname -r = 5.1 uname -s = NetBSD uname -v = NetBSD 5.1 (GENERIC) #0: Sat Nov 6 13:19:33 UTC 2010 bui...@b6.netbsd.org:/home/builds/ab/netbsd-5-1-RELEASE/amd64/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/amd64/compile/GENERIC /usr/bin/uname -p = x86_64 /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /home/slattarini/bin PATH: /bin PATH: /sbin PATH: /usr/bin PATH: /usr/sbin PATH: /usr/X11R7/bin PATH: /usr/X11R6/bin PATH: /usr/pkg/bin PATH: /usr/pkg/sbin PATH: /usr/games PATH: /usr/local/bin PATH: /usr/local/sbin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1722: checking build system type configure:1736: result: x86_64-unknown-netbsd5.1 configure:1781: checking for a BSD-compatible install configure:1849: result: /usr/bin/install -c configure:1860: checking whether build environment is sane configure:1910: result: yes configure:2051: checking for a thread-safe mkdir -p configure:2090: result: lib/install-sh -c -d configure:2103: checking for gawk configure:2133: result: no configure:2103: checking for mawk configure:2133: result: no configure:2103: checking for nawk configure:2133: result: no configure:2103: checking for awk configure:2119: found /usr/bin/awk configure:2130: result: awk configure:2141: checking whether make sets $(MAKE) configure:2163: result: yes configure:2265: checking for perl configure:2283: found /usr/pkg/bin/perl configure:2295: result: /usr/pkg/bin/perl configure:2314: checking whether /usr/pkg/bin/perl supports ithreads configure:2337: result: yes configure:2349: checking for tex configure:2379: result: no configure:2396: checking whether autoconf is installed configure:2401: eval autoconf --version autoconf (GNU Autoconf) 2.68 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille. configure:2404: $? = 0 configure:2412: result: yes configure:2419: checking whether autoconf works configure:2426: cd conftest && eval autoconf -o /dev/null conftest.ac configure:2429: $? = 0 configure:2438: result: yes configure:2445: checking whether autoconf is recent enough configure:2452: cd conftest && eval autoconf -o /dev/null conftest.ac configure:2455: $? = 0 configure:2464: result: yes configure:2471: checking whether ln works configure:2491: result: yes configure:2506: checking for grep that handles long lines and -e configure:2564: result: /usr/bin/grep configure:2569: checking for egrep configure:2631: result: /usr/bin/grep -E configure:2636: checking for fgrep configure:2698: result: /usr/bin/grep -F configure:2704: checking whether /bin/sh has working 'set -e' with exit trap configure:2717: result: yes configure:2876: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by GNU Automake config.status 1.11.1, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on gcc70.fsffrance.org config.status:776: creating Makefile config.status:776: creating doc/Makefile config.status:776: creating lib/Automake/Makefile config.status:776: creating lib/Automake/tests/Makefile config.status:776: creating lib/Makefile config.status:776: creating lib/am/Makefile config.status:776: creating m4/Makefile config.status:776: creating tests/Makefile config.status:776: creating tests/defs config.status:776: creating tests/aclocal-1.11 config.status:776: creating tests/automake-1.11 ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=x86_64-unknown-netbsd5.1 ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_path_EGREP='/usr/bin/grep -E' ac_cv_path_FGREP='/usr/bin/grep -F' ac_cv_path_GREP=/usr/bin/grep ac_cv_path_PERL=/usr/pkg/bin/perl ac_cv_path_install='/usr/bin/install -c' ac_cv_prog_AWK=awk ac_cv_prog_make_make_set=yes am_cv_autoconf_installed=yes am_cv_autoconf_version=yes am_cv_autoconf_works=yes am_cv_prog_PERL_ithreads=yes am_cv_prog_ln=ln am_cv_sh_errexit_works=yes ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='perllibdir="/tmp/automake-1.11.1/lib:./lib" "/tmp/automake-1.11.1/aclocal" --acdir=m4 -I m4' AMTAR='${SHELL} /tmp/automake-1.11.1/lib/missing --run tar' APIVERSION='1.11' AUTOCONF='${SHELL} /tmp/automake-1.11.1/lib/missing --run autoconf' AUTOHEADER='${SHELL} /tmp/automake-1.11.1/lib/missing --run autoheader' AUTOMAKE='perllibdir="/tmp/automake-1.11.1/lib:./lib" "/tmp/automake-1.11.1/automake" --libdir=lib' AWK='awk' CYGPATH_W='echo' DEFS='-DPACKAGE_NAME=\"GNU\ Automake\" -DPACKAGE_TARNAME=\"automake\" -DPACKAGE_VERSION=\"1.11.1\" -DPACKAGE_STRING=\"GNU\ Automake\ 1.11.1\" -DPACKAGE_BUGREPORT=\"bug-automake@gnu.org\" -DPACKAGE_URL=\"http://www.gnu.org/software/automake/\" -DPACKAGE=\"automake\" -DVERSION=\"1.11.1\"' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='/usr/bin/grep -E' FGREP='/usr/bin/grep -F' GREP='/usr/bin/grep' HELP2MAN='${SHELL} /tmp/automake-1.11.1/lib/missing --run help2man' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' LIBOBJS='' LIBS='' LN='ln' LTLIBOBJS='' MAKEINFO='${SHELL} /tmp/automake-1.11.1/lib/missing --run makeinfo' MKDIR_P='lib/install-sh -c -d' MODIFICATION_DELAY='2' PACKAGE='automake' PACKAGE_BUGREPORT='bug-automake@gnu.org' PACKAGE_NAME='GNU Automake' PACKAGE_STRING='GNU Automake 1.11.1' PACKAGE_TARNAME='automake' PACKAGE_URL='http://www.gnu.org/software/automake/' PACKAGE_VERSION='1.11.1' PATH_SEPARATOR=':' PERL='/usr/pkg/bin/perl' PERL_THREADS='1' SET_MAKE='' SHELL='/bin/ksh' STRIP='' TEX='' VERSION='1.11.1' am_AUTOCONF='autoconf' am_AUTOHEADER='autoheader' am__isrc='' am__leading_dot='.' am__tar='${AMTAR} chof - "$$tardir"' am__untar='${AMTAR} xf -' bindir='${exec_prefix}/bin' build='x86_64-unknown-netbsd5.1' build_alias='' build_cpu='x86_64' build_os='netbsd5.1' build_vendor='unknown' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='${prefix}' host_alias='' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='${SHELL} /tmp/automake-1.11.1/lib/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='${datarootdir}/man' mkdir_p='$(top_builddir)/lib/install-sh -c -d' oldincludedir='/usr/include' pdfdir='${docdir}' pkgvdatadir='${datadir}/automake-1.11' prefix='/usr/local' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' sh_errexit_works='yes' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "GNU Automake" #define PACKAGE_TARNAME "automake" #define PACKAGE_VERSION "1.11.1" #define PACKAGE_STRING "GNU Automake 1.11.1" #define PACKAGE_BUGREPORT "bug-automake@gnu.org" #define PACKAGE_URL "http://www.gnu.org/software/automake/" #define PACKAGE "automake" #define VERSION "1.11.1" configure: exit 0
foo.test
Description: application/shellscript