[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Parallel make race in 5.1
From: |
Richard Purdie |
Subject: |
Parallel make race in 5.1 |
Date: |
Tue, 19 Jan 2021 14:19:36 +0000 |
User-agent: |
Evolution 3.38.1-1 |
Hi,
In bash 5.1 we're seeing a parallel make race during build, as found a
couple of times in our automated CI for Yocto Project:
https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/1720/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/2969/steps/25/logs/stdio
The issue is around pipesize.h which in 5.1 can be built by two
different triggers, builtins/ulimit.o or redir.o.
They can race against each other and rewrite files causing the above
failure.
We added a bit of a hacky workaround:
Index: bash-5.1/Makefile.in
===================================================================
--- bash-5.1.orig/Makefile.in
+++ bash-5.1/Makefile.in
@@ -746,7 +746,7 @@ ${DEFDIR}/bashgetopt.o: $(BUILTIN_SRCDIR
${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1
-${DEFDIR}/pipesize.h:
+${DEFDIR}/pipesize.h: $(BUILTINS_LIBRARY)
@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1
$(SDIR)/man2html$(EXEEXT): ${SUPPORT_SRC}/man2html.c
Cheers,
Richard
- Parallel make race in 5.1,
Richard Purdie <=