Subject: bug#41237: closed (Re: bug#41237: guix deploy hangs when a file-system-device is set to a UUID)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 19 Jun 2020 03:32:02 +0000

Your bug report

#41237: guix deploy hangs when a file-system-device is set to a UUID

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
41237: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41237
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to a UUID
From: Maxim Cournoyer <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked], Brice Waegeneire <[email-masked]>
Date: Thu, 18 Jun 2020 23:31:05 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Brice and Ludovic,

Ludovic Courtès <[email-masked]> writes:

> Hi Brice,
>
> Brice Waegeneire <[email-masked]> skribis:
>
>> scheme@(guix-user) [1]> ,up
>> In gnu/system/uuid.scm:
>>      302:5  3 (uuid=? . _)
>> scheme@(guix-user) [1]> ,locals
>>    Local variables:
>>    $8 = closure = #<procedure uuid=? expr>
>>    $9 = w = #vu8(185 176 222 181)
>> While executing meta-command:
>> In procedure frame-local-ref: Argument 2 out of range: 3
>> scheme@(guix-user) [1]> ,up
>>             4 (find #<procedure 7f9a930bd570 at 
>> gnu/build/file-systems.scm:606:4 (device)> ("/dev/sda" "/dev/sda1" 
>> "/dev/sda2" "/dev/sda3" "/dev/sdb" "/dev/sdb2" "/dev/sdb3"))
>
> So all we can say, is that one of the “partition readers” in (gnu build
> file-systems) hangs while reading from one of these.
>
> I don’t have good advice other than trying to run the code by hand to
> find out which device/reader pair causes the problem.
>
> I hope that makes sense.  We can further debug this on IRC if you want.
>
> Thanks,
> Ludo’.

Fixed with 0dd04b9986dd834782c988035569089785a6987d and
04a4af6dd4fbfcfc564eac5eafe647b192ba3a8f.  Thanks to Ludovic for the
pointers and both of you for recording the very useful above debugging
session.

Closing,

Maxim

Subject: guix deploy hangs when a file-system-device is set to a UUID
From: Brice Waegeneire <[email-masked]>
To: [email-masked]
Date: Wed, 13 May 2020 15:57:58 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hey Guix,

Here is an other “guix deploy” bug: setting a file-system-device field 
to a
UUID makes deploy hangs indefinitely. Using a string (eg.: "/dev/sda1")
instead, “guix deploy” succeed. Following is an output showing it 
hanging:

--8<---------------cut here---------------start------------->8---
$ guix deploy -Lmodules systems/hystou-p04.scm
guix deploy: warning: failed to load '(config workstation)':
no code for module (gnu services lightdm)
The following 1 machine will be deployed:
   abricot

guix deploy: deploying to abricot...
The following derivations will be built:
    /gnu/store/q021ynnwnn3b0py7vp682i980aamcbhy-remote-exp.scm.drv
    /gnu/store/bifn8l2lqh34rn5w6ca9x3n16ji9qh31-remote-assertion.scm.drv
building 
/gnu/store/bifn8l2lqh34rn5w6ca9x3n16ji9qh31-remote-assertion.scm.drv...
building 
/gnu/store/q021ynnwnn3b0py7vp682i980aamcbhy-remote-exp.scm.drv...
sending 2 store items (0 MiB) to '192.168.10.10'...
--8<---------------cut here---------------end--------------->8---

On the host side, when “guix deploy” is hanging:

--8<---------------cut here---------------start------------->8---
$ ps -aux | grep remote-exp
root      1910  197  0.2  81756 37812 ?        Rsl  15:47   2:00 
/gnu/store/0m0vd873jp61lcm4xa3ljdgx381qa782-guile-3.0.2/bin/guile 
--no-auto-compile -L 
/gnu/store/waw3q9xvwz6wivp4skmirxpg53znrs3h-module-import -C 
/gnu/store/waw3q9xvwz6wivp4skmirxpg53znrs3h-module-import -c (begin 
(use-modules (guix repl)) (send-repl-response (quote 
(with-output-to-port (current-error-port) (lambda () (primitive-load 
"/gnu/store/2xh7fzjk1hrz45w2bn1p6fi994f6lkrp-remote-exp.scm")))) 
(current-output-port)) (force-output))
bricewge  1919  0.0  0.0   6372  1748 pts/0    S+   15:48   0:00 grep 
remote-exp
$ cat /gnu/store/2xh7fzjk1hrz45w2bn1p6fi994f6lkrp-remote-exp.scm
#!/gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2/bin/guile 
--no-auto-compile
!#
(map (lambda (file) (false-if-exception (primitive-load file))) (quote 
("/gnu/store/y0dhva989bqyqqin18d2rkxd4fbkznxi-remote-assertion.scm" 
"/gnu/store/cbyixyqc7rslp5nwxh3np1h9jbwpk7pk-remote-assertion.scm" 
"/gnu/store/apvm855zplmp2cl38hw5ych4d559gza6-remote-assertion.scm")))
$ cat /gnu/store/y0dhva989bqyqqin18d2rkxd4fbkznxi-remote-assertion.scm
(catch (quote system-error) (lambda () (stat "/dev/sda3") #t) (lambda 
args (system-error-errno args)))%                        abricot% cat 
/gnu/store/cbyixyqc7rslp5nwxh3np1h9jbwpk7pk-remote-assertion.scm
(eval-when (expand load eval) (let ((extensions (quote ())) (prepend 
(lambda (items lst) (let loop ((items items) (lst lst)) (if (null? 
items) lst (loop (cdr items) (cons (car items) (delete (car items) 
lst)))))))) (set! %load-path (prepend (cons 
"/gnu/store/6sy0ignb9mhrxqaq43yqn0sxy4vjxvdk-module-import" (map (lambda 
(extension) (string-append extension "/share/guile/site/" 
(effective-version))) extensions)) %load-path)) (set! 
%load-compiled-path (prepend (cons 
"/gnu/store/ag9kc8igsc6gcd12sr4h2qp6bgapzfih-module-import-compiled" 
(map (lambda (extension) (string-append extension "/lib/guile/" 
(effective-version) "/site-ccache")) extensions)) 
%load-compiled-path))))(begin (use-modules (gnu build file-systems) (gnu 
system uuid)) (define uuid (string->uuid "B5DE-B0B9")) 
(find-partition-by-uuid uuid))
$ cat /gnu/store/cbyixyqc7rslp5nwxh3np1h9jbwpk7pk-remote-assertion.scm
(eval-when (expand load eval) (let ((extensions (quote ())) (prepend 
(lambda (items lst) (let loop ((items items) (lst lst)) (if (null? 
items) lst (loop (cdr items) (cons (car items) (delete (car items) 
lst)))))))) (set! %load-path (prepend (cons 
"/gnu/store/6sy0ignb9mhrxqaq43yqn0sxy4vjxvdk-module-import" (map (lambda 
(extension) (string-append extension "/share/guile/site/" 
(effective-version))) extensions)) %load-path)) (set! 
%load-compiled-path (prepend (cons 
"/gnu/store/ag9kc8igsc6gcd12sr4h2qp6bgapzfih-module-import-compiled" 
(map (lambda (extension) (string-append extension "/lib/guile/" 
(effective-version) "/site-ccache")) extensions)) 
%load-compiled-path))))(begin (use-modules (gnu build file-systems) (gnu 
system uuid)) (define uuid (string->uuid "B5DE-B0B9")) 
(find-partition-by-uuid uuid))
$ cat /gnu/store/apvm855zplmp2cl38hw5ych4d559gza6-remote-assertion.scm
(eval-when (expand load eval) (let ((extensions (quote ())) (prepend 
(lambda (items lst) (let loop ((items items) (lst lst)) (if (null? 
items) lst (loop (cdr items) (cons (car items) (delete (car items) 
lst)))))))) (set! %load-path (prepend (cons 
"/gnu/store/88hn0npj9xs099amjbsl7gjh9j3fy1yb-module-import" (map (lambda 
(extension) (string-append extension "/share/guile/site/" 
(effective-version))) extensions)) %load-path)) (set! 
%load-compiled-path (prepend (cons 
"/gnu/store/865zg228hasfmv879g8y12n8i2s8si0f-module-import-compiled" 
(map (lambda (extension) (string-append extension "/lib/guile/" 
(effective-version) "/site-ccache")) extensions)) 
%load-compiled-path))))(begin (use-modules (gnu build file-systems) (gnu 
build linux-modules) (gnu system uuid)) (define dev "/dev/sda3") 
(missing-modules dev (quote ("ahci" "usb-storage" "uas" "usbhid" 
"hid-generic" "hid-apple" "dm-crypt" "xts" "serpent_generic" "wp512" 
"nls_iso8859-1" "pata_acpi" "pata_atiixp" "isci" "virtio_pci" 
"virtio_balloon" "virtio_blk" "virtio_net" "virtio_console" 
"virtio-rng"))))
--8<---------------cut here---------------end--------------->8---

- Brice