GNU bug report logs - #61350
Eglot over Tramp freezes with large project

Previous Next

Package: emacs;

Reported by: Thomas Koch <thomas <at> koch.ro>

Date: Tue, 7 Feb 2023 18:49:02 UTC

Severity: normal

Full log


Message #50 received at 61350 <at> debbugs.gnu.org (full text, mbox):

From: Thomas Koch <thomas <at> koch.ro>
To: João Távora <joaotavora <at> gmail.com>,
 Michael Albinus <michael.albinus <at> gmx.de>
Cc: 61350 <at> debbugs.gnu.org
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
Date: Sun, 26 Feb 2023 12:24:39 +0200 (EET)
Michael and I met yesterday for a debugging session.

Eventually we tried without SSH ControlMaster (via tramp-use-ssh-controlmaster-options). Eglot did not freeze anymore.

I actually found the hint to ControlMaster already early on but probably made a mistake when trying it:

- Either I set tramp-ssh-controlmaster-options to nil, which is the default and does not have any effect.
- Or SSH still used ControlMaster due to my ssh config:

  Host *
     ControlMaster auto

I still see one

error in process filter: tramp-error: peculiar error: "Forbidden reentrant call of Tramp"

I don't consider this a solution but just a workaround. After all I had tramp freeze my emacs also before I used eglot. After reading jsonrpc and tramp source code yesterday I also believe that Joãos proposal might help to make Tramp more stable.

Unfortunately I've not done any elisp programming yet and thus can't help with coding.

I was thinking whether there could be an abstract (and reliable) process interaction library to be used by tramp, jsonrpc and others. In my init.el I found at least magit (magit-process.el) and maybe org-export (ox.el) which also call external processes and need to reliably parse process output.

jsonrpc is special since it needs to match process output by message id to previous process input.

Otherwise it seems to me that there is a lot of shared logic?




This bug report was last modified 2 years and 49 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.