all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#18935: gexp->derivation test failure
@ 2014-11-03 15:51 Mark H Weaver
  2014-11-04 20:20 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Mark H Weaver @ 2014-11-03 15:51 UTC (permalink / raw
  To: 18935

On my i686 standalone Guix system, using Guix v0.7-642-g3b50925 to build
its 'guix' package (0.7.14e84b2) fails, due to a failed test.  Here's
the relevant section from gexp.log:

--8<---------------cut here---------------start------------->8---
Test begin:
  test-name: "gexp->derivation"
  source-file: "tests/gexp.scm"
  source-line: 227
  source-form: (test-assert "gexp->derivation" (run-with-store %store (mlet* %store-monad ((file (text-file "foo" "Hello, world!")) (exp -> (gexp (begin (mkdir (ungexp output)) (chdir (ungexp output)) (symlink (string-append (ungexp %bootstrap-guile) "/bin/guile") "foo") (symlink (ungexp file) (ungexp output "2nd"))))) (drv (gexp->derivation "foo" exp)) (out -> (derivation->output-path drv)) (out2 -> (derivation->output-path drv "2nd")) (done (built-derivations (list drv))) (refs ((store-lift references) out)) (refs2 ((store-lift references) out2)) (guile (package-file %bootstrap-guile "bin/guile"))) (return (and (string=? (readlink (string-append out "/foo")) guile) (string=? (readlink out2) file) (equal? refs (list (dirname (dirname guile)))) (equal? refs2 (list file))))) #:guile-for-bui
 ld (%guile-for-build)))
Test end:
  result-kind: fail
  actual-value: #f
  actual-error: (srfi-34 #<condition &nix-protocol-error [message: "path `/tmp/nix-build-guix-0.7.14e84b2.drv-0/source/test-tmp/store/ry17r3hm48ckcchz9ls6yhd00alyiipx-foo' is not valid" status: 1] a587d68>)
--8<---------------cut here---------------end--------------->8---

The 'guix-daemon' used to do this failed build is also 0.7.14e84b2.

The 'guix' used to do this failed build was v0.7-642-g3b50925 plus one
local patch that adds
"--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt" to
the GnuTLS configure flags.

      Mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18935: gexp->derivation test failure
  2014-11-03 15:51 bug#18935: gexp->derivation test failure Mark H Weaver
@ 2014-11-04 20:20 ` Ludovic Courtès
  2014-11-04 21:44   ` Mark H Weaver
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-11-04 20:20 UTC (permalink / raw
  To: Mark H Weaver; +Cc: 18935-done

Mark H Weaver <mhw@netris.org> skribis:

> Test begin:
>   test-name: "gexp->derivation"
>   source-file: "tests/gexp.scm"
>   source-line: 227
>   source-form: (test-assert "gexp->derivation" (run-with-store %store (mlet* %store-monad ((file (text-file "foo" "Hello, world!")) (exp -> (gexp (begin (mkdir (ungexp output)) (chdir (ungexp output)) (symlink (string-append (ungexp %bootstrap-guile) "/bin/guile") "foo") (symlink (ungexp file) (ungexp output "2nd"))))) (drv (gexp->derivation "foo" exp)) (out -> (derivation->output-path drv)) (out2 -> (derivation->output-path drv "2nd")) (done (built-derivations (list drv))) (refs ((store-lift references) out)) (refs2 ((store-lift references) out2)) (guile (package-file %bootstrap-guile "bin/guile"))) (return (and (string=? (readlink (string-append out "/foo")) guile) (string=? (readlink out2) file) (equal? refs (list (dirname (dirname guile)))) (equal? refs2 (list file))))) #:guile-for-build (%guile-for-build)))
> Test end:
>   result-kind: fail
>   actual-value: #f
>   actual-error: (srfi-34 #<condition &nix-protocol-error [message: "path `/tmp/nix-build-guix-0.7.14e84b2.drv-0/source/test-tmp/store/ry17r3hm48ckcchz9ls6yhd00alyiipx-foo' is not valid" status: 1] a587d68>)

This can only happen if FILE in that test were deleted after its
creation and before the ‘gexp-derivation’...  which cannot even happen
since FILE remains live for the duration of the ‘%store’ session...
except if another daemon instance deletes it!

Commit 834ea02 fixes that: it turns out that tests/nar.scm was creating
the exact same store item, and then calling the GC to delete it.

I’ll update the Guix snapshot in Guix.  (In the meantime, chances are
that you can just restart the build and won’t stumble upon this bug,
which was unlikely to occur.)

While looking at this code, I fixed a small issue with caches in
000c59b.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18935: gexp->derivation test failure
  2014-11-04 20:20 ` Ludovic Courtès
@ 2014-11-04 21:44   ` Mark H Weaver
  2014-11-05 13:33     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Mark H Weaver @ 2014-11-04 21:44 UTC (permalink / raw
  To: 18935

ludo@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver <mhw@netris.org> skribis:
>
[...]
>>   actual-error: (srfi-34 #<condition &nix-protocol-error [message:
>> "path
>> `/tmp/nix-build-guix-0.7.14e84b2.drv-0/source/test-tmp/store/ry17r3hm48ckcchz9ls6yhd00alyiipx-foo'
>> is not valid" status: 1] a587d68>)
>
> This can only happen if FILE in that test were deleted after its
> creation and before the ‘gexp-derivation’...  which cannot even happen
> since FILE remains live for the duration of the ‘%store’ session...
> except if another daemon instance deletes it!
>
> Commit 834ea02 fixes that: it turns out that tests/nar.scm was creating
> the exact same store item, and then calling the GC to delete it.
>
> I’ll update the Guix snapshot in Guix.

Thanks!

> (In the meantime, chances are
> that you can just restart the build and won’t stumble upon this bug,
> which was unlikely to occur.)

The same failure happened to me in two consecutive build attempts:
once when running "guix system build", and then again when running
"guix build -K guix" so that I could get the failed test logs.

       Mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18935: gexp->derivation test failure
  2014-11-04 21:44   ` Mark H Weaver
@ 2014-11-05 13:33     ` Ludovic Courtès
  2014-11-05 16:28       ` Mark H Weaver
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-11-05 13:33 UTC (permalink / raw
  To: Mark H Weaver; +Cc: 18935

Mark H Weaver <mhw@netris.org> skribis:

> The same failure happened to me in two consecutive build attempts:
> once when running "guix system build", and then again when running
> "guix build -K guix" so that I could get the failed test logs.

Oh, that’s surprising.  I’ve not stumbled upon it in my working tree,
and it has not failed on Hydra:

  http://hydra.gnu.org/job/gnu/master/guix-0.7.14e84b2.i686-linux/all
  http://hydra.gnu.org/job/gnu/master/guix-0.7.14e84b2.x86_64-linux/all
  http://hydra.gnu.org/job/gnu/master/guix-0.7.14e84b2.mips64el-linux/all

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18935: gexp->derivation test failure
  2014-11-05 13:33     ` Ludovic Courtès
@ 2014-11-05 16:28       ` Mark H Weaver
  2014-11-05 20:03         ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Mark H Weaver @ 2014-11-05 16:28 UTC (permalink / raw
  To: Ludovic Courtès; +Cc: 18935

ludo@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver <mhw@netris.org> skribis:
>
>> The same failure happened to me in two consecutive build attempts:
>> once when running "guix system build", and then again when running
>> "guix build -K guix" so that I could get the failed test logs.
>
> Oh, that’s surprising.  I’ve not stumbled upon it in my working tree,
> and it has not failed on Hydra:

Update: the same failure has happened to me in *five* consecutive build
attempts.  I guess I'll have to add another local patch (to update guix
in guix) to get my system updated.

     Thanks,
       Mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18935: gexp->derivation test failure
  2014-11-05 16:28       ` Mark H Weaver
@ 2014-11-05 20:03         ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2014-11-05 20:03 UTC (permalink / raw
  To: Mark H Weaver; +Cc: 18935

Mark H Weaver <mhw@netris.org> skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Mark H Weaver <mhw@netris.org> skribis:
>>
>>> The same failure happened to me in two consecutive build attempts:
>>> once when running "guix system build", and then again when running
>>> "guix build -K guix" so that I could get the failed test logs.
>>
>> Oh, that’s surprising.  I’ve not stumbled upon it in my working tree,
>> and it has not failed on Hydra:
>
> Update: the same failure has happened to me in *five* consecutive build
> attempts.

Then either I was mistaken and there’s another bug hiding, or scheduling
and I/O are very much deterministic.

You’re not using --cache-failures, are you?

> I guess I'll have to add another local patch (to update guix in guix)
> to get my system updated.

Then could you try adding just applying 834ea02?

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-11-05 20:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-03 15:51 bug#18935: gexp->derivation test failure Mark H Weaver
2014-11-04 20:20 ` Ludovic Courtès
2014-11-04 21:44   ` Mark H Weaver
2014-11-05 13:33     ` Ludovic Courtès
2014-11-05 16:28       ` Mark H Weaver
2014-11-05 20:03         ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.