From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D856D385AC19; Fri, 1 Jul 2022 18:10:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D856D385AC19 From: "slyfox at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/106162] New: libstdc++v3: bits/largefile-config.h.tmp: No such file or directory race condition Date: Fri, 01 Jul 2022 18:10:21 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: slyfox at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2022 18:10:22 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106162 Bug ID: 106162 Summary: libstdc++v3: bits/largefile-config.h.tmp: No such file or directory race condition Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at gcc dot gnu.org CC: jwakely.gcc at gmail dot com Target Milestone: --- There is a race condition when (I speculate) libstdcv++v3 is built in paral= lel from different 'make' processes. Perhaps for c++98 | c++11 | x++17 instance= s? >>From libstdc++-v3/include/Makefile.am: # This header is not installed, it's only used to build libstdc++ itself. ${host_builddir}/largefile-config.h: ${CONFIG_HEADER} @rm -f $@.tmp @-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp @-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp @-grep 'define _LARGE_FILES' ${CONFIG_HEADER} >> $@.tmp @mv $@.tmp $@ As a result 'bits/largefile-config.h' rule gets executed in parallel and clobbers temporary file on this week's gcc-13 snapshot: ... make[3]: Entering directory '/build/build/x86_64-w64-mingw32/libstdc++-v3' Making all in include make[4]: Entering directory '/build/build/x86_64-w64-mingw32/libstdc++-v3/include' echo 1 > stamp-dual-abi echo 1 > stamp-allocator-new echo timestamp > stamp-pb echo 1 > stamp-cxx11-abi echo 0 > stamp-visibility echo 1 > stamp-extern-template echo 0 > stamp-namespace-version echo 'define _GLIBCXX_USE_FLOAT128 1' > stamp-float128 /nix/store/xsq6y0yn5mbmyazn51c86kz9zkr357xj-bash-5.1-p16/bin/bash: line 1: x86_64-w64-mingw32/bits/largefile-config.h.tmp: No such file or directory make[4]: [Makefile:1785: x86_64-w64-mingw32/bits/largefile-config.h] Error 1 (ignored) shuffle=3D1656692854 /nix/store/xsq6y0yn5mbmyazn51c86kz9zkr357xj-bash-5.1-p16/bin/bash: line 1: x86_64-w64-mingw32/bits/largefile-config.h.tmp: No such file or directory make[4]: [Makefile:1786: x86_64-w64-mingw32/bits/largefile-config.h] Error 1 (ignored) shuffle=3D1656692854 /nix/store/xsq6y0yn5mbmyazn51c86kz9zkr357xj-bash-5.1-p16/bin/bash: line 1: x86_64-w64-mingw32/bits/largefile-config.h.tmp: No such file or directory make[4]: [Makefile:1787: x86_64-w64-mingw32/bits/largefile-config.h] Error 1 (ignored) shuffle=3D1656692854 mv: cannot stat 'x86_64-w64-mingw32/bits/largefile-config.h.tmp': No such f= ile or directory make[4]: *** [Makefile:1788: x86_64-w64-mingw32/bits/largefile-config.h] Er= ror 1 shuffle=3D1656692854 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory '/build/build/x86_64-w64-mingw32/libstdc++-v3/include' make[3]: *** [Makefile:576: all-recursive] Error 1 shuffle=3D1656692854 make[3]: Leaving directory '/build/build/x86_64-w64-mingw32/libstdc++-v3' make[2]: *** [Makefile:501: all] Error 2 shuffle=3D1656692854 make[2]: Leaving directory '/build/build/x86_64-w64-mingw32/libstdc++-v3' make[1]: *** [Makefile:12287: all-target-libstdc++-v3] Error 2 shuffle=3D1656692854 make[1]: Leaving directory '/build/build' make: *** [Makefile:1031: all] Error 2 shuffle=3D1656692854 Note how 'largefile-config.h.tmp: No such file or directory' is reported 3 times. Will attach full build.log in case it makes the error cause clearer.=