-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unstable/unstable-small boot tests blocked due to alsa-firmware failing nix verify
#132286
Comments
@roberth I think you referred to a related Nix issue earlier when I asked, but I can't recall what it was. |
It was this PR: #123943 (but not in the sense that it fixes this issue) |
It would be nice to understand why the modification happens. I tried just dumb bisection. The problem seems reliably reproducible on my machine, and I arrived at c5114b3. (retried multiple times on the commit and its parent) But it doesn't really make sense, and reverting that merge on master does not fix it for me anyway. |
I grabbed the nar out of a running test VM with Here's the diff-of-xxds: |
Checking edolstra's PHD thesis to find out what this actually means :) |
Maybe it would be easier to somehow "unpack" it into a directory and compare those. |
It's the sizes of the files In the cache version, they're 70 and 72 bytes respectively, in the vm version, they're 71 each. |
If I'm understanding correctly, this is a simple non-reproducable build, and due to some messy nix behavior, that is manifesting as a failed I don't believe enforcing true reproducibility as a channel blocker is the intention of this test, right? |
I had checked that first: on my machine the |
Ah of course, the VM isn't actually doing the build it's presumably getting it from the same place as the host. Which means something spookier is going on... |
Maybe it's some bug related to those files containing just zero bytes. |
Ah yeah, looking at the alsa-firmware sources these files do seem to just be static files, so the build being truely reproducable seems unlikely. The correct sizes are:
So cache.nix.org is correct and the VM is incorrect. I assume the VM is getting it from the iso file it's booting? Will check that next. Cosmic rays? :3 |
Yep, I have mounted the squashfs from the ISO and it is indeed wrong:
|
I suspect plougher/squashfs-tools@19b161c I'll verify. |
That commit doesn't seem to be part of squashfs-tools 4.5 though. |
No, the bug was introduced in 4.5, and the fix is not yet part of a release, see the top of the readme:
|
Ah, thanks |
Yes, that patch fixed the bug. At least for me. I assume it was elusive because sparsity of files isn't perfectly reproducible (especially when you have /nix/store on a different FS, or maybe the order of files mattered). |
This is the same test which blocks nixos-unstable-small. It recently caused a long blockage, due to a regression in squashfsTools itself corrupting the iso image, see NixOS#132286.
Describe the bug
nix verify
fails in the boot tests, like so:See e.g. the history here: https://hydra.nixos.org/job/nixos/unstable-small/nixos.tests.boot.biosCdrom.x86_64-linux/all
Steps To Reproduce
On master,
nix-build nixos/release.nix -A tests.boot.biosCdrom.x86_64-linux
. This failed for me on the first try:Interestingly, that path is fine on my host machine:
Expected behavior
The boot tests succeed, and channels are unblocked.
Notify maintainers
Unclear who to ping here, since I'm not sure if this is a nix daemon bug, a corruption issue on cache.nixos.org, or an alsa-firmware problem...
Maintainer information:
The text was updated successfully, but these errors were encountered: