Re: Build problems: bison 3.7.1 + other versions
"Yu, Mingli" <[email protected]>
| Newsgroups | gmane.comp.parsers.bison.bugs |
|---|---|
| Message-ID | <[email protected]> |
Thanks Akim, I will verify the tarball you provide then. Thanks, On 9/5/20 3:58 PM, Akim Demaille wrote: > Hi Claudio, Hi Mingli, > >> Le 4 sept. 2020 à 06:34, Akim Demaille <[email protected]> a écrit : >> >> Hi Claudio, >> >>> Le 3 sept. 2020 à 10:20, Claudio Calvelli <[email protected]> a écrit : >>> >>> I'm including below examples of how to trigger the problem on three >>> different processors, hoping that this helps somebody to reproduce >>> the problem on other systems. The exact value of the "-l" option >>> doesn't quite matter as I've tried small ranges, but it needs to >>> be there together with the "-j" to trigger a problem. >> >> Thanks a lot for this bug report! This had already been reported >> before (https://github.com/akimd/bison/issues/31) and a workaround >> was submitted >> (https://lists.gnu.org/archive/html/bison-patches/2020-05/msg00055.html). >> >> But I was unable to reproduce the problem and fix the core issue. >> Thanks to your findings, I might be able to find the real problem >> and fix it soon. > > I think I have it now! I was able to reproduce it easily thanks > to the -l0.5 trick, and now I can no longer get it to fail. See > the fix below (which I'm pushing into the maint branch, it will > be merged into master later). > > Thanks a lot to both of you for the report! Could you please check > this tarball to confirm it does address the issue for you too? > > https://www.lrde.epita.fr/~akim/private/bison/bison-3.7.1.17-99758.tar.gz > https://www.lrde.epita.fr/~akim/private/bison/bison-3.7.1.17-99758.tar.lz > https://www.lrde.epita.fr/~akim/private/bison/bison-3.7.1.17-99758.tar.xz > > I plan to release Bison 3.7.2 tomorrow. > > Cheers! > > commit 997589035a68ef1e315901ea063cafeb273f1802 > Author: Akim Demaille <[email protected]> > Date: Sat Sep 5 09:28:56 2020 +0200 > > build: fix incorrect dependencies > > Commit af000bab111768a04021bf5ffa4bbe91d44e231c ("doc: work around > Texinfo 6.7 bug"), published in 3.4.91, added a dependency on the > "all" target. > > This is a super bad idea, since "make all" will run this > target *before* "all", which builds bison. It turns out that this new > dependency actually needed bison to be built. So all the regular > process (i) build $(BUILT_SOURCES) and then (ii) build bison, was > wrecked since some of the $(BUILT_SOURCES) depended on bison... > > It was "easy" to see in the logs of "make V=1" because we were > building bison files (such as src/files.o) *before* displaying the > banner for "all-recursive". With this fix, we finally get again the > proper sequence: > > rm -f examples/c/reccalc/scan.stamp examples/c/reccalc/scan.stamp.tmp > /opt/local/libexec/gnubin/mkdir -p examples/c/reccalc > touch examples/c/reccalc/scan.stamp.tmp > flex -oexamples/c/reccalc/scan.c --header=examples/c/reccalc/scan.h ./examples/c/reccalc/scan.l > mv examples/c/reccalc/scan.stamp.tmp examples/c/reccalc/scan.stamp > rm -f lib/fcntl.h-t lib/fcntl.h && \ > { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ > ... > } > lib/fcntl.h-t && \ > mv lib/fcntl.h-t lib/fcntl.h > ... > mv -f lib/alloca.h-t lib/alloca.h > make all-recursive > > Reported by Mingli Yu <[email protected]>. > https://github.com/akimd/bison/issues/31 > https://lists.gnu.org/r/bison-patches/2020-05/msg00055.html > > Reported by Claudio Calvelli. > https://lists.gnu.org/r/bug-bison/2020-09/msg00001.html > https://bugs.gentoo.org/716516 > > * doc/local.mk (all): Rename as... > (all-local): this. > So that we don't compete with BUILT_SOURCES. > > diff --git a/NEWS b/NEWS > index d5a816b4..52f4e3c2 100644 > --- a/NEWS > +++ b/NEWS > @@ -13,9 +13,11 @@ GNU Bison NEWS > > ** Bug fixes > > + Fix concurrent build issues (introduced in Bison 3.5). > + > Push parsers always use YYMALLOC/YYFREE (no direct calls to malloc/free). > > - Portability issues of the test suite, and of bison itself. > + Fix portability issues of the test suite, and of bison itself. > > Some unlikely crashes found by fuzzing have been fixed. This is only > about bison itself, not the generated parsers. > diff --git a/doc/local.mk b/doc/local.mk > index ab5b7454..f5590015 100644 > --- a/doc/local.mk > +++ b/doc/local.mk > @@ -57,7 +57,7 @@ MAINTAINERCLEANFILES = $(CROSS_OPTIONS_TEXI) > > # Fix Info's @code in @deftype > # https://lists.gnu.org/archive/html/help-texinfo/2019-11/msg00004.html > -all: $(srcdir)/$(%C%_bison).info.bak > +all-local: $(srcdir)/$(%C%_bison).info.bak > $(srcdir)/$(%C%_bison).info.bak: $(srcdir)/$(%C%_bison).info > $(AM_V_GEN) $(PERL) -pi.bak -0777 \ > -e 's{(^ --.*\n(?: {10}.*\n)*)}' \ >