Subject: Re: bug#33542: Strange tarball download error on Hydra

From: Mark H Weaver <[email-masked]>
Date: Fri, 07 Dec 2018 20:01:19 -0500

reopen 33542
retitle 33542 Offloading to older Guix fails for lack of (guix base16)
thanks

Hi Ludovic,

[email-masked] (Ludovic Courtès) writes:

> Mark H Weaver <[email-masked]> skribis:
>
>> Mark H Weaver <[email-masked]> writes:
>>
>>> On Hydra, the armhf builds for al variants of 'linux-libre-4.14.84'
>>> failed because the tarball download failed.  See below for the build
>>> log.  Strangely, it was unable to find the (guix base16) module.
>>
>> I now see that 89f1fee8e788fc32d08583b4207c1ecb91d50f28 added a new use
>> of (guix base16) during downloads, and that the copies of Guix currently
>> running on the armhf build slaves is too old to include (guix base16).
>
> Oops indeed.  Commit a52ae1b6620fcef28e668047a51a6b2a9fb89e35 addresses
> it by autoloading (guix base16), such that old installations will still
> work but won’t be able to download from Software Heritage.

The autoload workaround introduced in commit a52ae1b6 didn't to work.
Downloads on these armhf slaves are still failing in recent evaluations.
For example, see the build log below, for a version of linux-libre that
did not exist when commit a52ae1b6 was pushed.

I tried upgrading 'guix' on the armhf build slaves, but after doing so
*all* builds offloaded to those machines started aborting.  The nix logs
on Hydra indicate that the (guix) module could not be found.  For now, I
rolled back the upgrades, so this issue is still relevant.

    Thanks,
      Mark

--8<---------------cut here---------------start------------->8---
@ build-started /gnu/store/m74cjfkak0h54jss4043nwpydr90w6i0-linux-libre-4.14.86-gnu.tar.xz.drv - armhf-linux /var/log/guix/drvs/m7//4cjfkak0h54jss4043nwpydr90w6i0-linux-libre-4.14.86-gnu.tar.xz.drv.bz2
;;; Failed to autoload bytevector->base16-string in (guix base16):
;;; ERROR: missing interface for module (guix base16)
Backtrace:
In ice-9/boot-9.scm:
  66: 19 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 18 [eval # #]
In ice-9/boot-9.scm:
2404: 17 [save-module-excursion #<procedure 205c80 at ice-9/boot-9.scm:4051:3 ()>]
4056: 16 [#<procedure 205c80 at ice-9/boot-9.scm:4051:3 ()>]
1727: 15 [%start-stack load-stack #<procedure 1571c0 at ice-9/boot-9.scm:4047:10 ()>]
1732: 14 [#<procedure 1d9d50 ()>]
In unknown file:
   ?: 13 [primitive-load "/gnu/store/hkzbag401s8pkrj6k4bjizy3dybqffp4-guix-0.12.0-2.b291/bin/.guix-real"]
In guix/ui.scm:
1222: 12 [run-guix-command perform-download ...]
In ice-9/boot-9.scm:
 160: 11 [catch srfi-34 #<procedure 8865f0 at guix/ui.scm:426:2 ()> ...]
 160: 10 [catch system-error ...]
In guix/scripts/perform-download.scm:
  63: 9 [perform-download #]
In guix/build/download.scm:
 837: 8 [url-fetch # ...]
In srfi/srfi-1.scm:
 643: 7 [append-map #<procedure 933e88 at guix/build/download.scm:837:16 (make-url)> ...]
 573: 6 [map #<procedure 933e88 at guix/build/download.scm:837:16 (make-url)> #]
 661: 5 [filter-map #<procedure 9a4f48 at guix/build/download.scm:838:30 (expr)> #]
In guix/build/download.scm:
 841: 4 [#<procedure 9a4f48 at guix/build/download.scm:838:30 (expr)> #]
In ice-9/eval.scm:
 387: 3 [eval # #]
 386: 2 [eval # #]
 393: 1 [eval # #]
In unknown file:
   ?: 0 [memoize-variable-access! # #]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: bytevector->base16-string
builder for `/gnu/store/m74cjfkak0h54jss4043nwpydr90w6i0-linux-libre-4.14.86-gnu.tar.xz.drv' failed with exit code 1
@ build-failed /gnu/store/m74cjfkak0h54jss4043nwpydr90w6i0-linux-libre-4.14.86-gnu.tar.xz.drv - 1 builder for `/gnu/store/m74cjfkak0h54jss4043nwpydr90w6i0-linux-libre-4.14.86-gnu.tar.xz.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---