From debbugs-submit-bounces@debbugs.gnu.org Sat May 05 11:54:10 2012 Received: (at submit) by debbugs.gnu.org; 5 May 2012 15:54:10 +0000 Received: from localhost ([127.0.0.1]:37277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SQhJB-0005l5-4b for submit@debbugs.gnu.org; Sat, 05 May 2012 11:54:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57664) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SQhJ7-0005kb-DQ for submit@debbugs.gnu.org; Sat, 05 May 2012 11:54:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SQhHE-0007Kv-2A for submit@debbugs.gnu.org; Sat, 05 May 2012 11:52:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:37721) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQhHD-0007Kr-SL for submit@debbugs.gnu.org; Sat, 05 May 2012 11:52:07 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQhHB-00007o-4H for bug-automake@gnu.org; Sat, 05 May 2012 11:52:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SQhH8-0007Kf-9i for bug-automake@gnu.org; Sat, 05 May 2012 11:52:04 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:58180) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQhH7-0007KZ-UW for bug-automake@gnu.org; Sat, 05 May 2012 11:52:02 -0400 Received: by wibhj13 with SMTP id hj13so1701242wib.12 for ; Sat, 05 May 2012 08:51:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; bh=OkOl1PJmJKhbB/LUvrKtiob06kz/K9Sj8GUM16mgZ10=; b=HSGuXkb2wczfcNeRSh3Xe1KaBE3muWis0D3VjexBXrsFMk3t1T6VcmTla5MaXrj6m9 rWh1AmwtEm5jAYNbSvwNouJTodtdWO7pnPud1lUNSbXpSCW3AfS5+fglQjK7/fMVd0vc lfPBuf5K8ZEP/4AHTCOOXizupO+QfZp2HQkt04ljNymRKw9f7LIcAF/Cu1XcM+GowhfL 19lGtI2O8AXkGfQslAMAnOPeooH93jWuoEM8pwmo3PCktwPU4Tv4Be0l9fJ7rEE3gmrq nmT9EJrqtacMmlLrLwDjwdgSP+XNnKruqEMkk1t1R39tKTbpQpiPPOrgrNhTPtxpv11N a40Q== Received: by 10.180.83.38 with SMTP id n6mr306546wiy.1.1336233119897; Sat, 05 May 2012 08:51:59 -0700 (PDT) Received: from [87.4.94.210] (host210-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.210]) by mx.google.com with ESMTPS id l5sm6650206wia.11.2012.05.05.08.51.57 (version=SSLv3 cipher=OTHER); Sat, 05 May 2012 08:51:58 -0700 (PDT) Message-ID: <4FA54C96.1060606@gmail.com> Date: Sat, 05 May 2012 17:51:50 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: bug-automake@gnu.org Subject: Racy failure in test case 'tap-more.sh' Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) Severity: minor I'm sporadically seeing the failure below in the test 'tap-more.sh'. Anyone has an insight about what's going on? Regards, Stefano -*-*-*- tap-more: exec /bin/sh t/tap-more.sh Running from installcheck: no Using TAP: no PATH = [SNIP] ++ pwd /devel/stefano/src/am/branches/trunks/t/tap-more.dir + fetch_tap_driver + case $am_tap_implementation in + AM_TAP_AWK=gawk + export AM_TAP_AWK + sed '1s|#!.*|#! /bin/sh|' /home/stefano/src/am/branches/trunks/lib/tap-driver.sh + chmod a+x tap-driver + sed 10q tap-driver #! /bin/sh # Copyright (C) 2011-2012 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of + cat + cat + cat + cat + cat + chmod a+x 1.test 2.test 3.test + aclocal-1.12 -Werror + autoconf + automake-1.12 --foreign -Werror -Wall + for try in 0 1 + test 0 -eq 0 + mkdir build + cd build + srcdir=.. + run_make=make + ../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... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + ls -l total 64 -rw-r--r-- 1 stefano stefano 27456 May 5 16:57 Makefile -rw-r--r-- 1 stefano stefano 5004 May 5 16:57 config.log -rwxr-xr-x 1 stefano stefano 25212 May 5 16:57 config.status + make check + cat stdout make check-TESTS make[1]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' make[2]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' PASS: 1.test 1 - mu SKIP: 1.test 2 zardoz # SKIP PASS: 2.test 1 XFAIL: 2.test 2 # TODO not implemented PASS: 2.test 3 PASS: 3.test 1 - blah blah blah # 3.test: Some diagnostic make[3]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' ============================================================================ Testsuite summary for tap-more 1.0 ============================================================================ # TOTAL: 6 # PASS: 4 # SKIP: 1 # XFAIL: 1 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[2]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' make[1]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' + count_test_results total=6 pass=4 fail=0 xpass=0 xfail=1 skip=1 error=0 + total=ERR + pass=ERR + fail=ERR + xpass=ERR + xfail=ERR + skip=ERR + error=ERR + eval total=6 pass=4 fail=0 xpass=0 xfail=1 skip=1 error=0 ++ total=6 ++ pass=4 ++ fail=0 ++ xpass=0 ++ xfail=1 ++ skip=1 ++ error=0 + /bin/grep -E -i '(total|x?pass|x?fail|skip|error)' stdout PASS: 1.test 1 - mu SKIP: 1.test 2 zardoz # SKIP PASS: 2.test 1 XFAIL: 2.test 2 # TODO not implemented PASS: 2.test 3 PASS: 3.test 1 - blah blah blah # TOTAL: 6 # PASS: 4 # SKIP: 1 # XFAIL: 1 # FAIL: 0 # XPASS: 0 # ERROR: 0 + rc=0 + set +e ++ grep -c '^PASS:' stdout + test 4 -eq 4 ++ grep -c '^XFAIL:' stdout + test 1 -eq 1 ++ grep -c '^SKIP:' stdout + test 1 -eq 1 ++ grep -c '^FAIL:' stdout + test 0 -eq 0 ++ grep -c '^XPASS:' stdout + test 0 -eq 0 ++ grep -c '^ERROR:' stdout + test 0 -eq 0 + grep '^# TOTAL: *6$' stdout # TOTAL: 6 + grep '^# PASS: *4$' stdout # PASS: 4 + grep '^# XFAIL: *1$' stdout # XFAIL: 1 + grep '^# SKIP: *1$' stdout # SKIP: 1 + grep '^# FAIL: *0$' stdout # FAIL: 0 + grep '^# XPASS: *0$' stdout # XPASS: 0 + grep '^# ERROR: *0$' stdout # ERROR: 0 + test 0 -eq 0 + grep '^PASS: 1\.test 1 - mu$' stdout PASS: 1.test 1 - mu + grep '^SKIP: 1\.test 2 zardoz # SKIP$' stdout SKIP: 1.test 2 zardoz # SKIP ++ /bin/grep -F -c 1.test stdout + test 2 -eq 2 + grep '^PASS: 2\.test 1$' stdout PASS: 2.test 1 + grep '^XFAIL: 2\.test 2 # TODO not implemented$' stdout XFAIL: 2.test 2 # TODO not implemented + grep '^PASS: 2\.test 3$' stdout PASS: 2.test 3 ++ /bin/grep -F -c 2.test stdout + test 3 -eq 3 + grep '^PASS: 3\.test 1 - blah blah blah$' stdout PASS: 3.test 1 - blah blah blah + grep '^# 3\.test: Some diagnostic$' stdout # 3.test: Some diagnostic ++ /bin/grep -F -c 3.test stdout + test 2 -eq 2 + echo dummy + echo dummy + make check make[2]: *** [test-suite.log] Error 1 make[1]: *** [check-TESTS] Error 2 make: *** [check-am] Error 2 + cat stdout make check-TESTS make[1]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' make[2]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' PASS: 1.test 1 - mu FAIL: 1.test 2 zardoz PASS: 2.test 1 XFAIL: 2.test 2 # TODO not implemented PASS: 2.test 3 PASS: 3.test 1 - blah blah blah # 3.test: Some diagnostic ERROR: 3.test - Bail out! Kernel Panic make[3]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' ============================================================================ Testsuite summary for tap-more 1.0 ============================================================================ # TOTAL: 7 # PASS: 4 # SKIP: 0 # XFAIL: 1 # FAIL: 1 # XPASS: 0 # ERROR: 1 ============================================================================ See ./test-suite.log ============================================================================ make[2]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' make[1]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir/build' + count_test_results total=7 pass=4 fail=1 xpass=0 xfail=1 skip=0 error=1 + total=ERR + pass=ERR + fail=ERR + xpass=ERR + xfail=ERR + skip=ERR + error=ERR + eval total=7 pass=4 fail=1 xpass=0 xfail=1 skip=0 error=1 ++ total=7 ++ pass=4 ++ fail=1 ++ xpass=0 ++ xfail=1 ++ skip=0 ++ error=1 + /bin/grep -E -i '(total|x?pass|x?fail|skip|error)' stdout PASS: 1.test 1 - mu FAIL: 1.test 2 zardoz PASS: 2.test 1 XFAIL: 2.test 2 # TODO not implemented PASS: 2.test 3 PASS: 3.test 1 - blah blah blah ERROR: 3.test - Bail out! Kernel Panic # TOTAL: 7 # PASS: 4 # SKIP: 0 # XFAIL: 1 # FAIL: 1 # XPASS: 0 # ERROR: 1 + rc=0 + set +e ++ grep -c '^PASS:' stdout + test 4 -eq 4 ++ grep -c '^XFAIL:' stdout + test 1 -eq 1 ++ grep -c '^SKIP:' stdout + test 0 -eq 0 ++ grep -c '^FAIL:' stdout + test 1 -eq 1 ++ grep -c '^XPASS:' stdout + test 0 -eq 0 ++ grep -c '^ERROR:' stdout + test 1 -eq 1 + grep '^# TOTAL: *7$' stdout # TOTAL: 7 + grep '^# PASS: *4$' stdout # PASS: 4 + grep '^# XFAIL: *1$' stdout # XFAIL: 1 + grep '^# SKIP: *0$' stdout # SKIP: 0 + grep '^# FAIL: *1$' stdout # FAIL: 1 + grep '^# XPASS: *0$' stdout # XPASS: 0 + grep '^# ERROR: *1$' stdout # ERROR: 1 + test 0 -eq 0 + grep '^PASS: 1\.test 1 - mu$' stdout PASS: 1.test 1 - mu + grep '^FAIL: 1\.test 2 zardoz$' stdout FAIL: 1.test 2 zardoz ++ /bin/grep -F -c 1.test stdout + test 2 -eq 2 + grep '^PASS: 2\.test 1$' stdout PASS: 2.test 1 + grep '^XFAIL: 2\.test 2 # TODO not implemented$' stdout XFAIL: 2.test 2 # TODO not implemented + grep '^PASS: 2\.test 3$' stdout PASS: 2.test 3 ++ /bin/grep -F -c 2.test stdout + test 3 -eq 3 + grep '^PASS: 3\.test 1 - blah blah blah$' stdout PASS: 3.test 1 - blah blah blah + grep '^# 3\.test: Some diagnostic$' stdout # 3.test: Some diagnostic + grep '^ERROR: 3\.test - Bail out! Kernel Panic$' stdout ERROR: 3.test - Bail out! Kernel Panic ++ /bin/grep -F -c 3.test stdout + test 3 -eq 3 + cd .. + for try in 0 1 + test 1 -eq 0 + test 1 -eq 1 + srcdir=. + case $MAKE in + echo all: + for run_make in '"$MAKE -j3"' '"$MAKE -j 3"' '"$MAKE"' + make -j3 make: Nothing to be done for `all'. + break + rm -f Makefile + ./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... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + ls -l total 320 -rwxr-xr-x 1 stefano stefano 123 May 5 16:57 1.test -rwxr-xr-x 1 stefano stefano 80 May 5 16:57 2.test -rwxr-xr-x 1 stefano stefano 141 May 5 16:57 3.test -rw-r--r-- 1 stefano stefano 27414 May 5 16:57 Makefile -rw-r--r-- 1 stefano stefano 101 May 5 16:57 Makefile.am -rw-r--r-- 1 stefano stefano 26796 May 5 16:57 Makefile.in -rw-r--r-- 1 stefano stefano 21856 May 5 16:57 aclocal.m4 drwxr-xr-x 2 stefano stefano 4096 May 5 16:57 autom4te.cache drwxr-xr-x 2 stefano stefano 4096 May 5 16:57 build -rw-r--r-- 1 stefano stefano 4991 May 5 16:57 config.log -rwxr-xr-x 1 stefano stefano 25363 May 5 16:57 config.status -rwxr-xr-x 1 stefano stefano 100365 May 5 16:57 configure -rw-r--r-- 1 stefano stefano 153 May 5 16:57 configure.ac -rwxr-xr-x 1 stefano stefano 20842 May 5 16:57 depcomp -rwxr-xr-x 1 stefano stefano 13997 May 5 16:57 install-sh -rwxr-xr-x 1 stefano stefano 10179 May 5 16:57 missing -rwxr-xr-x 1 stefano stefano 19514 May 5 16:57 tap-driver + make -j3 check + cat stdout make check-TESTS make[1]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir' make[2]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir' PASS: 1.test 1 - mu SKIP: 1.test 2 zardoz # SKIP PASS: 2.test 1 XFAIL: 2.test 2 # TODO not implemented PASS: 2.test 3 make[3]: Entering directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir' ============================================================================ Testsuite summary for tap-more 1.0 ============================================================================ # TOTAL: 6 # PASS: 4 # SKIP: 1 # XFAIL: 1 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[2]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir' make[1]: Leaving directory `/devel/stefano/src/am/branches/trunks/t/tap-more.dir' + count_test_results total=6 pass=4 fail=0 xpass=0 xfail=1 skip=1 error=0 + total=ERR + pass=ERR + fail=ERR + xpass=ERR + xfail=ERR + skip=ERR + error=ERR + eval total=6 pass=4 fail=0 xpass=0 xfail=1 skip=1 error=0 ++ total=6 ++ pass=4 ++ fail=0 ++ xpass=0 ++ xfail=1 ++ skip=1 ++ error=0 + /bin/grep -E -i '(total|x?pass|x?fail|skip|error)' stdout PASS: 1.test 1 - mu SKIP: 1.test 2 zardoz # SKIP PASS: 2.test 1 XFAIL: 2.test 2 # TODO not implemented PASS: 2.test 3 # TOTAL: 6 # PASS: 4 # SKIP: 1 # XFAIL: 1 # FAIL: 0 # XPASS: 0 # ERROR: 0 + rc=0 + set +e ++ grep -c '^PASS:' stdout + test 3 -eq 4 + rc=1 ++ grep -c '^XFAIL:' stdout + test 1 -eq 1 ++ grep -c '^SKIP:' stdout + test 1 -eq 1 ++ grep -c '^FAIL:' stdout + test 0 -eq 0 ++ grep -c '^XPASS:' stdout + test 0 -eq 0 ++ grep -c '^ERROR:' stdout + test 0 -eq 0 + grep '^# TOTAL: *6$' stdout # TOTAL: 6 + grep '^# PASS: *4$' stdout # PASS: 4 + grep '^# XFAIL: *1$' stdout # XFAIL: 1 + grep '^# SKIP: *1$' stdout # SKIP: 1 + grep '^# FAIL: *0$' stdout # FAIL: 0 + grep '^# XPASS: *0$' stdout # XPASS: 0 + grep '^# ERROR: *0$' stdout # ERROR: 0 + test 1 -eq 0 + exit_status=1 + set +e + cd /home/stefano/src/am/branches/trunks + test no = yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=yes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x tap-more: exit 1 From debbugs-submit-bounces@debbugs.gnu.org Sat May 05 13:36:35 2012 Received: (at 11413) by debbugs.gnu.org; 5 May 2012 17:36:36 +0000 Received: from localhost ([127.0.0.1]:37376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SQiuJ-00087r-94 for submit@debbugs.gnu.org; Sat, 05 May 2012 13:36:35 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:63399) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SQiuG-00087c-OU; Sat, 05 May 2012 13:36:34 -0400 Received: by bkty8 with SMTP id y8so2923501bkt.3 for ; Sat, 05 May 2012 10:34:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; bh=q9mNkyF6vMSJJ0Nay/XGuSzpgce79xkknHnTvwbWuDU=; b=vWWIOja1ezVNb11vRvh1ZMlOCbKaMpnUQ8dj+O2925xR0hxjD0eNb1KmGFrd+Pc6GI Nfo18pVlLuBvsiTOMMxqm4fa8wGHb8HnaN0Nw3agiU08D+sc1T6jZZOgQPxEDiY5sA8j N9T561dBIEGeWMC6aKbHKFo4bP0QzOdSXQjjjlL28Qx0Tj+vlQL/bldWR67ataC/KTUT 6j4jn79Uklkw5zbyroXwILf2iMONGAVYP22Xi3c1vyIDfDrL1asp2NLGNeEnxfcVlp8L LqVu1EaDknnBZpqMME/7MFysTmv3JU1Z7bAd6XCEtdu7Gbirlusc1+gDZUv6UL3qz8pP aFBA== Received: by 10.204.145.78 with SMTP id c14mr3452439bkv.43.1336239276101; Sat, 05 May 2012 10:34:36 -0700 (PDT) Received: from [87.4.94.210] (host210-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.210]) by mx.google.com with ESMTPS id h18sm22866802bkh.8.2012.05.05.10.34.34 (version=SSLv3 cipher=OTHER); Sat, 05 May 2012 10:34:35 -0700 (PDT) Message-ID: <4FA564A8.1000706@gmail.com> Date: Sat, 05 May 2012 19:34:32 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: 11413@debbugs.gnu.org Subject: Re: bug#11413: Racy failure in test case 'tap-more.sh' References: <4FA54C96.1060606@gmail.com> In-Reply-To: <4FA54C96.1060606@gmail.com> Content-Type: multipart/mixed; boundary="------------000403020109090503080808" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11413 Cc: "automake-patches@gnu.org" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) This is a multi-part message in MIME format. --------------000403020109090503080808 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit tags 11413 + patch close 11413 thanks On 05/05/2012 05:51 PM, Stefano Lattarini wrote: > Severity: minor > > I'm sporadically seeing the failure below in the test 'tap-more.sh'. > > Anyone has an insight about what's going on? > Such an insight is offered by an older commit: commit 642699970e75580e0f11f5786302082e25d8f49c Author: Ralf Wildenhues Date: Tue Mar 10 21:33:47 2009 +0100 Use append mode to capture parallel test output. * tests/lisp8.test: Use append mode for output from `make -j', to avoid dropped lines. * tests/parallel-tests3.test: Likewise. Signed-off-by: Ralf Wildenhues I've verified (with the help of the attached script) that such an issue is indeed present on the affected systems (my Debian box and the Fedora ppc64 system offered by the GCC compile farm), and I've pushed the attached patch to fix it. I'm thus closing this bug report. Regards, Stefano --------------000403020109090503080808 Content-Type: application/x-sh; name="foo.sh" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="foo.sh" #!/bin/bash i=0 cat > Makefile <<'END' all = 0 1 2 3 4 5 6 7 8 9 default: $(all) $(all): @n=$$(($$RANDOM % 10)); sleep 0.$$n; echo $@ 0.$$n END while :; do let ++i echo "*** RUN: $i ***" make -s -j4 > stdout sed 's/^/ > /' stdout test `wc -l From 45c1fcd986d38467662a1ec253d80304d7630f4f Mon Sep 17 00:00:00 2001 Message-Id: <45c1fcd986d38467662a1ec253d80304d7630f4f.1336238943.git.stefano.lattarini@gmail.com> In-Reply-To: <952d91c054d4e68731a23752afc904f9f9061491.1336238943.git.stefano.lattarini@gmail.com> References: <952d91c054d4e68731a23752afc904f9f9061491.1336238943.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Sat, 5 May 2012 19:22:40 +0200 Subject: [PATCH 2/2] tests: use append mode to capture parallel make output This should fix the spurious failure reported in automake bug#11413. This is due to the fact that the redirected output of parallel make can racily loose lines. For example, if GNU make (3.82) is run on a Makefile like this: all = 0 1 2 3 4 5 6 7 8 9 default: $(all) $(all): @sleep 0.$$(($RANDOM % 10)); echo $@ and has its standard output redirected in overwrite-mode to a regular file, it looses a line of that output every 15 runs or so on a Fedora 17 system with 64 ppc64 cores and Linux 3.3.1. Redirection in append mode does not suffer of this problem. See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10, "Use append mode to capture parallel test output", which tackled a similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'. * t/tap-more.sh: Use append mode for output from "make -j", to avoid dropped lines. * t/parallel-tests3.sh, t/lisp8.sh: Enhance comments. Signed-off-by: Stefano Lattarini --- t/lisp8.sh | 2 ++ t/parallel-tests3.sh | 5 ++--- t/tap-more.sh | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/t/lisp8.sh b/t/lisp8.sh index 299ecd0..738cbd6 100755 --- a/t/lisp8.sh +++ b/t/lisp8.sh @@ -37,6 +37,7 @@ $AUTOCONF $AUTOMAKE --add-missing ./configure +# Use append mode here to avoid dropping output. See automake bug#11413. : >stdout $MAKE -j >>stdout || { cat stdout; Exit 1; } @@ -50,6 +51,7 @@ test -f elc-stamp rm -f am-*.elc +# Use append mode here to avoid dropping output. See automake bug#11413. : >stdout $MAKE -j >>stdout || { cat stdout; Exit 1; } diff --git a/t/parallel-tests3.sh b/t/parallel-tests3.sh index f06d093..98467e6 100755 --- a/t/parallel-tests3.sh +++ b/t/parallel-tests3.sh @@ -90,9 +90,8 @@ cd serial $MAKE ${j}1 check & cd ../parallel $sleep -# Use append mode here to avoid dropping output. -# Yes, this actually happens. -: >stdout +# Use append mode here to avoid dropping output. See automake bug#11413. +: > stdout $MAKE ${j}4 check >> stdout cd .. # Ensure the tests are really being run in parallel mode: if this is diff --git a/t/tap-more.sh b/t/tap-more.sh index 6f5d5fe..d275bd9 100755 --- a/t/tap-more.sh +++ b/t/tap-more.sh @@ -118,7 +118,12 @@ for try in 0 1; do # Success. - $run_make check >stdout || { cat stdout; Exit 1; } + # Use append mode here to avoid dropping output. See automake bug#11413. + # Also, use 'echo' here to "nullify" the previous contents of 'stdout', + # since Solaris 10 /bin/sh would try to optimize a ':' away after the + # first iteration, even if it is redirected. + echo " " >stdout + $run_make check >>stdout || { cat stdout; Exit 1; } cat stdout count_test_results total=6 pass=4 fail=0 xpass=0 xfail=1 skip=1 error=0 grep '^PASS: 1\.test 1 - mu$' stdout @@ -138,7 +143,12 @@ for try in 0 1; do # a ':' away after the first iteration, even if it is redirected. echo dummy > not-skip echo dummy > bail-out - $run_make check >stdout && { cat stdout; Exit 1; } + # Use append mode here to avoid dropping output. See automake bug#11413. + # Also, use 'echo' here to "nullify" the previous contents of 'stdout', + # since Solaris 10 /bin/sh would try to optimize a ':' away after the + # first iteration, even if it is redirected. + echo " " >stdout + $run_make check >>stdout && { cat stdout; Exit 1; } cat stdout count_test_results total=7 pass=4 fail=1 xpass=0 xfail=1 skip=0 error=1 grep '^PASS: 1\.test 1 - mu$' stdout -- 1.7.9.5 --------------000403020109090503080808-- From unknown Sun Jun 15 08:57:50 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 03 Jun 2012 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Sun May 26 05:11:17 2013 Received: (at control) by debbugs.gnu.org; 26 May 2013 09:11:18 +0000 Received: from localhost ([127.0.0.1]:35228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UgWyz-0004VA-9n for submit@debbugs.gnu.org; Sun, 26 May 2013 05:11:17 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:61819) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UgWyq-0004UH-Ht; Sun, 26 May 2013 05:11:10 -0400 Received: by mail-wg0-f44.google.com with SMTP id a12so3734344wgh.35 for ; Sun, 26 May 2013 02:09:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:content-type :content-transfer-encoding; bh=1l3EF5iUcDD3J2j99AqxqH5wVECn5h+IYd7kz5EoaYo=; b=g98waYxL+vk0VSAaw1qRKX+sTVOt5mHgmvLKXSe0khUhl9SvhXscH6oWgaRj1eZSBe /YwVJdIWztqGjnG3SHNCY+r0/+5dIZH2y5LVdiHWLAzsc4rnEq4b+9PzSRDPmWrz8poP ElSil1EWp7eYzHRnACfozE9IVVIe5ENnVaqheA/6X90Q0loMSbeCsd508p7D2loVriRs LQPaP0TuYatYPGjzWv+4z5164NxduljFeVzo/qykU4VEHpemfl22J79D2S8WZEcgvPMu F3HS7NNzjF3pTtOPFDHD3x8oh/CLrdVeZVST1ljo+VbYmaeWsWCh5N3YliTjeC4QXxBN 3fBw== X-Received: by 10.194.63.140 with SMTP id g12mr4680416wjs.13.1369559396812; Sun, 26 May 2013 02:09:56 -0700 (PDT) Received: from [192.168.178.20] (host93-95-dynamic.6-79-r.retail.telecomitalia.it. [79.6.95.93]) by mx.google.com with ESMTPSA id bo9sm20598022eeb.9.2013.05.26.02.09.55 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 26 May 2013 02:09:55 -0700 (PDT) Message-ID: <51A1D162.9050109@gmail.com> Date: Sun, 26 May 2013 11:09:54 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: 11413@debbugs.gnu.org Subject: update: parallel make redirections Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: control Cc: GNU bug tracker automated control server X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) unarchive 11413 retitle 11413 Issues with output redirection for parallel make archive 11413 UPDATE: one year later The redirection issues described in this report were also making it impossible to try the Automake testsuite with parallel make, as with: make check AM_TESTSUITE_MAKE="make -j8" Racy, random failures were in fact often present, making it hard to trust the results of the command above. Which was especially annoying because, with today's fast multicore machines, is becoming more and more important to ensure Automake-generated Makefiles work correctly when run in parallel mode. The issue has been fixed for the testsuite as a whole with a recent set of commits, the most significant of is commit d19eb85c, "tests: use append mode to capture parallel make output": Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Sun May 26 05:20:57 2013 Received: (at control) by debbugs.gnu.org; 26 May 2013 09:20:57 +0000 Received: from localhost ([127.0.0.1]:35236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UgX8J-0005pO-J4 for submit@debbugs.gnu.org; Sun, 26 May 2013 05:20:57 -0400 Received: from mail-wi0-f177.google.com ([209.85.212.177]:65524) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UgX8H-0005p3-3F for control@debbugs.gnu.org; Sun, 26 May 2013 05:20:54 -0400 Received: by mail-wi0-f177.google.com with SMTP id hr14so771407wib.10 for ; Sun, 26 May 2013 02:19:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; bh=mY0Xdqsh1+UmOK1gppII086MSKtO5Rwv41VZCZoFVXM=; b=tIWpdHKffJXJSGXOfOKMZPeGNvZpeLx9c6HsE1Bxt9O7q2csMs6kpoNF/E1181mC7B Baw45By/tuSaWUmfCz7aHdgVfhI2I10tDeeCwEDrF+Ghnr2Ef5oF2/gEN/0EhFNmwvPQ t6Dgxmt1fEF3VQls7a7AJgpRnA+968KVFt1/ryMS0JLCPdPmsBiE85QS7JugTr5DAkAD uz9VPkvWQpKmOaehjVEfemIOTYM6yxyDOMUEgUx5vc4n98s+DhoOfE/Zefa1P2XW+ESO n8h/W2gGuzEUw63zp/bo+R3CYCQn5MSKHwYUG603MGT5JFb+7jv/ouTp3zoJGI91ok57 KqpQ== X-Received: by 10.180.90.43 with SMTP id bt11mr4284414wib.30.1369559981509; Sun, 26 May 2013 02:19:41 -0700 (PDT) Received: from [192.168.178.20] (host93-95-dynamic.6-79-r.retail.telecomitalia.it. [79.6.95.93]) by mx.google.com with ESMTPSA id c5sm18855180eeu.8.2013.05.26.02.19.39 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 26 May 2013 02:19:40 -0700 (PDT) Message-ID: <51A1D3AA.8020500@gmail.com> Date: Sun, 26 May 2013 11:19:38 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: GNU bug tracker automated control server Subject: x Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) unarchive 11413 stop UPDATE: one year later The redirection issues described in this report were also making it impossible to try the Automake testsuite with parallel make, as with: make check AM_TESTSUITE_MAKE="make -j8" Racy, random failures were in fact often present, making it hard to trust the results of the command above. Which was especially annoying because, with today's fast multicore machines, is becoming more and more important to ensure Automake-generated Makefiles work correctly when run in parallel mode. The issue has been fixed for the testsuite as a whole with a recent set of commits, the most significant of is commit d19eb85c, "tests: use append mode to capture parallel make output": Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Sun May 26 05:21:33 2013 Received: (at 11413) by debbugs.gnu.org; 26 May 2013 09:21:34 +0000 Received: from localhost ([127.0.0.1]:35241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UgX8u-0005s6-I1 for submit@debbugs.gnu.org; Sun, 26 May 2013 05:21:33 -0400 Received: from mail-we0-f178.google.com ([74.125.82.178]:51578) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UgX8s-0005rn-Vs for 11413@debbugs.gnu.org; Sun, 26 May 2013 05:21:31 -0400 Received: by mail-we0-f178.google.com with SMTP id q56so3559337wes.37 for <11413@debbugs.gnu.org>; Sun, 26 May 2013 02:20:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; bh=lsupB4Cx7FcbgjM+wZcvQrk6BE9QSYOQC01PfF1HfqM=; b=ZK1G5qOLpVUnPyHXQc+/GW5dBNLOaqX43deiUV8HmG7f0xVgSlLPJ2iXhp0ByYDwG0 1ocvV2ryDeSNOYaMtP9KZs7xqkkGw6WkZw2Wq+pch3xer/4RmHINCzga9ezc+PIzIevG I2fYWVvuEEuEmKzIMcVdndtTzTUX3DBP+1aynvE81lBtaSVunxNWyJQc0pXJ+Mtgzp7E 6W0jmpQb6ZZjP0scW53U/c83E/hSmqu1kNCoB3ItdGHOldPocpj80wUHD7bWkWKiwim+ 5ZxCbrvuDGKFj6L+sF4hCUwxg1lk4U0AwS3XioBBra2TWcvpA5CP9ewgSynBXC/syXFF hDXQ== X-Received: by 10.180.105.161 with SMTP id gn1mr4437455wib.5.1369560019469; Sun, 26 May 2013 02:20:19 -0700 (PDT) Received: from [192.168.178.20] (host93-95-dynamic.6-79-r.retail.telecomitalia.it. [79.6.95.93]) by mx.google.com with ESMTPSA id w43sm5149237eel.0.2013.05.26.02.20.18 for <11413@debbugs.gnu.org> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 26 May 2013 02:20:18 -0700 (PDT) Message-ID: <51A1D3D1.3000108@gmail.com> Date: Sun, 26 May 2013 11:20:17 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: 11413@debbugs.gnu.org Subject: update: parallel make redirections Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11413 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) UPDATE: one year later The redirection issues described in this report were also making it impossible to try the Automake testsuite with parallel make, as with: make check AM_TESTSUITE_MAKE="make -j8" Racy, random failures were in fact often present, making it hard to trust the results of the command above. Which was especially annoying because, with today's fast multicore machines, is becoming more and more important to ensure Automake-generated Makefiles work correctly when run in parallel mode. The issue has been fixed for the testsuite as a whole with a recent set of commits, the most significant of is commit d19eb85c, "tests: use append mode to capture parallel make output": Regards, Stefano From unknown Sun Jun 15 08:57:50 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 23 Jun 2013 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator