This NixOS VM test creates a client and a four-slot SSH builder, seeds 800
unreachable client store paths, forces the client's reported free space below
min-free, and releases eight remote build outputs together.
Run it with:
nix build path:.#checks.x86_64-linux.default -L \
--builders '' --min-free 0 --max-free 0The final two options prevent the host Nix daemon's own automatic GC from interfering with the nested VM test.
The test completed on unpatched Nix 2.34.8 in about 99 seconds. All eight outputs returned, so this attempt did not reproduce the production hang deterministically.
The production GDB capture showed an extra condition that this test did not reliably force: the remote build hook's auto-GC filled its JSON log pipe while the parent daemon entered a second synchronous auto-GC. The parent then stopped draining the hook while it waited for the GC lock held by that hook.
The VM test remains useful as a runnable stress harness and records the attempted reproduction. It should not be treated as regression coverage for the patch.