guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problems running 'check-system'


From: Chris Marusich
Subject: Re: Problems running 'check-system'
Date: Sun, 07 May 2017 23:20:16 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hi Ludo,

address@hidden (Ludovic Courtès) writes:

> Hi Chris,
>
> Chris Marusich <address@hidden> skribis:
>
>> address@hidden (Ludovic Courtès) writes:
>
> [...]
>
>>>> Issue #2: even when I run 'make' first, the test fails.  It fails with
>>>> this message:
>>>>
>>>> [... some output omitted for brevity ...]
>>>>
>>>> starting phase `copy-bootstrap-guile'
>>>> Backtrace:
>>>> In ice-9/boot-9.scm:
>>>>  160: 13 [catch #t #<catch-closure 8c5dc0> ...]
>>>> In unknown file:
>>>>    ?: 12 [apply-smob/1 #<catch-closure 8c5dc0>]
>>>> In ice-9/boot-9.scm:
>>>>   66: 11 [call-with-prompt prompt0 ...]
>>>> In ice-9/eval.scm:
>>>>  432: 10 [eval # #]
>>>> In ice-9/boot-9.scm:
>>>> 2412: 9 [save-module-excursion #<procedure 8e6840 at 
>>>> ice-9/boot-9.scm:4084:3 ()>]
>>>> 4089: 8 [#<procedure 8e6840 at ice-9/boot-9.scm:4084:3 ()>]
>>>> 1734: 7 [%start-stack load-stack #<procedure 8f6e20 at 
>>>> ice-9/boot-9.scm:4080:10 ()>]
>>>> 1739: 6 [#<procedure 8f8960 ()>]
>>>> In unknown file:
>>>>    ?: 5 [primitive-load 
>>>> "/gnu/store/wgh83kqjif20wfdg56iz7bxk9d4xmlk0-guix-0.12.0-9.25a4+-guile-builder"]
>>>> In ice-9/eval.scm:
>>>>  387: 4 [eval # ()]
>>>> In srfi/srfi-1.scm:
>>>>  827: 3 [every1 #<procedure f9fa40 at 
>>>> /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:649:9
>>>>  (expr)> ...]
>>>> In 
>>>> /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:
>>>>  653: 2 [#<procedure f9fa40 at 
>>>> /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:649:9
>>>>  (expr)> #]
>>>> In ice-9/eval.scm:
>>>>  432: 1 [eval # #]
>>>> In unknown file:
>>>>    ?: 0 [copy-file 
>>>> "/gnu/store/dgncc5wmw8prxq09y71hqjc6g7rxqvvb-guile-2.0.9.tar.xz" ...]
>>>>
>>>> ERROR: In procedure copy-file:
>>>> ERROR: In procedure copy-file: Permission denied
>>>
>>> What this means is that the target of ‘copy-file’ is read-only.
>>
>> Why is this test is trying to copy a file into a read-only target?  I've
>> tried debugging this myself by inserting pk statements in the relevant
>> code, but the long iteration time makes it difficult.
>
> This is coming from the ‘copy-bootstrap-guile’ phase of the ‘guix’
> package, which happens before ‘configure’.
>
> I wonder why you’re seeing that happening.  Does “./pre-inst-env guix
> build guix” fail as well?

No, it doesn't fail.  When I tried this, I needed to invoke it with
--check, and the build failed due to non-determinism, but the actual
build and check phases succeeded (I ran this on my GuixSD machine).

> And I don’t why we’re getting different results here.

I think I might have finally found the reason.  When I remove the
"--pure" from the invocation, the "installed-os" test runs successfully
on my GuixSD machine.  It seems that, for some reason, "--pure" was the
cause of the failure.  That's surprising to me, since my expectation was
that Guix's tests should work just fine in a pure environment.  Could
this be a bug?

This surprising behavior is not limited to my single GuixSD system.
I've tried running the same invocation on my Ubuntu machine, and it
fails with the same "ERROR: In procedure copy-file: Permission denied"
message.  So I think you ought to be able to reproduce it, too, as long
as you use the same invocation (and the same commit:
4aabc8eaa22314b412d8c5517e05085aa1b38498).  Curiously, on my Ubuntu
system, when I remove "--pure", the "copy-file" error does NOT occur.
(The "installed-os" test fails anyway due to KVM issues because I
haven't set up KVM properly on my Ubuntu machine yet, but that's not
relevant to this discussion.)

To summarize, on my GuixSD system, the "copy-file" error occurs when I
run:

  guix environment --pure guix -- make check-system TESTS=installed-os

On my GuixSD system, it also occurs when I run:

  guix environment --pure guix

followed by (in the environment):

  make check-system TESTS=installed-os

However, on my Ubuntu system, the "copy-file" error only occurs when I
run:

  guix environment --pure guix -- make check-system TESTS=installed-os

On my Ubuntu system, it does NOT occur when I run:

  guix environment --pure guix

followed by (in the environment):

  make check-system TESTS=installed-os

In conclusion, I can now run the tests, which is great.  However, I'm
surprised that "--pure" was causing the "copy-file" error.  I'm also
unable to explain the difference in behavior between GuixSD and Ubuntu
when using "--pure".  Could this be a bug?

-- 
Chris

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]