ci: Fail to evaluate Guix specification

  • Open
  • quality assurance status badge
Details
3 participants
  • Christopher Baines
  • Maxim Cournoyer
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Mathieu Othacehe
Severity
normal
M
M
Mathieu Othacehe wrote on 14 Aug 2022 21:56
(address . bug-guix@gnu.org)
87v8qu1tv9.fsf@gnu.org
Hello,

Since commit 0565cde, Cuirass fails to evaluate the guix
specification. The error messages do not give any clue, for instance:

I tried to strace an evaluation process of the guix specification, it
ends this way:

Toggle snippet (7 lines)
[pid 74060] write(1, "(values (value (result (((#:job-name . guix.i686-linux) (#:derivation . \"/gnu/store/ap7sixkbikfw1xib3aisbcaw6i2005m2-guix-a5f199732.drv\") (#:inputs \"/gnu/store/4mdqwn29pvjqd6hs1q842g5wzamjy3dk-module-import-compiled.drv\" \"/gnu/store/4nv9xf9qyabcw2gz9zvxlq9ymknq7wad-guix-daemon.drv\" \"/gnu/store/a6f7jk08bs6clingcw3j8kmz3cbsj6iq-guix-command.drv\" \"/gnu/store/fl7hls4j08hp45j32xjjrjc6d49qmbmy-guix-a5f199732-modules.drv\" \"/gnu/store/h9aagy9mv2bqg7b8q3k6aksi7fa20qzc-guix-manual.drv\" \"/gnu/store/iz11170b9da1i3pkjdv6314swzvzkgvk-guile-3.0.7.drv\") (#:outputs (\"out\" . \"/gnu/store/ivs9raslmb77zn0hrcza0wbv3r9lspay-guix-a5f199732\")) (#:nix-name . \"guix-a5f199732\") (#:system . \"i686-linux\") (#:max-silent-time . 3600) (#:timeout . 18000))))))\n", 737) = -1 EPIPE (Broken pipe)
[pid 74060] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=74060, si_uid=997} ---
[pid 74060] futex(0x7f1110e6f330, FUTEX_WAKE_PRIVATE, 2147483647) = 0
[pid 74060] write(1, "(exception (arguments system-error (value \"fport_write\") (value \"~A\") (value (\"Broken pipe\")) (value (32))) (stack (#f (\"ice-9/boot-9.scm\" 1779 13)) (raise-exception (\"ice-9/boot-9.scm\" 1684 16)) (newline (#f #f #f)) (#f (\"guix/repl.scm\" 104 8)) (with-exception-handler (\"ice-9/boot-9.scm\" 1751 10)) (with-exception-handler (\"ice-9/boot-9.scm\" 1746 15)) (#f (\"guix/repl.scm\" 125 7))))\n", 385) = -1 EPIPE (Broken pipe)
[pid 74060] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=74060, si_uid=997} ---

The evaluation process receives a SIGPIPE when trying to write the
evaluation result to the pipe connecting it to "cuirass register".

Thanks,

Mathieu
M
M
Mathieu Othacehe wrote on 15 Aug 2022 14:01
(address . 57215@debbugs.gnu.org)
87r11hd8bh.fsf@gnu.org
Hello,

Toggle quote (5 lines)
> [pid 74060] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=74060, si_uid=997} ---
>
> The evaluation process receives a SIGPIPE when trying to write the
> evaluation result to the pipe connecting it to "cuirass register".

I think this is a wrong lead. The cuirass evaluation process looks like:

--- pipe B ---> inferior I1
"cuirass register" <--- pipe A ---> "cuirass evaluate" <--|
--- pipe C ---> inferior I2

In short, "cuirass register" is a daemon monitoring Git repositories and
triggering sporadic "cuirass evaluate" processes. Those processes use
inferiors to evaluate the new derivations.

The SIGPIPE observed with strace doesn't correspond to pipe A but to
pipe B or C. The issue here is probably that "cuirass evaluate" dies
unexpectedly which causes the inferior I1 or I2 to receive a SIGPIPE
when writing to a pipe which is not listened to anymore.

Stracing the "cuirass evaluate" process shows indeed that it dies
unexpectedly by receiving a SIGABRT signal.

Toggle snippet (6 lines)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
pselect6(242, [3 227 241], [], [], NULL, NULL
<unfinished ...>) = ?
+++ killed by SIGABRT +++

I tried to use gdb to get more details:

Toggle snippet (38 lines)
Thread 28 "guile" received signal SIGABRT, Aborted.
[Switching to LWP 113115]
0x00007f890b618030 in raise () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
(gdb) bt
#0 0x00007f890b618030 in raise () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
#1 0x00007f890b602526 in abort () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
#2 0x00007f890bb94198 in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#3 0x00007f890bc38728 in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#4 0x00007f88dcce625f in ?? ()
#5 0x00007f8903a5eacc in ?? ()
#6 0x00007f88e31eb8a0 in ?? ()
#7 0x0000000000000006 in ?? ()
#8 0x00007f890bbd6ccc in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#9 0x00007f890bc2bf3c in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#10 0x00007f890bc395e9 in scm_call_n () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#11 0x00007f890bb9da0e in scm_call_with_unblocked_asyncs () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#12 0x00007f890bc2c336 in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#13 0x00007f890bc395e9 in scm_call_n () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#14 0x00007f890bc28be6 in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#15 0x00007f890bb9f85a in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#16 0x00007f88dcc8e482 in ?? ()
#17 0x00007f8903a5e7e0 in ?? ()
#18 0x00007f8901d4be30 in ?? ()
#19 0x0000000000000048 in ?? ()
#20 0x00007f890bbd6ccc in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#21 0x00007f890bc2bf3c in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#22 0x00007f890bc395e9 in scm_call_n () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#23 0x00007f890bba109a in scm_call_2 () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#24 0x00007f890bc57752 in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#25 0x00007f890bc2988f in scm_c_catch () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#26 0x00007f890bba1e66 in scm_c_with_continuation_barrier () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#27 0x00007f890bc28b39 in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#28 0x00007f890baff0ba in GC_call_with_stack_base () from /gnu/store/2lczkxbdbzh4gk7wh91bzrqrk7h5g1dl-libgc-8.0.4/lib/libgc.so.1
#29 0x00007f890bc2116d in ?? () from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#30 0x00007f890bad5d7e in ?? () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libpthread.so.0
#31 0x00007f890b6d3eff in clone () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6

but the backtrace doesn't help much. I can try to use Guile with symbols
to have a more detailed backtrace.

Anyone knows what could cause Guile to receive a SIGABRT signal?

Thanks,

Mathieu
M
M
Mathieu Othacehe wrote on 15 Aug 2022 14:48
(address . 57215@debbugs.gnu.org)
87mtc5d64w.fsf@gnu.org
With symbols:

#0 0x00007f63a4b15030 in raise () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
#1 0x00007f63a4aff526 in abort () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
#2 0x00007f63a5091198 in scm_dynstack_unwind_1.isra.0 (dynstack=<optimized out>) at dynstack.c:426
#3 0x00007f63a5135728 in scm_dynstack_unwind (base=<optimized out>, dynstack=<optimized out>) at dynstack.c:443
#4 abort_to_prompt (thread=0x7f639a182000, saved_mra=<optimized out>) at vm.c:1454
#5 0x00007f637620b25f in ?? ()
#6 0x00007f639cf5bacc in ?? ()
#7 0x00007f63806f08a0 in ?? ()
#8 0x0000000000000006 in ?? ()
#9 0x00007f63a50d3ccc in scm_jit_enter_mcode (thread=0x7f639a182000, mcode=0x7f637620b276 "L\213c\030I\213L$\020H\215", <incomplete sequence \315>) at jit.c:6038
#10 0x00007f63a5128f3c in vm_regular_engine (thread=0x7f639a182000) at vm-engine.c:360
#11 0x00007f63a51365e9 in scm_call_n (proc=<optimized out>, argv=<optimized out>, nargs=0) at vm.c:1608
#12 0x00007f63a509aa0e in scm_call_with_unblocked_asyncs (proc=0x7f6374320f40) at async.c:406
#13 0x00007f63a5129336 in vm_regular_engine (thread=0x7f639a182000) at vm-engine.c:972
#14 0x00007f63a51365e9 in scm_call_n (proc=<optimized out>, argv=<optimized out>, nargs=0) at vm.c:1608
#15 0x00007f63a5125be6 in really_launch (d=0x7f6374290240) at threads.c:778
#16 0x00007f63a509c85a in c_body (d=0x7f6371e2bd80) at continuations.c:430
#17 0x00007f63761b3482 in ?? ()
#18 0x00007f639cf5b7e0 in ?? ()
#19 0x00007f639b24ae30 in ?? ()
#20 0x0000000000000048 in ?? ()
#21 0x00007f63a50d3ccc in scm_jit_enter_mcode (thread=0x7f639a182000, mcode=0x80d4f4 "\034<\003") at jit.c:6038
#22 0x00007f63a5128f3c in vm_regular_engine (thread=0x7f639a182000) at vm-engine.c:360
#23 0x00007f63a51365e9 in scm_call_n (proc=<optimized out>, argv=<optimized out>, nargs=2) at vm.c:1608
#24 0x00007f63a509e09a in scm_call_2 (proc=<optimized out>, arg1=<optimized out>, arg2=<optimized out>) at eval.c:503
#25 0x00007f63a5154752 in scm_c_with_exception_handler.constprop.0 (type=0x404, handler_data=handler_data@entry=0x7f6371e2bd10, thunk_data=thunk_data@entry=0x7f6371e2bd10, thunk=<optimized out>, handler=<optimized out>)
at exceptions.c:170
#26 0x00007f63a512688f in scm_c_catch (tag=<optimized out>, body=<optimized out>, body_data=<optimized out>, handler=<optimized out>, handler_data=<optimized out>, pre_unwind_handler=<optimized out>,
pre_unwind_handler_data=0x7f639d0e8000) at throw.c:168
#27 0x00007f63a509ee66 in scm_i_with_continuation_barrier (pre_unwind_handler=0x7f63a509eb80 <pre_unwind_handler>, pre_unwind_handler_data=0x7f639d0e8000, handler_data=0x7f6371e2bd80, handler=0x7f63a50a58b0 <c_handler>,
body_data=0x7f6371e2bd80, body=0x7f63a509c850 <c_body>) at continuations.c:368
#28 scm_c_with_continuation_barrier (func=<optimized out>, data=<optimized out>) at continuations.c:464
#29 0x00007f63a5125b39 in with_guile (base=0x7f6371e2be08, data=0x7f6371e2be30) at threads.c:645
#30 0x00007f63a4ffc0ba in GC_call_with_stack_base () from /gnu/store/2lczkxbdbzh4gk7wh91bzrqrk7h5g1dl-libgc-8.0.4/lib/libgc.so.1
#31 0x00007f63a511e16d in scm_i_with_guile (dynamic_state=<optimized out>, data=0x7f6374290240, func=0x7f63a5125b70 <really_launch>) at threads.c:688
#32 launch_thread (d=0x7f6374290240) at threads.c:787
#33 0x00007f63a4fd2d7e in ?? () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libpthread.so.0
#34 0x00007f63a4bd0eff in clone () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6

Mathieu
M
M
Mathieu Othacehe wrote on 16 Aug 2022 09:56
(address . 57215@debbugs.gnu.org)(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
87pmh0fwq5.fsf@gnu.org
Hello,

Some news on this one: I discovered that the evaluation failure of the
"guix" specification is correlated with the selected systems. When
disabling "aarch64-linux" and "powerpc64le-linux", the evaluation
succeeded.

Now, when running:

Toggle snippet (12 lines)
mathieu@berlin ~$ guix pull -s powerpc64le-linux -v3
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
guix https://git.savannah.gnu.org/git/guix.git 0598b5d
building /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv...
@ unsupported-platform /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv powerpc64le-linux
while setting up the build environment: a `powerpc64le-linux' is required to build `/gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv', but I am a `x86_64-linux'
builder for `/gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv' failed with exit code 1
build of /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv failed
View build log at '/var/log/guix/drvs/m7/ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv.gz'.

It fails in the same way with aarch64-linux. That's because there's no
offload or binfmt mechanism on berlin at the moment.

I restored the /etc/guix/machines.scm to enable offloading, and
suddenly "aarch64-linux" system is working again for the "guix"
specification. "powerpc64le-linux" is still failing as we do not have a
machine for that architecture currently available: p9.tobias.gr is
commented out.

Tobias, I'm not sure to remember why?

Now there are multiple unclear points to me:

1. Why do we need an available machine with the foreign architecture to
compute the corresponding "guix" derivation? Note that the evaluation of
package derivations for foreign systems works even though a
corresponding machine is not available:

Toggle snippet (4 lines)
mathieu@berlin ~$ guix build -s powerpc64le-linux -d hello
/gnu/store/spzmh79qi21k26p15w27r3jjg95szg17-hello-2.12.1.drv

2. Why the following traces are not reported back by the inferior in
charge of the evaluation of the "guix" derivation?

Toggle snippet (6 lines)
@ unsupported-platform /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv powerpc64le-linux
while setting up the build environment: a `powerpc64le-linux' is required to build `/gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv', but I am a `x86_64-linux'
builder for `/gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv' failed with exit code 1
build of /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv failed

3. Why does the "cuirass evaluate" process crashes when an inferior
crashes (see the backtrace in my previous email)?

I'll try to come-up with simple reproducers for those different points.

In the meantime, the "guix" specification is working again for
x86_64-linux, i686-linux and aarch64-linux systems which is a good news.

Thanks,

Mathieu
C
C
Christopher Baines wrote on 16 Aug 2022 10:41
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
87pmh0injd.fsf@cbaines.net
Mathieu Othacehe <othacehe@gnu.org> writes:

Toggle quote (10 lines)
> Now there are multiple unclear points to me:
>
> 1. Why do we need an available machine with the foreign architecture to
> compute the corresponding "guix" derivation? Note that the evaluation of
> package derivations for foreign systems works even though a
> corresponding machine is not available:
>
> mathieu@berlin ~$ guix build -s powerpc64le-linux -d hello
> /gnu/store/spzmh79qi21k26p15w27r3jjg95szg17-hello-2.12.1.drv

This has been something I've been interested in as well, since the Guix
Data Service has the same problem when computing these derivations.

I think the latest information I have is set out here:


So, I think there's some involvement of grafts that mean you end up
building things when just trying to compute the derivation. But that's
as far as I got, I don't really understand why this is the case, or what
can be done about it.

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmL7WVZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XcRNg//RBFklWCJdeTab3MtHW1tgwmpvVoXUSti
gMt3UqRK8gf/Cnf9uBDkVcQ8okc7ALY7laqdWVIICmOFbKTgP4XtmfimfqsSJn/Q
pJ2TfJ0nSzTH3+fU27ZQVjY6H+wCtTti7C26cEVLb2nor2OSk39K5UgiM8ZWZXvl
hINFhSXrFM6bYI4PLRmhK8YHSmmVcOxUgFSLu0mXV7f9OW+bLZjKRzEZZKH3a/Qp
5uuFYS4RmLbfsyqoxs+PUuafAWOwFbxwwhuK74O2LcJAoczxxGkody45Ri3OjOA2
XAtpe3R2Q8J2/M9TDiSXQ0T+YLtnPGqQRardNebo7CrfPkTdsfZqrOIyP+h6quYv
nXJSborpU0t3vh00MobYLwu2B3JdDYZ+wj7LQFXenvbN59op677PY2n6DFIQWNKA
rxB6sEjHVyvvIUDMWpy7d4kID6X7ZFalSmlUIzopNi5SOpJXsF9fvpNcTQsl4hYq
73Nfcl6Yw3wB8pxZeRzLqdg92Hj2ESTodimm/wxbqda9JpmmgCp3VbeY+AVYxS3E
6MHxSQ8LNqY1jgMd8VDojeoZxR72Ur1zI32OwEsGL/Dn8SExUQy3NgaoBZj1WlO+
yQYMwtGynBdsAuU/gUUAcenzMwwLgGVclFwx9F0qBCP/x3BJHxH5sUndC/uyJg/N
cA/d0iBNkgY=
=4j0V
-----END PGP SIGNATURE-----

M
M
Mathieu Othacehe wrote on 16 Aug 2022 11:20
(name . Christopher Baines)(address . mail@cbaines.net)
87r11gczov.fsf@gnu.org
Hey,

Toggle quote (5 lines)
> So, I think there's some involvement of grafts that mean you end up
> building things when just trying to compute the derivation. But that's
> as far as I got, I don't really understand why this is the case, or what
> can be done about it.

Thanks for sharing Chris, I tried to disable grafts, but I was not able
to go any further:

Toggle snippet (41 lines)
mathieu@berlin ~$ guix pull -s powerpc64le-linux -v3 --no-grafts
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
guix https://git.savannah.gnu.org/git/guix.git 0598b5d
building /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv...
@ unsupported-platform /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv powerpc64le-linux
while setting up the build environment: a `powerpc64le-linux' is required to build `/gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv', but I am a `x86_64-linux'
builder for `/gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv' failed with exit code 1
build of /gnu/store/m7ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv failed
View build log at '/var/log/guix/drvs/m7/ppw9lb65g99dajwkb56w05zqmydsdh-guile-bootstrap-2.0.drv.gz'.
cannot build derivation `/gnu/store/xd1sxx07rbynhhgb693vdw1rqlqd4a93-bash-minimal-5.1.8.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/wmqmkvgfs3cab3kf269d4p9lkphkwzdm-binutils-2.37.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/8nmr09ik10j36hghg2kil51jkjnj06q6-binutils-cross-boot0-2.37.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/04ngqmmifwqmlmga1ax9sxk09xv131xk-bootstrap-binaries-0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/f3azd8szmzhxr020jia5072kc5izxjfj-coreutils-8.32.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/gjn725x4h9skb20zgi0pa92vlxgkgavs-diffutils-3.8.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/vp5pwmylb79zni917rk8y6l35v452p6d-diffutils-boot0-3.8.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/av4s8y2s91njxxv23rai319adk65w85z-file-boot0-5.39.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/xfpd2plqyzbrj8i509rdwcl01y3jbfgd-findutils-4.8.0.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/8k74lss8j7gczv24l30vppbsbps3adra-findutils-boot0-4.8.0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/qa8v3sfgi0832w5q524vkgqw4168f40p-gcc-10.3.0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/8nq5sgw7qw8flawdza94i8g9ybbq2qmq-glibc-2.33.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/nkph22a5q6y6vwc5lcrn8z207wbdh3an-grep-3.6.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/5k20iw84477c3i2fjadjvx27flwxv2gg-guile-3.0.7.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/kkghmiz85q072fznybdzkhqqp8h0givf-gzip-1.10.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/7rj3x1mpw27bsngmkny8ivwqbkcxzsmb-ld-wrapper-boot0-0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/1q67mcy2jjvfg0lbmca94inrhqwpi05r-ld-wrapper-boot3-0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/dpxnqbrjnlj5q8l9mi0g1i51bni61m7v-libgc-8.0.4.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/6pb0ihb8y3r7skh69vdjcxc2n0h2qbx1-libunistring-0.9.10.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/5c8wan41scm0j9dgcmq0rpcsb59n0l9v-linux-libre-headers-5.10.35.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/df9xgziafs0qpr7sxdcrxqbqd07a1h92-make-4.3.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/c0g8jj22ikdr6k53135rfrjj7mv234g1-make-boot0-4.3.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/wxqi4ibkxq2943krxf2xpxvyz0bjz1kx-patch-2.7.6.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/9wg27g47gqz9dr7grx2cv7l00kkm34bs-perl-5.34.0.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/1kq8l3m29nsaifsk1k0g1g0c6sk6ch4g-perl-boot0-5.34.0.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/1apai9zqhdc6zaj2r0fbxqipash5fnzx-sed-4.8.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/kl7934a54ykm9g3majmxlawks1xaz97y-tar-1.34.tar.xz.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/z7jij9k33bl8dm50zrhy97jxqwylx1s8-compute-guix-derivation.drv': 1 dependencies couldn't be built
guix pull: error: build of `/gnu/store/z7jij9k33bl8dm50zrhy97jxqwylx1s8-compute-guix-derivation.drv' failed

Maybe we should open a specific bug-report for that particular issue?

Mathieu
C
C
Christopher Baines wrote on 16 Aug 2022 12:56
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
87leroih5x.fsf@cbaines.net
Mathieu Othacehe <othacehe@gnu.org> writes:

Toggle quote (11 lines)
> Hey,
>
>> So, I think there's some involvement of grafts that mean you end up
>> building things when just trying to compute the derivation. But that's
>> as far as I got, I don't really understand why this is the case, or what
>> can be done about it.
>
> Thanks for sharing Chris, I tried to disable grafts, but I was not able
> to go any further:
>
> mathieu@berlin ~$ guix pull -s powerpc64le-linux -v3 --no-grafts
...

Toggle quote (4 lines)
> guix pull: error: build of `/gnu/store/z7jij9k33bl8dm50zrhy97jxqwylx1s8-compute-guix-derivation.drv' failed
>
> Maybe we should open a specific bug-report for that particular issue?

I think the grafting comes in here [1], within the build-self.scm
script, and I think that the --no-grafts argument to guix pull doesn't
currently affect the behaviour at that point.


That's where the patch here [2] comes in, as it makes it possible to
control the grafting behaviour at that point, at least enough to
demonstrate that there's some change in behaviour.

-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmL7eZpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xce0hAAsp5A3vvMWHMXZgez3sbhqzpzeEkFWHYV
NRzdlMAwsatp6h1fhDTrYB8J/yAmw4mnx1XbwIT9u4r/8fP8wkts1DpEzScpIFhx
UZjWnqb0cXfVV3xapT9WMmCEiul51rNdx7mpLTBPiGk7AEvicCfr3L3nwZOW/FlB
Pf5LdnLmM+5hsAufh9M6rWTh6QTdNcuB/qJmpN3tfbcu88WmW+n2zAaVgH7Q2p94
0Uvtmm6zHP1eVgcdIVKwQQckehUVlbxMoIPRK2GCg0cy220MzjIhCKZHc1SEkZh4
3BKUxsppDost6CRqkjQEo+sSJXcbTLJ3kQSJhfUFT7OWwGyqw8Rpqrevm5FJXzmi
EChs9lPNNrwRnY6xC1GqpQX305Gtrm1n0UmhEWLDt82k9FVWN+s/8P59FUgLSfdB
+b+6A91KnegJwPspqIDpxeLfsFPe0/RBV/StufgSEh5r01bCJmCc+en1nSexCtz8
eDS1Mj3avHPx3QkD3DEeS5/YTYlJAeewZX/cXIPsDVNnAlMwqJZwxpEyfxScbCeO
lVgGbUrsvEx0xsHRheW5U9/RNUMfimYn14481XNt2u7qQVl2iaCQHq3XLKmOYiFG
5p41vUDlvFWY6Rx0D+iPryLaz31DXig/7q0oRSouUbOoywqs4Y8V4UF2olSFfo7K
w9ljZoR6seo=
=kNu4
-----END PGP SIGNATURE-----

M
M
Maxim Cournoyer wrote on 19 Aug 2022 16:19
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 57215@debbugs.gnu.org)
87fshsz57n.fsf@gmail.com
Hi Mathieu,

Mathieu Othacehe <othacehe@gnu.org> writes:

Toggle quote (18 lines)
> Hello,
>
> Since commit 0565cde, Cuirass fails to evaluate the guix
> specification. The error messages do not give any clue, for instance:
> https://ci.guix.gnu.org/eval/504294/log/raw.
>
> I tried to strace an evaluation process of the guix specification, it
> ends this way:
>
> [pid 74060] write(1, "(values (value (result (((#:job-name . guix.i686-linux) (#:derivation . \"/gnu/store/ap7sixkbikfw1xib3aisbcaw6i2005m2-guix-a5f199732.drv\") (#:inputs \"/gnu/store/4mdqwn29pvjqd6hs1q842g5wzamjy3dk-module-import-compiled.drv\" \"/gnu/store/4nv9xf9qyabcw2gz9zvxlq9ymknq7wad-guix-daemon.drv\" \"/gnu/store/a6f7jk08bs6clingcw3j8kmz3cbsj6iq-guix-command.drv\" \"/gnu/store/fl7hls4j08hp45j32xjjrjc6d49qmbmy-guix-a5f199732-modules.drv\" \"/gnu/store/h9aagy9mv2bqg7b8q3k6aksi7fa20qzc-guix-manual.drv\" \"/gnu/store/iz11170b9da1i3pkjdv6314swzvzkgvk-guile-3.0.7.drv\") (#:outputs (\"out\" . \"/gnu/store/ivs9raslmb77zn0hrcza0wbv3r9lspay-guix-a5f199732\")) (#:nix-name . \"guix-a5f199732\") (#:system . \"i686-linux\") (#:max-silent-time . 3600) (#:timeout . 18000))))))\n", 737) = -1 EPIPE (Broken pipe)
> [pid 74060] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=74060, si_uid=997} ---
> [pid 74060] futex(0x7f1110e6f330, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> [pid 74060] write(1, "(exception (arguments system-error (value \"fport_write\") (value \"~A\") (value (\"Broken pipe\")) (value (32))) (stack (#f (\"ice-9/boot-9.scm\" 1779 13)) (raise-exception (\"ice-9/boot-9.scm\" 1684 16)) (newline (#f #f #f)) (#f (\"guix/repl.scm\" 104 8)) (with-exception-handler (\"ice-9/boot-9.scm\" 1751 10)) (with-exception-handler (\"ice-9/boot-9.scm\" 1746 15)) (#f (\"guix/repl.scm\" 125 7))))\n", 385) = -1 EPIPE (Broken pipe)
> [pid 74060] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=74060, si_uid=997} ---
>
> The evaluation process receives a SIGPIPE when trying to write the
> evaluation result to the pipe connecting it to "cuirass register".

It seems the evaluations are now completing correctly?

Perhaps it was related to the Shepherd issue that we are having on
Berlin, where after a while it seems to hang, which makes it impossible
to even SSH in.

Thanks,

Maxim
?