linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).