* bug#20261: (mount-points) returns bogus values within the build environment
@ 2015-04-05 6:12 Mark H Weaver
2015-04-05 6:26 ` Mark H Weaver
2015-04-06 19:56 ` Ludovic Courtès
0 siblings, 2 replies; 4+ messages in thread
From: Mark H Weaver @ 2015-04-05 6:12 UTC (permalink / raw)
To: 20261
Within the guix-daemon build environment, tests/syscalls.scm
consistently fails on my i686 Libreboot X60 running linux-libre-3.19.3.
Outside of the build environment the test passes.
Here's the relevant except from syscalls.log:
--8<---------------cut here---------------start------------->8---
Test begin:
test-name: "mount-points"
source-file: "tests/syscalls.scm"
source-line: 47
source-form: (test-assert "mount-points" (member "/" (mount-points)))
Test end:
result-kind: fail
actual-value: #f
--8<---------------cut here---------------end--------------->8---
I built a simple derivation to print the result of (mount-points) within
the build environment:
--8<---------------cut here---------------start------------->8---
mhw@jojen:~/guix$ ./pre-inst-env guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (use-modules (guix packages) (guix derivations) (guix store) (gnu packages commencement))
scheme@(guile-user)> (define store (open-connection))
scheme@(guile-user)> (build-expression->derivation
store "test"
'(begin (use-modules (guix build syscalls))
(format #t "Mount points: ~S\n" (mount-points)))
#:modules '((guix build syscalls))
#:guile-for-build (package-derivation store guile-final "i686-linux" #:graft? #f)
#:local-build? #t)
$1 = #<derivation /gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv => /gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test a2420f0>
scheme@(guile-user)> (build-derivations store (list $1))
building path(s) `/gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test'
Mount points: ("/dev/full" "/dev/kvm" "/dev/null" "/dev/random" "/dev/tty" "/dev/urandom" "/dev/zero" "/gnu/store/0ya00x8w06c1ph11lj5xwhiygy4b2lxd-gmp-6.0.0a" "/gnu/store/1d0s2rhqzrjqyb27n0b6w84knj8y51xq-libatomic-ops-7.4.2" "/gnu/store/269nlkyj5cqm7s4yfw3msc5sgj9is5qs-libunistring-0.9.5" "/gnu/store/3195f0cppgglxr91ir631f4bnvpqk9z0-bash-4.3.33" "/gnu/store/3xil4ahvng7iqvcbprp40glbvmjd843p-readline-6.3" "/gnu/store/5p57p4vznrf5j8wxpikwsdvxi4niv1dl-ncurses-5.9" "/gnu/store/7br8pxkz6jgkpjldr6hjzbxhzgsp1hx1-module-import-compiled" "/gnu/store/8lzvbsabc85pwfcszpav91flrl1lnc37-gcc-4.8.4-lib" "/gnu/store/bna6pmd8llg7g63is95rrkf8cfb8ly0q-ncurses-5.9" "/gnu/store/jzw8d98hrmjqgx9lfwmmnsgahqhcsbbr-pkg-config-0.28" "/gnu/store/lfh6q5ascp8b3545j9vr7ckbqi1al741-readline-6.3" "/gnu/store/mlmxnahghpvnj9wmhmqbi14fq408vjxx-module-import" "/gnu/store/nkv48yr5rhwdwgwv78gnap05nysq9wkn-libgc-7.4.2" "/gnu/store/vd8ij01bq08icp87bz5gs2v4bq53bls6-glibc-2.21" "/gnu/store/wd3wpzzl3z8bygkvjf4ka7486afbj0z3-libltdl-2.4.6" "/gnu/store/y2m6nf3w605k951fzmyanibzm3fd0caa-libffi-3.1" "/gnu/store/y5x64mcyzxjkjlq5la547lhd13b531mk-guile-2.0.11" "/tmp/nix-build-test.drv-0" "/proc" "/dev/shm" "/dev/pts")
builder for `/gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv' failed to produce output path `/gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test'
guix/store.scm:621:0: In procedure build-things:
guix/store.scm:621:0: Throw to key `srfi-34' with args `(#<condition &nix-protocol-error [message: "build of `/gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv' failed" status: 100] a971d50>)'.
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> (use-modules (guix build syscalls))
scheme@(guile-user)> (mount-points)
$2 = ("/proc" "/sys" "/" "/dev" "/home/mhw/Videos" "/dev/pts" "/dev/shm" "/sys/kernel/debug")
scheme@(guile-user)>
--8<---------------cut here---------------end--------------->8---
As you can see, "/" is listed as a mount point outside of the build
environment, but not inside.
Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#20261: (mount-points) returns bogus values within the build environment
2015-04-05 6:12 bug#20261: (mount-points) returns bogus values within the build environment Mark H Weaver
@ 2015-04-05 6:26 ` Mark H Weaver
2015-04-05 22:37 ` Mark H Weaver
2015-04-06 19:56 ` Ludovic Courtès
1 sibling, 1 reply; 4+ messages in thread
From: Mark H Weaver @ 2015-04-05 6:26 UTC (permalink / raw)
To: 20261
retitle 20261 mount-points test failure within build environment in linux-libre-3.19.3
thanks
Mark H Weaver <mhw@netris.org> writes:
> Within the guix-daemon build environment, tests/syscalls.scm
> consistently fails on my i686 Libreboot X60 running linux-libre-3.19.3.
> Outside of the build environment the test passes.
>
> Here's the relevant except from syscalls.log:
>
> Test begin:
> test-name: "mount-points"
> source-file: "tests/syscalls.scm"
> source-line: 47
> source-form: (test-assert "mount-points" (member "/" (mount-points)))
> Test end:
> result-kind: fail
> actual-value: #f
>
> I built a simple derivation to print the result of (mount-points) within
> the build environment:
>
> mhw@jojen:~/guix$ ./pre-inst-env guile
> GNU Guile 2.0.11
> Copyright (C) 1995-2014 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
>
> Enter `,help' for help.
> scheme@(guile-user)> (use-modules (guix packages) (guix derivations) (guix store) (gnu packages commencement))
> scheme@(guile-user)> (define store (open-connection))
> scheme@(guile-user)> (build-expression->derivation
> store "test"
> '(begin (use-modules (guix build syscalls))
> (format #t "Mount points: ~S\n" (mount-points)))
> #:modules '((guix build syscalls))
> #:guile-for-build (package-derivation store guile-final "i686-linux" #:graft? #f)
> #:local-build? #t)
>
> $1 = #<derivation /gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv => /gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test a2420f0>
> scheme@(guile-user)> (build-derivations store (list $1))
> building path(s) `/gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test'
> Mount points: ("/dev/full" "/dev/kvm" "/dev/null" "/dev/random" "/dev/tty" "/dev/urandom" "/dev/zero" "/gnu/store/0ya00x8w06c1ph11lj5xwhiygy4b2lxd-gmp-6.0.0a" "/gnu/store/1d0s2rhqzrjqyb27n0b6w84knj8y51xq-libatomic-ops-7.4.2" "/gnu/store/269nlkyj5cqm7s4yfw3msc5sgj9is5qs-libunistring-0.9.5" "/gnu/store/3195f0cppgglxr91ir631f4bnvpqk9z0-bash-4.3.33" "/gnu/store/3xil4ahvng7iqvcbprp40glbvmjd843p-readline-6.3" "/gnu/store/5p57p4vznrf5j8wxpikwsdvxi4niv1dl-ncurses-5.9" "/gnu/store/7br8pxkz6jgkpjldr6hjzbxhzgsp1hx1-module-import-compiled" "/gnu/store/8lzvbsabc85pwfcszpav91flrl1lnc37-gcc-4.8.4-lib" "/gnu/store/bna6pmd8llg7g63is95rrkf8cfb8ly0q-ncurses-5.9" "/gnu/store/jzw8d98hrmjqgx9lfwmmnsgahqhcsbbr-pkg-config-0.28" "/gnu/store/lfh6q5ascp8b3545j9vr7ckbqi1al741-readline-6.3" "/gnu/store/mlmxnahghpvnj9wmhmqbi14fq408vjxx-module-import" "/gnu/store/nkv48yr5rhwdwgwv78gnap05nysq9wkn-libgc-7.4.2" "/gnu/store/vd8ij01bq08icp87bz5gs2v4bq53bls6-glibc-2.21" "/gnu/store/wd3wpzzl3z8bygkvjf4ka7486afbj0z3-libltdl-2.4.6" "/gnu/store/y2m6nf3w605k951fzmyanibzm3fd0caa-libffi-3.1" "/gnu/store/y5x64mcyzxjkjlq5la547lhd13b531mk-guile-2.0.11" "/tmp/nix-build-test.drv-0" "/proc" "/dev/shm" "/dev/pts")
> builder for `/gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv' failed to produce output path `/gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test'
> guix/store.scm:621:0: In procedure build-things:
> guix/store.scm:621:0: Throw to key `srfi-34' with args `(#<condition &nix-protocol-error [message: "build of `/gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv' failed" status: 100] a971d50>)'.
>
> Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
> scheme@(guile-user) [1]> ,q
> scheme@(guile-user)> (use-modules (guix build syscalls))
> scheme@(guile-user)> (mount-points)
> $2 = ("/proc" "/sys" "/" "/dev" "/home/mhw/Videos" "/dev/pts" "/dev/shm" "/sys/kernel/debug")
> scheme@(guile-user)>
>
> As you can see, "/" is listed as a mount point outside of the build
> environment, but not inside.
The test above was done when running linux-libre-3.19.3. I rebooted
into an older system with linux-libre-3.18.10 and performed the same
test, and this time "/" is listed among the mount points (twice even):
--8<---------------cut here---------------start------------->8---
mhw@jojen:~/guix$ ./pre-inst-env guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (use-modules (guix packages) (guix derivations) (guix store) (gnu packages commencement))
scheme@(guile-user)> (define store (open-connection))
scheme@(guile-user)> (build-expression->derivation
store "test"
'(begin (use-modules (guix build syscalls))
(format #t "Mount points: ~S\n" (mount-points)))
#:modules '((guix build syscalls))
#:guile-for-build (package-derivation store guile-final "i686-linux" #:graft? #f)
#:local-build? #t)
$1 = #<derivation /gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv => /gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test 9b5c410>
scheme@(guile-user)> (build-derivations store (list $1))
building path(s) `/gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test'
Mount points: ("/" "/" "/dev" "/dev/pts" "/dev/shm" "/proc" "/sys" "/sys/kernel/debug" "/home/mhw/Videos" "/dev/full" "/dev/kvm" "/dev/null" "/dev/random" "/dev/tty" "/dev/urandom" "/dev/zero" "/gnu/store/0ya00x8w06c1ph11lj5xwhiygy4b2lxd-gmp-6.0.0a" "/gnu/store/1d0s2rhqzrjqyb27n0b6w84knj8y51xq-libatomic-ops-7.4.2" "/gnu/store/269nlkyj5cqm7s4yfw3msc5sgj9is5qs-libunistring-0.9.5" "/gnu/store/3195f0cppgglxr91ir631f4bnvpqk9z0-bash-4.3.33" "/gnu/store/3xil4ahvng7iqvcbprp40glbvmjd843p-readline-6.3" "/gnu/store/5p57p4vznrf5j8wxpikwsdvxi4niv1dl-ncurses-5.9" "/gnu/store/7br8pxkz6jgkpjldr6hjzbxhzgsp1hx1-module-import-compiled" "/gnu/store/8lzvbsabc85pwfcszpav91flrl1lnc37-gcc-4.8.4-lib" "/gnu/store/bna6pmd8llg7g63is95rrkf8cfb8ly0q-ncurses-5.9" "/gnu/store/jzw8d98hrmjqgx9lfwmmnsgahqhcsbbr-pkg-config-0.28" "/gnu/store/lfh6q5ascp8b3545j9vr7ckbqi1al741-readline-6.3" "/gnu/store/mlmxnahghpvnj9wmhmqbi14fq408vjxx-module-import" "/gnu/store/nkv48yr5rhwdwgwv78gnap05nysq9wkn-libgc-7.4.2" "/gnu/store/vd8ij01bq08icp87bz5gs2v4bq53bls6-glibc-2.21" "/gnu/store/wd3wpzzl3z8bygkvjf4ka7486afbj0z3-libltdl-2.4.6" "/gnu/store/y2m6nf3w605k951fzmyanibzm3fd0caa-libffi-3.1" "/gnu/store/y5x64mcyzxjkjlq5la547lhd13b531mk-guile-2.0.11" "/tmp/nix-build-test.drv-0" "/proc" "/dev/shm" "/dev/pts")
builder for `/gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv' failed to produce output path `/gnu/store/8kya2xpgn89crq5cfrmj7952yhfhr4dv-test'
guix/store.scm:621:0: In procedure build-things:
guix/store.scm:621:0: Throw to key `srfi-34' with args `(#<condition &nix-protocol-error [message: "build of `/gnu/store/l7386hy58ffnj5pcvm621x6myml00bkj-test.drv' failed" status: 100] a28a0a8>)'.
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> (use-modules (guix build syscalls))
scheme@(guile-user)> (mount-points)
$2 = ("/" "/proc" "/sys" "/" "/dev" "/home/mhw/Videos" "/dev/pts" "/dev/shm" "/sys/kernel/debug")
scheme@(guile-user)>
--8<---------------cut here---------------end--------------->8---
So, clearly there has been a change (regression?) in linux-libre-3.19
that is causing this test to fail.
For now, might I suggest checking for the existence of "/proc" instead?
Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#20261: (mount-points) returns bogus values within the build environment
2015-04-05 6:12 bug#20261: (mount-points) returns bogus values within the build environment Mark H Weaver
2015-04-05 6:26 ` Mark H Weaver
@ 2015-04-06 19:56 ` Ludovic Courtès
1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2015-04-06 19:56 UTC (permalink / raw)
To: Mark H Weaver; +Cc: 20261-done
Fixed in 381ac93, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-06 19:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-05 6:12 bug#20261: (mount-points) returns bogus values within the build environment Mark H Weaver
2015-04-05 6:26 ` Mark H Weaver
2015-04-05 22:37 ` Mark H Weaver
2015-04-06 19:56 ` 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.