GNU bug report logs - #41237
guix deploy hangs when a file-system-device is set to a UUID

Previous Next

Package: guix;

Reported by: Brice Waegeneire <brice <at> waegenei.re>

Date: Wed, 13 May 2020 15:59:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41237 in the body.
You can then email your comments to 41237 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Wed, 13 May 2020 15:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Brice Waegeneire <brice <at> waegenei.re>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 13 May 2020 15:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brice Waegeneire <brice <at> waegenei.re>
To: bug-guix <at> gnu.org
Subject: guix deploy hangs when a file-system-device is set to a UUID
Date: Wed, 13 May 2020 15:57:58 +0000
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




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Sun, 17 May 2020 22:45:02 GMT) Full text and rfc822 format available.

Message #8 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brice Waegeneire <brice <at> waegenei.re>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Mon, 18 May 2020 00:44:45 +0200
Hi Brice,

Brice Waegeneire <brice <at> waegenei.re> skribis:

> 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:

[...]

> %load-compiled-path))))(begin (use-modules (gnu build file-systems) (gnu 
> system uuid)) (define uuid (string->uuid "B5DE-B0B9")) 
> (find-partition-by-uuid uuid))

What if you strace this “guile …/remote-exp.scm” process?  Could it be
that it’s stuck in ‘find-partition-by-uuid’ because one of the block
devices doesn’t respond or something?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Wed, 03 Jun 2020 09:52:01 GMT) Full text and rfc822 format available.

Message #11 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Brice Waegeneire <brice <at> waegenei.re>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Wed, 03 Jun 2020 09:51:36 +0000
[Message part 1 (text/plain, inline)]
Hello Ludovic,

On 2020-05-17 22:44, Ludovic Courtès wrote:
> Brice Waegeneire <brice <at> waegenei.re> skribis:
>> %load-compiled-path))))(begin (use-modules (gnu build file-systems) 
>> (gnu
>> system uuid)) (define uuid (string->uuid "B5DE-B0B9"))
>> (find-partition-by-uuid uuid))
> 
> What if you strace this “guile …/remote-exp.scm” process?  Could it be
> that it’s stuck in ‘find-partition-by-uuid’ because one of the block
> devices doesn’t respond or something?

When manually executing the second 'remote-assertion.scm' file, the one
containing the 'find-partition-by-uuid-bit', it hangs indefinitely, I 
have
attached it's strace to this email.

--8<---------------cut here---------------start------------->8---
$ cat /gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-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/7jpv8kkq13k9xjazrkpq3cm1vz4m5arv-module-import" (map (lambda 
(extension) (string-append extension "/share/guile/site/" 
(effective-version))) extensions)) %load-path)) (set! 
%load-compiled-path (prepend (cons 
"/gnu/store/gac0pvsnc0zvsfxizfqjgg9lig8sf200-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))
# strace -o /tmp/^Crace3.txt guile 
/gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-remote-assertion.scm
--8<---------------cut here---------------end--------------->8---

Note that doing a “guix system reconfigure” on the deploy target with a
config file containing using “(device (uuid ...))“ work, it's only when
using “guix deploy“ that this issue manifest itself.

- Brice
[strace3.txt (text/plain, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Wed, 03 Jun 2020 14:57:01 GMT) Full text and rfc822 format available.

Message #14 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brice Waegeneire <brice <at> waegenei.re>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Wed, 03 Jun 2020 16:56:19 +0200
Hi Brice,

Brice Waegeneire <brice <at> waegenei.re> skribis:

> When manually executing the second 'remote-assertion.scm' file, the one
> containing the 'find-partition-by-uuid-bit', it hangs indefinitely, I 
> have
> attached it's strace to this email.
>
> $ cat /gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-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/7jpv8kkq13k9xjazrkpq3cm1vz4m5arv-module-import" (map (lambda 
> (extension) (string-append extension "/share/guile/site/" 
> (effective-version))) extensions)) %load-path)) (set! 
> %load-compiled-path (prepend (cons 
> "/gnu/store/gac0pvsnc0zvsfxizfqjgg9lig8sf200-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))
> # strace -o /tmp/^Crace3.txt guile 
> /gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-remote-assertion.scm

It seems to be doing what we expect initially:

> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 32768, SEEK_SET)               = 32768
> read(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
> close(9)                                = 0
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 1024, SEEK_SET)                = 1024
> read(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
> close(9)                                = 0
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 65536, SEEK_SET)               = 65536
> read(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
> close(9)                                = 0
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> mmap(0x7f1806869000, 1576960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f180662d000
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 0, SEEK_SET)                   = 0
> read(9, "\353X\220mkfs.fat\0\2\10 \0\2\0\0\0\0\370\0\0?\0\377\0\0\10\0\0"..., 4096) = 4096
> close(9)                                = 0
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 0, SEEK_SET)                   = 0
> read(9, "\353X\220mkfs.fat\0\2\10 \0\2\0\0\0\0\370\0\0?\0\377\0\0\10\0\0"..., 4096) = 4096
> close(9)                                = 0
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 32768, SEEK_SET)               = 32768
> read(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
> close(9)                                = 0
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

> fstat(9, {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x1), ...}) = 0
> lseek(9, 0, SEEK_CUR)                   = 0
> lseek(9, 1024, SEEK_SET)                = 1024
> read(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
> close(9)                                = 0

And then it seems to enter an endless loop:

> write(6, "\0", 1)                       = 1
> clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=0, tv_nsec=104694235}) = 0
> rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
> futex(0x7f180a6c5f68, FUTEX_WAKE_PRIVATE, 2147483647) = 3
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 1
> futex(0x7f180a6c5f54, FUTEX_WAIT_PRIVATE, 3, NULL) = -1 EAGAIN (Resource temporarily unavailable)
> futex(0x7f180a6c5f60, FUTEX_WAKE_PRIVATE, 1) = 1
> futex(0x7f180a6c5f68, FUTEX_WAKE_PRIVATE, 2147483647) = 2
> futex(0x7f180a6c5f6c, FUTEX_WAKE_PRIVATE, 2147483647) = 3
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 1
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 0
> futex(0x7f180a6c5f6c, FUTEX_WAKE_PRIVATE, 2147483647) = 3
> clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=0, tv_nsec=111569830}) = 0
> clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=0, tv_nsec=114489967}) = 0
> rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0

[...]

> madvise(0x7f1806e01000, 12288, MADV_DONTNEED) = 0
> futex(0x7f180a6c5f68, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 0
> futex(0x7f180a6c5f6c, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 0
> futex(0x7f180a6c5f68, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
> futex(0x7f180a6c5f50, FUTEX_WAKE_PRIVATE, 2147483647) = 1
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 0
> futex(0x7f180a6c5b40, FUTEX_WAKE_PRIVATE, 1) = 0
> futex(0x7f180a6c5f6c, FUTEX_WAKE_PRIVATE, 2147483647) = 3
> clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=14, tv_nsec=400254621}) = 0
> --- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
> +++ killed by SIGINT +++

Could you try running this at the REPL:

  (load "/gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-remote-assertion.scm")

and then hit C-c and type “,bt” to get a backtrace?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Wed, 03 Jun 2020 16:16:01 GMT) Full text and rfc822 format available.

Message #17 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Brice Waegeneire <brice <at> waegenei.re>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Wed, 03 Jun 2020 16:15:21 +0000
Hello Ludo',

On 2020-06-03 14:56, Ludovic Courtès wrote:
> Could you try running this at the REPL:
> 
>   (load 
> "/gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-remote-assertion.scm")
> 
> and then hit C-c and type “,bt” to get a backtrace?

Here is the backtrace:

--8<---------------cut here---------------start------------->8---
In ice-9/boot-9.scm:
   2806:4  6 (save-module-excursion _)
  4351:12  5 (_)
In unknown file:
           4 (find #<procedure 7fab527ecd80 at gnu/build/file-syste…> …)
In gnu/system/uuid.scm:
    302:5  3 (uuid=? . _)
In unknown file:
While executing meta-command:
In procedure frame-local-ref: Argument 2 out of range: 0
--8<---------------cut here---------------end--------------->8---

- Brice




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Thu, 04 Jun 2020 09:42:02 GMT) Full text and rfc822 format available.

Message #20 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brice Waegeneire <brice <at> waegenei.re>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Thu, 04 Jun 2020 11:41:32 +0200
Brice Waegeneire <brice <at> waegenei.re> skribis:

> On 2020-06-03 14:56, Ludovic Courtès wrote:
>> Could you try running this at the REPL:
>> 
>>   (load 
>> "/gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-remote-assertion.scm")
>> 
>> and then hit C-c and type “,bt” to get a backtrace?
>
> Here is the backtrace:
>
> In ice-9/boot-9.scm:
>     2806:4  6 (save-module-excursion _)
>    4351:12  5 (_)
> In unknown file:
>             4 (find #<procedure 7fab527ecd80 at gnu/build/file-syste…> …)
> In gnu/system/uuid.scm:
>      302:5  3 (uuid=? . _)
> In unknown file:
> While executing meta-command:
> In procedure frame-local-ref: Argument 2 out of range: 0

And what does “,locals” show?

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Thu, 04 Jun 2020 10:04:02 GMT) Full text and rfc822 format available.

Message #23 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Brice Waegeneire <brice <at> waegenei.re>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Thu, 04 Jun 2020 10:03:32 +0000
Hello Ludo',

On 2020-06-04 09:41, Ludovic Courtès wrote:
> Brice Waegeneire <brice <at> waegenei.re> skribis:
>> In ice-9/boot-9.scm:
>>     2806:4  6 (save-module-excursion _)
>>    4351:12  5 (_)
>> In unknown file:
>>             4 (find #<procedure 7fab527ecd80 at gnu/build/file-syste…> 
>> …)
>> In gnu/system/uuid.scm:
>>      302:5  3 (uuid=? . _)
>> In unknown file:
>> While executing meta-command:
>> In procedure frame-local-ref: Argument 2 out of range: 0
> 
> And what does “,locals” show?

There isn't much:

--8<---------------cut here---------------start------------->8---
scheme@(guix-user) [1]> ,locals
  Local variables:
  $1 = closure = #<procedure raise-exception (exn #:key continuable?)>
--8<---------------cut here---------------end--------------->8---

- Brice




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Thu, 04 Jun 2020 11:31:02 GMT) Full text and rfc822 format available.

Message #26 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brice Waegeneire <brice <at> waegenei.re>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Thu, 04 Jun 2020 13:29:59 +0200
Hey,

Brice Waegeneire <brice <at> waegenei.re> skribis:

> On 2020-06-04 09:41, Ludovic Courtès wrote:
>> Brice Waegeneire <brice <at> waegenei.re> skribis:
>>> In ice-9/boot-9.scm:
>>>     2806:4  6 (save-module-excursion _)
>>>    4351:12  5 (_)
>>> In unknown file:
>>>             4 (find #<procedure 7fab527ecd80 at gnu/build/file-syste…> 
>>> …)
>>> In gnu/system/uuid.scm:
>>>      302:5  3 (uuid=? . _)
>>> In unknown file:
>>> While executing meta-command:
>>> In procedure frame-local-ref: Argument 2 out of range: 0
>> 
>> And what does “,locals” show?
>
> There isn't much:
>
> scheme@(guix-user) [1]> ,locals
>    Local variables:
>    $1 = closure = #<procedure raise-exception (exn #:key continuable?)>

And in upper frames?  (Type “,up”.)




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Thu, 04 Jun 2020 12:24:01 GMT) Full text and rfc822 format available.

Message #29 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Brice Waegeneire <brice <at> waegenei.re>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Thu, 04 Jun 2020 12:23:06 +0000
On 2020-06-04 11:29, Ludovic Courtès wrote:
> Hey,
> 
> Brice Waegeneire <brice <at> waegenei.re> skribis:
> 
>> On 2020-06-04 09:41, Ludovic Courtès wrote:
>>> Brice Waegeneire <brice <at> waegenei.re> skribis:
>>>> In ice-9/boot-9.scm:
>>>>     2806:4  6 (save-module-excursion _)
>>>>    4351:12  5 (_)
>>>> In unknown file:
>>>>             4 (find #<procedure 7fab527ecd80 at 
>>>> gnu/build/file-syste…>
>>>> …)
>>>> In gnu/system/uuid.scm:
>>>>      302:5  3 (uuid=? . _)
>>>> In unknown file:
>>>> While executing meta-command:
>>>> In procedure frame-local-ref: Argument 2 out of range: 0
>>> 
>>> And what does “,locals” show?
>> 
>> There isn't much:
>> 
>> scheme@(guix-user) [1]> ,locals
>>    Local variables:
>>    $1 = closure = #<procedure raise-exception (exn #:key 
>> continuable?)>
> 
> And in upper frames?  (Type “,up”.)

I went trough all the upper frames:

--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (load 
"/gnu/store/wzvn8r2z7lnf5mqzagxzcb64wr69kgk4-remote-assertion.scm")
^Cice-9/boot-9.scm:1669:16: In procedure raise-exception:
User interrupt

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guix-user) [1]> ,bt
In ice-9/boot-9.scm:
   2806:4  6 (save-module-excursion _)
  4351:12  5 (_)
In unknown file:
           4 (find #<procedure 7f31d107c570 at gnu/build/file-syste…> …)
In gnu/system/uuid.scm:
    302:5  3 (uuid=? . _)
In unknown file:
While executing meta-command:
In procedure frame-local-ref: Argument 2 out of range: 0
scheme@(guix-user) [1]> ,locals
  Local variables:
  $1 = closure = #<procedure raise-exception (exn #:key continuable?)>
scheme@(guix-user) [1]> ,up
In ice-9/top-repl.scm:
    37:24  1 (_ _)
scheme@(guix-user) [1]> ,locals
  Local variables:
  $2 = arg = signal
  $3 = arg = #f
  $4 = arg = ()
  $5 = pair = (() (2))
  $6 = pair = ("User interrupt" () (2))
  $7 = pair = (#f "User interrupt" () (2))
scheme@(guix-user) [1]> ,up
While executing meta-command:
In procedure frame-local-ref: Argument 2 out of range: 0
scheme@(guix-user) [1]> ,locals
  No local variables.
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 7f31d107c570 at gnu/build/file-syste…> …)
scheme@(guix-user) [1]> ,locals
  No local variables.
scheme@(guix-user) [1]> ,up
In ice-9/boot-9.scm:
  4351:12  5 (_)
scheme@(guix-user) [1]> ,locals
  No local variables.
scheme@(guix-user) [1]> ,up
In ice-9/boot-9.scm:
   2806:4  6 (save-module-excursion _)
scheme@(guix-user) [1]> ,locals
  Local variables:
  thunk = #<unspecified>
  $10 = obj = #<variable 7f31d1075990 value: #f>
  $11 = outer-module = #f
  $12 = obj = #<variable 7f31d1075980 value: #<directory (guix-user) 7…>
  $13 = box = #<variable 7f31d5703ef0 value: #<procedure set-current-m…>
  closure = #<unspecified>
scheme@(guix-user) [1]> ,up
Already at outermost frame.
--8<---------------cut here---------------end--------------->8---

- Brice




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Fri, 05 Jun 2020 17:12:01 GMT) Full text and rfc822 format available.

Message #32 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Brice Waegeneire <brice <at> waegenei.re>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Fri, 05 Jun 2020 17:11:23 +0000
Hello Ludovic,

The same with “COLUMNS=200“:

--8<---------------cut here---------------start------------->8---
scheme@(guix-user) [1]> ,bt
In ice-9/boot-9.scm:
   2806:4  6 (save-module-excursion _)
  4351:12  5 (_)
In unknown file:
           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"))
In gnu/system/uuid.scm:
    302:5  3 (uuid=? . _)
In unknown file:
While executing meta-command:
In procedure frame-local-ref: Argument 2 out of range: 0
scheme@(guix-user) [1]> ,locals
  Local variables:
  $1 = closure = #<procedure raise-exception (exn #:key continuable?)>
scheme@(guix-user) [1]> ,up
In ice-9/top-repl.scm:
    37:24  1 (_ _)
scheme@(guix-user) [1]> ,locals
  Local variables:
  $2 = arg = signal
  $3 = arg = #f
  $4 = arg = ()
  $5 = pair = (() (2))
  $6 = pair = ("User interrupt" () (2))
  $7 = pair = (#f "User interrupt" () (2))
scheme@(guix-user) [1]> ,up
While executing meta-command:
In procedure frame-local-ref: Argument 2 out of range: 0
scheme@(guix-user) [1]> ,locals
  No local variables.
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"))
scheme@(guix-user) [1]> ,locals
  No local variables.
scheme@(guix-user) [1]> ,up
In ice-9/boot-9.scm:
  4351:12  5 (_)
scheme@(guix-user) [1]> ,locals
  No local variables.
scheme@(guix-user) [1]> ,up
In ice-9/boot-9.scm:
   2806:4  6 (save-module-excursion _)
scheme@(guix-user) [1]> ,locals
  Local variables:
  thunk = #<unspecified>
  $10 = obj = #<variable 7f9a930b5770 value: #f>
  $11 = outer-module = #f
  $12 = obj = #<variable 7f9a930b5760 value: #<directory (guix-user) 
7f9a9505f6e0>>
  $13 = box = #<variable 7f9a97743ef0 value: #<procedure 
set-current-module (_)>>
  closure = #<unspecified>
scheme@(guix-user) [1]> ,up
Already at outermost frame.
scheme@(guix-user) [1]>
--8<---------------cut here---------------end--------------->8---

- Brice




Information forwarded to bug-guix <at> gnu.org:
bug#41237; Package guix. (Sun, 07 Jun 2020 19:43:02 GMT) Full text and rfc822 format available.

Message #35 received at 41237 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brice Waegeneire <brice <at> waegenei.re>
Cc: 41237 <at> debbugs.gnu.org
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Sun, 07 Jun 2020 21:42:26 +0200
Hi Brice,

Brice Waegeneire <brice <at> waegenei.re> 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’.




Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Fri, 19 Jun 2020 03:32:02 GMT) Full text and rfc822 format available.

Notification sent to Brice Waegeneire <brice <at> waegenei.re>:
bug acknowledged by developer. (Fri, 19 Jun 2020 03:32:02 GMT) Full text and rfc822 format available.

Message #40 received at 41237-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41237-done <at> debbugs.gnu.org, Brice Waegeneire <brice <at> waegenei.re>
Subject: Re: bug#41237: guix deploy hangs when a file-system-device is set to
 a UUID
Date: Thu, 18 Jun 2020 23:31:05 -0400
Hello Brice and Ludovic,

Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi Brice,
>
> Brice Waegeneire <brice <at> waegenei.re> 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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 17 Jul 2020 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 255 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.