Subject: Eglot over Tramp freezes with large project

From: Thomas Koch <[email-masked]>
Date: Tue, 7 Feb 2023 18:33:01 +0200 (EET)

This problem has already been reported to eglot, however it is probably
a problem with Tramp:
https://github.com/joaotavora/eglot/discussions/883

I've reproduced the problem with Emacs 27.1 from Debian and a minimal
Emacs 28.2. installed via nixpkg. The follwing describes a hopefully
reliable reproduction.

1. Have a client system with Emacs + eglot and an SSH server.

2. On the server:

  git clone --depth 1 --no-tags --single-branch \
      -b eglot-tramp-freeze-repro \
      https://github.com/thkoch2001/yacy_search_server

3. On the server download and untar
   https://download.eclipse.org/jdtls/milestones/1.19.0/jdt-language-server-1.19.0-202301171536.tar.gz

4. Still on server make a symlink from ~/bin/jdtls to bin/jdtls from the
tarball.

5. Install eglot and use this emacs config on client:

(custom-set-variables
 '(tramp-remote-path
   '("/run/current-system/sw/bin" "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" tramp-own-remote-path))
 '(tramp-use-ssh-controlmaster-options nil)
;; problem exists also without previous line
)

6. Open source/net/yacy/yacy.java over Tramp with ssh:

7. M-x eglot

Freeze should happen after a few seconds.
The project works fine with eglot with a local Emacs.