l...@gnu.org (Ludovic Courtès) skribis: > l...@gnu.org (Ludovic Courtès) skribis: > >> Going to http://hydra.gnu.org/build/49569/ shows that the texlive builds >> were actually aborted. The “Nix error output” box shows this: >> >> offloading '/gnu/store/j0b550qfqaffffc1w550v0zq2nlb0sqc-texlive-2013.drv' to >> 'hydra.gnunet.org'... >> @ build-remote /gnu/store/j0b550qfqaffffc1w550v0zq2nlb0sqc-texlive-2013.drv >> hydra.gnunet.org >> retrieving 2 files from 'hydra.gnunet.org'... >> Backtrace: >> In ice-9/boot-9.scm: >> 2401: 19 [save-module-excursion #<procedure 1acc980 at >> ice-9/boot-9.scm:4045:3 ()>] >> 4050: 18 [#<procedure 1acc980 at ice-9/boot-9.scm:4045:3 ()>] >> 1724: 17 [%start-stack load-stack ...] >> 1729: 16 [#<procedure 1ad85d0 ()>] >> In unknown file: >> ?: 15 [primitive-load "/usr/local/bin/guix"] >> In guix/ui.scm: >> 597: 14 [run-guix-command offload "x86_64-linux" "3600" "1" "72000"] >> In guix/scripts/offload.scm: >> 686: 13 [guix-offload "x86_64-linux" "3600" "1" "72000"] >> In ice-9/boot-9.scm: >> 157: 12 [catch srfi-34 ...] >> In guix/scripts/offload.scm: >> 413: 11 [transfer-and-offload # # # ...] >> 488: 10 [retrieve-files # #] >> In ice-9/boot-9.scm: >> 157: 9 [catch srfi-34 ...] >> In guix/scripts/offload.scm: >> 497: 8 [#<procedure 262b660 at guix/scripts/offload.scm:488:11 ()>] >> In guix/utils.scm: >> 240: 7 [call-with-decompressed-port xz #<closed: file 0> ...] >> In guix/nar.scm: >> 426: 6 [loop 1 ()] >> 256: 5 [restore "/gnu/store/guix-8uVCz3"] >> 256: 4 [restore "/gnu/store/guix-8uVCz3/texmf-dist"] >> 256: 3 [restore "/gnu/store/guix-8uVCz3/texmf-dist/doc"] >> 256: 2 [restore "/gnu/store/guix-8uVCz3/texmf-dist/doc/generic"] >> 248: 1 [restore >> "/gnu/store/guix-8uVCz3/texmf-dist/doc/generic/babel-swedish"] >> In unknown file: >> ?: 0 [mkdir "/gnu/store/guix-8uVCz3/texmf-dist/doc/generic/babel-swedish" >> ...] >> >> ERROR: In procedure mkdir: >> ERROR: In procedure mkdir: No such file or directory >> lsh: io.c: write failed (errno = 32): Broken pipe >> lsh: channel.c: stdout: I/O error, Broken pipe >> lsh: Ignoring data on channel which is closing >> builder for `/gnu/store/j0b550qfqaffffc1w550v0zq2nlb0sqc-texlive-2013.drv' >> failed with exit code 1 >> @ hook-failed /gnu/store/j0b550qfqaffffc1w550v0zq2nlb0sqc-texlive-2013.drv - >> 256 builder for >> `/gnu/store/j0b550qfqaffffc1w550v0zq2nlb0sqc-texlive-2013.drv' failed with >> exit code 1 >> error: build of >> `/gnu/store/j0b550qfqaffffc1w550v0zq2nlb0sqc-texlive-2013.drv' failed >> >> So the problem occurred while retrieving and restoring the build result >> (the log shows just these two lines because apparently, the result was >> already available on the build machine hydra.gnunet.org–which is no >> surprise given that /gnu is 1.5T on that machine, vs. 400G on >> hydra.gnu.org.) >> >> The ‘mkdir’ error here suggests that the temporary place were we are >> restoring, /gnu/store/guix-8uVCz3, has been removed right in the middle >> of the process by the GC. >> >> I believe this is fixed by 9132b9b. > > Actually no (I’ve seen other occurrences of that in the meantime.) > > 9132b9b had a thinko, which is (hopefully!) fixed by 6071b55. I’ve just > installed it on hydra.gnu.org.
There was another problem with that “fix”, namely that the daemon ignores normal GC roots pointing to “abnormal” store files like /gnu/store/guix-8uVCz3. This led to the (now abandoned) proposal at <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00198.html>. I finally came up with a simpler solution in commit 50db7d8: a connection to the daemon is opened for the sake of holding a per-process GC root to that temporary store file. Ludo’.