mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [BUG] Build failure in next-20261007 and next-20261008
@ 2026-10-09  0:56 Paul E. McKenney
  2026-10-09  5:11 ` Kees Cook
  0 siblings, 1 reply; 5+ messages in thread
From: Paul E. McKenney @ 2026-10-09  0:56 UTC (permalink / raw)
  To: Lorenzo Stoakes
  Cc: Nicolas Schier, Jonathan Corbet, Mauro Carvalho Chehab,
	Manuel Ebner, Kees Cook, Nathan Chancellor, linux-kbuild,
	linux-doc, linux-kernel, workflows, Mark Brown, linux-next

Hello!

Building a kernel on CentOS Stream 9 from next-20261007 and next-20261008
(and maybe others?)  on an x86 or arm64 system results in a strange
build failure featuring:

WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory')

However, a kernel really is built, and restarting the build immediately
after a failure succeeds and generates a good kernel.  Doing a "make
clean" causes the next build to fail, as does changing a sufficient
number of source files.

My reproducer is:

tools/testing/selftests/rcutorture/bin/kvm.sh --build-only --allcpus --configs TREE02 --trust-make

But a simple "make -jN" suffices.

Bisection converged on this commit:

48ebe1cbbeb5 ("kbuild: compress the kernel with pigz if available")

Reverting this commit gets rid of the bug.

The bug does not happen on my ancient Ubuntu laptop.

The failing systems have a pigz command (which complains bitterly when
run without arguments), and the immune system does not.  On the failing
systems, "pigz --version" gives me "pigz 2.5".

Do I need a specific version of pigz?  Does this commit need a
version-number check?  Are my systems pigz-intolerant?  ;-)

Less flippantly, is this a known problem?  If not, what debugging
information can I provide?

							Thanx, Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] Build failure in next-20261007 and next-20261008
  2026-10-09  0:56 [BUG] Build failure in next-20261007 and next-20261008 Paul E. McKenney
@ 2026-10-09  5:11 ` Kees Cook
  2026-10-09 15:57   ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Kees Cook @ 2026-10-09  5:11 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Lorenzo Stoakes, Nicolas Schier, Jonathan Corbet,
	Mauro Carvalho Chehab, Manuel Ebner, Nathan Chancellor,
	linux-kbuild, linux-doc, linux-kernel, workflows, Mark Brown,
	linux-next

On Thu, Oct 08, 2026 at 05:56:21PM -0700, Paul E. McKenney wrote:
> Building a kernel on CentOS Stream 9 from next-20261007 and next-20261008
> (and maybe others?)  on an x86 or arm64 system results in a strange
> build failure featuring:
> 
> WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory')

What are your make and python versions? (Oh, the answer is going to be
"CentOS-patched make 4.3")

> The failing systems have a pigz command (which complains bitterly when
> run without arguments), and the immune system does not.  On the failing
> systems, "pigz --version" gives me "pigz 2.5".
> 
> Do I need a specific version of pigz?  Does this commit need a
> version-number check?  Are my systems pigz-intolerant?  ;-)
> 
> Less flippantly, is this a known problem?  If not, what debugging
> information can I provide?

Having pigz just means the parallelism logic kicks in, so I'm suspecting
something in scripts/jobserver-exec. That would point to something
specific to python or make.

I haven't seen this reported before, no.

Ah, and before I could even finish writing this email, my ever helpful
LLM has reported: "pre-4.4 make (like CentOS's 4.3) closes jobserver
pipe descriptors in non-recursive recipes but still exports
--jobserver-auth=R,W via MAKEFLAGS, whereas 4.4+ uses a named FIFO
instead, explaining why it doesn't appear here." And has further found
that this is CentOS-specific, since they appear to have incorrectly
backported a patch ("make-4.3-cloexec.patch"), as stock make 4.3 doesn't
have this problem.

I'll go figure out if there is some proper way to work around CentOS's
broken make...

(And given this, I would suspect you can't do a '-j...' build of the
"htmldocs" target either?)

-Kees

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] Build failure in next-20261007 and next-20261008
  2026-10-09  5:11 ` Kees Cook
@ 2026-10-09 15:57   ` Paul E. McKenney
  2026-10-10  2:23     ` Kees Cook
  0 siblings, 1 reply; 5+ messages in thread
From: Paul E. McKenney @ 2026-10-09 15:57 UTC (permalink / raw)
  To: Kees Cook
  Cc: Lorenzo Stoakes, Nicolas Schier, Jonathan Corbet,
	Mauro Carvalho Chehab, Manuel Ebner, Nathan Chancellor,
	linux-kbuild, linux-doc, linux-kernel, workflows, Mark Brown,
	linux-next

On Thu, Oct 08, 2026 at 10:11:14PM -0700, Kees Cook wrote:
> On Thu, Oct 08, 2026 at 05:56:21PM -0700, Paul E. McKenney wrote:
> > Building a kernel on CentOS Stream 9 from next-20261007 and next-20261008
> > (and maybe others?)  on an x86 or arm64 system results in a strange
> > build failure featuring:
> > 
> > WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory')
> 
> What are your make and python versions? (Oh, the answer is going to be
> "CentOS-patched make 4.3")

I get "GNU Make 4.3", so maybe I need to patch or upgrade or something?

And "Python 3.12.15+meta", so maybe I need to talk to people here.  ;-)

> > The failing systems have a pigz command (which complains bitterly when
> > run without arguments), and the immune system does not.  On the failing
> > systems, "pigz --version" gives me "pigz 2.5".
> > 
> > Do I need a specific version of pigz?  Does this commit need a
> > version-number check?  Are my systems pigz-intolerant?  ;-)
> > 
> > Less flippantly, is this a known problem?  If not, what debugging
> > information can I provide?
> 
> Having pigz just means the parallelism logic kicks in, so I'm suspecting
> something in scripts/jobserver-exec. That would point to something
> specific to python or make.
> 
> I haven't seen this reported before, no.
> 
> Ah, and before I could even finish writing this email, my ever helpful
> LLM has reported: "pre-4.4 make (like CentOS's 4.3) closes jobserver
> pipe descriptors in non-recursive recipes but still exports
> --jobserver-auth=R,W via MAKEFLAGS, whereas 4.4+ uses a named FIFO
> instead, explaining why it doesn't appear here." And has further found
> that this is CentOS-specific, since they appear to have incorrectly
> backported a patch ("make-4.3-cloexec.patch"), as stock make 4.3 doesn't
> have this problem.
> 
> I'll go figure out if there is some proper way to work around CentOS's
> broken make...
> 
> (And given this, I would suspect you can't do a '-j...' build of the
> "htmldocs" target either?)

I will install sphinx &c and give it a try.  ;-)

							Thanx, Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] Build failure in next-20261007 and next-20261008
  2026-10-09 15:57   ` Paul E. McKenney
@ 2026-10-10  2:23     ` Kees Cook
  2026-10-10  4:28       ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Kees Cook @ 2026-10-10  2:23 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Lorenzo Stoakes, Nicolas Schier, Jonathan Corbet,
	Mauro Carvalho Chehab, Manuel Ebner, Nathan Chancellor,
	linux-kbuild, linux-doc, linux-kernel, workflows, Mark Brown,
	linux-next

On Fri, Oct 09, 2026 at 08:57:02AM -0700, Paul E. McKenney wrote:
> On Thu, Oct 08, 2026 at 10:11:14PM -0700, Kees Cook wrote:
> > On Thu, Oct 08, 2026 at 05:56:21PM -0700, Paul E. McKenney wrote:
> > > Building a kernel on CentOS Stream 9 from next-20261007 and next-20261008
> > > (and maybe others?)  on an x86 or arm64 system results in a strange
> > > build failure featuring:
> > > 
> > > WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory')
> > 
> > What are your make and python versions? (Oh, the answer is going to be
> > "CentOS-patched make 4.3")
> 
> I get "GNU Make 4.3", so maybe I need to patch or upgrade or something?
> 
> And "Python 3.12.15+meta", so maybe I need to talk to people here.  ;-)

I meant, it looks like CentOS has a patched version of "make". But I
think that just changes the nature of the bug; it's still a bug that
needs to be fixed even with unpatched "make".

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] Build failure in next-20261007 and next-20261008
  2026-10-10  2:23     ` Kees Cook
@ 2026-10-10  4:28       ` Paul E. McKenney
  0 siblings, 0 replies; 5+ messages in thread
From: Paul E. McKenney @ 2026-10-10  4:28 UTC (permalink / raw)
  To: Kees Cook
  Cc: Lorenzo Stoakes, Nicolas Schier, Jonathan Corbet,
	Mauro Carvalho Chehab, Manuel Ebner, Nathan Chancellor,
	linux-kbuild, linux-doc, linux-kernel, workflows, Mark Brown,
	linux-next

On Fri, Oct 09, 2026 at 07:23:29PM -0700, Kees Cook wrote:
> On Fri, Oct 09, 2026 at 08:57:02AM -0700, Paul E. McKenney wrote:
> > On Thu, Oct 08, 2026 at 10:11:14PM -0700, Kees Cook wrote:
> > > On Thu, Oct 08, 2026 at 05:56:21PM -0700, Paul E. McKenney wrote:
> > > > Building a kernel on CentOS Stream 9 from next-20261007 and next-20261008
> > > > (and maybe others?)  on an x86 or arm64 system results in a strange
> > > > build failure featuring:
> > > > 
> > > > WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory')
> > > 
> > > What are your make and python versions? (Oh, the answer is going to be
> > > "CentOS-patched make 4.3")
> > 
> > I get "GNU Make 4.3", so maybe I need to patch or upgrade or something?
> > 
> > And "Python 3.12.15+meta", so maybe I need to talk to people here.  ;-)
> 
> I meant, it looks like CentOS has a patched version of "make". But I
> think that just changes the nature of the bug; it's still a bug that
> needs to be fixed even with unpatched "make".

Whew!!!

And thank you very much for looking into this!

							Thanx, Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-10  4:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-09  0:56 [BUG] Build failure in next-20261007 and next-20261008 Paul E. McKenney
2026-10-09  5:11 ` Kees Cook
2026-10-09 15:57   ` Paul E. McKenney
2026-10-10  2:23     ` Kees Cook
2026-10-10  4:28       ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®