[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#58290: guile ssh error on guix deploy
From: |
Ludovic Courtès |
Subject: |
bug#58290: guile ssh error on guix deploy |
Date: |
Tue, 18 Oct 2022 17:31:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi,
Marius Bakke <marius@gnu.org> skribis:
> I have the same problem. Log messages around failure look something
> like this (extracted from above message):
>
> Oct 4 11:51:49 localhost shepherd[1]: Service sshd-2 has been started.
> Oct 4 11:51:50 localhost sshd[250]: Accepted publickey for bob from
> 185.70.53.164 port 1915 ssh2: RSA
> SHA256:/X3jyhyMizAOKOjCfXK5cLN3Pa0vmi7dbQG+fxK3d3Y
> Oct 4 11:52:28 localhost sshd[252]: error: no more sessions
> Oct 4 11:52:28 localhost shepherd[1]: 1 connection still in use after
> sshd-2 termination.
> Oct 4 11:52:28 localhost shepherd[1]: Service sshd-2 has been disabled.
>
> Then deploy crashes with 'Channel opening failure'.
“no more sessions” comes from this:
--8<---------------cut here---------------start------------->8---
int
session_open(Authctxt *authctxt, int chanid)
{
Session *s = session_new();
debug("session_open: channel %d", chanid);
if (s == NULL) {
error("no more sessions");
return 0;
}
[...]
}
--8<---------------cut here---------------end--------------->8---
Would be interesting to run sshd in verbose/debug mode and see why we
hit that; it could be because the maximum number of sessions has been
reached or something.
> Due to the number of SSH connections made by deploy and frequent
> occurence of this problem, I was not able to successfully deploy through
> many attempts.
Ouch. Normally, thanks to memoization, ‘guix deploy’ opens only one
session per machine. (I think it works well with the 25 local build
machines behind berlin; it’s also fine for a small set of machines I
take care of at work.)
> I found that removing the memoizing open-machine-ssh-session* in
> (gnu machine ssh) works around it and can happily deploy again.
>
> (that is, just use 'open-machine-ssh-session' instead)
Interesting. That gives us a hint. Could you add a ‘pk’ in
‘open-machine-ssh-session*’ to see how many connections it opens?
Thanks for your feedback!
Ludo’.