Hi!
Today I thought that it should be possible to work around this bug on my aarch64 system by mounting /tmp as a tmpfs, backed by swap on a small SD card, to prevent any issues due to my NFS root. This worked for the trap-cleanup-issue. But to my surprise this didn’t work out for the “dtmp/” error.
I was wondering, if using /tmp as a tmpfs on my virtual x86_64 system would make the test fail there as well. So I did
sudo mount -t tmpfs -o size=768M tmpfs /tmpguix build --check --no-grafts guix@1.2.0-8.7624ebb
But there it was passing.
This is the interesting part from the log of the aarch64 system:
test-name: verify-store + check-contentslocation: /tmp/guix-build-guix-1.2.0-8.7624ebb.drv-0/source/tests/store.scm:1156source:+ (test-assert+ "verify-store + check-contents"+ (with-store+ s+ (let* ((text (random-text))+ (drv (build-expression->derivation+ s+ "corrupt"+ `(let ((out (assoc-ref %outputs "out")))+ (call-with-output-file+ out+ (lambda (port) (display ,text port)))+ #t)+ #:guile-for-build+ (package-derivation+ s+ %bootstrap-guile+ (%current-system))))+ (file (derivation->output-path drv)))+ (with-derivation-substitute+ drv+ text+ (and (build-derivations s (list drv))+ (verify-store s #:check-contents? #t)+ (begin+ (chmod file 420)+ (call-with-output-file+ file+ (lambda (port) (display "corrupt!" port)))+ #t)+ (not (verify-store s #:check-contents? #t))+ (delete-paths s (list file)))))))actual-value: #factual-error:+ (%exception+ #<&store-protocol-error message: "path `dtmp/guix-tests/store/rn6xq5kaipp8aanhcnz2hvyfmr3y2laa-mirrors' is not in the store" status: 1>)result: FAIL
Bye
Stefan