Subject: bug#52557: sporadic offload when --max-jobs=0

From: zimoun <[email-masked]>
Date: Thu, 16 Dec 2021 18:30:14 +0100

Hi,

Although the daemon is configured with --max-jobs=0, it sporadically
builds on master machine instead of offload or fail.

Offload seems to work:

--8<---------------cut here---------------start------------->8---
$ guix offload status
guix offload: getting status of 1 build machines defined in '/etc/guix/machines.scm'...
x.x.x.x
  kernel: Linux 5.4.0-26-generic
  architecture: x86_64
  host name: jack-Precision-7820-Tower
  normalized load: 0.00
  free disk space: 2383907.54 MiB
  time difference: 0 s

$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'x.x.x.x' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'x.x.x.x' is running GNU Guile 3.0.7
guix offload: sending 1 store item (0 MiB) to 'x.x.x.x'...
exporting path `/gnu/store/ala5gqgj5agzxilvccsm3qqzqaiydwan-export-test'
guix offload: 'x.x.x.x' successfully imported '/gnu/store/ala5gqgj5agzxilvccsm3qqzqaiydwan-export-test'
retrieving 1 store item from 'x.x.x.x'...
guix offload: successfully imported '/gnu/store/l23vb8ghypysf4ga0y27d8i87gigx89l-import-test' from 'x.x.x.x'
--8<---------------cut here---------------end--------------->8---

Then, master daemon is configured with --max-jobs=0,

--8<---------------cut here---------------start------------->8---
$ ps aux | grep guix-daemon
root      346541  0.0  0.0  12124  5496 ?        Ss   13:55   0:00 guix-daemon --build-users-group=guixbuild  --max-jobs=0
simon     350521  0.0  0.0   6184   656 pts/1    S+   14:01   0:00 grep guix-daemon
--8<---------------cut here---------------end--------------->8---

Last, a common build works…

--8<---------------cut here---------------start------------->8---
$ guix build git
/gnu/store/lyv420lrfm5j4ixknbhs294k5f05qn1s-git-2.34.0-credential-libsecret
/gnu/store/pj11pm007b2h6yz1b38q1l0kpxmcpcjj-git-2.34.0-credential-netrc
/gnu/store/8wyjvrnsrviy1mvhvgy4nm6sg0brsz2b-git-2.34.0-gui
/gnu/store/rvppl0bs1ghhhdfszkbz73k1dc70807l-git-2.34.0
/gnu/store/qff9ispj7bkpv9k6yp2gz689afqd0zpa-git-2.34.0-send-email
/gnu/store/llhzwa22dns5qxwqppqg7c7sa5lr6r3j-git-2.34.0-subtree
/gnu/store/ilgcyafxssrsn6d4aw7n8h8ycjla4vx7-git-2.34.0-svn
--8<---------------cut here---------------end--------------->8---

…but that,

--8<---------------cut here---------------start------------->8---
$ guix build git --no-grafts --check
--8<---------------cut here---------------end--------------->8---

builds sometimes locally, sometimes not.  The build had been once
offloaded, but then not.  For an example of offload [1].

I expect to always offload or fail because --max-jobs=0.

Cheers,
simon

1: <http://issues.guix.gnu.org/issue/39366>