Nixpkgs Stdenv | 256 Members | |
| 80 Servers |
| Sender | Message | Time |
|---|---|---|
| 10 Aug 2023 | ||
Furthermore, I actually see another process read 4781 bytes from /nix/store/cks0priigwh4vpbfd1p7gzy1h0jcpw0q-x86_64-unknown-linux-gnu-llvm-binutils-wrapper-15.0.7.drv.chroot/nix/store/9kaazhysw3pmzlrslpb1nsgy97hq8hlm-x86_64-unknown-linux-gnu-llvm-binutils-wrapper-15.0.7/nix-support/setup-hook. | 14:15:27 | |
| So I'm left thinking that something corrupted the file as it was being put into the store | 14:15:42 | |
| And --rebuild isn't doing what I would expect to detect/fix the corruption | 14:16:02 | |
I think --rebuild never replaces files already present in store. | 14:16:33 | |
| But should it not compare them at least?# | 14:16:49 | |
| If it's comparing them and saying everything is OK, that suggests the corruption may be happening before the compare and is reproducible | 14:17:02 | |
| Ah, that's a good point. Yeah, file comparison should happen. | 14:17:03 | |
| I'm not seeing evidence in the trace log of a comparison happening | 14:17:26 | |
| Though I'm only tracing daemon side.. | 14:17:32 | |
| No evidence of files being opened client side either. | 14:19:14 | |
| So I think --rebuild is not functioning as I'd expect(?!) | 14:19:23 | |
It should compare narHash: https://github.com/NixOS/nix/blob/master/src/libstore/build/local-derivation-goal.cc#L2640 | 14:20:08 | |
Which means you probably build the result as expected, but on disk /nix/store path is corrupted on disk. But it's hash is never calculated and is fetched from database instead. | 14:26:01 | |
Does nix store verify --all (or at least ./result) succeed for you? | 14:26:57 | |
| You got it -- verify shows incorrect hash. | 14:27:46 | |
| \o/ | 14:27:57 | |
| So, uhm, how'd this happen and why doesn't --rebuild protect me against this? | 14:28:16 | |
What filesystem is that? ext4 likes to zero files it was not sure to complete write on crash. | 14:28:17 | |
| btrfs | 14:28:38 | |
| Hm, that is expected to behave better. | 14:28:59 | |
Does nix store repair ./ fix it? | 14:29:54 | |
* Does nix store repair ./result fix it? | 14:30:02 | |
| So, I haven't rebooted. Since I've been building these paths. | 14:30:04 | |
| I've found three bad paths:
| 14:30:24 | |
| I think those two gnu-llvm-binutils would have been built at different times. | 14:30:43 | |
| nix store repair says, e.g.:
| 14:31:12 | |
| I started building these this morning and my uptime is more than 2 days, so I guess it's not bad FS-or-device-behaviour-under-crash | 14:31:52 | |
Could sigquitting nix build explain it in principle? It's a keyboard shortcut I know...# | 14:32:14 | |
* Could sigquitting nix build explain it in principle? It's a keyboard shortcut I know... (not saying I know I used it) | 14:32:20 | |
I would hope nix-daemon is atomic in face of most stops. Especially when it comes to calculating the checksum of a finished build. But maybe there are bugs. | 14:33:37 | |