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

  • Done
  • quality assurance status badge
Details
3 participants
  • Brice Waegeneire
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Brice Waegeneire
Severity
normal
B
B
Brice Waegeneire wrote on 13 May 2020 17:57
(address . bug-guix@gnu.org)
6d23266f90b7bd2bd8a0f6fceb4bac3d@waegenei.re
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:

Toggle snippet (17 lines)
$ 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'...

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

Toggle snippet (74 lines)
$ 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"))))

- Brice
L
L
Ludovic Courtès wrote on 18 May 2020 00:44
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 41237@debbugs.gnu.org)
877dxakwpu.fsf@gnu.org
Hi Brice,

Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (6 lines)
> 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:

[...]

Toggle quote (4 lines)
> %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’.
B
B
Brice Waegeneire wrote on 3 Jun 2020 11:51
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41237@debbugs.gnu.org)
df75b55a25e36f0fa65c96c5699d85dd@waegenei.re
Hello Ludovic,

On 2020-05-17 22:44, Ludovic Courtès wrote:
Toggle quote (10 lines)
> Brice Waegeneire <brice@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.

Toggle snippet (19 lines)
$ 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

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
Attachment: strace3.txt (.96 MiB)
L
L
Ludovic Courtès wrote on 3 Jun 2020 16:56
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 41237@debbugs.gnu.org)
878sh4nqp8.fsf@gnu.org
Hi Brice,

Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (23 lines)
> 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:

Toggle quote (2 lines)
> openat(AT_FDCWD, "/dev/sda1", O_RDONLY) = 9

[...]

Toggle quote (7 lines)
> 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

[...]

Toggle quote (7 lines)
> 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

[...]

Toggle quote (7 lines)
> 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

[...]

Toggle quote (8 lines)
> 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

[...]

Toggle quote (7 lines)
> 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

[...]

Toggle quote (7 lines)
> 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

[...]

Toggle quote (6 lines)
> 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:

Toggle quote (16 lines)
> 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

[...]

Toggle quote (14 lines)
> 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’.
B
B
Brice Waegeneire wrote on 3 Jun 2020 18:15
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41237@debbugs.gnu.org)
9a7608948ff7260b94f7e539c9729c44@waegenei.re
Hello Ludo',

On 2020-06-03 14:56, Ludovic Courtès wrote:
Toggle quote (7 lines)
> 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:

Toggle snippet (12 lines)
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

- Brice
L
L
Ludovic Courtès wrote on 4 Jun 2020 11:41
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 41237@debbugs.gnu.org)
878sh3f9rn.fsf@gnu.org
Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (21 lines)
> 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’.
B
B
Brice Waegeneire wrote on 4 Jun 2020 12:03
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41237@debbugs.gnu.org)
628f90c3459e987b9869b0ed8e398ac9@waegenei.re
Hello Ludo',

On 2020-06-04 09:41, Ludovic Courtès wrote:
Toggle quote (15 lines)
> Brice Waegeneire <brice@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:

Toggle snippet (5 lines)
scheme@(guix-user) [1]> ,locals
Local variables:
$1 = closure = #<procedure raise-exception (exn #:key continuable?)>

- Brice
L
L
Ludovic Courtès wrote on 4 Jun 2020 13:29
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 41237@debbugs.gnu.org)
878sh3dq6g.fsf@gnu.org
Hey,

Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (22 lines)
> On 2020-06-04 09:41, Ludovic Courtès wrote:
>> Brice Waegeneire <brice@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”.)
B
B
Brice Waegeneire wrote on 4 Jun 2020 14:23
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41237@debbugs.gnu.org)
28aff48e2211e3cc4b44cd2ec3ce5dd7@waegenei.re
On 2020-06-04 11:29, Ludovic Courtès wrote:
Toggle quote (30 lines)
> Hey,
>
> Brice Waegeneire <brice@waegenei.re> skribis:
>
>> On 2020-06-04 09:41, Ludovic Courtès wrote:
>>> Brice Waegeneire <brice@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:

Toggle snippet (69 lines)
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.

- Brice
B
B
Brice Waegeneire wrote on 5 Jun 2020 19:11
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41237@debbugs.gnu.org)
cb1f49625c7b2aee95299349e12b9975@waegenei.re
Hello Ludovic,

The same with “COLUMNS=200“:

Toggle snippet (70 lines)
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]>

- Brice
L
L
Ludovic Courtès wrote on 7 Jun 2020 21:42
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 41237@debbugs.gnu.org)
87zh9eslwd.fsf@gnu.org
Hi Brice,

Brice Waegeneire <brice@waegenei.re> skribis:

Toggle quote (14 lines)
> 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’.
M
M
Maxim Cournoyer wrote on 19 Jun 2020 05:31
(name . Ludovic Courtès)(address . ludo@gnu.org)
87v9jnd952.fsf@gmail.com
Hello Brice and Ludovic,

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

Toggle quote (29 lines)
> Hi Brice,
>
> Brice Waegeneire <brice@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
Closed
?