[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35139: Rust builds systematically time out
From: |
Pierre Langlois |
Subject: |
bug#35139: Rust builds systematically time out |
Date: |
Thu, 04 Apr 2019 10:28:59 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.1 |
Hello!
Ludovic Courtès writes:
> Hello,
>
> On berlin, Rust 1.24.1 builds systematically exceed the timeout:
>
> --8<---------------cut here---------------start------------->8---
> Building stage1 compiler artifacts (x86_64-unknown-linux-gnu ->
> x86_64-unknown-linux-gnu)
> Compiling arena v0.0.0
> (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/src/libarena)
> Compiling rustc_driver v0.0.0
> (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/src/librustc_driver)
>
> [...]
>
> Compiling rls-data v0.14.0
> Compiling rustc_data_structures v0.0.0
> (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/src/librustc_data_structures)
> Compiling flate2 v1.0.1
> Compiling syntax_pos v0.0.0
> (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/src/libsyntax_pos)
> Compiling rustc_errors v0.0.0
> (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/src/librustc_errors)
> Compiling backtrace v0.3.4
> guix offload: error: timeout expired while offloading
> '/gnu/store/61bd22d9mg3xl260jwddisiahh3kmanj-rust-1.24.1.drv'
> --8<---------------cut here---------------end--------------->8---
>
> Strangely, the build lasts ~9000 seconds (2.5 hours) on the front-end
> node of berlin¹, and the timeout for guix-daemon on berlin is 6h (see
> guix-maintenance.git) while the max-silent-time is 1h.
>
> The build nodes may be slower than the front-end, but still, it seems
> unlikely that it would take more than 6h there. (That could happen if
> the test suite, which lasts 2.1h, were “embarrassingly parallel”, but
> we’re running tests with ‘-j1’.)
>
> To summarize, there are two problems:
>
> 1. Rust takes too long to build. What can we do about it? Enable
> parallel builds?
One thing I suggested in the past was to remove the check phase *only*
for rust packages used for bootstrapping. This way we still run the
tests for the final rust but not at every step in the chain.
Although, I wonder if we're more likely to miss a bug if we do this, I'm
not sure.
For reference:
https://lists.gnu.org/archive/html/guix-patches/2018-11/msg00453.html
Thanks,
Pierre