Ludovic Courtès writes: > Roel Janssen <r...@gnu.org> skribis: > >> Ludovic Courtès writes: >> >>> Hi Roel, >>> >>> l...@gnu.org (Ludovic Courtès) skribis: >>> >>>> Roel Janssen <r...@gnu.org> skribis: >>> >>> [...] >>> >>>>>>> actual-error: >>>>>>> + (srfi-34 >>>>>>> + #<condition &nix-protocol-error [message: "path >>>>>>> `dtmp/guix-tests/store/462z3fnl7bs44vp9s97jyg1z74nsfvly-tar' is not in >>>>>>> the Nix store" status: 1] 1071090>) >>>>>>> result: FAIL >>>>>> >>>>>> The “dtmp” bit (instead of “/tmp”) looks fishy and would suggest a >>>>>> memory corruption, presumably in the daemon. >>>>> >>>>> The daemon used in the test, or the daemon used to do the package build? >>>> >>>> The daemon under test (within the build environment). >>>> >>>>>> I suppose the failure random, isn’t it? >>>>> >>>>> I ran it again, and I've got the same error: >>>>> >>>>> actual-error: >>>>> + (srfi-34 >>>>> + #<condition &nix-protocol-error [message: "path >>>>> `dtmp/guix-tests/store/462z3fnl7bs44vp9s97jyg1z74nsfvly-tar' is not in >>>>> the Nix store" status: 1] 1754ed0>) >>>>> >>>>> So that's either a very funny coincidence, or it's a structural problem. >>>> >>>> It’s better if it’s not random. :-) >>>> >>>>> Do you have any suggestions for how I can debug this problem? >>>> >>>> Assuming the failure also happens when you run “make check” outside the >>>> build container (in the failed build tree), can you add ‘valgrind’ in >>>> ‘test-env’? Specifically, in ‘test-env’, look for the line that invokes >>>> ‘./pre-inst-env guix-daemon’ and change it to ‘./pre-inst-env valgrind >>>> guix-daemon’. >>> >>> Did you manage to gather more info? >> >> No. When I run "make check -k" many tests fail. > > In a fresh checkout? If many tests fail, then there’s probably > something wrong with the environment, such as guix-daemon failing to > start or something. Could you check the logs? > > Thanks, > Ludo’.
Indeed. I found out that guix-daemon couldn't start because I didn't set --localstatedir properly. I "make check" again and that yields the same issue with tests/store.scm. However, upon changing test-env to include valgrind, more tests fail again because of a problem accessing the daemon-socket. So I manually started the guix-daemon with --disable-chroot and prepended valgrind --leak-check=full to it. Then I ran: $ guile -s tests/store.scm Which yielding many more failures. Then: $ make check Which also yielded more test failures. But at least I have a valgrind log now, which I uploaded here: https://www.roelj.com/guix-daemon-valgrind.log.gz I don't think the memory problem is in the log, but at least it shows that we should have a look at the memory allocation of guix-daemon. Sometimes it seems to leak memory. Kind regards, Roel Janssen