Hi, Marius Bakke <mar...@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’.