all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: 49367@debbugs.gnu.org
Subject: bug#49367: Bootstrap binaries affected by spawni.c bug in glibc <= 2.26
Date: Sat, 03 Jul 2021 23:26:37 +0200	[thread overview]
Message-ID: <87y2anxf5e.fsf@inria.fr> (raw)

While building ‘findutils-boot0’ & co. for AArch64 on ci.guix, where
some of the aarch64-linux nodes are emulated, I hit failures like this
one a few times:

--8<---------------cut here---------------start------------->8---
starting phase `build'
make: ../sysdeps/unix/sysv/linux/spawni.c:360: __spawnix: Assertion `ec >= 0' failed.
qemu: uncaught target signal 6 (Aborted) - core dumped
error: in phase 'build': uncaught exception:
srfi-34 #<condition &invoke-error [program: "make" arguments: ("-j" "24") exit-status: #f term-signal: 6 stop-signal: #f] 149e880> 
phase `build' failed after 0.1 seconds
command "make" "-j" "24" failed with signal 6
builder for `/gnu/store/rkkgavlyvf06sfdnxlfqb11bljf989y1-findutils-boot0-4.8.0.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

These are traces of a ‘posix_spawn’ bug that was present in glibc 2.26,
a race condition that would manifest primarily on qemu-binfmt builds:

  https://issues.guix.gnu.org/30394

The thread above mentioned that Bison was one of the very few
‘posix_spawn’ users, so it wasn’t much of a problem.

However, it turns out that (1) we’re using Make 4.3, which uses
‘posix_spawn’ by default, and (2) our bootstrap glibc for AArch64 is
affected:

--8<---------------cut here---------------start------------->8---
$ guix gc --references /gnu/store/rkkgavlyvf06sfdnxlfqb11bljf989y1-findutils-boot0-4.8.0.drv |grep make-boot0
/gnu/store/yir8j4h6prfmz18kyrsch2g7qng87g04-make-boot0-4.3.drv
$ ls $(guix build $(guix gc --references /gnu/store/rkkgavlyvf06sfdnxlfqb11bljf989y1-findutils-boot0-4.8.0.drv |grep glibc-bootstrap))/lib/libc-*.so
/gnu/store/js119fgv6n713c3lypjn7s4xv5bxf870-glibc-bootstrap-0/lib/libc-2.25.so
--8<---------------cut here---------------end--------------->8---

Possible solutions:

  0. Ignore the problem, “it’s almost only affects emulated builds
     anyway”.

  1. Update bootstrap glibc.  It’s late in the core-updates cycle, and
     it’s not something we do lightly anyway.

  2. Build ‘make-boot0’ with ‘--disable-posix-spawn’.  Best solution in
     my view.

Thoughts?

Ludo’.




             reply	other threads:[~2021-07-03 21:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-03 21:26 Ludovic Courtès [this message]
2021-07-03 22:11 ` bug#49367: Bootstrap binaries affected by spawni.c bug in glibc <= 2.26 Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y2anxf5e.fsf@inria.fr \
    --to=ludo@gnu.org \
    --cc=49367@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.