Ludovic Courtès <[email protected]> skribis: > Cuirass stores GC roots for all the derivations of its jobsets under > /var/guix/profiles/per-user/cuirass/cuirass (or similar). > > The ‘delete-old-gc-roots’ periodically deletes these GC roots (which are > not just derivations), but it’s supposed to keep GC roots to derivations > that are queued: that was done in > 55af0f70c0d4938b8eda777382bbc4d8f5698a37. > > Unfortunately, there’s ample evidence on berlin that GC roots of .drv > currently queued get removed anyway. This causes workers to try in vain > to substitute them, to eventually reject the build, which gets canceled > by ‘remote-server’.
This was fixed or at least mitigated by these Cuirass commits: e96f088 * register: Add ‘--derivation-ttl’ option, default to twice ‘--ttl’. 304c09b * base: Be more conservative in deciding whether to remove a .drv GC root. In particular, .drv for builds currently in ‘failed-derivation’ status are no longer GC’d when other builds in that evaluation might eventually trigger a failed-derivation -> scheduled transition. Ludo’.
