!CcTBuBritXGywOEGWJ:matrix.org

NixOS Binary Cache Self-Hosting

129 Members
About how to host a very large-scale binary cache and more47 Servers

Load older messages


SenderMessageTime
19 Oct 2024
@jwillikers:matrix.orgjwillikers joined the room.12:07:52
23 Oct 2024
@quentinmit:matrix.orgquentin joined the room.22:45:11
@quentinmit:matrix.orgquentin

I've been trying to get nix-fast-build running on Google Cloud Build using a Cloud Storage bucket as an s3 binary cache. I keep running into failures like:

...
copying path '/nix/store/9ip31vbkgg0lp4rx042svlllv3945nxq-stdenv-linux' from 'https://cache.nixos.org'...
copying path '/nix/store/y51zn1giz8i8da0vawfh7n1cd4pc2fby-util-linux-minimal-2.39.4-bin' from 's3://my-bucket'...
error:
       … while reading the response from the build hook

       error: unexpected EOF reading a line

(The package just before the error varies from build to build)
Does anyone know what this error means? I found a blog post where someone mentions it online, but in their case they solved it by restarting nix-daemon, which I don't even have running.

22:48:10
24 Oct 2024
@joerg:thalheim.ioMic92 quentin: you seem to have configured a build hook in your nix.conf: https://nix.dev/manual/nix/2.24/command-ref/conf-file.html#conf-build-hook 05:38:36
@joerg:thalheim.ioMic92

Nix communicates with the build hook over stdio using a custom protocol to request builds that cannot be performed directly by the Nix daemon. The default value is the internal Nix binary that implements remote building.

05:38:59
@quentinmit:matrix.orgquentin
In reply to @joerg:thalheim.io
quentin: you seem to have configured a build hook in your nix.conf: https://nix.dev/manual/nix/2.24/command-ref/conf-file.html#conf-build-hook

I haven't (intentionally, at least). This is my complete nix.conf:

      extra-experimental-features = nix-command flakes
      substituters = ${s3Url} https://cache.nixos.org/
      require-sigs = false
05:40:04
@joerg:thalheim.ioMic92derivation-goal.cc05:40:58
@joerg:thalheim.ioMic92https://github.com/NixOS/nix/blob/3db75b00602a7a937c1e983e01c071100102c18c/src/libstore/build/derivation-goal.cc#L115705:41:09
@joerg:thalheim.ioMic92Ok. I think this not like post-build-hook05:41:21
@joerg:thalheim.ioMic92This is maybe used when doing remote builds?05:41:33
@joerg:thalheim.ioMic92https://github.com/NixOS/nix/blob/3db75b00602a7a937c1e983e01c071100102c18c/src/libstore/unix/build/hook-instance.cc#L4805:42:28
@joerg:thalheim.ioMic92 quentin: I would add more -vvvvv to your build to get more low-level output 05:42:59
@joerg:thalheim.ioMic92potentially also needs to be done in nix-daemon as this one might actually start this binary05:43:19
@quentinmit:matrix.orgquentin I'm not sure how to thread -vvvv through nix-fast-build 05:43:32
@joerg:thalheim.ioMic92use nix build directly on one of the builds that fails05:43:52
@quentinmit:matrix.orgquentinUnfortunately that succeeds05:43:59
@joerg:thalheim.ioMic92mhm. ok. maybe some sort of resource depletion?05:44:38
@joerg:thalheim.ioMic92 Does it happen if you do nix-fast-build -j 1? 05:45:13
@joerg:thalheim.ioMic92that will run less stuff in parallel05:45:21
@joerg:thalheim.ioMic92 Otherwise strace -f is your friend for these kind of errors. You might want to log it to a file 05:45:49
@joerg:thalheim.ioMic92 if you can install sysdig via programs.sysdig.enable = true in nixos, than try sysdig -c stderr 05:46:17
@joerg:thalheim.ioMic92for sysdig you will need root05:47:02
@quentinmit:matrix.orgquentinAs I said above the builds are running on Google Cloud Build05:48:16
@quentinmit:matrix.orgquentinso no NixOS, no nix-daemon05:48:22
@quentinmit:matrix.orgquentin Just invoking nix-fast-build from within a nix-built Docker container 05:48:46
@joerg:thalheim.ioMic92Ok. Don't have much experience with google cloud build. Good luck05:50:16
@quentinmit:matrix.orgquentinAlso there's no remote builders involved05:50:27
@quentinmit:matrix.orgquentin I was wondering if there was a race condition between the nix-eval-jobs process and the nix-build processes in local store manipulations 05:51:06
@quentinmit:matrix.orgquentin
In reply to @joerg:thalheim.io
Does it happen if you do nix-fast-build -j 1?
-j 1 doesn't help; it still reliably fails
05:51:24
@quentinmit:matrix.orgquentin Is there any way to thread -v or --debug through nix-fast-build? I couldn't find anything equivalent that I could put in nix.conf, for instance. 05:51:59

Show newer messages


Back to Room ListRoom Version: 10