From unknown Sun Jun 22 03:56:00 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#10470 <10470@debbugs.gnu.org> To: bug#10470 <10470@debbugs.gnu.org> Subject: Status: MSYS: race in directory access? Reply-To: bug#10470 <10470@debbugs.gnu.org> Date: Sun, 22 Jun 2025 10:56:00 +0000 retitle 10470 MSYS: race in directory access? reassign 10470 automake submitter 10470 Peter Rosin severity 10470 minor tag 10470 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 09 18:08:29 2012 Received: (at submit) by debbugs.gnu.org; 9 Jan 2012 23:08:29 +0000 Received: from localhost ([127.0.0.1]:51441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkOKK-0004wx-21 for submit@debbugs.gnu.org; Mon, 09 Jan 2012 18:08:29 -0500 Received: from eggs.gnu.org ([140.186.70.92]:34123) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkOKG-0004wj-GX for submit@debbugs.gnu.org; Mon, 09 Jan 2012 18:08:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RkOJt-0008K6-0q for submit@debbugs.gnu.org; Mon, 09 Jan 2012 18:08:02 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([140.186.70.17]:56457) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkOJs-0008K2-UP for submit@debbugs.gnu.org; Mon, 09 Jan 2012 18:08:00 -0500 Received: from eggs.gnu.org ([140.186.70.92]:51845) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkOJq-0001R5-V5 for bug-automake@gnu.org; Mon, 09 Jan 2012 18:08:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RkOJo-0008Js-K4 for bug-automake@gnu.org; Mon, 09 Jan 2012 18:07:58 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:38867) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkOJo-0008Jc-1I for bug-automake@gnu.org; Mon, 09 Jan 2012 18:07:56 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 8566440007 for ; Tue, 10 Jan 2012 00:07:52 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 3501540005 for ; Tue, 10 Jan 2012 00:07:52 +0100 (CET) Message-ID: <4F0B734A.9010201@lysator.liu.se> Date: Tue, 10 Jan 2012 00:07:54 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: bug-automake@gnu.org Subject: MSYS: race in directory access? Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -3.4 (---) 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: -3.4 (---) Hi! distcheck-configure-flags-am.test fails on MSYS. I think the cause is that some process lingers with CWD in the _build directory which some other process tries to remove. On MSYS, it's not possible to remove a directory that is "in use" like that. Ugly patch coming up shortly. Cheers, Peter Running from installcheck: no Using TAP: no PATH = /home/peda/automake/tests:/c/Program Files (x86)/Microsoft F#/v4.0/:/c/Program Files (x86)/Microsoft Visual Studio 10.0/VSTSDB/Deploy:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/:/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/BIN:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/Tools/:/c/Windows/Microsoft.NET/Framework/v4.0.30319:/c/Windows/Microsoft.NET/Framework/v3.5:/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/VCPackages:/c/Program Files (x86)/HTML Help Workshop:/c/Program Files (x86)/Microsoft Visual Studio 10.0/Team Tools/Performance Tools:/c/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/bin/NETFX 4.0 Tools:.:/usr/local/bin:/mingw/bin:/bin:/c/Program Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/ ++ pwd /home/peda/automake/tests/distcheck-configure-flags-am.dir + cat + unset sentence + cat + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + /bin/grep -F '$(DISTCHECK_CONFIGURE_FLAGS)' Makefile.in $(DISTCHECK_CONFIGURE_FLAGS) \ + /bin/grep -F '$(AM_DISTCHECK_CONFIGURE_FLAGS)' Makefile.in $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + grep 'DISTCHECK_CONFIGURE_FLAGS.*AM_DISTCHECK_CONFIGURE_FLAGS' Makefile.in + autoconf -B /no/such/dir + ./configure --enable-success 'sentence=it works :-)' checking for a BSD-compatible install... /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 + make distcheck make dist-gzip am__post_remove_distdir='@:' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } test -d "distcheck-configure-flags-am-1.0" || mkdir "distcheck-configure-flags-am-1.0" test -n "" \ || find "distcheck-configure-flags-am-1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /home/peda/automake/tests/distcheck-configure-flags-am.dir/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "distcheck-configure-flags-am-1.0" tardir=distcheck-configure-flags-am-1.0 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >distcheck-configure-flags-am-1.0.tar.gz make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } case 'distcheck-configure-flags-am-1.0.tar.gz' in \ *.tar.gz*) \ GZIP=--best gzip -dc distcheck-configure-flags-am-1.0.tar.gz | ${TAR-tar} xf - ;;\ *.tar.bz2*) \ bzip2 -dc distcheck-configure-flags-am-1.0.tar.bz2 | ${TAR-tar} xf - ;;\ *.tar.lz*) \ lzip -dc distcheck-configure-flags-am-1.0.tar.lz | ${TAR-tar} xf - ;;\ *.tar.xz*) \ xz -dc distcheck-configure-flags-am-1.0.tar.xz | ${TAR-tar} xf - ;;\ *.tar.Z*) \ uncompress -c distcheck-configure-flags-am-1.0.tar.Z | ${TAR-tar} xf - ;;\ *.shar.gz*) \ GZIP=--best gzip -dc distcheck-configure-flags-am-1.0.shar.gz | unshar ;;\ *.zip*) \ unzip distcheck-configure-flags-am-1.0.zip ;;\ esac chmod -R a-w distcheck-configure-flags-am-1.0; chmod a+w distcheck-configure-flags-am-1.0 mkdir distcheck-configure-flags-am-1.0/_build mkdir distcheck-configure-flags-am-1.0/_inst chmod a-w distcheck-configure-flags-am-1.0 test -d distcheck-configure-flags-am-1.0/_build || exit 0; \ dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd distcheck-configure-flags-am-1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ && am__cwd=`pwd` \ && CDPATH="${ZSH_VERSION+.}:" && cd distcheck-configure-flags-am-1.0/_build \ && ../configure --srcdir=.. --prefix="$dc_install_base" \ --enable-success sentence='it works :-)' \ \ && make \ && make dvi \ && make check \ && make install \ && make installcheck \ && make uninstall \ && make distuninstallcheck_dir="$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$dc_destdir") \ && make DESTDIR="$dc_destdir" install \ && make DESTDIR="$dc_destdir" uninstall \ && make DESTDIR="$dc_destdir" \ distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ } || { rm -rf "$dc_destdir"; exit 1; }) \ && rm -rf "$dc_destdir" \ && make dist \ && rm -rf distcheck-configure-flags-am-1.0.tar.gz \ && make distcleancheck \ && cd "$am__cwd" \ || exit 1 checking for a BSD-compatible install... /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 make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Nothing to be done for `dvi'. make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[2]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Nothing to be done for `installcheck'. make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Nothing to be done for `uninstall'. make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[2]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Nothing to be done for `uninstall'. make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make dist-gzip am__post_remove_distdir='@:' make[2]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } test -d "distcheck-configure-flags-am-1.0" || mkdir "distcheck-configure-flags-am-1.0" test -n "" \ || find "distcheck-configure-flags-am-1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "distcheck-configure-flags-am-1.0" tardir=distcheck-configure-flags-am-1.0 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >distcheck-configure-flags-am-1.0.tar.gz make[2]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' test -z "" || rm -f test . = ".." || test -z "" || rm -f rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f Makefile make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir/distcheck-configure-flags-am-1.0/_build' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } ================================================================== distcheck-configure-flags-am-1.0 archives ready for distribution: distcheck-configure-flags-am-1.0.tar.gz ================================================================== + cat + automake-1.11a --foreign -Werror -Wall Makefile + ./config.status Makefile config.status: creating Makefile + make distcheck + cat output make dist-gzip am__post_remove_distdir='@:' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } test -d "distcheck-configure-flags-am-1.0" || mkdir "distcheck-configure-flags-am-1.0" test -n "" \ || find "distcheck-configure-flags-am-1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /home/peda/automake/tests/distcheck-configure-flags-am.dir/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "distcheck-configure-flags-am-1.0" tardir=distcheck-configure-flags-am-1.0 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >distcheck-configure-flags-am-1.0.tar.gz make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } case 'distcheck-configure-flags-am-1.0.tar.gz' in \ *.tar.gz*) \ GZIP=--best gzip -dc distcheck-configure-flags-am-1.0.tar.gz | ${TAR-tar} xf - ;;\ *.tar.bz2*) \ bzip2 -dc distcheck-configure-flags-am-1.0.tar.bz2 | ${TAR-tar} xf - ;;\ *.tar.lz*) \ lzip -dc distcheck-configure-flags-am-1.0.tar.lz | ${TAR-tar} xf - ;;\ *.tar.xz*) \ xz -dc distcheck-configure-flags-am-1.0.tar.xz | ${TAR-tar} xf - ;;\ *.tar.Z*) \ uncompress -c distcheck-configure-flags-am-1.0.tar.Z | ${TAR-tar} xf - ;;\ *.shar.gz*) \ GZIP=--best gzip -dc distcheck-configure-flags-am-1.0.shar.gz | unshar ;;\ *.zip*) \ unzip distcheck-configure-flags-am-1.0.zip ;;\ esac tar: distcheck-configure-flags-am-1.0: time stamp 2012-01-09 23:58:44 is 0.285 s in the future chmod -R a-w distcheck-configure-flags-am-1.0; chmod a+w distcheck-configure-flags-am-1.0 mkdir distcheck-configure-flags-am-1.0/_build mkdir distcheck-configure-flags-am-1.0/_inst chmod a-w distcheck-configure-flags-am-1.0 test -d distcheck-configure-flags-am-1.0/_build || exit 0; \ dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd distcheck-configure-flags-am-1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ && am__cwd=`pwd` \ && CDPATH="${ZSH_VERSION+.}:" && cd distcheck-configure-flags-am-1.0/_build \ && ../configure --srcdir=.. --prefix="$dc_install_base" \ --enable-success sentence='it works :-)' --disable-success \ \ && make \ && make dvi \ && make check \ && make install \ && make installcheck \ && make uninstall \ && make distuninstallcheck_dir="$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$dc_destdir") \ && make DESTDIR="$dc_destdir" install \ && make DESTDIR="$dc_destdir" uninstall \ && make DESTDIR="$dc_destdir" \ distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ } || { rm -rf "$dc_destdir"; exit 1; }) \ && rm -rf "$dc_destdir" \ && make dist \ && rm -rf distcheck-configure-flags-am-1.0.tar.gz \ && make distcleancheck \ && cd "$am__cwd" \ || exit 1 checking for a BSD-compatible install... /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 configure: error: success='no', sentence='it works :-)' make: *** [distcheck] Error 1 + grep '^configure:.* success='\''no'\'', sentence='\''it works :-)'\''' output configure: error: success='no', sentence='it works :-)' + make distcheck DISTCHECK_CONFIGURE_FLAGS=--enable-success=yes make dist-gzip am__post_remove_distdir='@:' make[1]: Entering directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir' { test ! -d "distcheck-configure-flags-am-1.0" || { find "distcheck-configure-flags-am-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "distcheck-configure-flags-am-1.0"; }; } rm: cannot remove directory `distcheck-configure-flags-am-1.0/_build': Permission denied make[1]: *** [distdir] Error 1 make[1]: Leaving directory `/home/peda/automake/tests/distcheck-configure-flags-am.dir' make: *** [dist] Error 2 + exit_status=2 + set +e + cd /home/peda/automake/tests + test no = yes + case $am_explicit_skips in + test 2 -eq 0 + keep_testdirs=yes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x distcheck-configure-flags-am: exit 2 From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 09 18:16:15 2012 Received: (at 10470) by debbugs.gnu.org; 9 Jan 2012 23:16:15 +0000 Received: from localhost ([127.0.0.1]:51446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkORq-000580-QK for submit@debbugs.gnu.org; Mon, 09 Jan 2012 18:16:15 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:44102) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkORm-00057q-Vt for 10470@debbugs.gnu.org; Mon, 09 Jan 2012 18:16:12 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id EFD8540007 for <10470@debbugs.gnu.org>; Tue, 10 Jan 2012 00:15:53 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id D17E440005 for <10470@debbugs.gnu.org>; Tue, 10 Jan 2012 00:15:53 +0100 (CET) Message-ID: <4F0B752B.2050709@lysator.liu.se> Date: Tue, 10 Jan 2012 00:15:55 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: 10470@debbugs.gnu.org Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> In-Reply-To: <4F0B734A.9010201@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 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: -1.9 (-) Peter Rosin skrev 2012-01-10 00:07: > Hi! > > distcheck-configure-flags-am.test fails on MSYS. I think the cause is > that some process lingers with CWD in the _build directory which some > other process tries to remove. On MSYS, it's not possible to remove a > directory that is "in use" like that. > > Ugly patch coming up shortly. As promised. Cheers, Peter >From 8ba67ab9885c8987d7a09ad650bcda69675b8285 Mon Sep 17 00:00:00 2001 From: Peter Rosin Date: Tue, 10 Jan 2012 00:14:08 +0100 Subject: [PATCH] dist: try to avoid race on MSYS when removing the distdir Fixes automake bug#10470. lib/am/distdir.am (am__remove_distdir): Add a short sleep to make old processes release the directory before an attempt to remove it is made. On MSYS, it is not possible to remove a directory that is "in use". --- lib/am/distdir.am | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/lib/am/distdir.am b/lib/am/distdir.am index d8c1a89..e56d33b 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -22,10 +22,13 @@ if %?TOPDIR_P% distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) +## On MSYS (1.0.17) it is not possible to remove a directory that is +## in use, hence the sleep call, which gives processes time to exit +## and "release" the directory before it is removed. am__remove_distdir = \ { test ! -d "$(distdir)" \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + && sleep 1 && rm -fr "$(distdir)"; }; } am__post_remove_distdir = $(am__remove_distdir) endif %?TOPDIR_P% -- 1.7.5.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 04:50:59 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 09:50:59 +0000 Received: from localhost ([127.0.0.1]:51844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkYM6-0006OJ-2D for submit@debbugs.gnu.org; Tue, 10 Jan 2012 04:50:59 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:47479) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkYM2-0006O8-VZ for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 04:50:56 -0500 Received: by wibhj6 with SMTP id hj6so3784980wib.3 for <10470@debbugs.gnu.org>; Tue, 10 Jan 2012 01:50:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=nN5wg5o63smPA8dcjIyysT5CVBPkAQzIJmpOwBNQUfE=; b=uX+TMD7sD1oUaLQdoJHuOR3narwBb+PO/aiNo1d7qPk7IboixiDD4dkEn8IsFPygaW Cr71wpGvPQ8MG7HufhPfa6YdVPdsGwWCZyD5xD0n5KD/ci314b55KEpkdlGhd90QKo0w BMzEuHpwf1o9HrHIAxIgnQkxd4zUnAnvAwn60= Received: by 10.180.104.5 with SMTP id ga5mr1899423wib.21.1326189035470; Tue, 10 Jan 2012 01:50:35 -0800 (PST) Received: from [87.2.102.243] (host243-102-dynamic.2-87-r.retail.telecomitalia.it. [87.2.102.243]) by mx.google.com with ESMTPS id 28sm82616067wby.3.2012.01.10.01.50.34 (version=SSLv3 cipher=OTHER); Tue, 10 Jan 2012 01:50:35 -0800 (PST) Message-ID: <4F0C09E9.7050200@gmail.com> Date: Tue, 10 Jan 2012 10:50:33 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> In-Reply-To: <4F0B752B.2050709@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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 (--) Hi Peter. On 01/10/2012 12:15 AM, Peter Rosin wrote: > Peter Rosin skrev 2012-01-10 00:07: >> Hi! >> >> distcheck-configure-flags-am.test fails on MSYS. > Is this failure consistently reproducible, or racy? If racy, do you have an estimate of its frequency? >> I think the cause is >> that some process lingers with CWD in the _build directory which some >> other process tries to remove. On MSYS, it's not possible to remove a >> directory that is "in use" like that. >> >> Ugly patch coming up shortly. > > As promised. > > Cheers, > Peter > > From 8ba67ab9885c8987d7a09ad650bcda69675b8285 Mon Sep 17 00:00:00 2001 > From: Peter Rosin > Date: Tue, 10 Jan 2012 00:14:08 +0100 > Subject: [PATCH] dist: try to avoid race on MSYS when removing the distdir > > Fixes automake bug#10470. > > lib/am/distdir.am (am__remove_distdir): Add a short sleep to make old > processes release the directory before an attempt to remove it is made. > On MSYS, it is not possible to remove a directory that is "in use". > --- > lib/am/distdir.am | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/lib/am/distdir.am b/lib/am/distdir.am > index d8c1a89..e56d33b 100644 > --- a/lib/am/distdir.am > +++ b/lib/am/distdir.am > @@ -22,10 +22,13 @@ if %?TOPDIR_P% > distdir = $(PACKAGE)-$(VERSION) > top_distdir = $(distdir) > > +## On MSYS (1.0.17) it is not possible to remove a directory that is > +## in use, hence the sleep call, which gives processes time to exit > +## and "release" the directory before it is removed. > am__remove_distdir = \ > { test ! -d "$(distdir)" \ > || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ > - && rm -fr "$(distdir)"; }; } > + && sleep 1 && rm -fr "$(distdir)"; }; } > am__post_remove_distdir = $(am__remove_distdir) > endif %?TOPDIR_P% > Yuck. As you've warned, this is really ugly indeed! I don't think this change is acceptable in its current form simply to pacify a minor[1] testsuite error. Before going ahead, I'd like to have a better understanding of the reason of the failure you are seeing[2] -- even better, a testcase that embodies this understanding by making the issue consistently reproducible. I will give a shot at this later or tomorrow, unless someone beats me. Thanks, Stefano -*-*- [1] Two reasons for which I see the error as minor: - failing to remove the $(distdir) right away is not a serious error, just a minor annoyance, and easily fixed by a hand-issued "rm -rf"; - IMHO, one shouldn't be using a "peculiar" system like MSYS to build real distribution tarballs anyway. [2] Now that I think of it, my knee-jerk guess is that the "( sleep 1 ) &" put in configure by AM_SANITY_CHECK is the likely culprit. From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 05:13:02 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 10:13:02 +0000 Received: from localhost ([127.0.0.1]:51864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkYhR-0006sO-Ma for submit@debbugs.gnu.org; Tue, 10 Jan 2012 05:13:02 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:51796) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkYhO-0006sA-J2 for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 05:13:00 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 8750B40007; Tue, 10 Jan 2012 11:12:37 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 313AB40005; Tue, 10 Jan 2012 11:12:37 +0100 (CET) Message-ID: <4F0C0F18.2060601@lysator.liu.se> Date: Tue, 10 Jan 2012 11:12:40 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> In-Reply-To: <4F0C09E9.7050200@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-10 10:50: > Hi Peter. > > On 01/10/2012 12:15 AM, Peter Rosin wrote: >> Peter Rosin skrev 2012-01-10 00:07: >>> Hi! >>> >>> distcheck-configure-flags-am.test fails on MSYS. >> > Is this failure consistently reproducible, or racy? If racy, do you have > an estimate of its frequency? If the analysis is correct and it really is some other process that "sits" in the to be removed directory, then it is bound to be a race. And the "locked directory" thing certainly appears to be the problem. But apart from that, it seems that the winner of the race is easy to predict, at least going by from my limited runs (say 5 or 10 with sleep and 5 or so without) as I can reproduce the problem by removing the sleep and work around it by adding the sleep. >>> I think the cause is >>> that some process lingers with CWD in the _build directory which some >>> other process tries to remove. On MSYS, it's not possible to remove a >>> directory that is "in use" like that. >>> >>> Ugly patch coming up shortly. >> >> As promised. >> >> Cheers, >> Peter >> >> From 8ba67ab9885c8987d7a09ad650bcda69675b8285 Mon Sep 17 00:00:00 2001 >> From: Peter Rosin >> Date: Tue, 10 Jan 2012 00:14:08 +0100 >> Subject: [PATCH] dist: try to avoid race on MSYS when removing the distdir >> >> Fixes automake bug#10470. >> >> lib/am/distdir.am (am__remove_distdir): Add a short sleep to make old >> processes release the directory before an attempt to remove it is made. >> On MSYS, it is not possible to remove a directory that is "in use". >> --- >> lib/am/distdir.am | 5 ++++- >> 1 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git a/lib/am/distdir.am b/lib/am/distdir.am >> index d8c1a89..e56d33b 100644 >> --- a/lib/am/distdir.am >> +++ b/lib/am/distdir.am >> @@ -22,10 +22,13 @@ if %?TOPDIR_P% >> distdir = $(PACKAGE)-$(VERSION) >> top_distdir = $(distdir) >> >> +## On MSYS (1.0.17) it is not possible to remove a directory that is >> +## in use, hence the sleep call, which gives processes time to exit >> +## and "release" the directory before it is removed. >> am__remove_distdir = \ >> { test ! -d "$(distdir)" \ >> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >> - && rm -fr "$(distdir)"; }; } >> + && sleep 1 && rm -fr "$(distdir)"; }; } >> am__post_remove_distdir = $(am__remove_distdir) >> endif %?TOPDIR_P% >> > Yuck. As you've warned, this is really ugly indeed! I don't think this change > is acceptable in its current form simply to pacify a minor[1] testsuite error. No problem. > Before going ahead, I'd like to have a better understanding of the reason of > the failure you are seeing[2] -- even better, a testcase that embodies this > understanding by making the issue consistently reproducible. > > I will give a shot at this later or tomorrow, unless someone beats me. > > Thanks, > Stefano > > -*-*- > > [1] Two reasons for which I see the error as minor: > - failing to remove the $(distdir) right away is not a serious error, just > a minor annoyance, and easily fixed by a hand-issued "rm -rf"; > - IMHO, one shouldn't be using a "peculiar" system like MSYS to build real > distribution tarballs anyway. > > [2] Now that I think of it, my knee-jerk guess is that the "( sleep 1 ) &" > put in configure by AM_SANITY_CHECK is the likely culprit. I tried that hypothesis and bumped this to "( sleep 2 ) &", and the test case failed even with my ugly "sleep 1" workaround. I then bumped "my" fix to "sleep 2" and the test case succeeded again. So they certainly seem connected. Cheers, Peter From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 06:35:33 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 11:35:33 +0000 Received: from localhost ([127.0.0.1]:51923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkZzI-0000KR-Ha for submit@debbugs.gnu.org; Tue, 10 Jan 2012 06:35:33 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:40847) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkZzF-0000KF-BX for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 06:35:31 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 49D1240007; Tue, 10 Jan 2012 12:35:08 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id D9C5940005; Tue, 10 Jan 2012 12:35:07 +0100 (CET) Message-ID: <4F0C226F.4050704@lysator.liu.se> Date: Tue, 10 Jan 2012 12:35:11 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> In-Reply-To: <4F0C0F18.2060601@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Peter Rosin skrev 2012-01-10 11:12: > Stefano Lattarini skrev 2012-01-10 10:50: >> [2] Now that I think of it, my knee-jerk guess is that the "( sleep 1 ) &" >> put in configure by AM_SANITY_CHECK is the likely culprit. > > I tried that hypothesis and bumped this to "( sleep 2 ) &", and the test > case failed even with my ugly "sleep 1" workaround. I then bumped "my" fix > to "sleep 2" and the test case succeeded again. So they certainly seem > connected. One further data point; changing that "( sleep 1 ) &" thing followed by a wait just before AC_OUTPUT into an inlined sleep also fixes the test case. As below, but as before, one unconditional second might be too expensive. So, your knee-jerk is sound. Question is what to do... Cheers, Peter diff --git a/m4/sanity.m4 b/m4/sanity.m4 index b718ac4..689781a 100644 --- a/m4/sanity.m4 +++ b/m4/sanity.m4 @@ -69,17 +69,8 @@ fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. -am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! + sleep 1 fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) rm -f conftest.file ]) From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 07:44:50 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 12:44:50 +0000 Received: from localhost ([127.0.0.1]:51947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rkb4M-0002cX-0q for submit@debbugs.gnu.org; Tue, 10 Jan 2012 07:44:50 -0500 Received: from mail-ey0-f172.google.com ([209.85.215.172]:38709) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rkb4J-0002cP-Ej for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 07:44:48 -0500 Received: by eaak10 with SMTP id k10so2663509eaa.3 for <10470@debbugs.gnu.org>; Tue, 10 Jan 2012 04:44:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=t8+vzh8fLWHdl1iGNBT53Ui1hGq+KA6Us6G00MmTvgI=; b=EwLrf4Hn2UUjW8+P9TKSdSxMdpgHZqXi/rQ6RjBzs5+xlbI1roTBHh0zFKyEnBXW59 w0UYsvnSBuchDnmksvDSkb2897ff1Uf8byp9Ivf54B/QoJFlIfnxEAx4JqnxmHKfgtc+ WFYDZIb4MB074dbzxc0jKOr77w0/6KtNFMnbw= Received: by 10.213.4.202 with SMTP id 10mr3986839ebs.100.1326199467126; Tue, 10 Jan 2012 04:44:27 -0800 (PST) Received: from [79.20.99.242] (host242-99-dynamic.20-79-r.retail.telecomitalia.it. [79.20.99.242]) by mx.google.com with ESMTPS id t59sm303872105eeh.10.2012.01.10.04.44.26 (version=SSLv3 cipher=OTHER); Tue, 10 Jan 2012 04:44:26 -0800 (PST) Message-ID: <4F0C32A9.30409@gmail.com> Date: Tue, 10 Jan 2012 13:44:25 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> In-Reply-To: <4F0C226F.4050704@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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 (--) On 01/10/2012 12:35 PM, Peter Rosin wrote: > Peter Rosin skrev 2012-01-10 11:12: >> Stefano Lattarini skrev 2012-01-10 10:50: >>> [2] Now that I think of it, my knee-jerk guess is that the "( sleep 1 ) &" >>> put in configure by AM_SANITY_CHECK is the likely culprit. >> >> I tried that hypothesis and bumped this to "( sleep 2 ) &", and the test >> case failed even with my ugly "sleep 1" workaround. I then bumped "my" fix >> to "sleep 2" and the test case succeeded again. So they certainly seem >> connected. > > One further data point; changing that "( sleep 1 ) &" thing followed by a > wait just before AC_OUTPUT into an inlined sleep also fixes the test case. > Thanks for tracking this down. So the question now becomes: why doesn't the trick with background processes work on MSYS? Does maybe MSYS lack proper emulation of POSIX-ish PIDs? If that is the case, can we easily work around that in our situation? > As below, but as before, one unconditional second might be too expensive. > As a last resort, we might enable this suboptimal-but-safer behaviour only when the build system is recognized to be MinGW/MSYS... ... Or we could take advantage of the bash built-in special variable $SECONDS, if available (that variable was already present in bash 3.0 BTW), and use that to decide whether enough time has elapsed ... WDYT? Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 08:02:38 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 13:02:38 +0000 Received: from localhost ([127.0.0.1]:51973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkbLa-00032A-91 for submit@debbugs.gnu.org; Tue, 10 Jan 2012 08:02:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:1025) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkbLW-000321-1a for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 08:02:36 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q0AD2CYQ011902 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 10 Jan 2012 08:02:12 -0500 Received: from [10.3.113.48] (ovpn-113-48.phx2.redhat.com [10.3.113.48]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q0AD2Bqp001545; Tue, 10 Jan 2012 08:02:11 -0500 Message-ID: <4F0C36D3.5010600@redhat.com> Date: Tue, 10 Jan 2012 06:02:11 -0700 From: Eric Blake Organization: Red Hat User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111222 Thunderbird/9.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> In-Reply-To: <4F0C32A9.30409@gmail.com> X-Enigmail-Version: 1.3.4 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enigDAF3B527B90C745197F80F39" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 10470 Cc: Peter Rosin , 10470@debbugs.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: -6.9 (------) This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigDAF3B527B90C745197F80F39 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 01/10/2012 05:44 AM, Stefano Lattarini wrote: > On 01/10/2012 12:35 PM, Peter Rosin wrote: >> Peter Rosin skrev 2012-01-10 11:12: >>> Stefano Lattarini skrev 2012-01-10 10:50: >>>> [2] Now that I think of it, my knee-jerk guess is that the "( sleep = 1 ) &" >>>> put in configure by AM_SANITY_CHECK is the likely culprit. It IS the culprit. Use of a directory as the cwd _IS_ what prevents removal of said directory. > Thanks for tracking this down. So the question now becomes: why doesn'= t > the trick with background processes work on MSYS? Does maybe MSYS lack= > proper emulation of POSIX-ish PIDs? If that is the case, can we easily= > work around that in our situation? Background processes _do_ work, the problem here is that you cannot rmdir an in-use directory. So as long as the background process still exists, the directory is still in use. But that analysis points out what should be a valid workaround: instead of doing '(sleep 1)&', do '(cd somewhere/safe; sleep 1)&'. Then the cwd of the sleep process is no longer tied to a directory that you plan on removing, so you no longer have to wait for that sleep process to exit. As for what somewhere/safe should be, $(abs_builddir) is probably reasonable. > As a last resort, we might enable this suboptimal-but-safer behaviour > only when the build system is recognized to be MinGW/MSYS... Nah, doing a cd to somewhere safe before sleeping in the background should be non-invasive and appropriate for all platforms. --=20 Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --------------enigDAF3B527B90C745197F80F39 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBCAAGBQJPDDbTAAoJEKeha0olJ0NqCbAIAJKC2cCE+uNU24Wv5bQR4inf zQS7KdIAhiiougs6aTT5OdDT3KY88Bamw4lX9SIubj8Ch3OfwQHjYo7VZ+/JMtgR tDYBWH5YOAUMmTMIJLwKFRYXVGJLg8g1+H+KSEl6LhUKEi99xNopIs+1NtetIo3f VPG8ULbtjckv8P01L3WfAd/IFQ5PTcWv2saotCLMBI5ucVlt8qhzIdoTIfDHr7ya Uees0+8elY3JCIs8uGMc6BfW8KLAWBlnMrO7RLy6lvjNI+Lf0ptR0A1aMbuOy1nl AgycgJLNBWLPjkfAJBTA3qYew4PL68+s7iCs44nCbUpIw5JitR4LfBLPLEXvEPU= =Bbar -----END PGP SIGNATURE----- --------------enigDAF3B527B90C745197F80F39-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 08:14:11 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 13:14:11 +0000 Received: from localhost ([127.0.0.1]:52014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkbWj-0003Is-VF for submit@debbugs.gnu.org; Tue, 10 Jan 2012 08:14:10 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:33123) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkbWd-0003Id-Uy for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 08:14:08 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 2A96F40007; Tue, 10 Jan 2012 14:13:42 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id A45D440005; Tue, 10 Jan 2012 14:13:41 +0100 (CET) Message-ID: <4F0C3988.9080603@lysator.liu.se> Date: Tue, 10 Jan 2012 14:13:44 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> In-Reply-To: <4F0C32A9.30409@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-10 13:44: > On 01/10/2012 12:35 PM, Peter Rosin wrote: >> Peter Rosin skrev 2012-01-10 11:12: >>> Stefano Lattarini skrev 2012-01-10 10:50: >>>> [2] Now that I think of it, my knee-jerk guess is that the "( sleep 1 ) &" >>>> put in configure by AM_SANITY_CHECK is the likely culprit. >>> >>> I tried that hypothesis and bumped this to "( sleep 2 ) &", and the test >>> case failed even with my ugly "sleep 1" workaround. I then bumped "my" fix >>> to "sleep 2" and the test case succeeded again. So they certainly seem >>> connected. >> >> One further data point; changing that "( sleep 1 ) &" thing followed by a >> wait just before AC_OUTPUT into an inlined sleep also fixes the test case. >> > Thanks for tracking this down. So the question now becomes: why doesn't > the trick with background processes work on MSYS? Does maybe MSYS lack > proper emulation of POSIX-ish PIDs? If that is the case, can we easily > work around that in our situation? No no, that's not the problem. In this case "make distcheck" runs configure, but configure fails so it never reaches AC_OUTPUT and the wait call never happens. So, the ( sleep 1 ) subshell lives on and "locks" the directory (but something else is also going on, because changing the subshell to do ( cd /; sleep 1 ) doesn't help). *pling* new mail, from Eric. He explains the issue with different words and suggests: "As for what somewhere/safe should be, $(abs_builddir) is probably reasonable." So, testing that too, but neither cd /, nor cd "$(abs_builddir)" make the test pass. Crap. We could fix it in the testsuite only, by adding a trap to configure that does the wait if it didn't happen before, but that would make use of internals that would perhaps spread. Yuck again. Cheers, Peter From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 10:03:30 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 15:03:30 +0000 Received: from localhost ([127.0.0.1]:52594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkdEY-0005uO-4q for submit@debbugs.gnu.org; Tue, 10 Jan 2012 10:03:30 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:62087) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkdEU-0005uF-Mc for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 10:03:28 -0500 Received: by wibhj6 with SMTP id hj6so4036834wib.3 for <10470@debbugs.gnu.org>; Tue, 10 Jan 2012 07:03:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=rN+2Eom2TvGj1iafXW9/Q3cVq66baZdwxL8oLU8zNms=; b=uYodLAtzpjY82nd4MuOWpDfGq0YigxQ3PKmkxZmxf38Ke1F4LOF54UkW8h9tbsJ03r WeKgqIAGfe4zahjXVJ4QwmmWIDhEER+0pIn41tkHd/OPRSWWsGkQ0x+oy/jlHkM85yAV NMRa137c7yYkZU/TxS8/8DSgXmr/qemS3wmJA= Received: by 10.180.77.43 with SMTP id p11mr3824593wiw.17.1326207785947; Tue, 10 Jan 2012 07:03:05 -0800 (PST) Received: from [82.60.30.193] (host193-30-dynamic.60-82-r.retail.telecomitalia.it. [82.60.30.193]) by mx.google.com with ESMTPS id g26sm57368440wbo.16.2012.01.10.07.03.04 (version=SSLv3 cipher=OTHER); Tue, 10 Jan 2012 07:03:05 -0800 (PST) Message-ID: <4F0C5321.1030001@gmail.com> Date: Tue, 10 Jan 2012 16:02:57 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> In-Reply-To: <4F0C3988.9080603@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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 (--) On 01/10/2012 02:13 PM, Peter Rosin wrote: > Stefano Lattarini skrev 2012-01-10 13:44: >> On 01/10/2012 12:35 PM, Peter Rosin wrote: >>> >>> One further data point; changing that "( sleep 1 ) &" thing followed by a >>> wait just before AC_OUTPUT into an inlined sleep also fixes the test case. >>> >> Thanks for tracking this down. So the question now becomes: why doesn't >> the trick with background processes work on MSYS? Does maybe MSYS lack >> proper emulation of POSIX-ish PIDs? If that is the case, can we easily >> work around that in our situation? > > No no, that's not the problem. In this case "make distcheck" runs > configure, but configure fails so it never reaches AC_OUTPUT and > the wait call never happens. > Ah, good catch. So the problem is not limited to MinGW, but could potentially hit also when we are building on (say) NFS mounts, right? > So, the ( sleep 1 ) subshell lives on > and "locks" the directory (but something else is also going on, > because changing the subshell to do ( cd /; sleep 1 ) doesn't help). > > *pling* new mail, from Eric. > > He explains the issue with different words and suggests: > > "As for what somewhere/safe should be, $(abs_builddir) is probably > reasonable." > > So, testing that too, but neither cd /, nor cd "$(abs_builddir)" make > the test pass. Crap. > It would probably be worthwhile to try to understand why this is the case. As a wild guess, would this work? - ( sleep 1 ) & + sh -c "cd '$abs_builddir'; sleep 1" & > We could fix it in the testsuite only, by adding a trap to configure > that does the wait if it didn't happen before, but that would make > use of internals that would perhaps spread. Yuck again. > Or we could enhance your original workaround like this: am__remove_distdir = \ { test ! -d "$(distdir)" \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + && if rm -fr "$(distdir)"; then :; else \ +## On MSYS (1.0.17) it is not possible to remove a directory that is +## in use; so, if the first rm fails, we sleep some seconds and retry, +## to give pending processes some time to exit and "release" the +## directory before we removed. See automake bug#10470. + sleep 5 && rm -fr "$(distdir)"; fi; }; } am__post_remove_distdir = $(am__remove_distdir) endif %?TOPDIR_P% Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 10:28:37 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 15:28:37 +0000 Received: from localhost ([127.0.0.1]:52623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rkdcr-0006Si-FF for submit@debbugs.gnu.org; Tue, 10 Jan 2012 10:28:37 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:59728) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rkdco-0006SZ-Rb for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 10:28:36 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id E421F4001B; Tue, 10 Jan 2012 16:28:12 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 9FDED40003; Tue, 10 Jan 2012 16:28:12 +0100 (CET) Message-ID: <4F0C590F.3080300@lysator.liu.se> Date: Tue, 10 Jan 2012 16:28:15 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> In-Reply-To: <4F0C5321.1030001@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-10 16:02: > On 01/10/2012 02:13 PM, Peter Rosin wrote: >> Stefano Lattarini skrev 2012-01-10 13:44: >>> On 01/10/2012 12:35 PM, Peter Rosin wrote: >>>> >>>> One further data point; changing that "( sleep 1 ) &" thing followed by a >>>> wait just before AC_OUTPUT into an inlined sleep also fixes the test case. >>>> >>> Thanks for tracking this down. So the question now becomes: why doesn't >>> the trick with background processes work on MSYS? Does maybe MSYS lack >>> proper emulation of POSIX-ish PIDs? If that is the case, can we easily >>> work around that in our situation? >> >> No no, that's not the problem. In this case "make distcheck" runs >> configure, but configure fails so it never reaches AC_OUTPUT and >> the wait call never happens. >> > Ah, good catch. So the problem is not limited to MinGW, but could potentially > hit also when we are building on (say) NFS mounts, right? I don't know how bad it is to try to remove the CWD of another process for non-MSYS systems, so I can't offer any input on this one. >> So, the ( sleep 1 ) subshell lives on >> and "locks" the directory (but something else is also going on, >> because changing the subshell to do ( cd /; sleep 1 ) doesn't help). >> >> *pling* new mail, from Eric. >> >> He explains the issue with different words and suggests: >> >> "As for what somewhere/safe should be, $(abs_builddir) is probably >> reasonable." >> >> So, testing that too, but neither cd /, nor cd "$(abs_builddir)" make >> the test pass. Crap. >> > It would probably be worthwhile to try to understand why this is the case. > As a wild guess, would this work? > > - ( sleep 1 ) & > + sh -c "cd '$abs_builddir'; sleep 1" & No, fails in the same way as the original. >> We could fix it in the testsuite only, by adding a trap to configure >> that does the wait if it didn't happen before, but that would make >> use of internals that would perhaps spread. Yuck again. >> > Or we could enhance your original workaround like this: > > am__remove_distdir = \ > { test ! -d "$(distdir)" \ > || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ > - && rm -fr "$(distdir)"; }; } > + && if rm -fr "$(distdir)"; then :; else \ > +## On MSYS (1.0.17) it is not possible to remove a directory that is > +## in use; so, if the first rm fails, we sleep some seconds and retry, > +## to give pending processes some time to exit and "release" the > +## directory before we removed. See automake bug#10470. > + sleep 5 && rm -fr "$(distdir)"; fi; }; } > am__post_remove_distdir = $(am__remove_distdir) > endif %?TOPDIR_P% This works, best so far! Committable, if you ask me. Cheers, Peter From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 12:04:08 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 17:04:08 +0000 Received: from localhost ([127.0.0.1]:52646 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rkf7G-0000AQ-NF for submit@debbugs.gnu.org; Tue, 10 Jan 2012 12:04:08 -0500 Received: from mail-ww0-f46.google.com ([74.125.82.46]:65011) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rkf7E-0000AJ-E1 for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 12:04:05 -0500 Received: by wgbdq12 with SMTP id dq12so3312713wgb.15 for <10470@debbugs.gnu.org>; Tue, 10 Jan 2012 09:03:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=f4sg6hOS2XR/5JlcaQmBd5rYSlJ3J4B0BdrUp5xTieg=; b=jCbBvZjYqXlBdhYq8U62qgluPJ51shk5+lgeBrv/k3vrR8j4m7KK93YwiUBPxpNyY1 HxmBYR/0oyveqfLpAklslTw9aM7onJpGMK0jtXTg21K058QOe7RSs0J4rbOLXh0v0umz kNFXS8uSG2VGZgNh85zYy63QAUPybNOMCHlV0= Received: by 10.180.80.164 with SMTP id s4mr36472037wix.7.1326214998857; Tue, 10 Jan 2012 09:03:18 -0800 (PST) Received: from [79.24.98.53] (host53-98-dynamic.24-79-r.retail.telecomitalia.it. [79.24.98.53]) by mx.google.com with ESMTPS id fq7sm84115014wbb.1.2012.01.10.09.03.17 (version=SSLv3 cipher=OTHER); Tue, 10 Jan 2012 09:03:18 -0800 (PST) Message-ID: <4F0C6F4D.9020705@gmail.com> Date: Tue, 10 Jan 2012 18:03:09 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> In-Reply-To: <4F0C590F.3080300@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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 (--) >> It would probably be worthwhile to try to understand why this is the case. >> As a wild guess, would this work? >> >> - ( sleep 1 ) & >> + sh -c "cd '$abs_builddir'; sleep 1" & > > No, fails in the same way as the original. > Sorry, by bad, I meant this: sh -c "cd '$ac_abs_srcdir'; sleep 1" >> We could enhance your original workaround like this: >> >> am__remove_distdir = \ >> { test ! -d "$(distdir)" \ >> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >> - && rm -fr "$(distdir)"; }; } >> + && if rm -fr "$(distdir)"; then :; else \ >> +## On MSYS (1.0.17) it is not possible to remove a directory that is >> +## in use; so, if the first rm fails, we sleep some seconds and retry, >> +## to give pending processes some time to exit and "release" the >> +## directory before we removed. See automake bug#10470. >> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >> am__post_remove_distdir = $(am__remove_distdir) >> endif %?TOPDIR_P% > > This works, best so far! Committable, if you ask me. > I agree, but first I'd like to see if we manage to resolve the issue into sanity.m4 itself. If we fail, the above workaround will be good enough. Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 13:38:09 2012 Received: (at 10470) by debbugs.gnu.org; 10 Jan 2012 18:38:09 +0000 Received: from localhost ([127.0.0.1]:52748 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkgaH-0002LJ-G7 for submit@debbugs.gnu.org; Tue, 10 Jan 2012 13:38:09 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:41246) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkgaF-0002LB-Ew for 10470@debbugs.gnu.org; Tue, 10 Jan 2012 13:38:08 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 85A1A4001B; Tue, 10 Jan 2012 19:37:44 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 4B43540003; Tue, 10 Jan 2012 19:37:44 +0100 (CET) Message-ID: <4F0C857B.9040609@lysator.liu.se> Date: Tue, 10 Jan 2012 19:37:47 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> In-Reply-To: <4F0C6F4D.9020705@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-10 18:03: >>> It would probably be worthwhile to try to understand why this is the case. >>> As a wild guess, would this work? >>> >>> - ( sleep 1 ) & >>> + sh -c "cd '$abs_builddir'; sleep 1" & >> >> No, fails in the same way as the original. >> > Sorry, by bad, I meant this: sh -c "cd '$ac_abs_srcdir'; sleep 1" No, that doesn't work either, at least not if you meant the line to end with &, as it would be an inline sleep if it wouldn't. Side note, $ac_abs_srcdir is empty (so it's not really "somewhere/safe", as Eric put it). >>> We could enhance your original workaround like this: >>> >>> am__remove_distdir = \ >>> { test ! -d "$(distdir)" \ >>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >>> - && rm -fr "$(distdir)"; }; } >>> + && if rm -fr "$(distdir)"; then :; else \ >>> +## On MSYS (1.0.17) it is not possible to remove a directory that is >>> +## in use; so, if the first rm fails, we sleep some seconds and retry, >>> +## to give pending processes some time to exit and "release" the >>> +## directory before we removed. See automake bug#10470. >>> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >>> am__post_remove_distdir = $(am__remove_distdir) >>> endif %?TOPDIR_P% >> >> This works, best so far! Committable, if you ask me. >> > I agree, but first I'd like to see if we manage to resolve the issue into > sanity.m4 itself. If we fail, the above workaround will be good enough. Yes, that would be best. Otherwise we run the risk of having to add the workaround for other places as well, ick. I think (but I'm out on a limb here) that it might be the make process that invoked the distcheck rule that lingers in the build-dir until configure (and all its children terminates). That make is locking the directory and causes rm to fail. But as I said, I'm out on a limb and this is probably just crap... Cheers, Peter From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 10 14:19:43 2012 Received: (at control) by debbugs.gnu.org; 10 Jan 2012 19:19:43 +0000 Received: from localhost ([127.0.0.1]:52802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkhEU-0003Ij-KF for submit@debbugs.gnu.org; Tue, 10 Jan 2012 14:19:43 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:42916) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RkhET-0003Ic-A3 for control@debbugs.gnu.org; Tue, 10 Jan 2012 14:19:41 -0500 Received: by wibhj6 with SMTP id hj6so4275083wib.3 for ; Tue, 10 Jan 2012 11:19:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; bh=OGVHHq2sr+6eH7m2YUKiJhvbgNX1QWtY+3aokiNRXDA=; b=Eud5m7hrL1ih0+G0RA2XsadmN++esjlsGNaykhMZf58JM+KV4ETeXsu+wR1B5HvAP3 hTRRkXp6Ce48WeNHsiFFSASolyqq89+w+fcO67u6Bkx8qznOaoZL/UZdH3g4YMkDyX6O EAi8fBrFWpiFsO2JUZ5jWQ7Jaqy47MXAY60YM= Received: by 10.181.13.17 with SMTP id eu17mr37371060wid.12.1326223159509; Tue, 10 Jan 2012 11:19:19 -0800 (PST) Received: from [87.13.10.122] (host122-10-dynamic.13-87-r.retail.telecomitalia.it. [87.13.10.122]) by mx.google.com with ESMTPS id dr5sm3302926wib.0.2012.01.10.11.19.16 (version=SSLv3 cipher=OTHER); Tue, 10 Jan 2012 11:19:18 -0800 (PST) Message-ID: <4F0C8F32.7030901@gmail.com> Date: Tue, 10 Jan 2012 20:19:14 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: control@debbugs.gnu.org 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 (--) severity 10470 minor thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 11 12:31:47 2012 Received: (at 10470) by debbugs.gnu.org; 11 Jan 2012 17:31:47 +0000 Received: from localhost ([127.0.0.1]:54007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rl21b-00043S-CF for submit@debbugs.gnu.org; Wed, 11 Jan 2012 12:31:47 -0500 Received: from mail-ey0-f172.google.com ([209.85.215.172]:58980) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rl21X-00043J-TF for 10470@debbugs.gnu.org; Wed, 11 Jan 2012 12:31:46 -0500 Received: by eaad11 with SMTP id d11so324218eaa.3 for <10470@debbugs.gnu.org>; Wed, 11 Jan 2012 09:31:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; bh=Jb5xT/K6Q57FPSONA78E/hlYcVv5fjhekVW2ADTzzQc=; b=RSNzl13sLR8z9Xe3TkAeqrc/SLFONgbkt5PrB11NPLIJV5VTzfaBNn3j1vsyBdaMW2 LJNurWdsd/VkyPlbm6Oq55PosP+jJFOQFXe4NZhRp9BgyBWa/PNWw8RD0K2OTS2AC9Ba AuueVLiN9tPNjrNXLB4oIbrXfCOJeSE7ZtL0o= Received: by 10.213.3.196 with SMTP id 4mr1294453ebo.120.1326303076141; Wed, 11 Jan 2012 09:31:16 -0800 (PST) Received: from [87.2.103.210] (host210-103-dynamic.2-87-r.retail.telecomitalia.it. [87.2.103.210]) by mx.google.com with ESMTPS id x43sm8124488eef.8.2012.01.11.09.31.14 (version=SSLv3 cipher=OTHER); Wed, 11 Jan 2012 09:31:15 -0800 (PST) Message-ID: <4F0DC75A.3060801@gmail.com> Date: Wed, 11 Jan 2012 18:31:06 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> In-Reply-To: <4F0C857B.9040609@lysator.liu.se> Content-Type: multipart/mixed; boundary="------------080607080506080808010203" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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. --------------080607080506080808010203 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi Peter, sorry for the delay. >>>> We could enhance your original workaround like this: >>>> >>>> am__remove_distdir = \ >>>> { test ! -d "$(distdir)" \ >>>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >>>> - && rm -fr "$(distdir)"; }; } >>>> + && if rm -fr "$(distdir)"; then :; else \ >>>> +## On MSYS (1.0.17) it is not possible to remove a directory that is >>>> +## in use; so, if the first rm fails, we sleep some seconds and retry, >>>> +## to give pending processes some time to exit and "release" the >>>> +## directory before we removed. See automake bug#10470. >>>> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >>>> am__post_remove_distdir = $(am__remove_distdir) >>>> endif %?TOPDIR_P% >> >>> This works, best so far! Committable, if you ask me. >>> > Could you try the attached test case to see if it can reliably expose the problem on MSYS/MinGW? If yes, I'll prepare a patch shortly. Thanks, Stefano --------------080607080506080808010203 Content-Type: text/plain; name="distcheck-pr10470.test" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="distcheck-pr10470.test" #! /bin/sh # Copyright (C) 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 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Ensure "make distcheck" does not experience racy failures on # systems (like MinGW/MSYS) that cannot remove a directory "in use" # by a process (e.g., that is its "current working directory"). # See automake bug#10470. parallel_tests=no . ./defs || Exit 1 set -e my_sleep='sleep 4' mkdir foo.d sh -c "cd foo.d && $my_sleep" & rm -rf foo.d && skip_ 'system is able to remove "in use" directories' echo AC_OUTPUT >> configure.in cat > Makefile.am < foo.test <) id 1Rl3py-0000kj-Lb for submit@debbugs.gnu.org; Wed, 11 Jan 2012 14:27:54 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:51529) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rl3pv-0000ka-Fb for 10470@debbugs.gnu.org; Wed, 11 Jan 2012 14:27:53 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 46E9A40006; Wed, 11 Jan 2012 20:27:23 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id DB03B40004; Wed, 11 Jan 2012 20:27:22 +0100 (CET) Message-ID: <4F0DE2A0.2060107@lysator.liu.se> Date: Wed, 11 Jan 2012 20:27:28 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> <4F0DC75A.3060801@gmail.com> In-Reply-To: <4F0DC75A.3060801@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-11 18:31: > Hi Peter, sorry for the delay. No rush! >>>>> We could enhance your original workaround like this: >>>>> >>>>> am__remove_distdir = \ >>>>> { test ! -d "$(distdir)" \ >>>>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >>>>> - && rm -fr "$(distdir)"; }; } >>>>> + && if rm -fr "$(distdir)"; then :; else \ >>>>> +## On MSYS (1.0.17) it is not possible to remove a directory that is >>>>> +## in use; so, if the first rm fails, we sleep some seconds and retry, >>>>> +## to give pending processes some time to exit and "release" the >>>>> +## directory before we removed. See automake bug#10470. >>>>> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >>>>> am__post_remove_distdir = $(am__remove_distdir) >>>>> endif %?TOPDIR_P% >>> >>>> This works, best so far! Committable, if you ask me. >>>> >> > Could you try the attached test case to see if it can reliably expose the > problem on MSYS/MinGW? If yes, I'll prepare a patch shortly. If I (try to) mend the race (the "rm -rf foo.d" reliably beats the "cd foo.d" in the subshell) by adding a "sleep 1" before the "rm -rf foo.d" the test passes (exit zero). So, I guess no, the probelm is not exposed by the test. Did you mean "$my_sleep &" in the foo.test script? If add that &, the test fails in much the same way as we've seen previously in this bug report. ... rm: cannot remove directory `distcheck-pr10470-1.0/_build': Permission denied make: *** [distcheck] Error 1 ... Cheers, Peter From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 12 04:16:13 2012 Received: (at 10470) by debbugs.gnu.org; 12 Jan 2012 09:16:13 +0000 Received: from localhost ([127.0.0.1]:54555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlGlY-0003ci-QB for submit@debbugs.gnu.org; Thu, 12 Jan 2012 04:16:13 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:61646) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlGlV-0003cZ-7a for 10470@debbugs.gnu.org; Thu, 12 Jan 2012 04:16:11 -0500 Received: by wibhj6 with SMTP id hj6so1160599wib.3 for <10470@debbugs.gnu.org>; Thu, 12 Jan 2012 01:15:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; bh=Et2SDyUAETQgC0jOsDWAqQbyNvTyU+OS53MKvZxkeqg=; b=ER585PiP9exgq7bFtLCVyA5xTCFeuvq4uYbrPF66WWZa7R5NpFQyMV5PC8WmZ5LGq0 aZb1qTKTeHlHE0eW9IcglkcGAX45XV7iF+B7fbgsciueXdc482vrSjHP4MyYCS4fwCFD LH+UMkdSTOY8mcqPGJZ+admgCu7yEPSKls2rk= Received: by 10.180.101.101 with SMTP id ff5mr16876497wib.14.1326359738335; Thu, 12 Jan 2012 01:15:38 -0800 (PST) Received: from [79.10.95.252] (host252-95-dynamic.10-79-r.retail.telecomitalia.it. [79.10.95.252]) by mx.google.com with ESMTPS id dr5sm7858226wib.0.2012.01.12.01.15.37 (version=SSLv3 cipher=OTHER); Thu, 12 Jan 2012 01:15:37 -0800 (PST) Message-ID: <4F0EA4B8.2050107@gmail.com> Date: Thu, 12 Jan 2012 10:15:36 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> <4F0DC75A.3060801@gmail.com> <4F0DE2A0.2060107@lysator.liu.se> In-Reply-To: <4F0DE2A0.2060107@lysator.liu.se> Content-Type: multipart/mixed; boundary="------------080908080204090703040708" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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. --------------080908080204090703040708 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On 01/11/2012 08:27 PM, Peter Rosin wrote: > Stefano Lattarini skrev 2012-01-11 18:31: >> Hi Peter, sorry for the delay. > > No rush! > >>>>>> We could enhance your original workaround like this: >>>>>> >>>>>> am__remove_distdir = \ >>>>>> { test ! -d "$(distdir)" \ >>>>>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >>>>>> - && rm -fr "$(distdir)"; }; } >>>>>> + && if rm -fr "$(distdir)"; then :; else \ >>>>>> +## On MSYS (1.0.17) it is not possible to remove a directory that is >>>>>> +## in use; so, if the first rm fails, we sleep some seconds and retry, >>>>>> +## to give pending processes some time to exit and "release" the >>>>>> +## directory before we removed. See automake bug#10470. >>>>>> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >>>>>> am__post_remove_distdir = $(am__remove_distdir) >>>>>> endif %?TOPDIR_P% >>>> >>>>> This works, best so far! Committable, if you ask me. >>>>> >>> >> Could you try the attached test case to see if it can reliably expose the >> problem on MSYS/MinGW? If yes, I'll prepare a patch shortly. > > If I (try to) mend the race (the "rm -rf foo.d" reliably beats the "cd foo.d" > in the subshell) by adding a "sleep 1" before the "rm -rf foo.d" > Thanks for the info, I've amend the test accordingly. > So, I guess no, the probelm is not exposed by the test. > > Did you mean "$my_sleep &" in the foo.test script? > Yes, I did; sorry for the sloppiness. > If add that &, the test fails in much the same way as we've seen previously > in this bug report. > Good! Attached is the proposed patch series: the first patch should expose the bug, the second patch should fix it. I will apply them once I have confirmation the bug is correctly exposed and fixed. Thanks, Stefano. --------------080908080204090703040708 Content-Type: text/x-diff; name="0001-coverage-expose-automake-bug-10470-distcheck-related.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-coverage-expose-automake-bug-10470-distcheck-related.pa"; filename*1="tch" >From 657eed2e1b1f2e0fac19f4c840b72a71ec6e1141 Mon Sep 17 00:00:00 2001 Message-Id: <657eed2e1b1f2e0fac19f4c840b72a71ec6e1141.1326359653.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Thu, 12 Jan 2012 10:06:14 +0100 Subject: [PATCH 1/2] coverage: expose automake bug#10470 (distcheck-related) * tests/distcheck-pr10470.test: New test. * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it. Report and suggestions by Peter Rosin and Eric Blake. --- tests/Makefile.am | 2 + tests/distcheck-pr10470.test | 61 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 0 deletions(-) create mode 100755 tests/distcheck-pr10470.test diff --git a/tests/Makefile.am b/tests/Makefile.am index 8817b64..e10dbd5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,6 +23,7 @@ auxdir2.test \ cond17.test \ dist-auxfile.test \ dist-auxfile-2.test \ +distcheck-pr10470.test \ gcj6.test \ java-nobase.test \ objext-pr10128.test \ @@ -352,6 +353,7 @@ distcheck-hook2.test \ distcheck-missing-m4.test \ distcheck-outdated-m4.test \ distcheck-pr9579.test \ +distcheck-pr10470.test \ distcheck-override-infodir.test \ dmalloc.test \ doc-parsing-buglets-colneq-subst.test \ diff --git a/tests/distcheck-pr10470.test b/tests/distcheck-pr10470.test new file mode 100755 index 0000000..e774dd7 --- /dev/null +++ b/tests/distcheck-pr10470.test @@ -0,0 +1,61 @@ +#! /bin/sh +# Copyright (C) 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 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Ensure "make distcheck" does not experience racy failures on +# systems (like MinGW/MSYS) that cannot remove a directory "in use" +# by a process (e.g., that is its "current working directory"). +# See automake bug#10470. + +parallel_tests=no +. ./defs || Exit 1 + +set -e + +mkdir foo.d +sh -c "cd foo.d && sleep '4'" & +# Without this sleep, the "rm -rf foo.d" below would reliably beat +# the "cd foo.d" in the subshell above, and the test would be always +# skipped, even on MinGW/MSYS. +sleep '1' +rm -rf foo.d && skip_ 'system is able to remove "in use" directories' + +echo AC_OUTPUT >> configure.in + +cat > Makefile.am < foo.test <output 2>&1 || { cat output; Exit 1; } +cat output +# Sanity check: verify that our code has hit a problem removing +# the distdir, but has recovered from it. +grep "rm:.*$destdir" output || fatal_ "expected code path not covered" + +: -- 1.7.7.3 --------------080908080204090703040708 Content-Type: text/x-diff; name="0002-dist-avoid-distdir-removal-failure-on-MSYS-MinGW.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0002-dist-avoid-distdir-removal-failure-on-MSYS-MinGW.patch" >From 49cca731a596c9224281eb34114aeee6795dab10 Mon Sep 17 00:00:00 2001 Message-Id: <49cca731a596c9224281eb34114aeee6795dab10.1326359653.git.stefano.lattarini@gmail.com> In-Reply-To: <657eed2e1b1f2e0fac19f4c840b72a71ec6e1141.1326359653.git.stefano.lattarini@gmail.com> References: <657eed2e1b1f2e0fac19f4c840b72a71ec6e1141.1326359653.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Wed, 11 Jan 2012 18:09:07 +0100 Subject: [PATCH 2/2] dist: avoid $(distdir) removal failure on MSYS/MinGW Fixes automake big#10470. * lib/am/distdir.am (am__remove_distdir): On MSYS (1.0.17) it is not possible to remove a directory that is in use; so, if rm fails, we sleep some seconds and retry, to give pending processes some time to exit and "release" the directory. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. Report and suggestions by Peter Rosin and Eric Blake. --- lib/am/distdir.am | 17 ++++++++++++----- tests/Makefile.am | 1 - 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/am/distdir.am b/lib/am/distdir.am index a681101..cd2e4bf 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -1,6 +1,6 @@ ## automake - create Makefile.in from Makefile.am ## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, -## 2010, 2011 Free Software Foundation, Inc. +## 2010, 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 @@ -23,10 +23,17 @@ distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } - + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ +## On MSYS (1.0.17) it is not possible to remove a directory that is in +## use; so, if the first rm fails, we sleep some seconds and retry, to +## give pending processes some time to exit and "release" the directory +## before we remove it. The value of "some seconds" is 5 for the moment, +## which is mostly an arbitrary value, but seems high enough in practice. +## See automake bug#10470. + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi endif %?TOPDIR_P% if %?SUBDIRS% diff --git a/tests/Makefile.am b/tests/Makefile.am index e10dbd5..e79c3be 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,7 +23,6 @@ auxdir2.test \ cond17.test \ dist-auxfile.test \ dist-auxfile-2.test \ -distcheck-pr10470.test \ gcj6.test \ java-nobase.test \ objext-pr10128.test \ -- 1.7.7.3 --------------080908080204090703040708-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 12 05:40:35 2012 Received: (at 10470) by debbugs.gnu.org; 12 Jan 2012 10:40:35 +0000 Received: from localhost ([127.0.0.1]:54631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlI5A-0005Zb-KE for submit@debbugs.gnu.org; Thu, 12 Jan 2012 05:40:33 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:55597) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlI54-0005ZO-Pw for 10470@debbugs.gnu.org; Thu, 12 Jan 2012 05:40:30 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 289944001A; Thu, 12 Jan 2012 11:39:55 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id C779E40007; Thu, 12 Jan 2012 11:39:54 +0100 (CET) Message-ID: <4F0EB877.9050301@lysator.liu.se> Date: Thu, 12 Jan 2012 11:39:51 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> <4F0DC75A.3060801@gmail.com> <4F0DE2A0.2060107@lysator.liu.se> <4F0EA4B8.2050107@gmail.com> In-Reply-To: <4F0EA4B8.2050107@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-12 10:15: > On 01/11/2012 08:27 PM, Peter Rosin wrote: >> Stefano Lattarini skrev 2012-01-11 18:31: >>> Hi Peter, sorry for the delay. >> >> No rush! >> >>>>>>> We could enhance your original workaround like this: >>>>>>> >>>>>>> am__remove_distdir = \ >>>>>>> { test ! -d "$(distdir)" \ >>>>>>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >>>>>>> - && rm -fr "$(distdir)"; }; } >>>>>>> + && if rm -fr "$(distdir)"; then :; else \ >>>>>>> +## On MSYS (1.0.17) it is not possible to remove a directory that is >>>>>>> +## in use; so, if the first rm fails, we sleep some seconds and retry, >>>>>>> +## to give pending processes some time to exit and "release" the >>>>>>> +## directory before we removed. See automake bug#10470. >>>>>>> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >>>>>>> am__post_remove_distdir = $(am__remove_distdir) >>>>>>> endif %?TOPDIR_P% >>>>> >>>>>> This works, best so far! Committable, if you ask me. >>>>>> >>>> >>> Could you try the attached test case to see if it can reliably expose the >>> problem on MSYS/MinGW? If yes, I'll prepare a patch shortly. >> >> If I (try to) mend the race (the "rm -rf foo.d" reliably beats the "cd foo.d" >> in the subshell) by adding a "sleep 1" before the "rm -rf foo.d" >> > Thanks for the info, I've amend the test accordingly. > >> So, I guess no, the probelm is not exposed by the test. >> >> Did you mean "$my_sleep &" in the foo.test script? >> > Yes, I did; sorry for the sloppiness. > >> If add that &, the test fails in much the same way as we've seen previously >> in this bug report. >> > Good! > > Attached is the proposed patch series: the first patch should expose the bug, > the second patch should fix it. I will apply them once I have confirmation > the bug is correctly exposed and fixed. After digging out that the patches are for maint, I managed to commit them, but FYI this bugfix is only needed on master. AM_SANITY_CHECK is not aggressive enough on maint to cause problems, as can be seen below. But ok to commit wherever, it behaves as designed. Thanks! I should also add that it's a POSIX violation to assume that directory removal works when the dir is the CWD of a process. "If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY]." Cheers, Peter On maint, with 1st patch: $ make check TESTS="distcheck-pr10470.test distcheck-configure-flags-am.test" XFAIL: distcheck-pr10470.test PASS: distcheck-configure-flags-am.test On maint, with both patches: $ make check TESTS="distcheck-pr10470.test distcheck-configure-flags-am.test" PASS: distcheck-pr10470.test PASS: distcheck-configure-flags-am.test Merging 1st patch into master: $ make check TESTS="distcheck-pr10470.test distcheck-configure-flags-am.test" XFAIL: distcheck-pr10470.test FAIL: distcheck-configure-flags-am.test Merging also the 2st patch into master: $ make check TESTS="distcheck-pr10470.test distcheck-configure-flags-am.test" PASS: distcheck-pr10470.test PASS: distcheck-configure-flags-am.test From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 04:06:36 2012 Received: (at 10470) by debbugs.gnu.org; 13 Jan 2012 09:06:36 +0000 Received: from localhost ([127.0.0.1]:55831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rld5o-0003Mz-8W for submit@debbugs.gnu.org; Fri, 13 Jan 2012 04:06:36 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:63774) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rld5m-0003Ms-4L for 10470@debbugs.gnu.org; Fri, 13 Jan 2012 04:06:35 -0500 Received: by wibhj6 with SMTP id hj6so211194wib.3 for <10470@debbugs.gnu.org>; Fri, 13 Jan 2012 01:05:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=KsHLJ87dFvpo51lSYamlF0jUppsdl/FqrxwN6Wexxk0=; b=m+WDCBU7Zul/SYEZqV9iMQJ1moQMty08Ss03ABzF6VRvl1abpMdgXxZoiWSUC0AwMQ eEM/JmM9H/A6TKCj9pb1RmlqFGp/zUJz1ULukgzxZ/P7wOZHPSGHFs/gkqopgxrlz4z7 NndAhlELuOugoNYZ2rqYRVB1CHDMzwADgMMjs= Received: by 10.180.20.39 with SMTP id k7mr7013701wie.6.1326445557539; Fri, 13 Jan 2012 01:05:57 -0800 (PST) Received: from [82.58.48.173] (host173-48-dynamic.58-82-r.retail.telecomitalia.it. [82.58.48.173]) by mx.google.com with ESMTPS id l8sm81108wiy.5.2012.01.13.01.05.56 (version=SSLv3 cipher=OTHER); Fri, 13 Jan 2012 01:05:56 -0800 (PST) Message-ID: <4F0FF3F3.2090601@gmail.com> Date: Fri, 13 Jan 2012 10:05:55 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> <4F0DC75A.3060801@gmail.com> <4F0DE2A0.2060107@lysator.liu.se> <4F0EA4B8.2050107@gmail.com> <4F0EB877.9050301@lysator.liu.se> In-Reply-To: <4F0EB877.9050301@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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 (--) On 01/12/2012 11:39 AM, Peter Rosin wrote: > > After digging out that the patches are for maint, > Oops, sorry I didn't state that explicitly! > I managed to commit them, > but FYI this bugfix is only needed on master. > True, but I'd rather avoid code divergences if possible and if that doesn't cause performance regressions (conditions which both hold in this case). > AM_SANITY_CHECK is not > aggressive enough on maint to cause problems, as can be seen below. But ok > to commit wherever, it behaves as designed. Thanks! > Thanks to you for the patient analysis and testing. > I should also add that it's a POSIX violation to assume that directory > removal works when the dir is the CWD of a process. > > "If the directory is the root directory or the current working > directory of any process, it is unspecified whether the function > succeeds, or whether it shall fail and set errno to [EBUSY]." > Good to know. I've amended the git commit message of the second patch accordingly, to read as follows: dist: avoid $(distdir) removal failure on MSYS/MinGW This change fixes automake big#10470. On MSYS (1.0.17) it is not possible to remove a directory that is in use, and this, together with timing issues, could cause spurious failures in the cleanup code of the "distcheck" recipe. In fact, it should be noted that assuming a directory can be removed while it the CWD of a running process is a POSIX violation: "If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY]." * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some seconds and retry, to give potential "pending" processes some time to exit and "release" the directory. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. Report and suggestions by Peter Rosin and Eric Blake. I will push by this evening or tomorrow if there is no objection. Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 05:11:48 2012 Received: (at 10470) by debbugs.gnu.org; 13 Jan 2012 10:11:48 +0000 Received: from localhost ([127.0.0.1]:55854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rle6t-0004sV-B2 for submit@debbugs.gnu.org; Fri, 13 Jan 2012 05:11:48 -0500 Received: from mail.lysator.liu.se ([130.236.254.3]:57944) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rle6q-0004sK-Ug for 10470@debbugs.gnu.org; Fri, 13 Jan 2012 05:11:46 -0500 Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 1AF3740034; Fri, 13 Jan 2012 11:11:07 +0100 (CET) Received: from [192.168.0.150] (h57n3fls301o1095.telia.com [81.230.178.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id D2A6F4001A; Fri, 13 Jan 2012 11:11:06 +0100 (CET) Message-ID: <4F100338.9040206@lysator.liu.se> Date: Fri, 13 Jan 2012 11:11:04 +0100 From: Peter Rosin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Stefano Lattarini Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> <4F0DC75A.3060801@gmail.com> <4F0DE2A0.2060107@lysator.liu.se> <4F0EA4B8.2050107@gmail.com> <4F0EB877.9050301@lysator.liu.se> <4F0FF3F3.2090601@gmail.com> In-Reply-To: <4F0FF3F3.2090601@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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: -1.9 (-) Stefano Lattarini skrev 2012-01-13 10:05: > Good to know. I've amended the git commit message of the second patch > accordingly, to read as follows: > > dist: avoid $(distdir) removal failure on MSYS/MinGW > > This change fixes automake big#10470. s/big/bug/ (in case there is some automatic link creation or something) Cheers, Peter From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 07:24:41 2012 Received: (at 10470) by debbugs.gnu.org; 13 Jan 2012 12:24:42 +0000 Received: from localhost ([127.0.0.1]:55917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlgBV-00083s-IJ for submit@debbugs.gnu.org; Fri, 13 Jan 2012 07:24:41 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:35601) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlgBT-00083k-5s for 10470@debbugs.gnu.org; Fri, 13 Jan 2012 07:24:40 -0500 Received: by wibhj6 with SMTP id hj6so356170wib.3 for <10470@debbugs.gnu.org>; Fri, 13 Jan 2012 04:24:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Wi6KVzzfe8yqgQwBDUSXZ6j61zQMG1cF5d9WUphCoqg=; b=DX3Xy75/gx1W0fciY32n/SwIowbKqVsvbDSviXGH1T+dnSCqbu/zVtyOOd6I5OsiPQ jrLXQrkJ5GBly9USV+i39Y8sDQQsFzCk5+HkFXSDcf1Ff46fWK+GeZzj60p1xpTVWHyV FeN4j9y2AaHjURA3chRsohyvrsTSISdGnydKU= Received: by 10.180.94.97 with SMTP id db1mr1308565wib.16.1326457441588; Fri, 13 Jan 2012 04:24:01 -0800 (PST) Received: from [82.56.38.186] (host186-38-dynamic.56-82-r.retail.telecomitalia.it. [82.56.38.186]) by mx.google.com with ESMTPS id gf8sm10866324wbb.11.2012.01.13.04.24.00 (version=SSLv3 cipher=OTHER); Fri, 13 Jan 2012 04:24:01 -0800 (PST) Message-ID: <4F10225A.7050300@gmail.com> Date: Fri, 13 Jan 2012 13:23:54 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Peter Rosin Subject: Re: bug#10470: MSYS: race in directory access? References: <4F0B734A.9010201@lysator.liu.se> <4F0B752B.2050709@lysator.liu.se> <4F0C09E9.7050200@gmail.com> <4F0C0F18.2060601@lysator.liu.se> <4F0C226F.4050704@lysator.liu.se> <4F0C32A9.30409@gmail.com> <4F0C3988.9080603@lysator.liu.se> <4F0C5321.1030001@gmail.com> <4F0C590F.3080300@lysator.liu.se> <4F0C6F4D.9020705@gmail.com> <4F0C857B.9040609@lysator.liu.se> <4F0DC75A.3060801@gmail.com> <4F0DE2A0.2060107@lysator.liu.se> <4F0EA4B8.2050107@gmail.com> <4F0EB877.9050301@lysator.liu.se> <4F0FF3F3.2090601@gmail.com> <4F100338.9040206@lysator.liu.se> In-Reply-To: <4F100338.9040206@lysator.liu.se> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10470 Cc: 10470@debbugs.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 (--) On 01/13/2012 11:11 AM, Peter Rosin wrote: > Stefano Lattarini skrev 2012-01-13 10:05: >> Good to know. I've amended the git commit message of the second patch >> accordingly, to read as follows: >> >> dist: avoid $(distdir) removal failure on MSYS/MinGW >> >> This change fixes automake big#10470. > > s/big/bug/ (in case there is some automatic link creation or something) > Thanks for catching that. I've merged to patches into maint, merged maint into master, and pushed. Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 07:25:20 2012 Received: (at control) by debbugs.gnu.org; 13 Jan 2012 12:25:20 +0000 Received: from localhost ([127.0.0.1]:55921 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlgC6-000859-Vi for submit@debbugs.gnu.org; Fri, 13 Jan 2012 07:25:19 -0500 Received: from mail-ww0-f46.google.com ([74.125.82.46]:41390) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlgC4-000851-VW for control@debbugs.gnu.org; Fri, 13 Jan 2012 07:25:17 -0500 Received: by wgbdy1 with SMTP id dy1so61066wgb.15 for ; Fri, 13 Jan 2012 04:24:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; bh=hp3dAVJF8jOFl+Qpz2VLgCzsy1vRiasQ3FKPkS8TgDA=; b=gPj53fmim6dFILqxujAqe4hmRDWJ++p5LncYQe67PhszCwnOTIkcyrI8A6I1+Tw3/5 QW/Icu5Yjb1Jqu29a6A8mDstc6K/uDJhXDbBWIf9C618SdJJIER4HPklDvDiO1io9a4v dxpb/w6AKlIC5mnn9URYh8qv7K4HmeDH2OTZI= Received: by 10.180.101.101 with SMTP id ff5mr8408616wib.14.1326457479560; Fri, 13 Jan 2012 04:24:39 -0800 (PST) Received: from [82.56.38.186] (host186-38-dynamic.56-82-r.retail.telecomitalia.it. [82.56.38.186]) by mx.google.com with ESMTPS id fv6sm15507774wib.8.2012.01.13.04.24.38 (version=SSLv3 cipher=OTHER); Fri, 13 Jan 2012 04:24:38 -0800 (PST) Message-ID: <4F102285.80007@gmail.com> Date: Fri, 13 Jan 2012 13:24:37 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: control@debbugs.gnu.org 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 (--) tags 10470 + patch close 10470 thanks From unknown Sun Jun 22 03:56:00 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 11 Feb 2012 12: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