From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 41625@debbugs.gnu.org
Subject: bug#41625: Sporadic guix-offload crashes due to EOF errors
Date: Fri, 24 Sep 2021 00:55:30 -0400 [thread overview]
Message-ID: <878rzmk1x9.fsf@gmail.com> (raw)
In-Reply-To: <878s2lw330.fsf_-_@gnu.org> ("Ludovic Courtès"'s message of "Mon, 05 Jul 2021 10:57:07 +0200")
Oh, and for completion, here's a reproducer I used here to debug with my
low power offload machine:
--8<---------------cut here---------------start------------->8---
x(use-modules (guix scripts offload)
(guix inferior)
((guix ssh) #:hide (open-ssh-session))
(ice-9 match)
(ssh popen))
(define machine (build-machine
(name "tm")
(port 22)
(user "root")
(systems (list "armhf-linux"))
;; ecdsa-sha2-nistp256
(host-key "ssh-ecdsa-p256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIx32IqtlUr2VMypLItGSnmKzd0eJkgnzPkVbOZbn4HFQD5KvWB98t4IkT0PESjs+DDQfI/PwRENo3yqd5GjukA=")
(parallel-builds 2)
(compression "none")
(private-key "/home/maxim/.ssh/id_rsa.1")))
(define open-ssh-session (@@ (guix scripts offload) open-ssh-session))
(define session (open-ssh-session machine 15))
(define repl-command '("guix" "repl" "-t" "machine"))
(define pipe (apply open-remote-pipe* session OPEN_BOTH repl-command))
;;; Hangs
;;;(port->inferior pipe)
(define rest (match (read pipe)
(('repl-version 0 rest ...)
rest)))
(define %inferior-packages (@@ (guix inferior) %inferior-packages))
(define %inferior-package-table (@@ (guix inferior) %inferior-package-table))
(define inferior (@@ (guix inferior) inferior))
(define inferior-socket (@@ (guix inferior) inferior-socket))
(define result (inferior 'pipe pipe close (cons 0 rest)
(delay (%inferior-packages result))
(delay (%inferior-package-table result))))
(define send-inferior-request (@@ (guix inferior) send-inferior-request))
(send-inferior-request '(() repl-version 0 1 1) result)
(inferior-eval '(use-modules (guix)) result)
;;; Hangs!
;;t(inferior-eval '(use-modules (gnu)) result)
(send-inferior-request '(use-modules (gnu)) result)
(define socket (inferior-socket result))
;;Throw to key `match-error' with args `("match" "no matching pattern" #<eof>)'
;;(read-repl-response socket result)
;; -> guix using 100% cpu, reading package modules for ~ 1m30s
;;; guile-ssh returns <eof> on timeout? (15 s) -> yes
(read socket)
--8<---------------cut here---------------end--------------->8---
I wish the Guile debugger was more capable; it'd have spared me the
above manual labor :-)
Maxim
next prev parent reply other threads:[~2021-09-24 4:56 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-31 9:51 bug#41625: Sporadic guix-offload crashes due to EOF errors Marius Bakke
2020-05-31 10:12 ` Marius Bakke
2020-05-31 11:21 ` Marius Bakke
2020-06-04 12:05 ` Ludovic Courtès
2021-05-24 5:33 ` Maxim Cournoyer
2021-05-25 15:50 ` bug#41625: [PATCH] offload: Handle a possible EOF response from read-repl-response Maxim Cournoyer
2021-05-25 20:27 ` Ludovic Courtès
2021-05-26 3:18 ` bug#41625: [PATCH v2] " Maxim Cournoyer
2021-05-26 9:14 ` Ludovic Courtès
2021-05-27 11:49 ` Maxim Cournoyer
2021-05-27 14:57 ` bug#41625: [PATCH v3] " Maxim Cournoyer
2021-07-05 8:57 ` bug#41625: Sporadic guix-offload crashes due to EOF errors Ludovic Courtès
2021-09-24 4:53 ` Maxim Cournoyer
2021-09-24 4:55 ` Maxim Cournoyer [this message]
2021-05-27 17:20 ` bug#41625: [PATCH v2] offload: Handle a possible EOF response from read-repl-response Maxim Cournoyer
2021-05-29 19:24 ` Ludovic Courtès
2021-05-26 15:48 ` Marius Bakke
2021-05-27 11:51 ` Maxim Cournoyer
2022-03-26 5:03 ` bug#41625: Sporadic guix-offload crashes due to EOF errors Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878rzmk1x9.fsf@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=41625@debbugs.gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).