* [Regression] Docs build broken by commit 51e46c7a4007
@ 2020-02-20 18:50 Rafael J. Wysocki
2020-02-20 20:05 ` Kees Cook
0 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2020-02-20 18:50 UTC (permalink / raw)
To: Kees Cook
Cc: Jonathan Corbet, Linux Kernel Mailing List,
open list:DOCUMENTATION
Hi Kees,
On two of my systems the docs build has been broken by commit
51e46c7a4007 ("docs, parallelism: Rearrange how jobserver reservations
are made").
The symptom is that the build system complains about the "output"
directory not being there and returns with an error.
Reverting the problematic commit makes the problem go away.
Please advise. :-)
Cheers,
Rafael
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Regression] Docs build broken by commit 51e46c7a4007 2020-02-20 18:50 [Regression] Docs build broken by commit 51e46c7a4007 Rafael J. Wysocki @ 2020-02-20 20:05 ` Kees Cook 2020-02-20 21:44 ` Rafael J. Wysocki 0 siblings, 1 reply; 7+ messages in thread From: Kees Cook @ 2020-02-20 20:05 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Jonathan Corbet, Linux Kernel Mailing List, open list:DOCUMENTATION On Thu, Feb 20, 2020 at 07:50:47PM +0100, Rafael J. Wysocki wrote: > On two of my systems the docs build has been broken by commit > 51e46c7a4007 ("docs, parallelism: Rearrange how jobserver reservations > are made"). > > The symptom is that the build system complains about the "output" > directory not being there and returns with an error. > > Reverting the problematic commit makes the problem go away. How strange! This must be some race in the parallel build. AFAICT, "output" is made in the first sub-target (Documentation/media). This doesn't look entirely stable (there's no ordering implied by the "all" target in there)... Does this work for you? diff --git a/Documentation/Makefile b/Documentation/Makefile index d77bb607aea4..5654e087ae1e 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -62,7 +62,8 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit; # e.g. "media" for the linux-tv book-set at ./Documentation/media quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) - cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ + cmd_sphinx = mkdir -p $(abspath $(BUILDDIR)) && \ + $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ PYTHONDONTWRITEBYTECODE=1 \ BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \ $(PYTHON) $(srctree)/scripts/jobserver-exec \ -- Kees Cook ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Regression] Docs build broken by commit 51e46c7a4007 2020-02-20 20:05 ` Kees Cook @ 2020-02-20 21:44 ` Rafael J. Wysocki 2020-02-20 22:49 ` Kees Cook 0 siblings, 1 reply; 7+ messages in thread From: Rafael J. Wysocki @ 2020-02-20 21:44 UTC (permalink / raw) To: Kees Cook Cc: Rafael J. Wysocki, Jonathan Corbet, Linux Kernel Mailing List, open list:DOCUMENTATION On Thu, Feb 20, 2020 at 9:05 PM Kees Cook <keescook@chromium.org> wrote: > > On Thu, Feb 20, 2020 at 07:50:47PM +0100, Rafael J. Wysocki wrote: > > On two of my systems the docs build has been broken by commit > > 51e46c7a4007 ("docs, parallelism: Rearrange how jobserver reservations > > are made"). > > > > The symptom is that the build system complains about the "output" > > directory not being there and returns with an error. > > > > Reverting the problematic commit makes the problem go away. > > How strange! This must be some race in the parallel build. I don't think so, I didn't use -j with htmldocs builds. And you know what, adding "-j 2" to the command line actually makes it work. :-) > AFAICT, "output" is made in the first sub-target (Documentation/media). This > doesn't look entirely stable (there's no ordering implied by the "all" > target in there)... > > Does this work for you? No, it doesn't. > > diff --git a/Documentation/Makefile b/Documentation/Makefile > index d77bb607aea4..5654e087ae1e 100644 > --- a/Documentation/Makefile > +++ b/Documentation/Makefile > @@ -62,7 +62,8 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit; > # e.g. "media" for the linux-tv book-set at ./Documentation/media > > quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) > - cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ > + cmd_sphinx = mkdir -p $(abspath $(BUILDDIR)) && \ > + $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ > PYTHONDONTWRITEBYTECODE=1 \ > BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \ > $(PYTHON) $(srctree)/scripts/jobserver-exec \ > > -- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Regression] Docs build broken by commit 51e46c7a4007 2020-02-20 21:44 ` Rafael J. Wysocki @ 2020-02-20 22:49 ` Kees Cook 2020-02-21 8:40 ` Rafael J. Wysocki 0 siblings, 1 reply; 7+ messages in thread From: Kees Cook @ 2020-02-20 22:49 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Jonathan Corbet, Linux Kernel Mailing List, open list:DOCUMENTATION On Thu, Feb 20, 2020 at 10:44:35PM +0100, Rafael J. Wysocki wrote: > On Thu, Feb 20, 2020 at 9:05 PM Kees Cook <keescook@chromium.org> wrote: > > > > On Thu, Feb 20, 2020 at 07:50:47PM +0100, Rafael J. Wysocki wrote: > > > On two of my systems the docs build has been broken by commit > > > 51e46c7a4007 ("docs, parallelism: Rearrange how jobserver reservations > > > are made"). > > > > > > The symptom is that the build system complains about the "output" > > > directory not being there and returns with an error. > > > > > > Reverting the problematic commit makes the problem go away. > > > > How strange! This must be some race in the parallel build. > > I don't think so, I didn't use -j with htmldocs builds. What version of Sphinx do you have? > And you know what, adding "-j 2" to the command line actually makes it work. :-) Without a -j argument, the Documentation build has been using -jauto on Sphinx itself. > > AFAICT, "output" is made in the first sub-target (Documentation/media). This > > doesn't look entirely stable (there's no ordering implied by the "all" > > target in there)... > > > > Does this work for you? > > No, it doesn't. Well now I'm really baffled. What make target are you specifying? I was assuming you were doing "make htmldocs"? -Kees > > > > > diff --git a/Documentation/Makefile b/Documentation/Makefile > > index d77bb607aea4..5654e087ae1e 100644 > > --- a/Documentation/Makefile > > +++ b/Documentation/Makefile > > @@ -62,7 +62,8 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit; > > # e.g. "media" for the linux-tv book-set at ./Documentation/media > > > > quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) > > - cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ > > + cmd_sphinx = mkdir -p $(abspath $(BUILDDIR)) && \ > > + $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ > > PYTHONDONTWRITEBYTECODE=1 \ > > BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \ > > $(PYTHON) $(srctree)/scripts/jobserver-exec \ > > > > -- -- Kees Cook ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Regression] Docs build broken by commit 51e46c7a4007 2020-02-20 22:49 ` Kees Cook @ 2020-02-21 8:40 ` Rafael J. Wysocki 2020-02-21 8:48 ` Jonathan Corbet 0 siblings, 1 reply; 7+ messages in thread From: Rafael J. Wysocki @ 2020-02-21 8:40 UTC (permalink / raw) To: Kees Cook Cc: Rafael J. Wysocki, Jonathan Corbet, Linux Kernel Mailing List, open list:DOCUMENTATION On Thu, Feb 20, 2020 at 11:49 PM Kees Cook <keescook@chromium.org> wrote: > > On Thu, Feb 20, 2020 at 10:44:35PM +0100, Rafael J. Wysocki wrote: > > On Thu, Feb 20, 2020 at 9:05 PM Kees Cook <keescook@chromium.org> wrote: > > > > > > On Thu, Feb 20, 2020 at 07:50:47PM +0100, Rafael J. Wysocki wrote: > > > > On two of my systems the docs build has been broken by commit > > > > 51e46c7a4007 ("docs, parallelism: Rearrange how jobserver reservations > > > > are made"). > > > > > > > > The symptom is that the build system complains about the "output" > > > > directory not being there and returns with an error. > > > > > > > > Reverting the problematic commit makes the problem go away. > > > > > > How strange! This must be some race in the parallel build. > > > > I don't think so, I didn't use -j with htmldocs builds. > > What version of Sphinx do you have? 1.6.5 (I realize that it is older than recommended, but it had been working fine before 5.5-rc1 :-)). > > And you know what, adding "-j 2" to the command line actually makes it work. :-) > > Without a -j argument, the Documentation build has been using -jauto on > Sphinx itself. Well, maybe this particular version of Sphinx has problems with that. > > > AFAICT, "output" is made in the first sub-target (Documentation/media). This > > > doesn't look entirely stable (there's no ordering implied by the "all" > > > target in there)... > > > > > > Does this work for you? > > > > No, it doesn't. > > Well now I'm really baffled. What make target are you specifying? I was > assuming you were doing "make htmldocs"? I've tried that too, but most often I do something like "make O=../build/somewhere/ htmldocs". But I can do "make O=../build/somewhere/ -j 2 htmldocs" too just fine. :-) Cheers! ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Regression] Docs build broken by commit 51e46c7a4007 2020-02-21 8:40 ` Rafael J. Wysocki @ 2020-02-21 8:48 ` Jonathan Corbet 2020-02-21 22:10 ` Kees Cook 0 siblings, 1 reply; 7+ messages in thread From: Jonathan Corbet @ 2020-02-21 8:48 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Kees Cook, Linux Kernel Mailing List, open list:DOCUMENTATION On Fri, 21 Feb 2020 09:40:01 +0100 "Rafael J. Wysocki" <rafael@kernel.org> wrote: > 1.6.5 (I realize that it is older than recommended, but it had been > working fine before 5.5-rc1 :-)). We still intend to support back to 1.4; this version should work. > I've tried that too, but most often I do something like "make > O=../build/somewhere/ htmldocs". > > But I can do "make O=../build/somewhere/ -j 2 htmldocs" too just fine. :-) I suspect that the O= plays into this somehow; that's not something I do in my own testing. I'll try to take a look at this, but I'm on the road and somewhat distracted at the moment... Thanks, jon ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Regression] Docs build broken by commit 51e46c7a4007 2020-02-21 8:48 ` Jonathan Corbet @ 2020-02-21 22:10 ` Kees Cook 0 siblings, 0 replies; 7+ messages in thread From: Kees Cook @ 2020-02-21 22:10 UTC (permalink / raw) To: Jonathan Corbet Cc: Rafael J. Wysocki, Linux Kernel Mailing List, open list:DOCUMENTATION On Fri, Feb 21, 2020 at 01:48:41AM -0700, Jonathan Corbet wrote: > On Fri, 21 Feb 2020 09:40:01 +0100 > "Rafael J. Wysocki" <rafael@kernel.org> wrote: > > > 1.6.5 (I realize that it is older than recommended, but it had been > > working fine before 5.5-rc1 :-)). > > We still intend to support back to 1.4; this version should work. > > > I've tried that too, but most often I do something like "make > > O=../build/somewhere/ htmldocs". > > > > But I can do "make O=../build/somewhere/ -j 2 htmldocs" too just fine. :-) > > I suspect that the O= plays into this somehow; that's not something I do > in my own testing. I'll try to take a look at this, but I'm on the road > and somewhat distracted at the moment... Ah! Yes, I've not used O= before. I bet it's something weird between the parallelism detection of a pre-1.7 version and the O=. I'll see if I can find the problem... -- Kees Cook ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-02-21 22:10 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-02-20 18:50 [Regression] Docs build broken by commit 51e46c7a4007 Rafael J. Wysocki 2020-02-20 20:05 ` Kees Cook 2020-02-20 21:44 ` Rafael J. Wysocki 2020-02-20 22:49 ` Kees Cook 2020-02-21 8:40 ` Rafael J. Wysocki 2020-02-21 8:48 ` Jonathan Corbet 2020-02-21 22:10 ` Kees Cook
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).