Subject: Re: bug#29676: Guix test failure on tests/store.

From: [email-masked] (Ludovic Courtès)
Date: Tue, 12 Dec 2017 21:22:25 +0100

Roel Janssen <[email-masked]> skribis:

> Ludovic Courtès writes:
>
>> Hi,
>>
>> Roel Janssen <[email-masked]> skribis:
>>
>>> I attached the build log.  The relevant bit is this:
>>>
>>> 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’.

Ludo’.