guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

failure when rebuilding the past: long term?


From: zimoun
Subject: failure when rebuilding the past: long term?
Date: Wed, 02 Feb 2022 23:20:50 +0100

Hi,

Investigating [0], and working on rebuilding a tiny part of "Preservation
of Guix", I note some failures of the time-machine.

Let just display the help message using the time-machine for all the 120
commits updating the package guix.  Other said, let just check that it
is possible to time-machine some commits.

--8<---------------cut here---------------start------------->8---
for ci in $(git log --format="%H %s" v1.0.0.. | grep 'guix: Update' | cut -f1 
-d' '); do printf "$ci "; guix time-machine --commit=$ci -- help 1> /dev/null 
2> /dev/null; if [ $? -eq 1 ]; then echo KO; else echo OK; fi ;done
--8<---------------cut here---------------end--------------->8---

These commits are failing:

7bae88b5b9dcacad4dcd11b353b486dc2f8a78e2 Sep 2021
f08587682a631d3fe30159af838c6766dd65205b Oct 2020
7db32c94b0b7d7fe0896389772f7cda802536693 Oct 2020
29d3569c9c712d70466d9175474c8fd1a3262234 Aug 2020
d3eee3c0643a20ba06941ba45d9d27146a8b634d Jul 2020
b778989e9a299102355b7145d1963baed5db7268 Mar 2020
cd2c3dc2d6ed1372ba457d7856b3fdbf097c7095 Nov 2019

7/120, not that bad! :-)


However, for instance, I miss how it is possible to get:

--8<---------------cut here---------------start------------->8---
@ build-started 
/gnu/store/9p560p4gd4f7jpbwnc8sarqkxfyxpxb9-guix-1.1.0-28.d27dbeb-checkout.drv 
- x86_64-linux 
/var/log/guix/drvs/9p//560p4gd4f7jpbwnc8sarqkxfyxpxb9-guix-1.1.0-28.d27dbeb-checkout.drv.bz2
 3761976
@ build-log 3761976 41
guile: warning: failed to install locale
@ build-log 3761976 152
environment variable `PATH' set to 
`/gnu/store/378zjf2kgajcfd7mfr98jn5xyc5wa3qv-gzip-1.10/bin:/gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32/bin'
@ build-log 3761976 117
Initialized empty Git repository in 
/gnu/store/6ccci55npzlzb0pnpm6sf5f8swnnrpfg-guix-1.1.0-28.d27dbeb-checkout/.git/
/@ build-log 3761976 65
fatal: dumb http transport does not support shallow capabilities
@ build-log 3761976 55
Failed to do a shallow fetch; retrying a full fetch...
\@ build-log 3761976 324
>From https://git.savannah.gnu.org/r/guix
[...]
HEAD is now at d27dbeb9d8 gnu: guix: Install OpenRC init files to $(prefix)/etc.
@ hash-mismatch 
/gnu/store/6ccci55npzlzb0pnpm6sf5f8swnnrpfg-guix-1.1.0-28.d27dbeb-checkout 
r:sha256 05mvljdr4clnv8i89db2hpjm33xg7jcg1vs00dbb4jcivlpkmqrl 
0j60m9s47n23flfp2yn4ww4vsk8qvp500m2x1x0ib5bjywj1hiwl
hash mismatch for store item 
'/gnu/store/6ccci55npzlzb0pnpm6sf5f8swnnrpfg-guix-1.1.0-28.d27dbeb-checkout'
@ build-failed 
/gnu/store/9p560p4gd4f7jpbwnc8sarqkxfyxpxb9-guix-1.1.0-28.d27dbeb-checkout.drv 
- 1 hash mismatch for store item 
'/gnu/store/6ccci55npzlzb0pnpm6sf5f8swnnrpfg-guix-1.1.0-28.d27dbeb-checkout'
--8<---------------cut here---------------end--------------->8---

or another:

--8<---------------cut here---------------start------------->8---
fatal: reference is not a tree: 537080fad8dfa63df2f1d0b0d046a28077d56a56
@ build-log 3768401 160
git-fetch: 
'/gnu/store/i5b1vv7qc6l2gi4xwa9mqzjy3shvgk30-git-minimal-2.28.0/bin/git 
checkout 537080fad8dfa63df2f1d0b0d046a28077d56a56' failed with exit code 128
--8<---------------cut here---------------end--------------->8---

Other said, why is time-machine fully cloning from network and not
reusing '~/.cache/guix/checkouts' since it has already done earlier with
«Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...»?


The questions are then:

 1. For these failed commits, is it fixable?  If yes, how?

 2. If not, what could be done to cut earlier?  For instance, collect a
 list of commits known to be unreachable.

 3. Having all the sources is one thing, but being able to rebuild is
 another.  Failure of OpenBLAS [0] is one example, of some mesboot [1]
 or of texlive [2] are others.  It appears to me that something is
 inadequate with the current workflow pushing all to master without any
 automated* checks. Other said, failures as 8f9fd9b70c (value "Unbound
 variable: ~S") (value (r-biobase) seems wrong by design.  Well,
 ac6f677249 is another recent example.  Somehow, because the package
 collection is becoming larger and larger (which is good!)  then it is
 becoming harder and harder to maintain the consistency both forward and
 backward.  For the last Guix revision, my rough estimate is that ~5% of
 packages are broken and my guess is that this number is “independant”
 of the package collection size.  However, I already have some
 collection of unreachable commits by the time-machine and then for some
 reachable commits, I do not have numbers for what is effectively
 rebuildable.  As discussed in this thread [3], maybe Guix is moving too
 fast; or better worded, maybe the current workflow is inadequate with
 some goals of long term and build all from sources.  I do not know…  My
 point here: do we provide a list of commits (release, others) where we
 apply more care for long term?

*automated check: “guix lint” is not automated since it depends on the
 submitter and/or the committer; and for having spent some time to check
 the coverage of git-fetch by SWH, I can tell that “guix lint” is not
 automated. ;-)


0: <https://lists.gnu.org/archive/html/guix-devel/2022-02/msg00000.html>
1: <https://lists.gnu.org/archive/html/guix-devel/2022-02/msg00009.html>
2: <https://lists.gnu.org/archive/html/guix-devel/2022-02/msg00010.html>
3: <https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00329.html>

Cheers,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]