all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: 74142@debbugs.gnu.org, Greg Hogan <code@greghogan.com>
Subject: bug#74142: [rust-team] rust-bootstrap fails parallel build on x86-64
Date: Fri, 13 Dec 2024 13:53:01 +0200	[thread overview]
Message-ID: <Z1wgHd0_qFEDZ1TY@3900XT> (raw)
In-Reply-To: <87msh7k3nn.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3640 bytes --]

On Sat, Dec 07, 2024 at 10:45:32PM +0900, Maxim Cournoyer wrote:
> Hi,
> 
> Greg Hogan <code@greghogan.com> writes:
> 
> > On Sun, Nov 3, 2024 at 2:49 AM Efraim Flashner <efraim@flashner.co.il> wrote:
> >>
> >> On Thu, Oct 31, 2024 at 03:13:40PM -0400, Greg Hogan wrote:
> >> > derivation: 83qbfg0xxsfr5lsc81m5a770c7c7b55k-rust-1.54.0.drv
> >> > commit: 6e50b0c56a8cc767bd3acb26638f78c450bde718
> >> >
> >> > Build log attached, tail portion below. Has consistently failed to
> >> > build unless cores=1.
> >> >
> >> > The package definition has "#:parallel-build? ,(target-x86-64?)" but
> >> > the noted build issue ("race conditions between various dependent
> >> > crates") is also seen on x86-64.
> >> >
> >> > It is only the 1.54 build with mrustc that fails in this manner, the
> >> > following rust packages in the chain build fine with parallelism
> >> > enabled.
> >> >
> >> > Greg
> >>
> >> I see the note there says something about ppc64le having a race
> >> condition too. My machine has "only" 24 cores, so I didn't run into
> >> anything, but I see you're building with 32 cores. IIRC the ppc64le
> >> machine was building with at least 32 cores also.
> >>
> >> Can you try building rust-1.54 with only 24 cores and see if that works
> >> for you? If it does then I think we can switch the (job-count) variable
> >> to (min 24 (parallel-job-count))
> >
> > Log attached from what looks to be a similar failure on an 8 core instance.
> 
> I encountered the same problem on a 32 "cores" (aka threads) machine.
> I've reported it here [0].
> 
> [0]  https://github.com/thepowersgang/mrustc/issues/343

I followed up with Mutabah (the main author) on IRC and a bit on the bug
tracker, and their suggestion is to use a later commit from mrustc.  I
used the latest commit from the master branch but there I ran into
issues on aarch64 not building correctly. From there they basically said
that they were focused on getting 1.74 bootstrapped, and they weren't
going to be circling back to the master branch until 1.74 was merged.

I went and tried out the rust_1.74 branch which is nearing completion
and that one built without any issues on x86_64 but failed for different
reasons on aarch64, powerpc64le and riscv64.

Someone from Gentoo was also asking around, they're interested in using
mrustc to bootstrap rust-1.74 and continuing on from there, so it's
likely we'll get some help going forward with architecture support.

I think in the meantime while it's not ready I'll change the
parallel-builds? flag to false for everyone, and then I'll continue
working on getting the bootstrap to work on the other architectures. The
good news is it only takes about 15 minutes to fail on aarch64 and
powerpc64le, so those should go pretty quickly through each iteration. I
might need to try some by-hand builds on riscv64; that one was closer to
2 hours.

Mutabah also said that their primary target is x86_64 and they don't
have the hardware to test other architectures, so its more hit-or-miss
there, and they rely on patches from others to get those ports working
as well as they do.  I don't love the answer, but I don't blame them.

I'll probably focus on aarch64 first since I can offload that easily and
I don't need to use a remote GUIX_DAEMON_SOCKET to get it to build, but
unfortunately it looks like we're sticking with 1.54 for a while.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-12-13 11:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-31 19:13 bug#74142: [rust-team] rust-bootstrap fails parallel build on x86-64 Greg Hogan
2024-10-31 20:26 ` bug#74142: [PATCH rust-team] gnu: rust-bootstrap: Disable parallel builds Greg Hogan
2024-11-03  7:49 ` bug#74142: [rust-team] rust-bootstrap fails parallel build on x86-64 Efraim Flashner
2024-11-03 23:06   ` Greg Hogan
2024-12-07 13:45     ` Maxim Cournoyer
2024-12-13 11:53       ` Efraim Flashner [this message]
2024-12-14 15:38         ` Maxim Cournoyer

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=Z1wgHd0_qFEDZ1TY@3900XT \
    --to=efraim@flashner.co.il \
    --cc=74142@debbugs.gnu.org \
    --cc=code@greghogan.com \
    --cc=maxim.cournoyer@gmail.com \
    /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.