[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61350: Eglot over Tramp freezes with large project
From: |
João Távora |
Subject: |
bug#61350: Eglot over Tramp freezes with large project |
Date: |
Wed, 01 Mar 2023 11:08:16 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Gregory Heytings <gregory@heytings.org> writes:
>>> Users, who have set ControlMaster in their ~/.ssh/config (like
>>> Thomas), are not satified. For them we need another setting of
>>> tramp-use-ssh-controlmaster-options. I'm working on this.
>>
>> Looking at the Tramp code, I think Thomas's idea of using
>>
>> -o "ControlMaster=no" -o "ControlPath=none"
>>
>> would probably be quite effective.
>>
>
> Instead of turning ControlMaster off, I suggest to first try to set
> ControlPersist on. The "freeze" problem described here is typical of
> multiplexing an ssh connection with ControlMaster set without also
> setting ControlPersist. (If you set ControlMaster without also
> setting ControlPersist, the socket is closed when the connection by
> which it was created is closed, even if other connections are still
> using it.)
Still hangs. I tried my previously described test with this patch:
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index ec8437176db..f9ac83e4008 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -4974,10 +4974,10 @@ tramp-ssh-controlmaster-options
(when (zerop
(tramp-call-process
vec "ssh" nil nil nil
- "-G" "-o" "ControlPersist=no" "0.0.0.1"))
+ "-G" "-o" "ControlPersist=yes" "0.0.0.1"))
(setq tramp-ssh-controlmaster-options
(concat tramp-ssh-controlmaster-options
- " -o ControlPersist=no")))))))
+ " -o ControlPersist=yes")))))))
tramp-ssh-controlmaster-options)))
(defun tramp-scp-strict-file-name-checking (vec)
bug#61350: Eglot over Tramp freezes with large project, João Távora, 2023/03/01