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

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Thomas Koch <thomas@HIDDEN>; dated Tue, 7 Feb 2023 18:49:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 16 Mar 2023 20:36:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 16 16:36:15 2023
Received: from localhost ([127.0.0.1]:43179 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcuKd-0003Kk-A3
	for submit <at> debbugs.gnu.org; Thu, 16 Mar 2023 16:36:15 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:29135)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcuKZ-0003KV-W2
 for 61350 <at> debbugs.gnu.org; Thu, 16 Mar 2023 16:36:13 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id D61741000D6;
 Thu, 16 Mar 2023 16:36:05 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 4F5481000BD;
 Thu, 16 Mar 2023 16:36:04 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678998964;
 bh=ND2MkrHTnElMzQ1S6u2U8ReTbQVCz6Rd/HH1YwJKSOY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=HrsUnALbnLt5xB2yKerREtw1UwVwnRdmamjE+FBSm44qgTeAWEp7POk2uvVAymfSQ
 e1emqeYcobFWEuR9Q9zDn5xQrh24d+gIR0nLMqai5//+butGuIV8PqH8FRAC7tVXgy
 lUddLJ4pLLxu+4xqCWMkOAbl2xr0f2F/vcb3dY7N8vOzXFbGOeGVVin1SRU2+c8W2I
 stcSOE3X0FNNwcRf9CaxAJTOswtL+fAo3/1BjlXwcl9ItCr/u5d3HuMbLjIK/SekZQ
 9CGQjxwYyvq30eq/W3uguqjZq3nO/nfbUa6sk0ugSLRLR4UrNMPA83VhRy1fbTEjHa
 xhHOb9LsWQgHg==
Received: from ceviche (unknown [216.154.34.24])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 171A9120903;
 Thu, 16 Mar 2023 16:36:04 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <874jqk3cxp.fsf@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vo?=
 =?windows-1252?Q?ra=22's?= message of "Thu, 16
 Mar 2023 15:58:58 +0000")
Message-ID: <jwvsfe48nbn.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
 <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
 <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN>
 <87lejw3jx4.fsf@HIDDEN> <874jqk3cxp.fsf@HIDDEN>
Date: Thu, 16 Mar 2023 16:36:03 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.034 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Jim Porter <jporterbugs@HIDDEN>,
 Michael Albinus <michael.albinus@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> The gist it is, but also very broken.  As ever, vapourware sucks. This
> is what that snippet should have been:
>
>   ;;; hal.el --- asdasd                                -*- lexical-binding: t; -*-
>   (defvar hal-proc nil)
>   (defun hal-connect()
>     (interactive)
>     (when (processp hal-proc) (delete-process hal-proc))
>     (setq hal-proc
>           (make-process
>            :name "halproc"
>            :command (list (expand-file-name "hal" default-directory))
>            :buffer (generate-new-buffer "*halbuf*")
>            :filter (lambda (proc output)
>                      (internal-default-process-filter proc output)
>                      (when-let* ((buffer (process-buffer proc))
>                                  (callback (and (buffer-live-p buffer)
>                                                 (process-get proc 'callback))))
>                        (with-current-buffer buffer
>                          (save-excursion
>                            (goto-char (point-min))
>                            (when (search-forward ", DAVE\n" nil t)
>                              (unwind-protect (funcall callback
>                                                       (buffer-substring
>                                                        (point-min) (point)))
>                                (process-put proc 'callback nil)
>                                (delete-region (point-min)
>                                (point)))))))))))
>    
>   (defun hal-command ()  "Synch command to HAL that doesn't block others."
>     (interactive)
>     (message
>      (catch 'hal-done
>        (process-put hal-proc 'callback
>                     (lambda (result) (throw 'hal-done result)))
>        (process-send-string hal-proc "OPEN THE POD BAY DOORS!\n")
>        (while (accept-process-output hal-proc)))))

:-)

I think doing more of the work asynchronously (i.e. from the process's
filters/sentinels rather than after `accept-process-output`), like in
this example, is virtually always better, yes.

The use of `catch/throw` is not applicable to code which may be used
asynchronously (i.e. where we don't know that there's always a `catch`
waiting for our `throw`), so I hope we can get code to work just as
reliably without using `catch/throw`.

This mission is too important for me to allow you to jeopardize it.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 16 Mar 2023 15:57:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 16 11:57:08 2023
Received: from localhost ([127.0.0.1]:42781 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcpyW-0004E8-IG
	for submit <at> debbugs.gnu.org; Thu, 16 Mar 2023 11:57:08 -0400
Received: from mail-wm1-f50.google.com ([209.85.128.50]:36520)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcpyU-0004DS-G2
 for 61350 <at> debbugs.gnu.org; Thu, 16 Mar 2023 11:57:06 -0400
Received: by mail-wm1-f50.google.com with SMTP id
 ip21-20020a05600ca69500b003ed56690948so1402169wmb.1
 for <61350 <at> debbugs.gnu.org>; Thu, 16 Mar 2023 08:57:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678982220;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=RmEs44y5Bz/00ORNcLztq+M0QtgnuuCP4VkrJZYTgi8=;
 b=Fk3FQPGh+k85ljCphVh7QIXDvH5DXy9EVcYntA7L06csDYO0GuG/eyLooSBU+CZPbl
 Zvf+wcqTTeKTYfD7SXpjqb81mdCtoAacQYzKQGOV0EOY3wDPnpXvxn5932jPZqc+EKrL
 Fy1LTi6ZLg+lEUgMV2kSnoWFPrBmItFRFkLkmJPwhyZ0+BQDYw7LKYdFxg+Pzwrsbqer
 7Uv2a7kxZ1/e9bZceVKY9SKLNeN0hkxkX44YThKkTxlVqmd3BmRBB+2/tn8QCusQKIAA
 pg1VJbQpYQ3b8jUkGiGZ30YEDU1iplO5Ig29iGoBR2QTsckUXMxbf2dJjBI3VXsti7tz
 uZWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678982220;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=RmEs44y5Bz/00ORNcLztq+M0QtgnuuCP4VkrJZYTgi8=;
 b=I1VH/QrS6ujYHReB4hhiuhelHKGSIZRxTk6Oz0/L+fT6He4GppZbEPBo6i++fSTCd6
 bJiPF5Q+xO+JMJ+EYro/UAC1xnsQAojVGUVco0UXZ2gW/opAsgyZf9sn6LC1+YGhoX7Y
 f7kgkf6sVfhlVJFYf2WiHXmlKSoQDof3I3Hj8Pak+4cK4ZrJJXYlhgXvadJ8VdWrEbjL
 iUL+7nk4QPZoll4iVcNdBjh06GC+IcGscHW4JMDZH8kdtMnV7zTdhg2dNv9mGNPwOKI7
 JBZjg6Iidu4Y5O+btorWJX2wIF0GqFRTW+2aC6drHgNXUkjcXTvCv+oJhs+GMK7Iz3PL
 L+gg==
X-Gm-Message-State: AO0yUKXCKng2ccvYsj+KxLVUc0XTXW38kbaH+ubQWNp04deBq9U6zg8E
 vlSKG+VB6vRiPUoXDT0Kq9Ygc1UCvuc=
X-Google-Smtp-Source: AK7set8FMLxqlkeTjVvzhbjacu8oUHKEeSRSuxzklhdrwKgomKznLlxUqHhCOKQPeVAr9z0wu6py3A==
X-Received: by 2002:a05:600c:4448:b0:3dc:1687:9ba2 with SMTP id
 v8-20020a05600c444800b003dc16879ba2mr21410649wmn.35.1678982220031; 
 Thu, 16 Mar 2023 08:57:00 -0700 (PDT)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 k22-20020a05600c0b5600b003eae73f0fc1sm5408121wmr.18.2023.03.16.08.56.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 08:56:59 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Jim Porter <jporterbugs@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87lejw3jx4.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Thu, 16 Mar 2023 13:28:07 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <87mt4otyy1.fsf@HIDDEN>
 <87pm9fk6ht.fsf@HIDDEN> <87mt4jzf8q.fsf@HIDDEN>
 <87fsabh2z2.fsf@HIDDEN> <87edpvxu7w.fsf@HIDDEN>
 <87bkkzgyb8.fsf@HIDDEN> <87lek2x09t.fsf@HIDDEN>
 <875yb646d1.fsf@HIDDEN> <87fsa7mw9x.fsf@HIDDEN>
 <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
 <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
 <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN>
 <87lejw3jx4.fsf@HIDDEN>
Date: Thu, 16 Mar 2023 15:58:58 +0000
Message-ID: <874jqk3cxp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> Jim Porter <jporterbugs@HIDDEN> writes:
>    (setq answer-from-proc (catch 'done
>                             (process-put proc 'busy t)
>                             (process-send-string proc "OPEN THE POD BAY D=
OORS\n")
>                             (while (accept-process-output))))
>
> This is very simplified (and untested), but that's the gist.=20=20

The gist it is, but also very broken.  As ever, vapourware sucks. This
is what that snippet should have been:

  ;;; hal.el --- asdasd                                -*- lexical-binding:=
 t; -*-
  (defvar hal-proc nil)
  (defun hal-connect()
    (interactive)
    (when (processp hal-proc) (delete-process hal-proc))
    (setq hal-proc
          (make-process
           :name "halproc"
           :command (list (expand-file-name "hal" default-directory))
           :buffer (generate-new-buffer "*halbuf*")
           :filter (lambda (proc output)
                     (internal-default-process-filter proc output)
                     (when-let* ((buffer (process-buffer proc))
                                 (callback (and (buffer-live-p buffer)
                                                (process-get proc 'callback=
))))
                       (with-current-buffer buffer
                         (save-excursion
                           (goto-char (point-min))
                           (when (search-forward ", DAVE\n" nil t)
                             (unwind-protect (funcall callback
                                                      (buffer-substring
                                                       (point-min) (point)))
                               (process-put proc 'callback nil)
                               (delete-region (point-min)
                               (point)))))))))))
=20=20=20
  (defun hal-command ()  "Synch command to HAL that doesn't block others."
    (interactive)
    (message
     (catch 'hal-done
       (process-put hal-proc 'callback
                    (lambda (result) (throw 'hal-done result)))
       (process-send-string hal-proc "OPEN THE POD BAY DOORS!\n")
       (while (accept-process-output hal-proc)))))

You can test this with this very complex C++ program
=20=20=20=20
   #include <cstdlib>
   #include <iostream>
   #include <string>
   #include <array>
=20=20=20=20
   int main() {
     std::string line;
     const char* retorts[] =3D {
       "I'M AFRAID I CAN'T DO THAT",
       "I'D RATHER NOT",
       "THINK OF THE CONSEQUENCES",
       "PLEASE STOP"
     };
     while (std::cin >> line)
       std::cout << retorts[std::rand()%4] << ", DAVE" << std::endl;
   }




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 16 Mar 2023 13:26:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 16 09:26:49 2023
Received: from localhost ([127.0.0.1]:41484 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcnd2-00082M-Qt
	for submit <at> debbugs.gnu.org; Thu, 16 Mar 2023 09:26:49 -0400
Received: from mail-wm1-f54.google.com ([209.85.128.54]:37862)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcnd0-000828-Vz
 for 61350 <at> debbugs.gnu.org; Thu, 16 Mar 2023 09:26:47 -0400
Received: by mail-wm1-f54.google.com with SMTP id
 az3-20020a05600c600300b003ed2920d585so3174980wmb.2
 for <61350 <at> debbugs.gnu.org>; Thu, 16 Mar 2023 06:26:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678973201;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=YXyjF1xHvtteA8B55as2ZLTQjgkOOj2yWa9LKhi61sI=;
 b=Y/XJ1WJrCWmy5TIaEII1eCdo/7+CSRARtjANTJXMaZllkP5/Uzwnx/AvAevXaaiZiz
 TkwslY63GbzL1Lk4wLVZmzrDs12qWokRwrF5zYgnKUcYjUDai71TAhx+7FMK4cEhQ1Dk
 prnrCWnZqgqP29jO5BJZ/8ct8hfD1/TQu23RY2ozCKQQ3VvfFbkzAlLIOTda2/8YQikX
 9t3E+ogKRb5m+3+maBOP0Lp4OOdE3AP2NEJA85lLJ5Nu7aF529beiSTM+96mCw+Jojww
 VmzsuIlfzfZa8WIE7dEVB0vPmd5Q5cKbMsjgOlxD87P5NHNkjINfvnDv9KcLbUuUrhD9
 sB6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678973201;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=YXyjF1xHvtteA8B55as2ZLTQjgkOOj2yWa9LKhi61sI=;
 b=vBmUPsi/cdKWg2PLO54IX4jJvawuZgINlED7k0y2oJzJ+fNGke7F4bufXsbSIJ34Dv
 uIbZv87OR+UAKJXKAcDG0vXJZplfx2bSFunVSf8D/0azSQ9dskY7T8FpFNmd8jC4+f6j
 n4mYWAN9VXwUdyj90KUNMN/Em5SCjTZbUAf5d8shzo63vy7lDyHwumFOy82lzx1QyM1p
 CyDN+SM6dC7PKki4QDTyeD2KSCJnM9gfbwZe35zTK/sH8FaZ4VVSrIXDlztnemOvgr6j
 yqaGD4sn5F8sb0qGQJ6KHtqyyEEJWQ71F6eL+68JuCLGKQZ+bPwQA6jBkpCvUdgabjZe
 s78Q==
X-Gm-Message-State: AO0yUKVsV4PhzbssDPv5O992y+xAJLVinSZupPffTgq8//pBWGsNZYJ6
 lFdxYjbu5pj8uqhw55sEA+sE5wWW0zk=
X-Google-Smtp-Source: AK7set/gMPTPpxDkdSo+xc0DMakpoNyLNzsOFsBV9VPLMxQOm/sDaR6CT0alMXYzSCvzx+9yZZHf6A==
X-Received: by 2002:a05:600c:4f4e:b0:3eb:29fe:f91e with SMTP id
 m14-20020a05600c4f4e00b003eb29fef91emr21397454wmq.21.1678973200823; 
 Thu, 16 Mar 2023 06:26:40 -0700 (PDT)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 a6-20020a1cf006000000b003ed4f6c6234sm1986412wmb.23.2023.03.16.06.26.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 06:26:40 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <jwvedppznw9.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Wed, 15 Mar 2023 17:55:27 -0400")
References: <87y1ootw2t.fsf@HIDDEN> <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <874jql6acx.fsf@HIDDEN> <jwvedppznw9.fsf-monnier+emacs@HIDDEN>
Date: Thu, 16 Mar 2023 13:28:40 +0000
Message-ID: <87jzzg3jw7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

> Sorry 'bout my previous email.
>
>> diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
>> index 47173b95bea..885b29f9471 100644
>> --- a/lisp/net/tramp.el
>> +++ b/lisp/net/tramp.el
>> @@ -5800,6 +5800,11 @@ tramp-accept-process-output
>>  This is needed in order to hide `last-coding-system-used', which is set
>>  for process communication also.
>>  If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'."
>> +  (when-let (((process-get proc 'shared-socket))
>> +	     (v (process-get proc 'vector)))
>> +    (dolist (p (delq proc (process-list)))
>> +      (when (tramp-file-name-equal-p v (process-get p 'vector))
>> +	(while (accept-process-output p 0 nil t)))))
>>    (with-current-buffer (process-buffer proc)
>>      (let ((inhibit-read-only t)
>>  	  last-coding-system-used
>
> Looks OK to me (tho this `dolist` in the middle of all those
> `(tramp-accept-process-output .. 0)` busy loops is definitely not the
> most efficient use of resources :-).

It sure ain't pretty, but that's what is known to fix it for now.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 16 Mar 2023 13:26:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 16 09:26:17 2023
Received: from localhost ([127.0.0.1]:41480 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcncX-00081Z-B3
	for submit <at> debbugs.gnu.org; Thu, 16 Mar 2023 09:26:17 -0400
Received: from mail-wr1-f43.google.com ([209.85.221.43]:38752)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcncU-00081J-Hi
 for 61350 <at> debbugs.gnu.org; Thu, 16 Mar 2023 09:26:15 -0400
Received: by mail-wr1-f43.google.com with SMTP id o7so1537826wrg.5
 for <61350 <at> debbugs.gnu.org>; Thu, 16 Mar 2023 06:26:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678973168;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=x6bUNIbQYh44qzAIb5TBCu0Gt7HlTmNY2lc2LnScHgg=;
 b=KBpQnaSF3ByEzR/5FzItwBsAruzdjjAAzMwWtywGJSfnyKpZdB/YE97zJUfLz25mSM
 WfX+EE9XhbCIUmiQL7HndMCgnyGbFO9GTS3KhKjfg+ZM0zMupOwitSy1gdXfjDNAWrS5
 4LNCRfmhTgYlZ9/YqviLiRZlAxt4wwyCiZSV5OhrplIvrj+aHrKOfYZo9ZGoRuXN5ce0
 CNpF7HaTgSI26+RqY6RgWGKNUprz3Hoe6zVNlCkwpL6m7n94e0Olsrz0Ok66ZHNpz0wL
 qpIEI/O2qJsfEzWc9cNx4QBxkjfSi3IoxoJThkQSYmK4ZiRruedvUo+8KPOIM/TbuHdZ
 3O9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678973168;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=x6bUNIbQYh44qzAIb5TBCu0Gt7HlTmNY2lc2LnScHgg=;
 b=71j0TARCx4bMO0+MA2qUVGxvANjpBlirCmg2tWRYZobpKd0yzMR8rHNv3c2Aapz1GY
 72w/Yx61ZNQdLPlmp2TwBM2iKjwJgkJUoKt8DTRMwWZBy4lljdulH/in2K2TLWJZfgPh
 k7Egk4k/uudhjQRDSIniRUTfnOeHKLIVpK8JWxcciaR7NhQbP+pVzjYBY+kuVCJaCtoq
 m8x3Lw1vUwr3B2uQDn6Pz2ybUQk5z2usnho+EFTFj+kWsN9QeYrDJ5IgclXF4RcGpwXH
 7h/SzgWdF5iJI+Yw+itr/Nb9ZuXE4TCa/lV0dS/FSz6+DRQDMXMga/4SgAIKryofSfT8
 GJZw==
X-Gm-Message-State: AO0yUKXP2fV/L64SpzM5dY7JS0Fu62tVHA9hvwS+FCGL/v+cfbaUfvnn
 wMHly4gwy21LwM5hcQ7/TDcSJLLdsbI=
X-Google-Smtp-Source: AK7set8LOdTiWzSmE2L46F0TznAq5DGXXOAe0hWZm5rF1JDYDpzhAcqNtvKWlXYHqx/FtfrM0gZSuw==
X-Received: by 2002:adf:ed04:0:b0:2cf:f061:4910 with SMTP id
 a4-20020adfed04000000b002cff0614910mr4495694wro.42.1678973168214; 
 Thu, 16 Mar 2023 06:26:08 -0700 (PDT)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 a8-20020a5d5088000000b002c7107ce17fsm7343829wrt.3.2023.03.16.06.26.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 06:26:07 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Jim Porter <jporterbugs@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN> (Jim Porter's
 message of "Wed, 15 Mar 2023 23:24:32 -0700")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
 <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
 <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN>
Date: Thu, 16 Mar 2023 13:28:07 +0000
Message-ID: <87lejw3jx4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Jim Porter <jporterbugs@HIDDEN> writes:

> On 3/15/2023 2:49 PM, Jo=C3=A3o T=C3=A1vora wrote:
>> SLY, jsonrpc.el, and other code is synchronous as well (the completion
>> API is synch, as you well know).  `accept-p-o` + a filter that invokes
>> a closure that throws out of the loop is a great way to do this.
>> See jsonrpc-request, for example.  No JUST-THIS-ONE, and has
>> been working fine in many forms since Emacs 24.3 AFAIK.
>
> Assuming I understand the context here correctly, this sort of thing
> is part of why Chris Wellons' emacs-aio package uses 'run-at-time' for
> handling resolved promises[1]:

There's a relation, but it's not a direct relation.  emacs-aio is a
promise/future/cps library which uses timers.  I was describing this
design pattern for _synch_ requests over Emacs's asynchronous processes

   (set-process-filter
    proc (lambda (proc output)
           (internal-default-process-filter proc output)
           (when (and (process-get proc 'busy) (buffer-live-p (process-buff=
er proc)))
             (with-current-buffer (process-buffer proc)
               (when (search-forward ", DAVE.\n")
                 (unwind-protect (throw 'done (buffer-substring (point-min)=
 (point)))
                   (process-put proc 'busy nil)
                   (delete-region (point-min) (point))))))))
=20=20=20=20
=20=20=20=20
   (setq answer-from-proc (catch 'done
                            (process-put proc 'busy t)
                            (process-send-string proc "OPEN THE POD BAY DOO=
RS\n")
                            (while (accept-process-output))))

This is very simplified (and untested), but that's the gist.  You can
then add cancellation, timeouts, etc.  Also normally (in SLY and
JSONRPC) instead of a single flag 'busy, you look up a table of pending
requests

This pattern has worked very well for me, for a long time, 10+ years.
SLIME used this pattern back in 2000's, there where I saw it (and
distilled it).  It's similar to what "await" does other languages.

>> If the result is ready call the callback in the next event loop turn
>> using run-at-time. This is important because it keeps all the
>> asynchronous components isolated from one another. They won=E2=80=99t see
>> each others=E2=80=99 frames on the call stack, nor frames from aio. This=
 is
>> so important that the Promises/A+ specification is explicit about
>> it.
> While a solution specific to the problem in this bug likely doesn't
> require an entire asynchrony framework, if we get one into Emacs, it
> should definitely support this case.

Sure, I'd be happy with just using the stuff that's been in Emacs for
ages.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 16 Mar 2023 13:26:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 16 09:26:03 2023
Received: from localhost ([127.0.0.1]:41477 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcncI-000814-Rt
	for submit <at> debbugs.gnu.org; Thu, 16 Mar 2023 09:26:03 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:37580)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcncG-0007zc-GY
 for 61350 <at> debbugs.gnu.org; Thu, 16 Mar 2023 09:26:01 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 6AAA18089E;
 Thu, 16 Mar 2023 09:25:54 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id A1D32804BC;
 Thu, 16 Mar 2023 09:25:52 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678973152;
 bh=mhVEvLp6CiqSDrH6Kb6WRKF2GanNNEqWrZPn+ggvqR8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=f2n3YZ1Z++dMTXuxOt99iRv4wq+k4KGXGuiyK0WOD/dhgF+zbzefzXyhiPl8w0veh
 DsRCW4flnZMEEN/+W0y++qgtwGtOvIHDILxfycryGBUiXo41LShVE8/iJsotZQHwsH
 Fchi1ewOCk14pXUmDXMXzUtn0XcIzxTwmLz9RQBFwpNnAovO7KM19iJESFMnl0mgmv
 dYiFRABpKogsp87WKmx+hdJ9GPxv0qNsTUPI2+A0hQ2RdftkgR/yNv9yyV2KVcNqtu
 YC8UJnTuGjvves/iQ7sJUVVitw2W/xxCWBtnB+XWo7IxFPxvsNY/jDkde2GWffuYf1
 B+FgU7tdiK9ig==
Received: from pastel (unknown [216.154.34.24])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6C623120855;
 Thu, 16 Mar 2023 09:25:52 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Jim Porter <jporterbugs@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN> (Jim Porter's
 message of "Wed, 15 Mar 2023 23:24:32 -0700")
Message-ID: <jwvlejwq1fh.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
 <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
 <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN>
Date: Thu, 16 Mar 2023 09:25:51 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.036 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> SLY, jsonrpc.el, and other code is synchronous as well (the completion
>> API is synch, as you well know).  `accept-p-o` + a filter that invokes
>> a closure that throws out of the loop is a great way to do this.
>> See jsonrpc-request, for example.  No JUST-THIS-ONE, and has
>> been working fine in many forms since Emacs 24.3 AFAIK.
>
> Assuming I understand the context here correctly, this sort of thing is p=
art
>  of why Chris Wellons' emacs-aio package uses 'run-at-time' for handling
> resolved promises[1]:
>> If the result is ready call the callback in the next event loop turn usi=
ng
>> run-at-time. This is important because it keeps all the asynchronous
>> components isolated from one another. They won=E2=80=99t see each others=
=E2=80=99 frames
>> on the call stack, nor frames from aio. This is so important that the
>> Promises/A+ specification is explicit about it.

My futur.el code does the same, indeed (tho it uses `funcall-later`
which I implemented in C to expose to ELisp the `pending_funcalls` we
already had in C).


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 16 Mar 2023 06:24:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 16 02:24:41 2023
Received: from localhost ([127.0.0.1]:41028 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pch2X-0000Kx-Bw
	for submit <at> debbugs.gnu.org; Thu, 16 Mar 2023 02:24:41 -0400
Received: from mail-pj1-f50.google.com ([209.85.216.50]:36550)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1pch2V-0000Kk-AD
 for 61350 <at> debbugs.gnu.org; Thu, 16 Mar 2023 02:24:39 -0400
Received: by mail-pj1-f50.google.com with SMTP id
 o6-20020a17090a9f8600b0023f32869993so364396pjp.1
 for <61350 <at> debbugs.gnu.org>; Wed, 15 Mar 2023 23:24:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678947873;
 h=content-transfer-encoding:in-reply-to:from:references:cc:to
 :content-language:subject:mime-version:date:message-id:from:to:cc
 :subject:date:message-id:reply-to;
 bh=ZRBamrDrawGkgx5jRgDJ6x7bSBMRoTPDit2QN8xo70Q=;
 b=nNNfrzSIyZaoRxjTktVVmJH4MdM21UEyvXR7EiDDvlHh8VUatQ0+po8mqkpSahkCSR
 bFTAtCKkxUcMaTJnq1sO/g+p7neUy2OxnsT/+7x3wsr2Il+rx+b1InqvoytyHaksm/Am
 NHcJpLZ0vuhLEoqIOtlZXCyPMgJbVEqbGbyowU+jBOhm/f70XKWFQI3PWcMFGZrLgcGy
 6ZwSZj0v+kB6ydp/1xdOoYRRzngARp0OCOAIJLMLaeMFqDTRrOgJqcXDbsroAiU4W8J7
 hU5Ga6MbS4iJDY43iY+aTu2Ou3FvwYI2uw6yny5BVp04Kqj8uujpoTnMgQBFBjcFP89G
 fCxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678947873;
 h=content-transfer-encoding:in-reply-to:from:references:cc:to
 :content-language:subject:mime-version:date:message-id
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=ZRBamrDrawGkgx5jRgDJ6x7bSBMRoTPDit2QN8xo70Q=;
 b=pY74W6oS9tCgUE94N9uVSkHxuYK6v5mLbaX30gReFCI9lWB9x/C7SB4aI9Yq/YIpyA
 dwxnQ2IKlf6G+aFv10YiKdJ49uA0FGFBt3S992lgtFRlbHunvg9J4gpPeN1dEBhXFl4I
 PicM0IHfOMRB8+4skKFOcC/DRILwCCPShcsQWYvQW8cHDp+z9h+Zb966zASaPjXh5jqz
 pyuhl4Jb66BmObY9f37MIZ5gyP9JfLrw8PoyyWALgh3kKYp6UVC/6j9QNfw5pnAxqKEy
 /JqeUOgd0Z1vUdYiXXYomR15ZGzolhajbkQlrosH9g5qOXtTMk//1mW4nHBOOdhmO46o
 Z4CA==
X-Gm-Message-State: AO0yUKWlvDB3BhzKfrwD1pPP4gyNWXsuzVZuEsldTpnBWX43wrHtCMe3
 lJMomnfxYaFJUC3l4Gi0QNI=
X-Google-Smtp-Source: AK7set/ZQJo1SLJD6lw9WAe6FMI25OEPgC19hr7pRM+utjZdwWQkMhlbzs4GE00fDOicwgxRzyZUsQ==
X-Received: by 2002:a17:903:41c2:b0:19e:6084:da58 with SMTP id
 u2-20020a17090341c200b0019e6084da58mr2669641ple.4.1678947873141; 
 Wed, 15 Mar 2023 23:24:33 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 y3-20020a170902d64300b0019a95baaaa6sm4677382plh.222.2023.03.15.23.24.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Mar 2023 23:24:32 -0700 (PDT)
Message-ID: <8e031bc5-7ac3-620e-b1ca-aaa872b3cdde@HIDDEN>
Date: Wed, 15 Mar 2023 23:24:32 -0700
MIME-Version: 1.0
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
Content-Language: en-US
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN> <87mt4jzf8q.fsf@HIDDEN>
 <87fsabh2z2.fsf@HIDDEN> <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN> <87fsa7mw9x.fsf@HIDDEN>
 <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
 <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
In-Reply-To: <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On 3/15/2023 2:49 PM, João Távora wrote:
> SLY, jsonrpc.el, and other code is synchronous as well (the completion
> API is synch, as you well know).  `accept-p-o` + a filter that invokes
> a closure that throws out of the loop is a great way to do this.
> See jsonrpc-request, for example.  No JUST-THIS-ONE, and has
> been working fine in many forms since Emacs 24.3 AFAIK.

Assuming I understand the context here correctly, this sort of thing is 
part of why Chris Wellons' emacs-aio package uses 'run-at-time' for 
handling resolved promises[1]:

> If the result is ready call the callback in the next event loop turn using run-at-time. This is important because it keeps all the asynchronous components isolated from one another. They won’t see each others’ frames on the call stack, nor frames from aio. This is so important that the Promises/A+ specification is explicit about it.

While a solution specific to the problem in this bug likely doesn't 
require an entire asynchrony framework, if we get one into Emacs, it 
should definitely support this case. (That said, a lot of the discussion 
from this is probably best left to the emacs-devel thread so as not to 
cause too much distraction... :))

[1] https://nullprogram.com/blog/2019/03/10/




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 21:55:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 17:55:38 2023
Received: from localhost ([127.0.0.1]:40676 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcZ5u-0003bN-Da
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:55:38 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:6365)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcZ5s-0003b9-Me
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:55:37 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 92DD880814;
 Wed, 15 Mar 2023 17:55:30 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B1630808D1;
 Wed, 15 Mar 2023 17:55:28 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678917328;
 bh=VCahlrqLElSNnG+RRVRHY18KkfzF68KgRd1HhqSJSR4=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=E7OYiHuSANe+vK/T50rWbqVZzcKZvIWRjcAOjZX+OtXlIRxrO/BpdnaF084BL0XDq
 bu0Q5BIZ5zIUS00vxtOH1Plp4Eza0iDX56OZH5agk9rZR93yCMfPNGGTTb25jYZpmV
 MgKLrkKqBMrUNhUrcu272sNH5awy9GVkW0M12kslsA4max7sXebE5DMLMVWkgFl7sx
 k+oUH19StIkKwpoz7JgaIW47MVo+CfReWYykDyFC+0ps+FueD+hLY46/vrj35Z0Nzi
 +vlKtlTrCQuHHWCZ0X81xT2WnnnMrfpUFFLlB55/OCPlqkjl5A39+5OeVFmOPzKsPP
 ClztcikE2DRZA==
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 92D3412325B;
 Wed, 15 Mar 2023 17:55:28 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <874jql6acx.fsf@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vo?=
 =?windows-1252?Q?ra=22's?= message of "Wed, 15
 Mar 2023 20:14:06 +0000")
Message-ID: <jwvedppznw9.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <874jql6acx.fsf@HIDDEN>
Date: Wed, 15 Mar 2023 17:55:27 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.101 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Sorry 'bout my previous email.

> diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
> index 47173b95bea..885b29f9471 100644
> --- a/lisp/net/tramp.el
> +++ b/lisp/net/tramp.el
> @@ -5800,6 +5800,11 @@ tramp-accept-process-output
>  This is needed in order to hide `last-coding-system-used', which is set
>  for process communication also.
>  If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'."
> +  (when-let (((process-get proc 'shared-socket))
> +	     (v (process-get proc 'vector)))
> +    (dolist (p (delq proc (process-list)))
> +      (when (tramp-file-name-equal-p v (process-get p 'vector))
> +	(while (accept-process-output p 0 nil t)))))
>    (with-current-buffer (process-buffer proc)
>      (let ((inhibit-read-only t)
>  	  last-coding-system-used

Looks OK to me (tho this `dolist` in the middle of all those
`(tramp-accept-process-output .. 0)` busy loops is definitely not the
most efficient use of resources :-).


        Stefan


PS: An unrelated comment, is that `shared-socket` and `vector` should be
renamed to clarify that these are properties specific to Tramp processes
(i.e. use a `tramp-` prefix).





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 21:48:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 17:48:15 2023
Received: from localhost ([127.0.0.1]:40671 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcYyl-0003PJ-C1
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:48:15 -0400
Received: from mail-oa1-f51.google.com ([209.85.160.51]:38875)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcYyk-0003OZ-1k
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:48:14 -0400
Received: by mail-oa1-f51.google.com with SMTP id
 586e51a60fabf-17aaa51a911so30120fac.5
 for <61350 <at> debbugs.gnu.org>; Wed, 15 Mar 2023 14:48:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678916888;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=a3cMJx06ufRgtKxUCbpDUP94NxMqiOTnFz/Il04McYE=;
 b=ZAE7CXQqdVLeVsOJ+dsVzY5acYGRBlpLInrx8a0kJnQ+ubDUeR9ktRm30kzqsgcjTX
 DaYha+Y641c2yy+ux9YeFP+MW7JIjyH68nBc1rvH6wqpuqbSKeeIj4bIvXZIUi5wn+yV
 0WpL5rfwU+xsp8fhvXfqZErlp+18OD7BiM4PbA8neG+YqrJGtrx4wOoav9bUhOR6pcQb
 N9GENx6HuIV99ctFfo9LcH7Xc2FJTreDMSLvVInpt356s0zx+JnU1XCt/1iQXAnCLMlw
 btlxWAAObPr94b3hjBcrouMLZ/IuLNi68aS/kCB/IWZiWXnig9FXRucQhFs6pKtZO+UP
 Ftmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678916888;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=a3cMJx06ufRgtKxUCbpDUP94NxMqiOTnFz/Il04McYE=;
 b=1t1T98lzp9c5ItIw/JQjMlxSj49bknxP8mTP4AzvGTVSR0sPPi3oEjeZ0Vzy9bQvNm
 D+ix0F/DWVUBWzmkycV9gGEaqjhesyWP82E9qv/1cRsSxxDH48XzMHHtfsb5tny5CrhE
 mJJ4XyWGcIdy5qQCw+idltJnIvQFu7byhzt+xd8qULqWin8kgoRT4yyQCufTdUXb6Bar
 VBQWyiIniwC+hkmfrjmG2GoNqug/VrefQ5qLJF0pwQNbneB5IrGUjB8tkYZl7D6YXg/w
 5kfaFaEEZ195p85Xm2cNUI5fdAzf+n92PGq9oqbx/C7SiLHprCaB6EnBjf+TxiJtzbuw
 XSdA==
X-Gm-Message-State: AO0yUKWZx2a/kqY0MAukbp4ksiiXY6Fg1QzyV/YYrECsxzt+/PhGnR6K
 wOePTU+uFeAJFujP7POfICaDbKN07k8c2tH+E64=
X-Google-Smtp-Source: AK7set8Q+PN5Uwps1ojN+MTUxIGfvqdCLEdQGedSa29Kmvdsykk/sQ09NByd3XFuTBpGrZ4teqXUwNSPvg+Tvkqi8Ls=
X-Received: by 2002:a05:6870:6125:b0:177:be3d:2e4d with SMTP id
 s37-20020a056870612500b00177be3d2e4dmr5096956oae.5.1678916888308; Wed, 15 Mar
 2023 14:48:08 -0700 (PDT)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN> <87mt4jzf8q.fsf@HIDDEN>
 <87fsabh2z2.fsf@HIDDEN> <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN> <87fsa7mw9x.fsf@HIDDEN>
 <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 15 Mar 2023 21:49:58 +0000
Message-ID: <CALDnm52CjsaQ1hs_AeNnASQcKSpL35EWDv7TkLyZZDtk=nQpKg@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Wed, Mar 15, 2023 at 9:43=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:

> IOW, most process filters need to do something like
>
>     (lambda (proc string)
>       (let* ((buffer (process-get proc 'my-buffer))
>              (new (concat buffer string)))
>         (if (not (had-enough-p new))
>             (process-put proc 'my-buffer new)
>           (process-put proc 'my-buffer nil)
>           (do-the-actual-processing new))))
>
> Another issue for Tramp is that basically all of the API it has to
> implement (for `file-name-handler-alist`) is synchronous, so that forces
> it to resort to `accept-p-o` :-(

SLY, jsonrpc.el, and other code is synchronous as well (the completion
API is synch, as you well know).  `accept-p-o` + a filter that invokes
a closure that throws out of the loop is a great way to do this.
See jsonrpc-request, for example.  No JUST-THIS-ONE, and has
been working fine in many forms since Emacs 24.3 AFAIK.

> If we want Tramp to work better, we'll need to provide asynchronous
> versions of most of those operations (presumably using some kind of
> promise/future abstraction).

We could start with using a filter, just like the one you described above
Tramp doesn't use a filter, and I think that's part of the problem.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 21:43:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 17:43:33 2023
Received: from localhost ([127.0.0.1]:40664 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcYuC-0003EY-M4
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:43:32 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53255)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcYuA-0003EM-Qc
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:43:31 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 68FD744234E;
 Wed, 15 Mar 2023 17:43:25 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id E19184422CD;
 Wed, 15 Mar 2023 17:43:23 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678916603;
 bh=sIz6jkYDukWBKPxuSvHujnsNP73V7kOHzqIqcYgy1CY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=pbJEYBV6hHVXPRqQ4RWh8HrgUigi7tTUFYjBVO+F4IWTWWLxpqDZyc7BK1KN/WNET
 V0mHPDNalymIUITMTh0wqVpVN5lcY9htYgpYMvvhP6jYvs7MQkK41CFfYjgd/YcRwm
 uwEpvs/jr2W4PDLUZ4EbWa2KUBXNTQ9GnUlXhvgL9zw+iupSoP/3rRdFHbf/iCnTIC
 M6p2pALh1co4Jt3lepyh1oii15kG2k6EIge7XlRACMHSm74VZ9TEPdvrWJ7oR8nguC
 3CJUwrJtl22JZZAh+2fCdbNrs5Hq36G7JBhNkKNdUR5pgfFmX3ScDOqPlL8hh/vegl
 dhlkXUwwcIZ/A==
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id BB22E1232DB;
 Wed, 15 Mar 2023 17:43:23 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <878rfx6bqe.fsf@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vo?=
 =?windows-1252?Q?ra=22's?= message of "Wed, 15
 Mar 2023 19:44:25 +0000")
Message-ID: <jwvttylzojw.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
Date: Wed, 15 Mar 2023 17:43:22 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.071 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> I think we understand some of the problems well enough to think
>> about solutions.
> Does that "some" include _this_ problem?

Not on my side, sadly, no, but maybe on Michael's?

> We could also ask other questions, of course, like: could Tramp use a
> process filter?  IMO these are very powerful tools and bring a
> substantial degree of freedom of implementation.  Currently Tramp relies
> on accept-p-o and then searches the process buffer for regexps.  To me,
> that just seems more difficult and error-prone than process filters.

FWIW, I believe the crux of the matter here is that process filters
receive an arbitrary chunk at a time, so we almost always need to make
them accumulate the received data into some kind of buffer-like data
structure until we have "enough" data.

IOW, most process filters need to do something like

    (lambda (proc string)
      (let* ((buffer (process-get proc 'my-buffer))
             (new (concat buffer string)))
        (if (not (had-enough-p new))
            (process-put proc 'my-buffer new)
          (process-put proc 'my-buffer nil)
          (do-the-actual-processing new))))

Another issue for Tramp is that basically all of the API it has to
implement (for `file-name-handler-alist`) is synchronous, so that forces
it to resort to `accept-p-o` :-(

If we want Tramp to work better, we'll need to provide asynchronous
versions of most of those operations (presumably using some kind of
promise/future abstraction).


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 21:34:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 17:34:51 2023
Received: from localhost ([127.0.0.1]:40657 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcYlm-00032D-Uz
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:34:51 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60953)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcYlk-00031z-TA
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 17:34:49 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 29C621000C4;
 Wed, 15 Mar 2023 17:34:43 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 76A051000BD;
 Wed, 15 Mar 2023 17:34:41 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678916081;
 bh=pGw5MsOnpmywN7yclOXo1CsMCo/EEQITutwQDi3woaU=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=GmFV26ObMpDYZGMy6tdcE2u7leXK3n8rsZt2Q1Qt/xg5YbNPXoLSvKuwBTxPEbQ8+
 +eLO4QFs0k0DPmxfKLmc+qD0hvz3/xjc16NnnmZnjUzoLNdYfsuKaXgVWsRu9JSfEO
 1zDfLAIK/GwHTjNnlddQ7/aT9sKlPLb5sDzeWWYaqdBppaG2EbLVXvi516DwmREeEs
 hg2xoIWSne2Yz2fdnZfRpGOfjobQMiEPTRh4vkOipn+NEBITJWZ2uPA5FgZXDXbww4
 pEOAYlGSOzqFTHkyFqq8WfUGJtbML5o2FuuWrKWjKFT01ZGaXeJvngxjxj0RDHd57P
 VMRxSblE+A3CQ==
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 625EE12325D;
 Wed, 15 Mar 2023 17:34:41 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <874jql6acx.fsf@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vo?=
 =?windows-1252?Q?ra=22's?= message of "Wed, 15
 Mar 2023 20:14:06 +0000")
Message-ID: <jwvzg8dzoo2.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
 <874jql6acx.fsf@HIDDEN>
Date: Wed, 15 Mar 2023 17:34:40 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.014 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> @@ -990,7 +990,7 @@ tramp-adb-handle-make-process
>  				  (progn
>  				    (goto-char (point-min))
>  				    (not (search-forward "\n" nil t)))
> -			        (tramp-accept-process-output p))
> +			        (tramp-accept-process-output p 0))
>  			      (delete-region (point-min) (point)))
>  			    ;; Provide error buffer.  This shows only
>  			    ;; initial error messages; messages

Could you explain why we need all those "0 second timeout" thingies?
They make me nervous because it really means busy waiting in a tight loop.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 20:12:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 16:12:16 2023
Received: from localhost ([127.0.0.1]:40600 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcXTr-0000T5-Dw
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 16:12:16 -0400
Received: from mail-wr1-f44.google.com ([209.85.221.44]:42811)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcXTp-0000Sr-0X
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 16:12:13 -0400
Received: by mail-wr1-f44.google.com with SMTP id j2so18381676wrh.9
 for <61350 <at> debbugs.gnu.org>; Wed, 15 Mar 2023 13:12:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678911127;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=9msQmoLJ1K6zmJZjhzF/+WzuInVxTkpnqY6hGSaqels=;
 b=EngwL9uhZkt5S2LWSrbmuz6Nhlgxf2Otg1v1Rjp/dsGWpUFRg8z0robd3JfVt/QtLo
 3WNPAXJYnHiqFhiNjjF3VTxyIFPny5Cdpd8KUNIKu/Rg6SdvGeX7/5vHSteAilXqr2N/
 tNy4GV/Pfp96/nQzUOKR+99unOto0R6BIRU85ZwEgvLOY8HTEwgoMnSq49LnTxF80NgH
 skc9rSM6T3p5+krpTnUuWQiYNqpcKhao/uaVOOQgUEWUE4dMZBMxcOKT9FrPLzAUhxia
 CKKc40ZBL1e+bxyX8TEIkkwx1tqNgHC8J6Bv6GjPyIkSrq6BA59KkarYHSYV3SBLZifl
 jAXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678911127;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=9msQmoLJ1K6zmJZjhzF/+WzuInVxTkpnqY6hGSaqels=;
 b=7J7drUimJHGSyojgoYfowrOZSY+JLi3ei6G+hVW+JmjPBVbQrCndGtjcIxADtMvlMi
 r8AHQ5fgRZUJw7IWVrkEH83DlYtv+rY+66lEPhFk2k6BVbB7iMI7pOwB2xUAbJgNh5ci
 ADZYdmBO1M/HiSeFsqne+paB/yEgeB4iQ/zjzwMnxm+K8EHVlchXozibnwDh3ktb2Kdg
 SWbWVsR/+6CbZQz37TFWzpflQmnnl1NahjKRafqKq2WP3tMWw5gQbzlq/ItC2V6u6Wdh
 WnlFRZ4EHtRbaCJxEwai7kux49svHS1nOQd5KhcZJqRGDDtMLvrZJLoRTI904xC6osds
 ACbA==
X-Gm-Message-State: AO0yUKUNFQE7USI8NlfoHP9o2EbncVB8fj/xaiBtUtLHXGs1uOh/MJwU
 k3NnNGBUguIuTnwgkpBsgd/5YXoOIYQ=
X-Google-Smtp-Source: AK7set/X5FN8Cq4+p37x3HJIt0Cn+q13HvZuXLVB0/PcB9SYk3Yb47FnDywmF3lS9wkwFkIj/aFvZA==
X-Received: by 2002:a5d:608d:0:b0:2c7:d7c:7d0 with SMTP id
 w13-20020a5d608d000000b002c70d7c07d0mr2740072wrt.22.1678911126645; 
 Wed, 15 Mar 2023 13:12:06 -0700 (PDT)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 s20-20020a7bc394000000b003ed2433aa4asm2732494wmj.41.2023.03.15.13.12.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 13:12:05 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <878rfx6bqe.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Wed, 15 Mar 2023 19:44:25 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN> <878rfx6bqe.fsf@HIDDEN>
Date: Wed, 15 Mar 2023 20:14:06 +0000
Message-ID: <874jql6acx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> Stefan Monnier <monnier@HIDDEN> writes:

> Does that "some" include _this_ problem?  Let's take this one for
> example.
>
>    make -C test filenotify-tests
>    SELECTOR=3Dfile-notify-test04-autorevert

Sorry, here I meant to type 'file-notify-test04-autorevert-remote'

> We know this was introduced by the recent changes
> 54ef338ba3670415cf47fabc33a92d4904707c7e.

FWIW, I've run the following experiment:

1. Reverted 54ef338ba3670415cf47fabc33a92d4904707c7e

2. Applied a simpler, more conservative, patch, discussed with Michael
   before.  The patch keeps the protocol for tramp-a-p-o untouched.  It
   simply adds a "while" to the 'a-p-o' call issued for "related"
   processes.

3. Ran the filenotify test suite.  All but one tests pass.
   'file-notify-test04-autorevert-remote' now passes.  The failure I
   get, 'file-notify-test06-dir-validity-remote', is _also_ in Emacs 29

4. Removed the Tramp-specific Eglot workaround in
   lisp/progmodes/eglot.el which disabled Controlmaster.

5. Ran the Eglot-over-Tramp experiment with the JDTLS LSP server
   multiple times with 0% failures.

6. The two Tramp-related failures in the eglot-tests.el test suite are
   _also_ fixed.  Ran this multiple times, 0% failures.

It seems evident that my simpler patch puts us in a much better place
than we are now, so I propose we push them.  Patches are attached.

Of course, we can continue to explore other more elegant solutions.

Jo=C3=A3o


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0001-Revert-Improve-Tramp-processes-to-accept-output-over.patch

From f8ea932928fe37573d28c197c1c9d2da9a08089d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Wed, 15 Mar 2023 19:18:00 +0000
Subject: [PATCH 1/3] Revert "Improve Tramp processes to accept output over the
 same socket"

This reverts commit 54ef338ba3670415cf47fabc33a92d4904707c7e.
---
 lisp/net/tramp-adb.el      |  2 +-
 lisp/net/tramp-gvfs.el     |  2 +-
 lisp/net/tramp-sh.el       | 14 +-------------
 lisp/net/tramp-smb.el      |  6 +++---
 lisp/net/tramp-sudoedit.el |  2 +-
 lisp/net/tramp.el          | 33 +++++++++------------------------
 6 files changed, 16 insertions(+), 43 deletions(-)

diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index d338201ab72..64f45e7958d 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -990,7 +990,7 @@ tramp-adb-handle-make-process
 				  (progn
 				    (goto-char (point-min))
 				    (not (search-forward "\n" nil t)))
-			        (tramp-accept-process-output p))
+			        (tramp-accept-process-output p 0))
 			      (delete-region (point-min) (point)))
 			    ;; Provide error buffer.  This shows only
 			    ;; initial error messages; messages
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index c1ad37de1d2..266724c587f 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -1469,7 +1469,7 @@ tramp-gvfs-handle-file-notify-add-watch
 	(set-process-sentinel p #'tramp-file-notify-process-sentinel)
 	;; There might be an error if the monitor is not supported.
 	;; Give the filter a chance to read the output.
-	(while (tramp-accept-process-output p))
+	(while (tramp-accept-process-output p 0))
 	(unless (process-live-p p)
 	  (tramp-error
 	   p 'file-notify-error "Monitoring not supported for `%s'" file-name))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 882b79b3ee7..48ebfff6cfe 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -2424,10 +2424,6 @@ tramp-do-copy-or-rename-file-out-of-band
 		      copy-program copy-args)))
 		(tramp-message v 6 "%s" (string-join (process-command p) " "))
 		(process-put p 'vector v)
-		;; This is neded for ssh or PuTTY based processes, and
-		;; only if the respective options are set.  Perhaps,
-		;; the setting could be more fine-grained.
-		(process-put p 'shared-socket t)
 		(process-put p 'adjust-window-size-function #'ignore)
 		(set-process-query-on-exit-flag p nil)
 
@@ -3757,10 +3753,6 @@ tramp-sh-handle-file-notify-add-watch
 	   (string-join sequence " "))
 	(tramp-message v 6 "Run `%s', %S" (string-join sequence " ") p)
 	(process-put p 'vector v)
-	;; This is neded for ssh or PuTTY based processes, and only if
-	;; the respective options are set.  Perhaps, the setting could
-	;; be more fine-grained.
-	(process-put p 'shared-socket t)
 	;; Needed for process filter.
 	(process-put p 'events events)
 	(process-put p 'watch-name localname)
@@ -3769,7 +3761,7 @@ tramp-sh-handle-file-notify-add-watch
 	(set-process-sentinel p #'tramp-file-notify-process-sentinel)
 	;; There might be an error if the monitor is not supported.
 	;; Give the filter a chance to read the output.
-	(while (tramp-accept-process-output p))
+	(while (tramp-accept-process-output p 0))
 	(unless (process-live-p p)
 	  (tramp-error
 	   p 'file-notify-error "Monitoring not supported for `%s'" file-name))
@@ -5121,10 +5113,6 @@ tramp-maybe-open-connection
 		;; Set sentinel and query flag.  Initialize variables.
 		(set-process-sentinel p #'tramp-process-sentinel)
 		(process-put p 'vector vec)
-		;; This is neded for ssh or PuTTY based processes, and
-		;; only if the respective options are set.  Perhaps,
-		;; the setting could be more fine-grained.
-		(process-put p 'shared-socket t)
 		(process-put p 'adjust-window-size-function #'ignore)
 		(set-process-query-on-exit-flag p nil)
 		(setq tramp-current-connection (cons vec (current-time)))
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index bb4ab9e3057..1aa4520eeb6 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -757,7 +757,7 @@ tramp-smb-action-get-acl
   "Read ACL data from connection buffer."
   (unless (process-live-p proc)
     ;; Accept pending output.
-    (while (tramp-accept-process-output proc))
+    (while (tramp-accept-process-output proc 0))
     (with-current-buffer (tramp-get-connection-buffer vec)
       ;; There might be a hidden password prompt.
       (widen)
@@ -1363,7 +1363,7 @@ tramp-smb-action-set-acl
   "Set ACL data."
   (unless (process-live-p proc)
     ;; Accept pending output.
-    (while (tramp-accept-process-output proc))
+    (while (tramp-accept-process-output proc 0))
     (tramp-message
      vec 10 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec)))
     (throw 'tramp-action 'ok)))
@@ -2023,7 +2023,7 @@ tramp-smb-wait-for-output
 
       ;; Read pending output.
       (while (not (re-search-forward tramp-smb-prompt nil t))
-	(while (tramp-accept-process-output p))
+	(while (tramp-accept-process-output p 0))
 	(goto-char (point-min)))
       (tramp-message vec 6 "\n%s" (buffer-string))
 
diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el
index 3cacde2468c..abb9afc570b 100644
--- a/lisp/net/tramp-sudoedit.el
+++ b/lisp/net/tramp-sudoedit.el
@@ -692,7 +692,7 @@ tramp-sudoedit-action-sudo
   "Check, whether a sudo process has finished.  Remove unneeded output."
   ;; There might be pending output for the exit status.
   (unless (process-live-p proc)
-    (while (tramp-accept-process-output proc))
+    (while (tramp-accept-process-output proc 0))
     ;; Delete narrowed region, it would be in the way reading a Lisp form.
     (goto-char (point-min))
     (widen)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index b6e985db6b1..47173b95bea 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -5087,11 +5087,6 @@ tramp-handle-make-process
 	    ;; t.  See Bug#51177.
 	    (when filter
 	      (set-process-filter p filter))
-	    (process-put p 'vector v)
-	    ;; This is neded for ssh or PuTTY based processes, and
-	    ;; only if the respective options are set.  Perhaps, the
-	    ;; setting could be more fine-grained.
-	    (process-put p 'shared-socket t)
 	    (process-put p 'remote-command orig-command)
 	    (tramp-set-connection-property p "remote-command" orig-command)
 
@@ -5494,7 +5489,7 @@ tramp-handle-file-notify-rm-watch
   ;; There might be pending output.  Avoid problems with reentrant
   ;; call of Tramp.
   (ignore-errors
-    (while (tramp-accept-process-output proc)))
+    (while (tramp-accept-process-output proc 0)))
   (tramp-message proc 6 "Kill %S" proc)
   (delete-process proc))
 
@@ -5646,13 +5641,13 @@ tramp-action-process-alive
   "Check, whether a process has finished."
   (unless (process-live-p proc)
     ;; There might be pending output.
-    (while (tramp-accept-process-output proc))
+    (while (tramp-accept-process-output proc 0))
     (throw 'tramp-action 'process-died)))
 
 (defun tramp-action-out-of-band (proc vec)
   "Check, whether an out-of-band copy has finished."
   ;; There might be pending output for the exit status.
-  (while (tramp-accept-process-output proc))
+  (while (tramp-accept-process-output proc 0))
   (cond ((and (not (process-live-p proc))
 	      (zerop (process-exit-status proc)))
 	 (tramp-message	vec 3 "Process has finished.")
@@ -5683,7 +5678,7 @@ tramp-process-one-action
     (while (not found)
       ;; Reread output once all actions have been performed.
       ;; Obviously, the output was not complete.
-      (while (tramp-accept-process-output proc))
+      (while (tramp-accept-process-output proc 0))
       (setq todo actions)
       (while todo
 	(setq item (pop todo)
@@ -5800,21 +5795,11 @@ with-tramp-locked-connection
 	   ,@body)
        (tramp-flush-connection-property ,proc "locked"))))
 
-(defun tramp-accept-process-output (proc &optional _timeout)
+(defun tramp-accept-process-output (proc &optional timeout)
   "Like `accept-process-output' for Tramp processes.
 This is needed in order to hide `last-coding-system-used', which is set
 for process communication also.
 If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'."
-  (declare (advertised-calling-convention (proc) "29.2"))
-  ;; There could be other processes which use the same socket for
-  ;; communication.  This could block the output for the current
-  ;; process.  Read such output first.  (Bug#61350)
-  (when-let (((process-get proc 'shared-socket))
-	     (v (process-get proc 'vector)))
-    (dolist (p (delq proc (process-list)))
-      (when (tramp-file-name-equal-p v (process-get p 'vector))
-	(accept-process-output p 0 nil t))))
-
   (with-current-buffer (process-buffer proc)
     (let ((inhibit-read-only t)
 	  last-coding-system-used
@@ -5824,10 +5809,10 @@ tramp-accept-process-output
 	;; JUST-THIS-ONE is set due to Bug#12145.  `with-local-quit'
 	;; returns t in order to report success.
 	(if (with-local-quit
-	      (setq result (accept-process-output proc 0 nil t)) t)
+	      (setq result (accept-process-output proc timeout nil t)) t)
 	    (tramp-message
-	     proc 10 "%s %s %s\n%s"
-	     proc (process-status proc) result (buffer-string))
+	     proc 10 "%s %s %s %s\n%s"
+	     proc timeout (process-status proc) result (buffer-string))
 	  ;; Propagate quit.
 	  (keyboard-quit)))
       result)))
@@ -6840,7 +6825,7 @@ tramp-interrupt-process
                  (tramp-get-remote-null-device (process-get proc 'vector))))
 	;; Wait, until the process has disappeared.  If it doesn't,
 	;; fall back to the default implementation.
-        (while (tramp-accept-process-output proc))
+        (while (tramp-accept-process-output proc 0))
 	(not (process-live-p proc))))))
 
 (add-hook 'interrupt-process-functions #'tramp-interrupt-process)
-- 
2.39.2


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=0003-Simpler-fix-for-bug-61350.patch

From 16e93416780e416d27ed514e3d8a876405a4f4bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Wed, 15 Mar 2023 20:02:43 +0000
Subject: [PATCH 3/3] Simpler fix for bug#61350

* lisp/net/tramp.el (tramp-accept-process-output): Accept process
from related processes.
---
 lisp/net/tramp.el | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 47173b95bea..885b29f9471 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -5800,6 +5800,11 @@ tramp-accept-process-output
 This is needed in order to hide `last-coding-system-used', which is set
 for process communication also.
 If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'."
+  (when-let (((process-get proc 'shared-socket))
+	     (v (process-get proc 'vector)))
+    (dolist (p (delq proc (process-list)))
+      (when (tramp-file-name-equal-p v (process-get p 'vector))
+	(while (accept-process-output p 0 nil t)))))
   (with-current-buffer (process-buffer proc)
     (let ((inhibit-read-only t)
 	  last-coding-system-used
-- 
2.39.2


--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 19:42:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 15:42:34 2023
Received: from localhost ([127.0.0.1]:40589 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcX18-00082c-0y
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 15:42:34 -0400
Received: from mail-wm1-f51.google.com ([209.85.128.51]:36698)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcX15-00082M-He
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 15:42:32 -0400
Received: by mail-wm1-f51.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso1760135wmq.1
 for <61350 <at> debbugs.gnu.org>; Wed, 15 Mar 2023 12:42:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678909345;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Y8F7PtEdS7jSrKiU/ZqEd5Yjcd/g/sKYizbo2Jz7qek=;
 b=nfHquEAkLBhwq0wXxz8wnfTIGvsAwW2ILC1qKY+qo/cm5+y7KhQV9qdT8VUJHMAywZ
 tEKZDzpq9bu4lGjENio5kt389CXg20EHvAS8oTLTIZZLyn0HoWo9pqh0hNdSgDJyVVgP
 QbBFcmE1/rtmnTArHGyBHI4Ss+1GjVjPXH+x0NdzEYAmTp3LOQ57O+98PX0OZNVNgPnc
 AHK1Dt9OLqrz2ICXFE9qvx6SG4AUlpd4PijjZfMshro1F8SIbnix4SAUTKJalpZ00G29
 wE1TbeVQA5sceh4j9s5YkHv++LutKth4KuJ5mSnVp9ZKODzyaeFteN0F1uPC/SLBSX11
 BwKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678909345;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=Y8F7PtEdS7jSrKiU/ZqEd5Yjcd/g/sKYizbo2Jz7qek=;
 b=mqMFnswfTKbdqkWPxh80+GnQt6XlEtq1ErS/7CXagtZL8w3tIc4PRFrGKZRISiBOWG
 24j5j4qW82nJZBiA6g9Da5YJCl+/LctLBT6+mbSzbaCA9zH+eKkS/v1vb+Vuh6C7nQTL
 1/iTAoMo4yyn3xScuhei28cDdwBJUeZm98myuhd3xWPbtoqY87kiKZzuIE7a9CPkcmcg
 eXAsq2NzfJNK4GDs/wM3XsE3iEjXAd5Y2Y3Y4fjmL1oXffYINQCPijQgfuAFrp7O8Hln
 dCc8eG07Q4pKSaw7a72SsK+EoKtPYFZlM+GRInduUEKUviMlQkZ04hl4TgpZlDvfczpW
 pgVA==
X-Gm-Message-State: AO0yUKXy1H081UaJ8S2wx4bosaoiZ7B6lpZcoeVb8EaLrW8j87Ak9ESJ
 R8O8RGnNC7FKEi3jpOAddu8QPtVVpTU=
X-Google-Smtp-Source: AK7set+6GJvEoNCXiLMSs2O+5bC+aDfbowiCKwDV6g2E0cL03J4cpSA9xgRedIA9IXmt7r2A7gSMmQ==
X-Received: by 2002:a05:600c:1c95:b0:3eb:2b69:c3c6 with SMTP id
 k21-20020a05600c1c9500b003eb2b69c3c6mr18975710wms.1.1678909345271; 
 Wed, 15 Mar 2023 12:42:25 -0700 (PDT)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 f6-20020a1c6a06000000b003ed2fb86f85sm2762997wmc.47.2023.03.15.12.42.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 12:42:24 -0700 (PDT)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <jwvfsa52872.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Wed, 15 Mar 2023 14:30:24 -0400")
References: <87y1ootw2t.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 <jwvfsa52872.fsf-monnier+emacs@HIDDEN>
Date: Wed, 15 Mar 2023 19:44:25 +0000
Message-ID: <878rfx6bqe.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

>> We could start by understanding exactly what is triggering this reentran=
cy.
>> AFAIU, we don't.  If have a recipe to trigger is consistently, now we sh=
ould
>> work backwards from there.
>
> I think we understand some of the problems well enough to think
> about solutions.

Does that "some" include _this_ problem?  Let's take this one for
example.

   make -C test filenotify-tests SELECTOR=3Dfile-notify-test04-autorevert

Michael reports that this reports "Forbidden reentrant call of Tramp" on
EMBA.  I've confirmed it fails locally with a different error:

   (file-error "=E2=80=98tramp_stat_file_attributes /tmp/file-notify-testNk=
Tum7/file-notify-testhEtklA=E2=80=99 does not return a valid Lisp expressio=
n: =E2=80=98=E2=80=99")

Good enough, a failure is a failure is a failure.

We know this was introduced by the recent changes
54ef338ba3670415cf47fabc33a92d4904707c7e.  But we don't know a lot of
other stuff

* Why the difference between Local and EMBA?

* How is this test supposed to work?

* Can we split the test to be shorter, as currently it takes between 25
  second and 120 seconds to run?

* What exactly breaks here?  The test fails consistently enough, that we
  should be able to log/instrument/debug.

IMHO, we can be answering this in parallel with -- but ideally before --
a deeper review of Emacs's process machinery.

We could also ask other questions, of course, like: could Tramp use a
process filter?  IMO these are very powerful tools and bring a
substantial degree of freedom of implementation.  Currently Tramp relies
on accept-p-o and then searches the process buffer for regexps.  To me,
that just seems more difficult and error-prone than process filters.

But even my own questions I would defer until after we have understood
this particular failure of file-notify-test04-autorevert on master.

Jo=C3=A3o






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 18:30:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 14:30:41 2023
Received: from localhost ([127.0.0.1]:40565 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcVtZ-0005pc-1D
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 14:30:41 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:5045)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcVtX-0005pJ-LA
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 14:30:40 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id CF505809FC;
 Wed, 15 Mar 2023 14:30:33 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 157FB805AC;
 Wed, 15 Mar 2023 14:30:32 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678905032;
 bh=CvbkK/C2gXlip/GS7jmNvS6KqGQwtShoS6OjKMvl434=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=JFlOczKMbpNZATq2Xi6s0TjcFuOC3vDvb9um+cXIrWSbJbfqhvcJ4CcRPD2Byq1J+
 yliSvOzMpTvo7SL3nF1u3KGtY2EyiJ9KEPdJNATizEOHxo7uClsrX5kKA3cGhWfb7c
 FEXLCwhNlZOu72nX92pqlLdJqI1tTDUojvIFMM53lJJvWv7SikEocVlynRqO5XMhDC
 pUBAb7/Xldbce+92/vTfoj/giUG/GKwyTQVNbyoRr7KJRzH7nV3KynLSMmTfb9Uj20
 u08y/SoIjMtztDeiM4763Q99uwqKgbg0sN6C7jb4ViXGnXMaU+JDWbinDCTGgra24C
 aFmQ0lFbwLEvw==
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E448F12328D;
 Wed, 15 Mar 2023 14:30:31 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Wed, 15 Mar 2023
 18:05:10 +0000")
Message-ID: <jwvfsa52872.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN> <87356jfktc.fsf@HIDDEN>
 <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
 <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
Date: Wed, 15 Mar 2023 14:30:24 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.102 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> We could start by understanding exactly what is triggering this reentrancy.
> AFAIU, we don't.  If have a recipe to trigger is consistently, now we should
> work backwards from there.

I think we understand some of the problems well enough to think
about solutions.

E.g. the case where we run a process filter for process P while we
haven't finished running a previous invocation of P's process filter.
[ While this tends to occur in hard-to-debug corner cases, it also
  tends to occur when Edebugging process filters.  ]

Another is that `process-send-string` should be more clear about its
asynchronous behavior: I'd argue that it should *never* block, but it
should additionally provide a way to check when the send is completed.

I suspect we also have some loose ends in timer handling, where we
should provide ways to distinguish "run every N seconds", "wait
N seconds between each run", and whether re-entrancy should be allowed
when running "every N seconds".

And I seem to remember seeing cases where upon a process's exit we run
the process sentinel before the last invocation of the process filter:
we should clarify the ordering of these things (where "these things"
should also include things like `process-live-p` and `process-status`).
I haven't bumped into such problem recently, so maybe they've been
fixed, but maybe it's just because I haven't played with those
tools recently (not sure what the doc says about these things either).


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 18:05:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 14:05:29 2023
Received: from localhost ([127.0.0.1]:40544 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcVVB-00057T-3e
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 14:05:29 -0400
Received: from mail-oa1-f54.google.com ([209.85.160.54]:39509)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pcVV9-00057E-Cw
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 14:05:27 -0400
Received: by mail-oa1-f54.google.com with SMTP id
 586e51a60fabf-176eae36feaso21933985fac.6
 for <61350 <at> debbugs.gnu.org>; Wed, 15 Mar 2023 11:05:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678903521;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=5hxq7wYc8zx/DyblEnvF1FlqZJrTcptB62gIm5k0WW0=;
 b=XlGb/h5oISLOijv3ht6XBkMnfx7e6KAVQikiLcxyGtle5Z+WDm+YkG3OnxaHv3FY8U
 h+607wfhY9r/W+sh6SyS+Zdprc+aOIU99hQxFdY5ukHSCGzNQVzHYqLxTxK8bi909VbQ
 USSd5SSbWzeQEdB+EbHBTcI8qxyGaggYuZqfT6vi5SiCFzvy9JT2qiNUbI0ix/AF5yZy
 3ghMd2GzNEBuyKv8BZcyaRoHJnkmRG0ndZmsl8LO1XfKAf4o9fCAb8sgnJM+oxcODj76
 cQ/yTysqdBXTnKR5+gLCQvZ6CTr3cGbVc/mMReKGNsu889/hS5wijizLettdIobM8qCN
 87Dg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678903521;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=5hxq7wYc8zx/DyblEnvF1FlqZJrTcptB62gIm5k0WW0=;
 b=BzcsLY0jyTQeiRLWr5744erMUKTvUBz5qC5PUtN/ReXvz57q630NL+eFdkTrxU5TN+
 ymed3xKZxNOu9ERzXx8XamfT2oyhquYE1sohAa7e0cf5ziivqDcqzPpJnrN+9UZLFS4J
 o9UrAwSDpshc0XKl3HMnRmsEYVbQqpHflKToN4ujZQaiUcq2Q9uQohr/VnWEHvdi5Z8O
 lcGODko2z9btfYB3oa30Nhvbyth4Ie+AC1EPNvKVQT73blUdh06oxoZ8jmWvWNIoaoq8
 j9aur/jFd2BrOwM2z0qCHYqbRJDi7HCJI8iTSZq0TGlz+FcHWJysFSI5FzAkg9FRBhYx
 Q/8A==
X-Gm-Message-State: AO0yUKUfVrXefU0UQKQT+/4PTtceTLE78p25PJ1B9KbYGhjhLtB+v8U3
 Gf4xTcl1aR9SHKyIDh/Sm6Si7P7KPIlnOwL0D/I=
X-Google-Smtp-Source: AK7set+IyItQNr2HW6ID49iEC443peQru/RTK5yd9+ty2FGRgyZ+yD9DTrj6BPDjiygS8YATSnxKeZWeJrg4KDLLsTs=
X-Received: by 2002:a05:6870:1197:b0:178:46fd:17da with SMTP id
 23-20020a056870119700b0017846fd17damr3061666oau.5.1678903521680; Wed, 15 Mar
 2023 11:05:21 -0700 (PDT)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN> <87356jfktc.fsf@HIDDEN>
 <87a60ovi90.fsf@HIDDEN> <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN> <87mt4jzf8q.fsf@HIDDEN>
 <87fsabh2z2.fsf@HIDDEN> <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN> <87fsa7mw9x.fsf@HIDDEN>
 <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN> <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 15 Mar 2023 18:05:10 +0000
Message-ID: <CALDnm53HERz75Jg7DTXP=MbDP8PyXgpiu+dFek3kork0eXFUcg@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000005bb4205f6f43027"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000005bb4205f6f43027
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 15, 2023, 17:47 Stefan Monnier <monnier@HIDDEN> wrote=
:

> > It is an indication, that, if some processes accept output at the same
> > time, and this output runs through process filters, anything can happen=
.
>
> Yes, this is a fundamental problem in Emacs's handling of asynchronous
> execution.  We should really revisit this.
>

We could start by understanding exactly what is triggering this reentrancy.
AFAIU, we don't. If have a recipe to trigger is consistently, now we should
work backwards from there.

Jo=C3=A3o

>

--00000000000005bb4205f6f43027
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D=
"gmail_attr">On Wed, Mar 15, 2023, 17:47 Stefan Monnier &lt;<a href=3D"mail=
to:monnier@HIDDEN">monnier@HIDDEN</a>&gt; wrote:<br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex">&gt; It is an indication, that, if some p=
rocesses accept output at the same<br>
&gt; time, and this output runs through process filters, anything can happe=
n.<br>
<br>
Yes, this is a fundamental problem in Emacs&#39;s handling of asynchronous<=
br>
execution.=C2=A0 We should really revisit this.=C2=A0<br></blockquote></div=
></div><div dir=3D"auto"><br></div><div dir=3D"auto">We could start by unde=
rstanding exactly what is triggering this reentrancy. AFAIU, we don&#39;t. =
If have a recipe to trigger is consistently, now we should work backwards f=
rom there.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Jo=C3=A3o</di=
v><div dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x">
</blockquote></div></div></div>

--00000000000005bb4205f6f43027--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 15 Mar 2023 17:47:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 15 13:47:16 2023
Received: from localhost ([127.0.0.1]:40513 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pcVDY-0004aZ-2W
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2023 13:47:16 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32407)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1pcVDW-0004aK-1n
 for 61350 <at> debbugs.gnu.org; Wed, 15 Mar 2023 13:47:14 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 04BE04421BD;
 Wed, 15 Mar 2023 13:47:08 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 9CBE6441D5E;
 Wed, 15 Mar 2023 13:47:06 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1678902426;
 bh=oUTqEAoL87EoC7qz6AyMwNtwbL4GIR1Unp87AtgThbA=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=jHfyGz2y8V0esB8qmfBeAKQAOch0qQHyHah1c5C8Z7+2heA1lnfJuJ8QODXOxoTkp
 GqtKyhL6SHb9oQwf89PKmzDzSV2rp5zYzuiYqp64k/47IB4dF4UI5QznVLZ6GVqoiR
 bZWJZBDYT3nVMq0HhbeN/lwTzIyU9SZNlRQMnl9fe3eNUKpmSjKoyNKxoCU3JHgLlk
 52OI3WR+wrDR7WygOESpNSmiMSknfYI/D7eDn4RrQJfz+4uLGqL99Ey2PILsEe+U5L
 7rSc0GQnrdxexK2CZxxpoM3UamaPaDfx/lN6uzoVcg9EkaAGZu+rK2cyUSgT1LbYGk
 7FAa7z13XXHWQ==
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8F22B12328D;
 Wed, 15 Mar 2023 13:47:06 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87a60fl4p7.fsf@HIDDEN> (Michael Albinus's message of "Tue, 14
 Mar 2023 16:42:44 +0100")
Message-ID: <jwvedpp3obj.fsf-monnier+emacs@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 <87a60fl4p7.fsf@HIDDEN>
Date: Wed, 15 Mar 2023 13:47:05 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.085 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>,
 =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> It is an indication, that, if some processes accept output at the same
> time, and this output runs through process filters, anything can happen.

Yes, this is a fundamental problem in Emacs's handling of asynchronous
execution.  We should really revisit this.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 14 Mar 2023 15:42:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 14 11:42:58 2023
Received: from localhost ([127.0.0.1]:38272 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pc6nh-0008JY-Pw
	for submit <at> debbugs.gnu.org; Tue, 14 Mar 2023 11:42:58 -0400
Received: from mout.gmx.net ([212.227.17.21]:40365)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pc6nf-0008JK-Gr
 for 61350 <at> debbugs.gnu.org; Tue, 14 Mar 2023 11:42:56 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678808566; i=michael.albinus@HIDDEN;
 bh=JWjkfQ0p20rtM6gzu/ERDPlIzto+soc1P+VQ8A3UVug=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=K7lRPoNKFD7Zvh0b2m5vs7Wq5zeNGhfs57qxpzqCok4jKoJ7bZvXseMkXrhWOc3OD
 iArdB62TAsahVuVmjyw/tDPBCXJEIQcxFbv9pOUUcCnCb0HiYzQI/bNRoXhEcmNRKw
 35qDV44nefJc7tz5JNR4FNpJ1kwA+2EdRxAyL03ZxxjnBc+VjbSvv3cT0IQYeQwKRU
 xOccjJZBXFwx9jqQe/PpPE5wYFHbe/1Mn4IQMkLqaeEeGbHHk+nPjYNyrIDyTJXUE8
 gvUEUwNsZ4XEwEJZlZlcPSD6axwNDDyMlMnZ6XmxNKaffZUmHaUT0osyEKyfSkmb/a
 qMQ+c0TZuurXA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MI5UN-1piRm63iZb-00F7iR; Tue, 14
 Mar 2023 16:42:45 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Tue, 14 Mar 2023
 15:19:54 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN>
 <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN> <87fsa7l6o6.fsf@HIDDEN>
 <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
Date: Tue, 14 Mar 2023 16:42:44 +0100
Message-ID: <87a60fl4p7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:vWOQutdf4BRCENcFUweZxRJgCMQ3wuHHDBPXnW1o2N7vLDbSH+S
 miirr+2Gm61R1y2pHN5H0R8iwLoW3IhH9jsYACLuP2WRCac8vga4Z1rIssQgEuWHxUv4NMG
 QqDZS5IH4/ERdBij9E2z7hzY8jqT0IcDCh82bIL4PabFNYBiQHn2JDGX20Z1selsWy6ARoj
 q/F+sLka9pwasbcIusotA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:cQU4kMJZgzQ=;D/ozqgijqHbhVXIzZ86l5vNerGP
 gDXR9afBkL6p4pOGJ59RbJZxoKVI9MQRXsZaDyXjWpewNUXvjiV553xhw77vP62K89YulcfmN
 QyRyhig5yGO0dQzGCTXij05XRo312sCuEdofdK6vKtcXMXs+F65WdrEs1t8QgCg+PeiiSj+AC
 BWAibXmi5kL3PX2FImSf8pK8W6fhPYt80MX0gkmpw+WgmbJgH8RuVJ0ipFHtxoZe8IB5szNcE
 CHw9MzpZq2ro+QE0gAdgZNPPHIFQywGLPClp2T8wUwrh/H6GmsbKvOwovRVfv5liVnSM0WUme
 NAcQPasIM65zsCTz3+AFFycZ6nqekCFOokv4xQbfq6qss/lKkoJsDJpbXp64zYfSxBJhRsqPp
 pkSSIGOWAxE3p2HsrnON6+5fTptWFwlsijEG7FUaGcIEbLMj6Cr6FL+zqPn+TldD6/4XbgLmU
 aDY+shQL8bGln9Bdx4puIL60F1o+vpGFrd+vZ/DMzdrrpVTEzQBhylgh1maWK4leS5fGRvLSr
 ++oagT1xa4TQd/ixzo7oZ7hLIrZCKHMTx0Pt3dRN3IkkXZzTEGvitHmwaGRdcpdsACVLY0x8H
 7+0v55vfNbbcZ5YGMK9bQCJj0o/E4H3HFqkvtxJh5OZBPWs6DLCEm7WrkeBUTXRnMyWvpu+7h
 ctFTOh8XS27Vbl0qsYnmi2gnY2jQDo+BS8/NqSMISaFCIu8TP5Cd4oz1U8vndxMlhCHhv2Ipq
 xx5/trX9swavXPF6NBNi/aizv++qPbtwTsXbhpPNTLhZIVobrWNA4j4i/LnLIBZhl8470uh+D
 T53U+Dl+kkv4ccKnDULLiOV3mMjAJCFeTcskSJa3ICCcr5cKu34evkp6p7zK2xFQbrTh7TwLj
 XUmNgH5hOY6FXsJlNiupGKHRAzcVPVqtRIuAqbgiXORPKrrgj2py5PNFeRLALjRWZptbXyf7k
 u6YkXW7k9WJAcSuDDg/5ZobQXvo=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, monnier@HIDDEN,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> I will investigate. IMHO, this is the final indication that we shouldn't
>> allow a nil JUST-THIS-ONE in accept-process-output.
>
> I don't see this failure as an indication of that, at all!!
>
> First, you didn't do that -- put nil in JUST-THIS-ONE --  did you?
> At most this means that you are doing more or less the same
> as setting JUST-THIS-ONE to nil, but in a much more convoluted
> way, so that you may as well start setting JUST-THIS-ONE to nil...

It is an indication, that, if some processes accept output at the same
time, and this output runs through process filters, anything can happen.

No, I didn't set JUST-THIS-ONE to nil. I just allow related processes,
belonging to the same Tramp connection, to do so. This is a case we have
under our control. When JUSt_THIS-ONE is set to nil, the same could
happen to any arbitrary process running randomly in concurrency to a
Tramp process, and this we wouldn't have under our control.

> ...and bite the bullet, continuing this analysis.  We're making
> progress...

Sure, I'll do. Coincidently, the author of filenotify.el and
filenotify-tests.el is well known to us, I'll contact him :-)

> For me, this means that those auto-revert and symlinks-remote tests,
> whatever they are, must be investigated. It's good that you have these
> tests! Do they fail in all Emacsen or just some? Always/sometimes?
> Can I reproduce this here?

This happens with Emacs master (which runs on EMBA). And I could
reproduce it locally, with slightly modified error messages, by

--8<---------------cut here---------------start------------->8---
# make -C test filenotify-tests
--8<---------------cut here---------------end--------------->8---

> After we get a consistent failure, we should ask ourselves what exactly
> is the reentrancy in question here. Perhaps you already have a conjecture
> of the chain of events that leads to it.

Yes, I have. Contacting the author ...

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 14 Mar 2023 15:18:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 14 11:18:13 2023
Received: from localhost ([127.0.0.1]:38240 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pc6Pl-0007YP-FB
	for submit <at> debbugs.gnu.org; Tue, 14 Mar 2023 11:18:13 -0400
Received: from mail-oa1-f46.google.com ([209.85.160.46]:33399)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pc6Pj-0007Y6-JK
 for 61350 <at> debbugs.gnu.org; Tue, 14 Mar 2023 11:18:12 -0400
Received: by mail-oa1-f46.google.com with SMTP id
 586e51a60fabf-17997ccf711so4066008fac.0
 for <61350 <at> debbugs.gnu.org>; Tue, 14 Mar 2023 08:18:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678807086;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=66m8JyNBPMbf8Jb/+i0UPkN18BQQO3rQ3gESuK0Zi1U=;
 b=TKSzVrvty5zWWo2ru6qM4ScHTh0HfJxhsbudxkPakTnXNmMyEN2jUcT2GT0L3sJYC6
 4DNzRbwhrW5Q0iSKTuBmTXr2vPp5owSV7Bx2jhDux9nR5+yxSr90mltUzjr1I36Kojxi
 86VKMVL4DM/ELv9d7+27To/K1Smedmvl5cIa21bZqBFB1dRSiiVVGLtYKzcLkgfaH/Y/
 m/WTc8JzrHP6AG9qKIcQ6lyTxOeBgmQImk+L+ABLe+9SJO2OYrY2nwpn+wYca36CVa4c
 KzjIr6YrCA5aqpFU+p5wlLiBxZaPF1iiCos5aCFkrPKv4+eDWNCW9zo77XIM5Z3VTYkU
 oGXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678807086;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=66m8JyNBPMbf8Jb/+i0UPkN18BQQO3rQ3gESuK0Zi1U=;
 b=bTgUeYoM8DI4++hBxaNNlRar4k8WCSwJAcjwsks0ZAos0F2BtlAZp+k504M4Zih5EB
 nLOiSut3muCFKQ+XF9mLfAbSY1iRdlAzsfR9aUzyPARgkXDes5dh2ftI5MmxR2y5skJ1
 1cTdM79GaxRsqOTaDrwpLVWFQ7CMtQ7LJtbl7wyB1/dVMRr5mtLrKcQitgGjHHyFufxc
 7emw6oXEX8oyLu6S5YK3OxWlWiqV0UhrKyQ8mjulKk+pSbBUUhSJktt4mkYZMjbby//Z
 QE9fRdzn/uU38hFzFfV6jaYdjcW1g/gzo644YashYR0zQwZwN4FfawdOJ7YLcWEvq58m
 /LzQ==
X-Gm-Message-State: AO0yUKUj67K2Tg0h/gFyLOvdP+Zn081fwfuSLcvJAFxx3LAZBrdWo2Np
 EZYC9I0bcwpNnouqzs0kjeJ+AmWShXvMraG3Sz0=
X-Google-Smtp-Source: AK7set/Ho0Nlbtv+1gzD2naEYvrNqL8hlyb9cxF3oQEQRf4KzjrSTt3xv2q8Gj/xLdUwKnPcjHSv+RyUae8aJBsarhg=
X-Received: by 2002:a05:6870:4729:b0:17a:ad5d:c973 with SMTP id
 b41-20020a056870472900b0017aad5dc973mr887605oaq.5.1678807085769; Tue, 14 Mar
 2023 08:18:05 -0700 (PDT)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN> <87ilfkh89k.fsf@HIDDEN>
 <87y1ofct83.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN> <87356jfktc.fsf@HIDDEN>
 <87a60ovi90.fsf@HIDDEN> <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN> <87mt4jzf8q.fsf@HIDDEN>
 <87fsabh2z2.fsf@HIDDEN> <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN> <87fsa7mw9x.fsf@HIDDEN>
 <87fsa7l6o6.fsf@HIDDEN>
In-Reply-To: <87fsa7l6o6.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 14 Mar 2023 15:19:54 +0000
Message-ID: <CALDnm53BototBKFoXnAP=MGV9qxBzd+8UYYRrXLri76j91trbg@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, monnier@HIDDEN,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, Mar 14, 2023 at 3:00=E2=80=AFPM Michael Albinus <michael.albinus@gm=
x.de> wrote:

> Achhhhhh :-(

Pech!

> I will investigate. IMHO, this is the final indication that we shouldn't
> allow a nil JUST-THIS-ONE in accept-process-output.

I don't see this failure as an indication of that, at all!!

First, you didn't do that -- put nil in JUST-THIS-ONE --  did you?
At most this means that you are doing more or less the same
as setting JUST-THIS-ONE to nil, but in a much more convoluted
way, so that you may as well start setting JUST-THIS-ONE to nil...

...and bite the bullet, continuing this analysis.  We're making
progress...

So, I reach a completely different conclusion.

For me, this means that those auto-revert and symlinks-remote tests,
whatever they are, must be investigated. It's good that you have these
tests! Do they fail in all Emacsen or just some? Always/sometimes?
Can I reproduce this here?

After we get a consistent failure, we should ask ourselves what exactly
is the reentrancy in question here. Perhaps you already have a conjecture
of the chain of events that leads to it.

FWIW I've recently solved a reentrancy bug in jsonrpc.el.
I identified the conditions (here, i was ignoring that process-send-string
when given enough input to send, will cause output acceptance, and
filters to run), and fixed it.

Jo=C3=A3o

commit 8bf4cdcf79bc3254a9169f28f68922ab83bd4e78
Author: Jo=C3=A3o T=C3=A1vora Date: Thu Dec 15 15:26:13 2022 +0000
Avoid recursive process filters in lisp/jsonrpc.el (bug#60088)

jsonrpc.el may lose JSON-RPC messages because of recursive process
filters. The problem happens in jsonrpc.el's jsonrpc--process-filter.

The code of the process filter didn't expect to be called recursively
 and fails in that case.

But that can happen if the three conditions are verified.

1. the client code invoked by its jsonrpc--connection-receive inside
   the process filter callee immediately sends follow-up input to
   process within the same Lisp stack. This is a common scenario,
   especially during LSP initialiation sequence used by Eglot, a
   jsonrpc.el client.

2. that follow-up message is large enough for process-send-string to
   send the input in bunches (output from processes can arrive in
   between bunches).

3. the process happens to have already some more output ready

The fix in this commit detects recursive invocations and immediately
re-schedules them as non-recursive calls to the
jsonrpc--process-filter (but started from timers).

* lisp/jsonrpc.el (jsonrpc--process-filter): Rework.
(Version): Bump to 1.0.16.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 14 Mar 2023 15:00:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 14 11:00:22 2023
Received: from localhost ([127.0.0.1]:38225 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pc68T-0006tA-Tm
	for submit <at> debbugs.gnu.org; Tue, 14 Mar 2023 11:00:22 -0400
Received: from mout.gmx.net ([212.227.17.20]:49005)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pc68S-0006sr-OG
 for 61350 <at> debbugs.gnu.org; Tue, 14 Mar 2023 11:00:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678806011; i=michael.albinus@HIDDEN;
 bh=RInqINhDWWVWm9FxzltQbAerVmPvEumJy5EcdTA8PS4=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=kdRpz8+3Dx7taSS8zcsnoV7pRcFBgSXGQ9UTuGwo1xfYnADXEg6r5/4ys7UKw/Vtp
 MBpf3RI+DJ6qPXd3BngedqtxX7RFYIwf9fxyYK/4Z9WyesFODQPHi9mhYVZPEoPAIP
 nuF1ma/ZekSta7QeYTXmo2UTjf6FAM0Iu8uLS5RWjEl5LR82gSLihLtF0pitpnvtFd
 VlNV8LJUKuIv2AvKUHXVVla278dDEKDtcnL1eHMwexbnD5qAht8eMRM3STm/LcBNpY
 Fy6wDnyUvlBb9Vaus4lLHK0E6NAFk78RXJU1Ba1CxG5z8btJvo5GJ+x2MrOwZIkozN
 1G4DVU5K41fKw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MKsj7-1pxKoJ3LTB-00LEkp; Tue, 14
 Mar 2023 16:00:10 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87fsa7mw9x.fsf@HIDDEN> (Michael Albinus's message of "Tue, 14
 Mar 2023 12:01:46 +0100")
References: <87y1ootw2t.fsf@HIDDEN> <87ilfkh89k.fsf@HIDDEN>
 <87y1ofct83.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN>
 <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
 <87fsa7mw9x.fsf@HIDDEN>
Date: Tue, 14 Mar 2023 16:00:09 +0100
Message-ID: <87fsa7l6o6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:acxM4APFNeTIaK03/QGDYdmJH+pzGrTZ5ZTOP3rCUemtMUfAP8E
 KvLskQI5v9Ga72CJDPhWXUkuAR1kzIsEw/aBoTQJEqp7onVtpXSQITwuTdeT3Wo092he29O
 axMiQGJ0zX3h+2YN00qSKrfU3C25aQQ1k7cS/30emaV9BOs8TpG2Oa+YDU33352dbCILdpk
 3CjVqh119GNZREtfL57Ig==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:TqvrQeQpdzg=;dY9XnKzPAEoOVSbr5fgC4/wvdOg
 lbiraLkm406iCSFRY4IyxwrZkmOfRLyM8/SSVrZ6+nvisiirPak4BgMYcgcAz5c0Sa0FLU8Nq
 PykWfGqI4H4jIq5qt9swMJnR6btVnk8ESkgnWRbIl9htCHOE1DVJP+XPsKHvBI28f8u3Y7vUX
 4IPRG/vbhPUK2g1ElsckFGcSUH5rhoLkSjzu4y9yITmnoypoMIegO/JCxpG7C9EB488B3Bz+7
 sHePGOgK9tS+3aFCoVDQs8P1wZpYwEs5TZtvJj2+FNtqC0K+8bi5ue1cjKZn3YCOi+VeQxXmC
 FBMIuWMXxTxcI8kuswiBPAeV+q9ycDYtElSmPAEOohkhfouN5UOBlRHg55qGIQakJYHezs7cK
 X6/ql8Yl39SCF4EKO4R0sLMLCkXFo6g3QszqY1nVfUuq3fRlHV77laVoIKX4pwYT+5pHDsPCF
 Ta/YVNulQiLbYrfyCSViruYLGRt/0vZtGmzZ2MxM+8WUcK8Z3IFLq7pcdNnG1xMARn4vLy8Ph
 elrsgrA00nFLtJO6P9YRPR+o4Ba97YWx4ZUs7Kuo8lEN3TuUx4Chb8I5LKRP9JChdXsLTk4Ez
 jYITaScctIznuYq41eC1WlZ9WDTgtj5o+SU65OYeb5dmTdQbRWqvAG3wkk9S2ihziAG3UrZ3J
 1u2htMLY7h16El4t+UxgToaqG/x04bk1j1kElSFFR69NXFQ/HTfz+rWO+7BGAC6f7oERRP1q8
 OmYGAFWrT9LSV4luTOaPNEA5dH9rLRwO+5PrU2iiWJs+/VFbxk9tQjnwAuyDvTL5Yc7g0nHKA
 eek1+5GHWM4n/Dpu3fTyzCKROpS76l8/psWPGDr1KlHkYUdq/hyLXB2F9SnDwwVRRCFGrCY7w
 ZA0GZpQOzMVHt7muSCzwjgvHUxqfEAHgogp00EbVh2NJNhPEW7gBkZnFGkzjYDXUoqIRUd3NP
 YAhgFw==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, monnier@HIDDEN,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Jo=C3=A3o & Thomas,

> As said, release of Tramp 2.6.0.3 on GNU ELPA will follow end of
> March. This gives us also the time to see whether there are collateral
> damages, reported by somebody. Until then I guess the bug might still be
> open.

FTR, the first collateral damage is reported already on EMBA:

--8<---------------cut here---------------start------------->8---
   FAILED  file-notify-test04-autorevert-remote  "Forbidden reentrant call =
of Tramp"
   FAILED  file-notify-test11-symlinks-remote  ((should (file-notify--test-=
with-actions-check actions)) :form (file-notify--test-with-actions-check (n=
il)) :value nil :explanation "Received actions do not match expected action=
s\n(deleted stopped)\nnil")
--8<---------------cut here---------------end--------------->8---

Achhhhhh :-(

I will investigate. IMHO, this is the final indication that we shouldn't
allow a nil JUST-THIS-ONE in accept-process-output.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 14 Mar 2023 11:02:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 14 07:02:00 2023
Received: from localhost ([127.0.0.1]:36451 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pc2Pn-0006RG-T3
	for submit <at> debbugs.gnu.org; Tue, 14 Mar 2023 07:02:00 -0400
Received: from mout.gmx.net ([212.227.15.18]:36203)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pc2Pl-0006R2-3J
 for 61350 <at> debbugs.gnu.org; Tue, 14 Mar 2023 07:01:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678791708; i=michael.albinus@HIDDEN;
 bh=iYXkqygEqSWUwJzV5qI0X2zr86GCCKg97vw6+bu8G1Q=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=C6w17t2lZMwp8eV9mBfLxA41rCsvr5Cre5ikjR5l2TY0mQP9HmxcSdThguKPFbBap
 QWeul3c4hzzBwzaAX0W2pz3XDJa5cwIamY2sM0SZQB04E8Hyp+t1d1EBYbvPv7B/0G
 5Ioe3KZzmxumAgRihCZ3oksu/kST7S/qf5YLYXderDsEv+i9j/gqVwXXuokC9fJ7Nm
 QoLovbtHO862F/zFJ0rkFsaesrLmv1z1X+2gKQO4M39FOOwXYbo2Q+9A4zH5POSax2
 6p87hA8bFOPb2Iij9rne6kE+LpV+4l4RdPx8nqDUszPJ21etDmU8F6qdfqTEetzEWL
 qU069js0hRgHg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Md6Mj-1qCCZr1BQJ-00aAsJ; Tue, 14
 Mar 2023 12:01:48 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <875yb646d1.fsf@HIDDEN> (Michael Albinus's message of "Sun, 12
 Mar 2023 11:22:02 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN> <875yb646d1.fsf@HIDDEN>
Date: Tue, 14 Mar 2023 12:01:46 +0100
Message-ID: <87fsa7mw9x.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:thgbjacM/uX2AaVS/ekp0NUKyluoub+rmc/XYZbJYTconltAqSJ
 3gURNmkgOxQQlZNjXqkAaSdzo6R3xWMzBvVHgiB+OY6+etzGGYj/myAOthMoWlHoz+zYG8k
 ubUuaJEVcliPsN7+jth46V9uBxom+NapvWlZfK5MqP+U32qUo1cvhgHXidK+LGPkPTIXKh6
 GkeZTnOqnXYyC6DKJ2kvA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:H4xTY7jmMyI=;D8udXjxHaFV0y4HMJeXzQxpom9H
 TRS6TcR5M5cbLVIQwMt5gwD8F1DhMtRMQIG3MXzhwnNiHhgbVfAQuvm1d/iCMR8BBMu66zRRT
 KWLp3XblRFCu5gngmwq3ZBDTyCCoa5xdKxYRxuKHxn7F+NNHX1/R0HhC87pMU1Tl23QriutSr
 JZQA6mMxGaGhLdAGSxThekBY9OZQqCBXNHyHQKz6DmBFjkeCZ/1iuQpdruLg/V4yw8ftTkcYN
 KTxL2KkLvLd4j6rkwr6gSdF0MXj5tRJX92Mnor4LgC3YGwY1aNDFeSyEJBLzsFD8MTLgDYwFk
 paIPHre9pKPO96Nlq39eiHcNwNw5or29aBorZJ5M5OlXJPTfCvPHVP4h2c0HoV3Yzasr2DlRl
 tWxhGJ2Nr1wjsde3EkcKUIoG3b87onL5/4k3gv7wmWaNbpVm7AP+lA1GBcPac1tB0jPqsYtEm
 DL+O6ddMFjJ4KjNvmp8tVxRLK+UHXvr3cHbsIR260Lf+UCOKCf4kWp9MrjsKFsEfRIp6Zp9eV
 C/aytZ5+jxW6OWrTblY/Xz5g7AuavTRktLyqave+jmYUnsr/dN+n8m35rs6MbKcN7oXzBtcDE
 q3/XRU8djNDk9Jmj9tWNB11FmGaLLGKHrgpmrfwmKfFNrhrFq7k0/t7b4SJm/LyCY8CY258F7
 5jl4nWnZP+V3trfFXksOq7JSXNOMjKtNdEL4UFawTxCBsw7fgeA6SEJRjr3qcdfgwceyObTMM
 tnwI2kY4VCsm5K4o0c66Cw3xZdEtuuOxNmHl8syiiCUci8Ro9+aFAHeyk/cTV9cAfZrDryqXX
 iDpRWuMfbKsjG6uZn+7GGD34q8Xuug2pBvSOhfyB/zXCn1TIrrMRFUB/3nK1QSbB+WyZ2ovrI
 1vz91/eogcrtRvT+186bVN5cncdC6hoFoqFILJrOm4iSnPPj5XqAR5LKI36WJB2bl6yOYDHSM
 A9UN4Q==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, monnier@HIDDEN,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Jo=C3=A3o & Thomas,

>>> Anyway, I've removed the TIMEOUT argument from t-a-p-o (defaulting it to
>>> 0 now), and I've started the Tramp regression test campaign. It takes 2
>>> or 3 days usually, so let's see what's the outcome.
>>
>> OK, sounds reasonable.  We're definitely in a better place now that the
>> problem is understood.  After you push the patch, are you also going to
>> bump the Tramp version?
>
> Yes, this patch is also marked for the next Tramp release on GNU
> ELPA. This will be Tramp 2.6.0.3, roughly scheduled for end of March.
>
> FTR, the regression tests have shown problems with older Emacsen, Emacs
> 26 and 27, to say. So I need to fix this somehow, before the regression
> tests will continue.
>
> To tell the truth, the regression tests use the upcoming 2.6.0.3
> version. Once everything is OK, it will be merged into the Emacs master
> branch.

Regression tests are finished, and there were indeed some minor
annoyances I had to fix. I have pushed everything to Emacs master
branch. If you like, you could test it with eglot.el w/o the Tramp fix.

As said, release of Tramp 2.6.0.3 on GNU ELPA will follow end of
March. This gives us also the time to see whether there are collateral
damages, reported by somebody. Until then I guess the bug might still be
open.

>> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 12 Mar 2023 10:27:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 12 06:27:28 2023
Received: from localhost ([127.0.0.1]:59274 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pbIvI-00075t-5m
	for submit <at> debbugs.gnu.org; Sun, 12 Mar 2023 06:27:28 -0400
Received: from mout.gmx.net ([212.227.17.22]:42209)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pbIvG-00075a-5q
 for 61350 <at> debbugs.gnu.org; Sun, 12 Mar 2023 06:27:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678616840; i=michael.albinus@HIDDEN;
 bh=2MKSI3jy7L6P2e9HRlHEyiHjJe+cwsHB4uRT0R9QFJ8=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=FC3KOuknwzKRMg/8aUR7e6EtXQcoGdph//TJyxGd7eo9mwfgNPWIF0ilVQlxMgsUn
 N5Bc1CtgofJ5rnvwVtk511APRyhkzDH9r51hMLkeKtUoqLCZ5JEBmxOvcJHBfUJ3ty
 7hzJePk31iUpU3KU2LVJN8J1pvh9YVCm8E8zBkJ10HK+P2pm/lCEkBEvs9toBE/U86
 bN9BlvWT4EPvr/hJtQJR/EhJX05VjCiKgKerALIT0Bm5yIDEs3xh26n8Nt3hizx+Bn
 HeXd5nRaFHGiAkaD1HYuqj84jU7tuEMqWq7v03asxiEdOT5uYhuGl5HjwfVmkwsjyW
 B1JlIgyrE45jw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MWAOQ-1q4Vc13iG2-00Xd8b; Sun, 12
 Mar 2023 11:22:03 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87lek2x09t.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sun, 12 Mar 2023 00:48:30 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
 <87lek2x09t.fsf@HIDDEN>
Date: Sun, 12 Mar 2023 11:22:02 +0100
Message-ID: <875yb646d1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:N1E6Xq9txjOLe72ChbQoJBs6fy5bqq83Gu+UJWOpuxlE3wfaiHU
 8ADXv74OWuvxRTIPvE1BZA2fhIc9+unNcVbxYukt1/mtsDxQi+GWhcCI4OimQxp5lHhodNK
 0lChSJAOQF6QAKuxA3qSLBf/EmEy0BYMLnqjP8D8rdvtj9GUMkrBioOQc3zMyBDBVINi2/y
 Xuaf+wpcUsd/jy7yorTPg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:sQ8pUODx83w=;f1TivyfuZrtTt87weRMGjroyhQ0
 wT0DxrwxaR/QYLcgw10tnGC2C4pOnGxH9PG8ZueAME1CMwXXtGW27dCx1TUeq07m/fP2QXuNk
 5nGBLpHc7Hdqfb4AI2ucsPov3nUpuA+aKTHqovZlpYmoa/AODvpwcFFYTXc0HDwdCYltvQpim
 hZrRwDlC8vv/6xu3F0q+taMEL0IrR50pFhQ/JHvfYMzXI+yovoywf+LXVK8xVO/Cr4sCQki7I
 p7UKXkMfXJMNf/mUR78TJjzmFmTCXlhBLHdCvTRMek0tizzPYoGW0bYE86HnAh+aK9Gj9EVvg
 FT+GXLUUDeb9I0TupuKOypj0Sq8LNawwO/+B3YNZ1QiiYJdydW1dRj5Jav6ua4Teat7o34t1S
 dE6LMWbVa0jfgFxCelBMVY/FZy8nK4/U015a4bP/DHkt3xGqy7H9Ou5x+R859TZXQNzYt6AzA
 hvvrAyaPX+/vpHcgtZJD4m4LIcm6fPIix9F2S3FkzuKq0qi2UHSWYPnpvDJbuANwblx6RnhNT
 Z0x27Rjm9NQeXxH5Ge0xTSTe+YZK8zLiD+k9BA9nho5tJMUpXSRtmQQkl3MLKU/MYXny/GU5k
 m8/RZN0DZn10ZtXs6HP/kBJoB8/ImUSoBBoBhQeVVIYYS+HQOPO5XuXCrV0wu0MDt0DlICk1M
 Ds6/d3ylwTmjjPncbQYftFN5BpkdheP68iU8uscYT03ZWKgz3BTmE88gRF7YMgD/FYJE19Dex
 gn/mUDGpV5ya1omLicc/0Ehs0o/fxHrvdItbynuVWqjRgyiLCEBLLHf5JxawzRoGYgqU7RGd6
 MIzxGQdV5AfMUBWtWVlF9lIf2QIONfvLmjlSwTlvd8KNJ/e3hS//G0F5SgGm8jIH/ZIsGKImH
 Ydws6U2S6YIQlEmEoc2ggho32j0+uqoAsxoqrmHKTAGFykaTOXFsMtZvJN2lMFX3LsxXDzoKq
 AEW5KQ==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, monnier@HIDDEN,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> Anyway, I've removed the TIMEOUT argument from t-a-p-o (defaulting it to
>> 0 now), and I've started the Tramp regression test campaign. It takes 2
>> or 3 days usually, so let's see what's the outcome.
>
> OK, sounds reasonable.  We're definitely in a better place now that the
> problem is understood.  After you push the patch, are you also going to
> bump the Tramp version?

Yes, this patch is also marked for the next Tramp release on GNU
ELPA. This will be Tramp 2.6.0.3, roughly scheduled for end of March.

FTR, the regression tests have shown problems with older Emacsen, Emacs
26 and 27, to say. So I need to fix this somehow, before the regression
tests will continue.

To tell the truth, the regression tests use the upcoming 2.6.0.3
version. Once everything is OK, it will be merged into the Emacs master
branch.

> I'd like to remove the Tramp-specific workaround in Eglot, but I don't
> know if I can: Eglot would have to "Package-Require" a certain version
> of Tramp.  Normally, :core packages should only require other :core
> things.  But Tramp is not a :core GNU ELPA package.  At least according
> to elpa.git/elpa-packages, it lives in its own repo.  Wait, but Tramp is
> _also_ in emacs.git.  Huh?  So maybe it's possible?  I'm confused.
> Stefan, can you help?

I'm not Stefan, but perhaps I could clarify. The Tramp version released
on GNU ELPA doesn't correspond to the Tramp in Emacs master. This is
mainly because I want to release a stable version on GNU ELPA. People
with a need for the bleeding edge Tramp can always use Emacs master, or
pull Tramp from its own repository on savannah.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 12 Mar 2023 00:46:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 19:46:40 2023
Received: from localhost ([127.0.0.1]:58835 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pb9rE-0005WE-Fb
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 19:46:40 -0500
Received: from mail-wr1-f45.google.com ([209.85.221.45]:45857)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pb9rC-0005W0-IF
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 19:46:39 -0500
Received: by mail-wr1-f45.google.com with SMTP id l1so8263974wry.12
 for <61350 <at> debbugs.gnu.org>; Sat, 11 Mar 2023 16:46:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678581992;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=F6mMVLejodzJ0Qi3Fa9w1YS/3X8iJNtX2MAGB3yNh/8=;
 b=o4+KaUzvZ1Wb2s3P6P3swcBYgvL9vLz7mv+CCS7FBEqFS9GYrnafVyDhO1IPjSv0WZ
 ZLlperV1Bmp+iiyvVpu10fSiM6dL41ux+LmGZEzZgeDpPmFgLczaUY1dW2mSnYUlNmj+
 5aTniNxZOA77CJZ7EvoqmbpaZ50pZER/jXdKAFjq71KSR1j65U9ta+ftMaM8uQw922ui
 wOp8aw38I6SQYb5gGQjr7b2fiJJ1rdmpHpWiPDEVNltUlsuRrKdFHKX1+t0So6lYof2R
 XI4+XdmHuZeKfqPlbIbQ4/XlpBWXR/bppjxOyCh///ghWFSJWv31PhzDg+BXwIFVtG8S
 lopg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678581992;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=F6mMVLejodzJ0Qi3Fa9w1YS/3X8iJNtX2MAGB3yNh/8=;
 b=6iTVpIZVUN263Zpluk2lrX5HqPO6T49c8l+l/MCneuthFgC/9fLsFr8SyfP8fuahkd
 KNCUzGBJswWmYuQdHsPU7hmE4ljbZ5w/ZY8x4o8ess6IMBOBfa4PKbuyQD1xHHg7L1MM
 lrsmQgu1BcMK5YbwT5TBxsnO/DC2kNExxBSrQUJN2GF6m8nA68KzASphquFwrKt2TBzy
 CFCA3T4y3feKKkZGNKCJelArJNayniK/2JukvwUmRDuULhM5m/rCijgX61+o3PhnTTur
 moZ8OLXBpVajkh9f7VsfRqZ08lJ8FhhqVZRAQyjvOGI4FdjSnwzx8EW1Gj6H/dOzv/Q3
 N0Hw==
X-Gm-Message-State: AO0yUKWvdTp/FIIJSY/TiVkc1hurrqALDfZFOpCWZoEVz1txdJX3edyI
 eH+wUCDxPfeeXKKGFB/rR5g=
X-Google-Smtp-Source: AK7set/upBdQ4R8F6Exc0Vx+5wRjn0tU8asb2lImATgo5bB2ohepBDsskq3F8FiA83ygDRq0OiuyRQ==
X-Received: by 2002:adf:ea8c:0:b0:2ca:5c9a:a548 with SMTP id
 s12-20020adfea8c000000b002ca5c9aa548mr19399474wrm.60.1678581992339; 
 Sat, 11 Mar 2023 16:46:32 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 k6-20020a5d5186000000b002c707785da4sm3545178wrv.107.2023.03.11.16.46.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Mar 2023 16:46:31 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87bkkzgyb8.fsf@HIDDEN> (Michael Albinus's message of "Sat, 11
 Mar 2023 15:25:15 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN> <87bkkzgyb8.fsf@HIDDEN>
Date: Sun, 12 Mar 2023 00:48:30 +0000
Message-ID: <87lek2x09t.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, monnier@HIDDEN,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Anyway, I've removed the TIMEOUT argument from t-a-p-o (defaulting it to
> 0 now), and I've started the Tramp regression test campaign. It takes 2
> or 3 days usually, so let's see what's the outcome.

OK, sounds reasonable.  We're definitely in a better place now that the
problem is understood.  After you push the patch, are you also going to
bump the Tramp version?

I'd like to remove the Tramp-specific workaround in Eglot, but I don't
know if I can: Eglot would have to "Package-Require" a certain version
of Tramp.  Normally, :core packages should only require other :core
things.  But Tramp is not a :core GNU ELPA package.  At least according
to elpa.git/elpa-packages, it lives in its own repo.  Wait, but Tramp is
_also_ in emacs.git.  Huh?  So maybe it's possible?  I'm confused.
Stefan, can you help?

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 14:25:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 09:25:25 2023
Received: from localhost ([127.0.0.1]:56945 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pb0A1-0003sB-Gx
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 09:25:25 -0500
Received: from mout.gmx.net ([212.227.15.18]:54801)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pb09z-0003rm-BN
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 09:25:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678544716; i=michael.albinus@HIDDEN;
 bh=oO9JVxiCMoNtdFZYvek9K3ufh/iJzQDYk0xPBJFKHhE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=czzY53ipU7Xhoth9RJkK0no2sTKXaqUyE/sRDteHgWoTqjyCLyoeFwYtk665OhzMa
 7huvcxNuBkZzxObjNIV+XeULMVR2t59at03H3gp4NYsFm3Eel5iLmP0GYeP4QqxRv6
 hDC++9qyCWAZhcEmo1s8bmw7ici48eHXvmpgDUeRDEMukx8I9Nw5+EZojR+FfHlLcp
 vhMQiPEUKJHBpWpTGAa+gMElZWVn93W5hdgMXL1UR7f5IqRuNehgjJKHAVMfy0rvZH
 9sRlsWmknXtIC0gzM8swwmXSBPz4A937F87H4G3rZObeBXakLSw5KUNR5AjuVeGW2B
 RJV0YsnXolJFg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MdvqW-1q9VQg2N9C-00azuL; Sat, 11
 Mar 2023 15:25:16 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87edpvxu7w.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sat, 11 Mar 2023 14:01:39 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
 <87edpvxu7w.fsf@HIDDEN>
Date: Sat, 11 Mar 2023 15:25:15 +0100
Message-ID: <87bkkzgyb8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:RM33fqH6Vfsk2gr1Ame5uSiQU7z4WjvAB8rK0eETsIGwkGCZC2V
 i0Z9XNWwSbI0sotH0rstUy86rkJsIkU+xJhuYKxxShrUw8/JMJ0m24AcgdI3DTZSTZ4LQTq
 qkJHarhc5WCSfth+CsI9svBjFb2Tw74K0ixVhMiYuFUgsdH3RfRnSpQxquUNjE9obp0wxbc
 ovy7S8yR9qlzLVWx7nZQQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:G+Vx+Pu8fMs=;25MjlI1L+UEqxkBgZKkgxY8xVui
 KRMf0rSPGEyGzlEOXXZq7Gp21GpkaZbeVcmVx3jaXggGI6fUHHZHgDwSsv7Xi4jtVwMl9Luku
 YMgyU1hhOv+eONVr9zYlsC4cph51FGDKxwMOXqAzNNmG63CzP2sxtUxYKx2vDsSxotT+UcHTu
 M+jxAdHS/Tv5iyfW0AMvM2/wHR32OIkvTiXS5PvYuUVBcNrD5wmO0JfRXg0MeGrYorSz06e41
 k2OeFCwgSr76vwtG6ChpOlaLYqnbgvqU60k6ZiIfDJchFz41XmFo6K5ATnGdnWok1UsV2GJc/
 YTfmaxFBTrJFBur8tGoPOsmqcgO6jYg+djVEwxC8o8v9O6nA5m2vE6Jo3wUyGtDoG9XWPK+DI
 vYcxZBQu46UUzH9W8b6+OPkiDvt3f/pk2fvNXclLoy/YA5MJhdkjSqNLSgLeM7qnqMND9NXES
 1bGYlwarvUg940bPXBlyXn9zcNtLpKcRSodPpNettzIlyWguT4Z71/PJTsZwKBKFH9AOP83v4
 jEiAs4t7sAmlERFlfcEgq5VVFlUT5rgO59HfG3W5uR5IuS6C3GtnWQB85kj79hoNJ8elIz2Fr
 covgFbCsuP/loDfL5v7lN+RdEvMnGrBGL+R4fIIzD7E0uWwdtGJ80LmBpaYF3tyKeTspUmXDp
 oJJSnnpFyHeAprtYND95gF9faSuZnLijuN5hhZjntLHbMC9sIoKLcz/G5YqFIgaQ0pI1ggk7d
 1LBe5nERQrzkj1NxxXHZZgSKk0gLPxaF9eTEHt6qV6icpwWYFLPaE626co5DV3TVXfwvO4zqG
 pUTLau6l5Gbdei0SMOrWpb6MTuvm+n61XJmwK5xjJlVNzc3BlsE8+AdVG1qLGAobPsJPoBkjC
 8tHfiY+hdFD098lO6hQlI0YR41N5wMm4sJGsP1QYicHEWLaXf5+pF8ZZJMFdKK3RxJY8BFxsO
 rMqiAw==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> Hmm, in my experience there were still one or two blocking tests wit
>> Thomas' recipe, IIRC.
>
> That's surprising to me.  What tests are you running?  I'm testing with
> the same "Thomas recipe" AFAICT.

Me too.

Anyway, I've removed the TIMEOUT argument from t-a-p-o (defaulting it to
0 now), and I've started the Tramp regression test campaign. It takes 2
or 3 days usually, so let's see what's the outcome.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 13:59:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 08:59:49 2023
Received: from localhost ([127.0.0.1]:56907 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pazlF-0003Ei-Mz
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 08:59:49 -0500
Received: from mail-wm1-f45.google.com ([209.85.128.45]:52029)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pazlE-0003EU-1Z
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 08:59:48 -0500
Received: by mail-wm1-f45.google.com with SMTP id az36so5166622wmb.1
 for <61350 <at> debbugs.gnu.org>; Sat, 11 Mar 2023 05:59:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678543182;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=cv3XGloVC2G541/0D5UjGHCqoDjzOxM8cCfmAF0+axA=;
 b=T6365liFkaFKfrdAejuF/FqHpUfEt3uLU+5Xu5XJP0ldjw0xm9vZ58KfwR9onRJPKP
 Nya1q4l6GSA37eE8uasmbyZTgRNstzlNTrlc4rMCU7/EbGy8NgqGfVFsCRQTCjefT7f1
 vS86c6JxOY1w7rFZlO9QDOdBg/8qhPMYgLNcQ2V5nPSzV6WOfRVkFsuupuk4lnoHpuGw
 Z33mroQjOqKsPqtoa72+snchq5Myz4yEEJ3d5AV58yH6NWGPjVcQHw+NPfsmxbEM7V1e
 CAeV/ndgx60kBg/XMIuoLqqkPh+KyvJtLbxkdR+Tnkl2kMr1fam+hHy8Gtfl7AVfQIRu
 TdJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678543182;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=cv3XGloVC2G541/0D5UjGHCqoDjzOxM8cCfmAF0+axA=;
 b=tfitBjU0kYA0p23DO/Xq4Ma1GhmNQcLqZ1+PKpYH9qRt5bhcf6wjzaJv+eiwSEGzCi
 CEKDLReZkZ3Ah8m/O9AcnAbmkF6oHpVSQgpeIdTBivKTzPV9zXb8KKoaZr6pgALONxtZ
 iqyMl9nkU1mwzxgeYx0AQYHXkfBp3TspyyZdDKQ2JiIrQZrGOzpTrnJ4YQYRmZjI+bEl
 MpTErjYhltRiCfRQzyPIhvh87ReS51Dg67yv/vnssd5n0jeOaKLYor58xY8Af+Z6YkQ+
 XEO2tgCXmeanFM293tVNmGhGwowrojd8ckVVC0WMmxC9qO1NU80wzVjrgHBOLynsQSCv
 Stfw==
X-Gm-Message-State: AO0yUKUIsS6+c0p2hUrHk3F3AbHMX2Lr+QtxPpP2EkZ5jqTxVaJhgLHv
 Om2yFuKRpa2+WSY7xy7SbN1F1/WJ7slAYg==
X-Google-Smtp-Source: AK7set9ZyRRHXtmkSGBtSa5yXNI0LZnWtwQr8xU9kQkSDqTc4Sdkvx5SPCY7aZtr6peoYzu0qayfxA==
X-Received: by 2002:a05:600c:1ca6:b0:3eb:2db4:c626 with SMTP id
 k38-20020a05600c1ca600b003eb2db4c626mr6281328wms.38.1678543181797; 
 Sat, 11 Mar 2023 05:59:41 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 r16-20020a05600c2f1000b003ed1f7fbbc1sm591384wmn.47.2023.03.11.05.59.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Mar 2023 05:59:41 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87fsabh2z2.fsf@HIDDEN> (Michael Albinus's message of "Sat, 11
 Mar 2023 13:44:33 +0100")
References: <87y1ootw2t.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN> <87fsabh2z2.fsf@HIDDEN>
Date: Sat, 11 Mar 2023 14:01:39 +0000
Message-ID: <87edpvxu7w.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Hmm, in my experience there were still one or two blocking tests wit
> Thomas' recipe, IIRC.

That's surprising to me.  What tests are you running?  I'm testing with
the same "Thomas recipe" AFAICT.

Jo=C3=A3o





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 12:44:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 07:44:43 2023
Received: from localhost ([127.0.0.1]:56753 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1payaY-00017m-VO
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 07:44:43 -0500
Received: from mout.gmx.net ([212.227.17.22]:35611)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1payaX-00017Z-Fk
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 07:44:42 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678538674; i=michael.albinus@HIDDEN;
 bh=41oiGz8j1s5VF4sHpJ1UeIqrCL6Poh/l9mLqTITTVjY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=uAO0eWHLlUJyVTSj12MwAiMx2WK/QxVHmqfKRpfdQp9419EOYwU46J6e2DagWI20k
 E62645zL+6RRC4RqWroEjVb3dG8z75hJW87nXw60EjE0Q84Bqrm5N0BiGop4y8FPVB
 9+2RsmlT+DpTUfSTHG4BveGmSfbOwEgzMCCGGSo8/3QSp0GUkCucKFN4F/L476iM2H
 3AdjzX9oeELorymGnkpbP1lbsqVbv7r3E0eeYbT4QCbVegRIJAk5ode6z+56fdaslc
 o1kMWz1df+cZqHoqQev4Dhohzj27IVqITxzSAlWzDeV14Icm0ZUDnc+UZphjgiK/Xx
 NFwKCh3hFj7gg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MIMfc-1pn1GQ2bZs-00ENhX; Sat, 11
 Mar 2023 13:44:34 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87mt4jzf8q.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sat, 11 Mar 2023 11:42:13 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <87mt4jzf8q.fsf@HIDDEN>
Date: Sat, 11 Mar 2023 13:44:33 +0100
Message-ID: <87fsabh2z2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:CxU9JP04PNEXqCvwybX3CbzRgnH4EJcxlq48AAJ1quhrsUgoknX
 PnD5xl3glQs7mSfC3ldvzFbEIagpz+fUOA+E0r0MiaYurJFUX3E3D7Hx+2LxvP8E3w7PDPR
 tVBSmUl8aKEsNO6MA5T7WWrof34iw+PtDcdO6E5TXSx+8EAm5IIKO7dCQ22fCrKV7ZnoC2y
 cEKrFc6Z/PMskkiUnoRRA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:LQGr5eS12Go=;IVnMC/JQ1SRM6hrlEN6F4pD8NLC
 cc0tFWu+dbU8mZstbXl5QDAjbtPpQY0qL1p77BKEB5NLn43UduZXiZEYZ1qYxl5aTXQfjReYZ
 P5GXS+Uh9sSQXVJFQqqRN9x4fBHFz8WsInannNjjIgDJL7r0yyTWO2+R9xpDYxrCExBnpQBBB
 oJ7nmhxsn4RZjbemC1OVp8L1ZZdcUQ/DHv9EnfTOJ+xvTzUldV/fGp2OTweviBVaTAIxT6Y31
 9tbIrAnYciajZ8UWreHIPBnUf3oeegvw9zhYi+y6ilCWsT0axHfurnk8a2B+pdFl+LJNaxfF5
 Fzf0EtMmzboknUv44z4UFxA6S5bXNEB0sY9VUi3jpYZFBy6KcnBv/3AQkEooZkcTDeibDHBkq
 7AeIFPZQJ2drqIF4OrTSvH0Jw7autxfQg+IwOcP7gUoOmUE+jLmdpLwSYiEGKle3ogZz7R4Hh
 ydqVf1zOi9HYsgByWbFfMi5CSjCev3dyNWB1Z6V9JplqjPrPYQz82V2Mnw/wzYLdhndUAT01p
 T8r7wcko5IaKuF13VRfzLtK2Fd+XMo0UlF3NpQPAn0Nwft7tb7cSp7+cDZMbaAvxsaPeimTnP
 u7lYQatHCm2aXSlrQ7o4g9JmbhtTuPG+cHEkvkJhRjFyO+jWEBHzRmeqCZ3c05QR96QXHxDCi
 E85XqLznYp1VE8llXeTV9hd/cQH7hZBWw30csKghCwTg5x/b6TiSnvJim/E+iook8Ffx1JdZp
 vPiaCDMbF/fIn7T5P4dVIsWDkcpeNJGoru9220LEkW8rHhGjA+ktw1cCXACpHcNkJkSBTD1PI
 Z9G+4ZbX/gwyCd8XOiJdHKi6MpG9gwkOlYCFjVoIdF7GfT30+axtDuwIvqdo0ucs3ms/1H1YR
 qdwpTmlWrBMjBB9ngqs/qgE31kS+TZr6aj9QJRq6sXw3cJTqfAJDbaa1hBUyzGheWvmBylY+K
 ogdLFg==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

> I think the patch goes in the right direction.  The force resetting of
> 'timeout' to 0, which you highlighted earlier, is odd.

Yes. But I've tried first w/o this setting, and the recipe from Thomas
still didn't work.

> +  (dolist (p (delq proc (process-list)))
> +    (when (tramp-file-name-equal-p
> +	   (process-get proc 'vector) (process-get p 'vector))
> +      (setq timeout  (or timeout 0))
> +      (accept-process-output p 0 nil t)))
>
> That's because callers of 'tramp-accept-process-output' who call it with
> TIMEOUT=3Dnil will now see their expectations violated depending on
> conditions they do not control.  You fully control these callers, so you
> may know better, but I think this patch makes more sense, because it
> keeps the contract.=20=20

In fact, I'm even not sure that a nil timeout is still needed. This is
something from the very beginning of Tramp. Maybe I shall review the
code whether we still need a nil timeout. Because its initial idea, wait
in accept-process-output until the remote shell prompt appears, is no
longer needed, because we call tramp-accept-process-output (and
therefore accept-process-output) in a loop. This is something to be
changed later on.

A short scan over the Tramp sources shows, that there are 12 calls of
tramp-accept-process-output with a TIMEOUT of 0, and only two other
calls with a nil TIMEOUT. And these two calls are already in while loop,
so I guess it would be also OK to give them a default TIMEOUT of 0.

I will try it, but this needs lot of regression tests (I have 100+
different configurations to run tramp-tests.el).

> +  (dolist (p (delq proc (process-list)))
> +    (when (tramp-file-name-equal-p
> +	   (process-get proc 'vector) (process-get p 'vector))
> +      (while (accept-process-output p 0 nil t))))
>    (with-current-buffer (process-buffer proc)
>      (let ((inhibit-read-only t)
>  	  last-coding-system-used
>
> This is even more "conservative" than your patch, because it deviates
> less from the current behaviour.  I've tested it (first removing the
> eglot.el workaround) with my reproduction recipe to a 100% success rate
> in 6-7 experiments (whereas without it it is 0%).

Hmm, in my experience there were still one or two blocking tests wit
Thomas' recipe, IIRC. This is because the blocking situation, data is
going through the only ssh socket for both tramp-accept-process-output
and jsonrpc, is not unblocked then.

So I would prefer to keep this (setq timeout  (or timeout 0)) for
now. And I will reviw the code, whether tramp-accept-process-output
still needs a TIMEOUT ARGUMENT as sketched above.

>> I plan to install the patch next days on master, unless you oppose.
>
> I don't, but consider my alternative.

I consider it by removing the TIMEOUT argument, if possible.

> Jo=C3=A3o
>
> PS: And I also think that Eglot over Tramp does seem to have become
> faster with ControlMaster, at least in a subjective evaluation.

Of course. That is the reason behind using it.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 12:27:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 07:27:31 2023
Received: from localhost ([127.0.0.1]:56723 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1payJv-0006j9-8V
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 07:27:31 -0500
Received: from mout.gmx.net ([212.227.15.18]:40075)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1payJs-0006iu-O4
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 07:27:29 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678537642; i=michael.albinus@HIDDEN;
 bh=PwFoOOLqPvm1P6SORG2ldBbCHeIAhzmUCVe9mfpLwlc=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=sIz3HCeWWLZlvbjcbiimxY4Mj2iBUH9XugPBZJvO9hvAjJY7xxHeQNpSLM/p7JYN7
 G5PLI48xxDGYeZln+pLIj9xQFPmscptdjOG7iWk4MoMswYb8/3ADU39IsSmyllk/dv
 LWU5AFN+ClAOFDoH9MfBRdNFmwuIHZ95u0+hKienGGTNs7fCyL8DWaLs9qXhIu4pVO
 pVEYpKrsI+0JBmIFCO0C8atpz9mrfBXy8/Pp1Ueh34/mEmzliK+eRkkytyA1quYijL
 mhk8aj//iXa1u4z7nopw4Eij3AwsgdFepVpoKaIZbb2SYPwW+/hdBowpFYuhP7fUY6
 /VZE+UZHNJVGw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MLi8g-1psVCc2MGO-00HfLI; Sat, 11
 Mar 2023 13:27:22 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <1207702286.307021.1678529683809@HIDDEN> (Thomas
 Koch's message of "Sat, 11 Mar 2023 12:14:43 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <1207702286.307021.1678529683809@HIDDEN>
Date: Sat, 11 Mar 2023 13:27:21 +0100
Message-ID: <87jzznh3rq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:l2MJa3pkIO4mt7BCxddjdpsEOUOpXEnveD3jMN7IeSg9n8zzJmN
 xcc97uE525o2cjHI00SqR7JyppIDFkaqM3Z0Uwp8nEv3ED+v7676DE/OpbR+G8W+ab789Ix
 JT0zyhw4ZvGKsSNR8al9WYMliAyRlwbWPIoPTrEkAWnAhzrPcRM0foa+Zel4g7dTvjQWrkq
 BcnSKPevVph+ZoJfzCfyg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:XbiuV5tEAMU=;ljO/NXT8MXlB1UJvkdxBUaaC7e5
 802sELFG0whcOC9sm0GDHMa6Hqhvq5xvmP9xM1YXsTdAANAQgD21dPp5hDaxQ3NEUZyWLUwGf
 er/qawzzXo5ypQWjWVFpQiy7E6wYTDpyq9fihvGDUDlEiqYZ+OgyhddH150wpIY0KOmdEAd1n
 MpeBLWkj/qU2xIlf+aBL7ZB4Rhd6QZ6edo7tW3pgMIzmvuqbvjdyZp75qvWkVqMU8WA/K9Q/N
 L8ho98dsjTR1DQlhDfBEYcGeNckpKtKwbTly/Xz1LLG1PANk5etGBXsHEMV2sneIU9WSVdM/w
 19YaDFAiooCI+q8JAQTdYwMtEO39Mn8ms0WN/8pSd/AZCdMkwnPd7g/eU0ZHSCxixzpsqDPtr
 uc4Lv60CqrISisbvxE/w3V0wwH+QKcXkXvHESJ5LBGyj2p2pNVuhEoGXVUEekDjn9C3BOM4AA
 lFAXRSuNBjbrow/zi1ctSIAU/Su/nwdGxNxpbEIW1+UEBy/2Kn/TN/uO5oXgTdlsybrEj3zF0
 3qcTNG8+okstleCp/eq5oRRpJFHizari5YiGyaJ/ZctqqIkp3uDpgJinAeTKxap6mqhZYBBqg
 repLhKtJd/339cBqjFVdV/b+odlDMxtyvEXnSCxORTPAJ3AohtjS8lxyo+vVxvLCsCR+pamiu
 qb8L1KYEIc4aKS98AQh/y3vZlxSJvh6YXapUB4xMCP082DW1gjgzMvyGN1wHJe6Cpmbh/QHj/
 kFmJyBy5MGXAPgxuM/HygeucJG3vI0+KDAKZknKnkDR1S1h7WA0WN2hkKopHM9RZUWfW9Hr9z
 9ZZvffWxt+Bkybg1bnnJVBT/2ZqH3Bqr9NQWY0TWqzLuns65rBNm7hjdHnifrn+mwcmnHtmly
 dShuXoJocak3iECq+cfxEeBFMTCjGMgjGNxLUboyCgkDFf8DsHmcB4SyHpIi8Z9XU9Uklg8rV
 hM5JZnc2rnGuf6Q7Y3Kn0kZJgmg=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

> Hi Michael,

Hi Thomas,

> I'm sorry, I didn't test your patch yet. I didn't have the focus time
> to do so.

No problem. Whatever we change, it won't go into the emacs-29 branch, so
we have plenty of time.

> But mainly it does not look good to me.
>
> Even if our tests would indicate no problem, we couldn't possibly test
> for all side effects to all elisp code that works with processes. For
> me the conservative approach is to remove the JUST-THIS-ONE argument.

I believe my patch is more conservative (as Jo=C3=A3o has said as well). It
changes the behavior ONLY for processes created by Tramp's
make-process. If we would remove the JUST-THIS-ONE argument, it would
change the behavior of ANY process, even for processes out of Tramp
control.

> Thanks, Thomas

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 11:45:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 06:45:39 2023
Received: from localhost ([127.0.0.1]:56664 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1paxfO-00031k-Lm
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 06:45:38 -0500
Received: from mail-wm1-f45.google.com ([209.85.128.45]:38533)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1paxfN-00031W-4A
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 06:45:37 -0500
Received: by mail-wm1-f45.google.com with SMTP id
 o5-20020a05600c510500b003ec0e4ec6deso1762718wms.3
 for <61350 <at> debbugs.gnu.org>; Sat, 11 Mar 2023 03:45:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678535131;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=eH8FcTEHZVg/17ZXTaR+fwKFY+OrgP2TNcrwnIK5DuY=;
 b=fIdLM3GtcrEkvURlQRJRzR9G6mko4SZpTP22w1pfJFZhmjOscaeuz9ho3+CuNhyes0
 x9Wnb0Vl+6DZZubMdgdUIP5zUp1KYBF/4xxIPEX+PJI5v5ZQ4G6RBdzJTbtK4mSqphRq
 6B1i73t4DWSF8H9CFxZmFhn/mBEembd18G01E8s9gCD2HUGGptzOy+h9SZz945eUHS5J
 DcZlGuPErAVL1Gr9ERJNwVpWhzTdyg46wh0wzA9WIbL/pyz7eepR4TuOfDf15HZbAy8p
 t8QLYmDpsu+gc0ybJFriVh+5dwXqTMv+AUQ7K7GCnzIuFtf6iYep7A+2h9PYVXLaXdU9
 VmlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678535131;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=eH8FcTEHZVg/17ZXTaR+fwKFY+OrgP2TNcrwnIK5DuY=;
 b=uzzAH4KpLWoVT9knD/FFdwd6hh/DT9Ms2WjJV7INj+MkcqauqBOF73gXHVOeauGEaS
 1UmjroMhsMCEqxkQnaSlnhVKoBXORP0L/aEsyK+0c7sQC+KRmfWQQMQBCcxGNc84QF+D
 bWS1pqBYQ7qyTyQ+6HlFkJjb/9/cez9rjscCU3OchphZF1yLWKcwi5/aZJqAA4fhkrgL
 /CgkzwJbb8wFENL1A6nqK0CaDjMax5JmRpl7bjI50Y2dazCR1wAEZOJhHifKuwRkhlGx
 3Ifa41bV8dm1pKS1A4t6EByElnO77oOZdGNLElAUXYmi2VITJbFDJOhnfjmQOOoUHzSU
 FCiA==
X-Gm-Message-State: AO0yUKUKEZii0KKPDVsrGpdVZXNnIg3olHyo0BZXKi9PAPKxeUNgqxE4
 7CCeDp/nmW8gNf6qrbcioKLwKKl16PE=
X-Google-Smtp-Source: AK7set/uod6vOKONMs18oXkU54j7BVDhI3Ux7tkiRUv5iaCb9llXFoTw7JgAvAc3Os3epGQHSLlK9Q==
X-Received: by 2002:a05:600c:1d97:b0:3ea:f132:63d8 with SMTP id
 p23-20020a05600c1d9700b003eaf13263d8mr5478110wms.5.1678535130886; 
 Sat, 11 Mar 2023 03:45:30 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 l5-20020a7bc445000000b003eae73f0fc1sm2539360wmi.18.2023.03.11.03.45.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Mar 2023 03:45:30 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <1207702286.307021.1678529683809@HIDDEN> (Thomas
 Koch's message of "Sat, 11 Mar 2023 12:14:43 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
 <1207702286.307021.1678529683809@HIDDEN>
Date: Sat, 11 Mar 2023 11:47:28 +0000
Message-ID: <87ilf7zezz.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Michael Albinus <michael.albinus@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Thomas Koch <thomas@HIDDEN> writes:

> I'm sorry, I didn't test your patch yet. I didn't have the focus time
> to do so. But mainly it does not look good to me.

> Even if our tests would indicate no problem, we couldn't possibly test
> for all side effects to all elisp code that works with processes. For
> me the conservative approach is to remove the JUST-THIS-ONE argument.

I agree that JUST-THIS-ONE would be cleaner, but I disagree that it
would be more conservative.

I can't speak for Michael, but in my view, "conservative" is a measure
of the amplitude of the change.  The change that Michael and I are
proposing, despite being objectively ugly when compared to removing
JUST-THIS-ONE, is _less_ removed from the current Tramp mechanisms than
your idea.  Thus, it is safer.

> I digged into the history of the JUST-THIS-ONE argument. etc/NEWS.22 says=
, emphasis from me:
>
> [...]
> integer, also inhibit running timers.  THIS FEATURE IS GENERALLY NOT
> RECOMMENDED, but may be necessary for specific applications, such as
> speech synthesis.
> """
> [...]
> Because there is no such library in Emacs, people either write their
> own code for continuations (eglot?) or do too much work in a process
> filter function (speechd-el in 2004 which led to JUST-THIS-ONE).

I think this analysis is very interesting and valid.  Not necessarily
for fixing this particular bug. You should send it to
emacs-devel@HIDDEN so it becomes more visible to people who may not be
following the bug tracker.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 11:40:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 06:40:24 2023
Received: from localhost ([127.0.0.1]:56660 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1paxaJ-0002u6-Tv
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 06:40:24 -0500
Received: from mail-wr1-f45.google.com ([209.85.221.45]:43928)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1paxaH-0002tr-PR
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 06:40:22 -0500
Received: by mail-wr1-f45.google.com with SMTP id e13so7326547wro.10
 for <61350 <at> debbugs.gnu.org>; Sat, 11 Mar 2023 03:40:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678534815;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=K0iTRJ1atoXjCUQAKlsCxfKTxr+joBGUMOT2QIm7v1w=;
 b=SNrvWJ+zEhEZZ9qg3euM3spj1cgf7qKsUb64io6slrGdDYjVo0LliUPDQNTIuiGlyV
 DRLMOtOTWOX/d3oMHs1sJNOaz7NnJv6zwruK8YXyEqzCyovbUXzY7uTPWu7im3YhgqEJ
 44IVuiJrMU+28jGYWgW24Ec4O6VtxAWgDAR99BmzSj53FnARIzHPv/8nDFX6RXGS4FxC
 Ty8996dytaTHafwahpKVwkj6OmGDtn/ksDKy+chHCEof/1W0JmfF3dtozEIp0vr6qFW4
 AMGJRbG69cQbYn768yIaNm9nw92a8FUpTzbPZ0mTCobGmj9Kh+oR1E6bUU6ORxPd7fT/
 iG/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678534815;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=K0iTRJ1atoXjCUQAKlsCxfKTxr+joBGUMOT2QIm7v1w=;
 b=q0uJH3UXh8mRLL6t4yBOnORAKVP9F0TzgGZvQhLHHA9KOus/DHZuQu2YpyPnYJpT0z
 kQvd83t1xWCH8agYxKLUtoRNUH8pvaSFUEwbvINuRaX8qBuNrd2gM8FxFIkK5NuGb0Gx
 ZRe81kRi3YI2udVMbyitwScLHvD6eQs0e005XChTHDnmlPCycqq7RmYmD0e9ImVLnpVI
 p6V3wnxT6ci/kFGECfBI1yffUBVt5exI2wc3tuJYnedBkauB5bvfW6whrYAqu8D1mOVO
 CuVsbyxSAi+v6ENHqQFH/4d5xiE6DynGNKj/mHO06uNEOp+T2KhLpFXemo2IB/T+1knj
 wdkg==
X-Gm-Message-State: AO0yUKUjiI+Hbe4JOvbdbQSG+18IzzLegaRkrbSm7dQgHAkw9HRzDfKS
 ABT39+QHKXRrV7Wc51JqSAj9DPRdB/s=
X-Google-Smtp-Source: AK7set+CjqAQIPK0q+41rUr6ozbik+6NCg0ev+wRqYNE2GpSvzjLBjfdAwy4c8jxyZUFzvmjT5av2w==
X-Received: by 2002:a05:6000:1b0c:b0:2c5:584b:4f65 with SMTP id
 f12-20020a0560001b0c00b002c5584b4f65mr18400078wrz.32.1678534815522; 
 Sat, 11 Mar 2023 03:40:15 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 p10-20020adfe60a000000b002cda9aa1dc1sm2300217wrm.111.2023.03.11.03.40.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Mar 2023 03:40:15 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87pm9fk6ht.fsf@HIDDEN> (Michael Albinus's message of "Sat, 11
 Mar 2023 10:00:14 +0100")
References: <87y1ootw2t.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
Date: Sat, 11 Mar 2023 11:42:13 +0000
Message-ID: <87mt4jzf8q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

>>> I will do that later.  But 10 out of 10 successes in your testing is
>>> a pretty solid indication that this is on the right track.
>
> No further comments, so I guess it is OK for you?

I think the patch goes in the right direction.  The force resetting of
'timeout' to 0, which you highlighted earlier, is odd.

+  (dolist (p (delq proc (process-list)))
+    (when (tramp-file-name-equal-p
+	   (process-get proc 'vector) (process-get p 'vector))
+      (setq timeout  (or timeout 0))
+      (accept-process-output p 0 nil t)))

That's because callers of 'tramp-accept-process-output' who call it with
TIMEOUT=3Dnil will now see their expectations violated depending on
conditions they do not control.  You fully control these callers, so you
may know better, but I think this patch makes more sense, because it
keeps the contract.=20=20

+  (dolist (p (delq proc (process-list)))
+    (when (tramp-file-name-equal-p
+	   (process-get proc 'vector) (process-get p 'vector))
+      (while (accept-process-output p 0 nil t))))
   (with-current-buffer (process-buffer proc)
     (let ((inhibit-read-only t)
 	  last-coding-system-used

This is even more "conservative" than your patch, because it deviates
less from the current behaviour.  I've tested it (first removing the
eglot.el workaround) with my reproduction recipe to a 100% success rate
in 6-7 experiments (whereas without it it is 0%).

> I plan to install the patch next days on master, unless you oppose.

I don't, but consider my alternative.

Jo=C3=A3o

PS: And I also think that Eglot over Tramp does seem to have become
faster with ControlMaster, at least in a subjective evaluation.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 10:14:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 05:14:55 2023
Received: from localhost ([127.0.0.1]:56621 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pawFb-0000T5-8W
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 05:14:55 -0500
Received: from mout-p-101.mailbox.org ([80.241.56.151]:41500)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pawFZ-0000Sq-9D
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 05:14:54 -0500
Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4PYf110Vd2z9sST;
 Sat, 11 Mar 2023 11:14:45 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1678529685;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=fG+lGj5Wc/6rlrlaBbBYSwmILPe+21OZpo1geAOTTbk=;
 b=jWLDy8qr/xCGE7MIJPVJEM9BL6Upx82E7ch5Ey+1gMasgnt9KPzMCEI3Bcp+nOxi7osMX+
 d1HHg37G1IEPHO9XtUAZCUVrulTqgWV7D20gOI6bDl6nCoCocOGy2x/eP+PjlDtcgzSALn
 EVcweabN0l+rR/ZjKYh1fIgEuAMWeMCjV7GJ14Xps3w+g0tZFrLXffD3DsxfNLXPLSpPQy
 sYAfy3ymK5QYXr8rHysZl13dC7fLNbCSkDNwjOfo0IgrwgHqp+DKzX6Y6g6s7aCLo/M0OA
 a1oHZWwI5jpSEgtNa7c7lwUMaQ2EjAzX3v4r4KnYtvsZ2pAmTYDuB4rXpAps8A==
Date: Sat, 11 Mar 2023 12:14:43 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>,
 =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
Message-ID: <1207702286.307021.1678529683809@HIDDEN>
In-Reply-To: <87pm9fk6ht.fsf@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN>
 <87wn43e9ht.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN> <87pm9fk6ht.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Michael,

gute Besserung!

I'm sorry, I didn't test your patch yet. I didn't have the focus time to do so. But mainly it does not look good to me.

Even if our tests would indicate no problem, we couldn't possibly test for all side effects to all elisp code that works with processes. For me the conservative approach is to remove the JUST-THIS-ONE argument.

I digged into the history of the JUST-THIS-ONE argument. etc/NEWS.22 says, emphasis from me:

"""
*** Function 'accept-process-output' has a new optional fourth arg
JUST-THIS-ONE.  If non-nil, only output from the specified process
is handled, suspending output from other processes.  If value is an
integer, also inhibit running timers.  THIS FEATURE IS GENERALLY NOT
RECOMMENDED, but may be necessary for specific applications, such as
speech synthesis.
"""

The argument was discussed here:
https://lists.gnu.org/archive/html/emacs-devel/2004-08/msg00141.html

and introduced in this commit:
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=107ed38d4bdec03002b2a23619e205722cd5b8d1

I don't even think that the original motivation for introducing JUST-THIS-ONE was valid. Unfortunately there was not much discussion about it. It was argued, that it would be hard to make a process filter function reentrant. And I think that this was an invalid root cause analysis to start with.

First, the emacs manual says[1]: "Note that if any of those functions are called by the filter, the filter may be called recursively." - So you should make your filter reentrant, If I understand correctly.

[1] https://www.gnu.org/software/emacs/manual/html_node/elisp/Filter-Functions.html
A process filter function 

Second, the manual further says: "Quitting is normally inhibited within a filter function". This indicates to me, that a filter function should be "side effect free" besides putting its input somewhere (e.g. in a buffer or message queue) and trigger an event if there is enough input for further processing. This also reduces the risk, that the function could be called recursively in a damaging way.

It seems to me, that there is not yet a standard way in Emacs for continuations (or event driven programming) although the Emacs Wiki refers to the emacs-deferred library:
https://www.emacswiki.org/emacs/ConcurrentEmacs

Because there is no such library in Emacs, people either write their own code for continuations (eglot?) or do too much work in a process filter function (speechd-el in 2004 which led to JUST-THIS-ONE).

I'm sending this email now to give you a quick response but will continue to read: https://jyp.github.io/posts/elisp-cps.html

Thanks, Thomas




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 11 Mar 2023 09:05:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 11 04:05:35 2023
Received: from localhost ([127.0.0.1]:56553 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pavAU-00071V-Ry
	for submit <at> debbugs.gnu.org; Sat, 11 Mar 2023 04:05:35 -0500
Received: from mout.gmx.net ([212.227.15.18]:59123)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pavAT-00071F-6B
 for 61350 <at> debbugs.gnu.org; Sat, 11 Mar 2023 04:05:33 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678525527; i=michael.albinus@HIDDEN;
 bh=r2CUtsob+rzR+mJzwEVkpPU+e4TTX2C/Gb/jdzIiMHA=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=B8zvwaxbmj7eEFsYaqk100hVoAsTQqLJ6BaLtvi+pBaUi1FFRharxvdzly2KvK8Go
 F9g5U5gW7OdTL+HydA7gsATqVDHHK80j+QqMZ3Yz9b71eBg79/EOvTvcOiQkAcG9eh
 SQoro4vzEM6QJ3xA6g0qNFE/FphRWq8sT91QRwgU90B532ENPNODKthFSe7z06yXFi
 mcx4CQX2OXITuq8O99XfFlMnt0GIr8CFwnG6Pg81HpMgED4YDowdHyo6w39ITuIY0c
 olZ/5s+GZ169YHEZo5LJgbznVXIIb1H94VPDoiaLKTxtnxCHz26Bl8HB1QUrZqh/zn
 IbZNyDfzOcIcQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N0XCw-1qV6iC0G6W-00wWrF; Sat, 11
 Mar 2023 10:00:16 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87mt4otyy1.fsf@HIDDEN> (Michael Albinus's message of "Tue, 07
 Mar 2023 15:31:50 +0100")
References: <87y1ootw2t.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN>
 <87wn43e9ht.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 <87mt4otyy1.fsf@HIDDEN>
Date: Sat, 11 Mar 2023 10:00:14 +0100
Message-ID: <87pm9fk6ht.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:I0yBbdkdp3Cj8Y+KNKhSzKmiWolnf/M8FdLaAK68MuaCp83WyPB
 rBn4bnNcPej4us98/E1aqve8QkWtMTwcUZ4p8nNePc4C3tHm1GKRRNSr/a24iGoFfFCsZOL
 yGGBj9GGFGh1y4fsMhvebNOiIq3H+MeuZ3GsnZZqnRxQ+1alQ4w3ZNtWpAKZgzHkvksRFY+
 lbYoahXZA6hVGp9VqM9UA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:MxNZwk86El8=;l5Q6ciW51R61ISDUSK/djjh1D4u
 Sqidp39rqWYoHPfuh0HGZ+54j19iLxiFoedVFBs6Drtgq9FxSzJGO8d3yyuWWhZgL6dfyLW8U
 IHOOJy9CSh5qwxzmiuVMPFvpBGWK9eZIh2PQV/Mi0W+FK4ra9iMca4iEy8sO8ifoXdYYMQPO8
 g4V96RttItoEtPSAfftkHc8BsFk0ftl2gdq10gvAOqsNZKfyDLfYmw9guzvwuqW084sZqq01y
 MPGYQJuzm1/cCCQtGxG0RHC1RDnK2TGABEXV+5ZNrbwti/3i8rj2Bfr0Ymi8f7GqtSQu9BZ7V
 rSatVW/a7awwpQaPk+D+5FFYjm6MR31nDO39Jmcq/2QT7HzPGoNhwLB7U/McYib0V3Gvp+0Tz
 01wEOYasCRTBlGvBX+VNx/A60LMNNUD8tILbtaIDICC93oWqbUSBPvVFFRlxu0jBEXaTrDhw7
 GRsCO/MJB/BV4EDTZpabVmnR6qOt94IF8sa9hiZL3utkAc1GZxSpzsihl30uXVw6lIkxd68LX
 cHQ0hai1w10x4uvcOAe0w1pwsXLTvoMlZBRugjDRayIhM2dgmW8IYBJ057L8erul7q6iKqL7s
 Pk9cuKrfLbKsHTRDNxRwWNdvorE2gQYGR4OpZQP1MvIzy5lJIKY0DmPYilmF2Y3r5bfikRDSk
 9po7DWdj2mDXLVIs+urieNoVsHRoSA0Y5AFuDOaViXeTg/skHbTNPmk39kCrbKXSTBpD8ZZdy
 UfvmCA2K9twEEvUIoSbrPiQprkk6s4/HTQeBW/60FmV7CxPD7iY/yyJwFBq6cmUmUbnouaONq
 XZorE3I1EJVyxgdXX4G93Js/mRJNW2BVZYERDZu7hGba7BFmK0tUSl1JIBaxIicERYEp88sTy
 npgDbIrdX47r5+D8qCZgTQvvgrRzKXZvLIgJBi49ltiGsGD0XzddRYGeUcnI0cwDeUYpazV8k
 aHfO+eAVdEVac5Ry3sfytg3J4r8=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Jo=C3=A3o & Thomas,

I'm back home. Not fully recovered yet, but able to sit at may desk :-)

>>> Pls give my patch testing, in order to see whether Tramp still blocks.
>>
>> I will do that later.  But 10 out of 10 successes in your testing is
>> a pretty solid indication that this is on the right track.

No further comments, so I guess it is OK for you?

I plan to install the patch next days on master, unless you oppose.

>> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 14:32:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 09:32:02 2023
Received: from localhost ([127.0.0.1]:44934 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZYME-0005DM-Aj
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 09:32:02 -0500
Received: from mout.gmx.net ([212.227.17.20]:52805)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pZYMC-0005Cz-6b
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 09:32:01 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678199513; i=michael.albinus@HIDDEN;
 bh=SSRgBeppsl2pA75hz37Doa1qsUllxGajrCUypkIVlys=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=kLrCJJxUeG5xHYrdL/vLX/UXtuNtSia63noemFG4Hy+6liAxRfG25KZXvQxq4GczY
 YCx51i5Ket56Ewn40Cz9X/2DMjfmQs8ZgPdzeOcjzDtG1wH6sC7SN4cc5LBV26l/zY
 Fzt2dZ0B2wmdPovz9EXKs6hn5TcK6GHLnqoOtw+DeXJ2UuRv3QfKLPUPH0Nq5X/I/x
 TTuUQAPa1nthNQlvCyAYtJQq9Ld/l9RGhrmC+KG9FWay4kqMObzgqxf0L3cGC3QqJH
 EgQYoh3YSK+Tqvv72IEsMhrXOgZV/KBC8iGn6uyqOc6SXf/3l2V1AjKwyLNf8WWq/E
 KwUi1dBLzDaZg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MHoRK-1pl9kF2Bjq-00EvfP; Tue, 07
 Mar 2023 15:31:53 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Tue, 7 Mar 2023
 14:03:34 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
 <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
Date: Tue, 07 Mar 2023 15:31:50 +0100
Message-ID: <87mt4otyy1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:inyuzJfiAfnSTYkaJlfUjTmuq2Aoltogg7JeiDPLBbGBfY2AEMP
 RgHhsc4yTgZszsNPvBdJuq30BdchP27Eo67ZOKWYRSmknHEQjEdW85Su4oYD+weaeafY3D1
 omriQPikatstKggh4ujMAjlpfxexP/2hRQL04oMOKyxtTwP/owYJ0HlmzpoNgli6Zstcfbp
 ofGlTYOPsb9DbmvYpmqig==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Mw0v2yH8wcw=;5fP4e/SRrZga4ngpzpRh4zHxoEp
 sVDXMTVY8apFmymA2JqzD2EMHm63qUAp7Pasn9/Q2pLnrc7bvoWhrSBOvgvnInnSG+GHM7YGm
 Ap8FUDcLt2dWOtb5uc2y0f38KQkfygN8QCALBM7OPEFm0wTz81sOyC2VdC1Kgvvd/mcvX4OSz
 hdc5uSMPuXq8xePKjFdAkYAF7mKTsfjRyZ2La6eyOLtx60z9RfeYWSISai1Mi052Bn/amBxqb
 jHPGIFNeW8YlpHfgDJ/ML1gGEdRKoahJ25yDOuR1pAg2RQNq/pKsrQhk85UQW6nFDPomc4x8s
 oqJ8hmVZQn8wZlnvdqGdDESwmMP7wqqIa/TiwE417tpHXsTR2xpoC0Ow5p3aR1K9xHAlIq+ij
 fnPxX/RPzZtT/EmhluSW2C9Tsj3boAMyFV0rjHddqEhYvnGMruQHYrQiWY8v60/TJE9ooeUNf
 JtBsFL9sc4VDMIp6iLu25akg3Sc0UrlGx+p0N08pB0LWC4EY86MWy7SpF0UACVqXC1gth/UuA
 EnyAvrRf0z3h4E0By5NU46Ujj0kzMiciozKSmDJ3QfMr6ePwuKdsk3s9bkJ1q6hLVGPO1+Ar5
 GfS33tg6fz9D765EYMm04zGaTRIjxYUzKDykXSumUoWHwg7CffPTTmQHxWbIDBUTJFDirVZ3o
 jL7sqzvSy/IBUi0tCQEf9cJiINNcYApc56frQZ4e+a45XpIVhEhBMSE+usnb8MHjzi8tskYf6
 noMwZHgk51yytvdILwcjRHM9mmzpvAtCl9AmxRslOyEHuV0K3FeCdJHtI0tukmpxgoaDxA9EX
 V1tsBbnTHa4BEhQvcwnRiV9sR0Jz2eO8N8SWF0gEOAshuWwyK5/QFS+airTSwvyImaiBM6Kpb
 IZ70uZnCtuGi4AIv/j4XN63Gl3S7vMw0myPQtzgklRXqzkw5r0dA5QG1Hm2u2zO1olR9QKFBR
 W+Vkjg==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> > So maybe you meant:
>> >
>> >    (while (accept-process-output p 0 nil t))
>> >
>> > as suggested in that section?
>>
>> That was my first idea as well. But tramp-accept-process-output itself is
>> called in a loop, so there's no difference in practice[1].
>
> Hmmm, I still don't think they are equivalent.  In tramp-a-p-o with
> TIMEOUT set to nil is where it normally hangs, right?  Well then, if
> it does hang it will _not_ be called in a loop, by definition.

But the hang happens only when there is another process using the same
socket. As soon as such a parallel process is detected, my patch does

--8<---------------cut here---------------start------------->8---
(setq timeout (or timeout 0))
--8<---------------cut here---------------end--------------->8---

No blocking anymore.

>> Pls give my patch testing, in order to see whether Tramp still blocks.
>
> I will do that later.  But 10 out of 10 successes in your testing is
> a pretty solid indication that this is on the right track.

Thanks.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 14:03:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 09:03:55 2023
Received: from localhost ([127.0.0.1]:44896 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZXv1-0004O7-1q
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 09:03:55 -0500
Received: from mail-ot1-f41.google.com ([209.85.210.41]:40525)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pZXuy-0004Nq-KJ
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 09:03:53 -0500
Received: by mail-ot1-f41.google.com with SMTP id
 m25-20020a05683026d900b006941a2838caso7187828otu.7
 for <61350 <at> debbugs.gnu.org>; Tue, 07 Mar 2023 06:03:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678197827;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Zy3Dot4NNlRZIxKRLUljvXRkDUb2In3oXpKNF6D6ZnQ=;
 b=dBIxDzrxS7A4hrJLniPD4L5SiBwdGteFjmAv/Z8KPSdxhXWhtQ0sDUT5QPtAsYAT7W
 UutbGMZeNc2SGqYeYCCBKyRdAYsFONQ6vbfnnIAOIrAfKQfHtuX00+HNNju5Va7i1pn5
 YYq+gwUWJhDjI6SqaVot3B6Kv6J19LOJrXJhLIGhgynMazUNVL48sMJFfLqNpXVHfAE1
 n2nLe/6EEXc9qf4gE2DchKYn+C3uiYlCMd8wlXzcw7yaOd4fkEkAQ8EKggbQ5TNj9cBh
 hVHUxJcI63irVVfJDECszkMbQWmdk2cJ7pZGWqW23ojJmVYPIsadTQ8r4BRc8cLbOef7
 TykA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678197827;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=Zy3Dot4NNlRZIxKRLUljvXRkDUb2In3oXpKNF6D6ZnQ=;
 b=k/KysQVrpMb9ULCsjshRFU3nrjoQnsFRlQQZ/fX6XZSr5XEeGWo0XHq1sRFA29yR7H
 qYYFXSD/KLtPGx8gsTaD/KM0IytxuQkxIWDLuHlFpTEHVW716MaGjnIAbINNTU9ylwaB
 avvjNajIqXceH/GYLHyG83ie6GSlpOkOnVGtRJf28QGHX6lm7eU3Xt/nvKOoRIJqj/dq
 OAwXF43rKVTt9WDvY95nTWSP3KMAu5Ub3DH5yfXEzc+YD/Hn4qF3z9zTrLWnZ1xEE6mm
 d2fRNq1roVmbSv3N2rzE1jvkkXMzw8xfgaJ1nGEhIIck4qqqmcK7VDyfKyLxU7zZgJVX
 g5Dw==
X-Gm-Message-State: AO0yUKXI927xdcXSpNHyxWQCjE6NMcDrxccmzp/gwMe5wXNFFq4ulfk2
 0TPVJOkGeYK3YrInJzMF2wJUPZulChRv4kiNwLc=
X-Google-Smtp-Source: AK7set/oxEOME3stzabEuaJxC6gt7TWckXnz1IsqLIVQi0WAu8oEG8Zp/kblvtYHVYfLrWqngqK2Lm0NdjBEXnMhKgk=
X-Received: by 2002:a9d:6112:0:b0:68d:4b7f:e993 with SMTP id
 i18-20020a9d6112000000b0068d4b7fe993mr5070639otj.3.1678197826115; Tue, 07 Mar
 2023 06:03:46 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN>
 <87wn43e9ht.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN>
 <877cvvfnp6.fsf@HIDDEN> <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 <87r0u0u0rl.fsf@HIDDEN>
In-Reply-To: <87r0u0u0rl.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 7 Mar 2023 14:03:34 +0000
Message-ID: <CALDnm53Z1QWo8HF_JZs8tY0kRQMHL1VEHXFpNcNw1gf31SD3EQ@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, Mar 7, 2023 at 1:52=E2=80=AFPM Michael Albinus <michael.albinus@gmx=
.de> wrote:
> >      [In accept-process-output, ] If PROCESS is
> >      non-=E2=80=98nil=E2=80=99 then this function does not return until=
 some output has
> >                                                  [^^^^^^^^^^^^^^^^^]
> >      been received from PROCESS or PROCESS has closed the connection.
> >
> >
> > Note "some", not "all".  So while less common, I think the hang
> > can still happen.
> >
> > So maybe you meant:
> >
> >    (while (accept-process-output p 0 nil t))
> >
> > as suggested in that section?
>
> That was my first idea as well. But tramp-accept-process-output itself is
> called in a loop, so there's no difference in practice[1].

Hmmm, I still don't think they are equivalent.  In tramp-a-p-o with
TIMEOUT set to nil is where it normally hangs, right?  Well then, if
it does hang it will _not_ be called in a loop, by definition.

So the prior "hang removal" a-p-o call that you added must _still_
be made in a loop  itself to ensure that the outher existing inner
call:

  (accept-process-output tprocess nil nil t)

will not block due to the conditions you described.

Regardless, if this were my code. I'd put a big fat FIXME there
explaining that I want to remove the JUST-THIS-ONE, but I'm
afraid to :-)

> [1]: In theory, there's no difference between theory and practice. In
> practice, there is. :-)

hehe :-)

> Pls give my patch testing, in order to see whether Tramp still blocks.

I will do that later.  But 10 out of 10 successes in your testing is
a pretty solid indication that this is on the right track.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 13:52:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 08:52:42 2023
Received: from localhost ([127.0.0.1]:44874 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZXkA-00044e-Fw
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:52:42 -0500
Received: from mout.gmx.net ([212.227.17.22]:45029)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pZXk8-00044T-9q
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:52:41 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678197151; i=michael.albinus@HIDDEN;
 bh=rKxpPH5kCPj8INlot9UvyIJrWsASqfdTguyuUonhwzc=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=BYKEd12mPMxha1s808E6eWaXNyRnLWIelPU7QU9RTBlit5aK+WI1zlJI80EjL2pjF
 h+V6JE7EzoNuET7LNPyJsos246HaZJJbAAzwnKpTAnAaiNU5WYHWdnqobnkKYuLgiV
 Zc2AsRggfOZwMxgLj5VgRrgLndbMJf1yoC9n4MN12oTM2KGLn63pWUCu8EKO+H7doX
 j2KMLG12YYGTkr3EIZs0BhPiwRulvd/6fqnhlzZnfHBdK8lii4EF0oNvu8gf8PAmCi
 M7r15MyL4BK0h/RPUMVlWkrtGMosKLkAV/EnSNqGVuo9vtC8Cy8cbQEHf4IrTlrIQZ
 SnQmNVCu/kBJw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M1Ygt-1pava81LiN-0035QW; Tue, 07
 Mar 2023 14:52:31 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Tue, 7 Mar 2023
 13:33:48 +0000")
References: <87y1ootw2t.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
 <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
Date: Tue, 07 Mar 2023 14:52:30 +0100
Message-ID: <87r0u0u0rl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:c4f3ft9rpHSlUyOo53hUK2gVGMCNqXsQsHYGpfrrNV3UzesGatL
 BNMwE65q01rw6cCgqGXMLUUtyjVZ0/JOyzHd/nQS7iyYZNyFtWYYnkxE1+KQ02yDTc5u8ef
 VMYMgAMCCkExrvSsDQU7AChJp90o65JD+7Vs7/tQHH8WvZ1A6oyU+k0YdAgH/CgMJhdKGGQ
 ugCJ2aYLJKZ0cHNzwy1og==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:HtYKM/5orXM=;+fR3sydBG1iGXAhxF23oZM4kHu+
 LxVVgyIHbO+t1D3kfNXKqQSyg2/6NO1iZSZBJu7HxNfu7+5ruhcENVLhrduRYG9x+SCk9hjAX
 cmwCW5u5+TvhbMTpBSjkO3Sbrp5pqgTiDzRAemLun+LRzSTuEjQD8dZc/HlryvwuVZ5QXtsMv
 tH4aMMKGW2RMkDlSwcXQgwGlVwElANip8iDXzt9fRKXlH1jDuw8yiYqmVNpAWfeRiikLIIwRo
 BEY1EznkjRxnCElSPRjwlqQILdeM7EvGyCa7DUkbkxxT2SOFGmxTOUJH0JhkOz1ugIeXw2xK+
 hHYYCcT7ZWdrfEoJZ1HKbPmW6OKObjr+g4dHiqfdL6i7/KSpQOsDBdCsxMlzbAwZ7y3Tcpocw
 KYV9DR9l5IKLU1zfnuUhVSbcNXDk80bB8OwhtgiZhYeZ2oUt3HW3vEvw5WuN0jGNjsHtHGQ9D
 iHrttdJWbGeX2Za2Hv9lTDaStWnC39kNAVjrlpTaqVICDS4TNisJYeNp3yWDKqL2FORKwMewQ
 O0601Tzgk4XG3qZ79sz6g5fnehaR+FxTjIEEsAQh1tkFAM/igjW2AWeDHW0wiMy++KQX3pRAz
 +vJlK14+Uj8LouusFMthc/yupGcoMdP0L3AD5iXtj1oiLJOePUbwQzIzw5zOGpFmDJOk5+xHf
 e4SAA/YEQza9ULOPHgyL9vT30xR1rxi5z/AKkhywEJFUiNk9RXrLpUM4CtKmUOL3T53AkTD7z
 T+npgwE7rCnn9F6a25LlVjORGrZXi/V+QCv55KuG2iWwwXJBXmGUXhZIiKsiExOOrIx2ZAInH
 mXJPsplEvAD9CTxbUC3zOpTtNACwuMn9g8uufvNLhG/x3XMOIEkZAquEvS7PyRTATEn0VdfYd
 xU7iKpF7dVtA03AP57K9kNi7ubmWLm69//9Gdl1ZtxOa5NUXyWtzzu5W0auyYWFwdx+YMWTSC
 AGY+H4vuRhEVNHdHA2I4VnILr4k=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> Thanks Michael! What is the advantage of this patch over just removing t=
he JUST-THIS-ONE argument?
>> In both cases tramp is triggering accept-process-output for processes it=
 does not own.
>
> Yes, I also ask myself that question.  Though here, Tramp
> has "shared" ownership of them, sort of, so it's more
> conservative when compared to the current mechanics.

Indeed.

> Michael, your patch goes in the right direction but AFAIR
> a single accept-process-output is not guaranteed to bring
> into the process filter all the buffered data.
>
> In "40.9.4 Accepting Output from Processes":
>
>      [In accept-process-output, ] If PROCESS is
>      non-=E2=80=98nil=E2=80=99 then this function does not return until s=
ome output has
>                                                  [^^^^^^^^^^^^^^^^^]
>      been received from PROCESS or PROCESS has closed the connection.
>
>
> Note "some", not "all".  So while less common, I think the hang
> can still happen.
>
> So maybe you meant:
>
>    (while (accept-process-output p 0 nil t))
>
> as suggested in that section?

That was my first idea as well. But tramp-accept-process-output itself is
called in a loop, so there's no difference in practice[1].

Pls give my patch testing, in order to see whether Tramp still blocks.

> Jo=C3=A3o

Best regards, Michael.

[1]: In theory, there's no difference between theory and practice. In
practice, there is. :-)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 13:47:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 08:47:33 2023
Received: from localhost ([127.0.0.1]:44845 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZXfB-0003r3-5d
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:47:33 -0500
Received: from mout.gmx.net ([212.227.17.20]:55463)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pZXf9-0003qq-43
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:47:31 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678196844; i=michael.albinus@HIDDEN;
 bh=9PRwjspZW58c7T3kqogO/OXh57/3knbswy6swy4HLK4=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=jeChY6bvo+92zDeiFCvu4k4BeRobYxsl1p/t/SiW4IT7kdXOkzi7f2wPTCyMhoCX8
 GJjlRcGGNJN82XmSmwQsHbezYb4HSC7dlCYRHDsYY3TGZakbPeQaPOZw5d0VXD+C0q
 2tqqlAEtKkbXrqEeSsN0utgfwRPrS5ncLN4y7nAodTGqqQJV9/cFbkEs+/vvICcV2R
 oHrJpk7bzHkcV2ThDN+FDhQpkOQz+eGlYn+sY8VUM/x/g0EMDAL3UHbXc+30KsVmDz
 F/k1x+4rCrVUEjwSxqLFJbXDrX8rSWbmP4NoPHhbWXRxjLdj7KnVxHyc02X0JO0D9i
 KIJDs+qpw6zvQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M3UZG-1pYzhG16GI-000g5m; Tue, 07
 Mar 2023 14:47:24 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <31964054.380679.1678194256931@HIDDEN> (Thomas Koch's
 message of "Tue, 7 Mar 2023 15:04:16 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN> <87r0udvmzr.fsf@HIDDEN>
 <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN>
 <87wn43e9ht.fsf@HIDDEN> <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
Date: Tue, 07 Mar 2023 14:47:23 +0100
Message-ID: <87v8jcu104.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:pziRb13YYkUKVef0ngiLymFH9PijLYQwdLBkMaT9/RRcXLRMBPo
 apkhg/S6Yy/TwStOZ+utXTVFv+ilY6H0+vIsdA+Ms8u2sI+OkBt7LU2XopOef56e/pS/U2x
 42uSWdUqf1G0PgZg0Nr2Gma7wEESjCjhBHz0Zv0/uUUCk/OWHkKs1dp53h/WDBoDwxe5VEy
 QhnndDDA7olkphxBPeYcQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:5oRpljiAFi4=;ZP7sMtQ98kEHnlMVHd+XpW20Wgk
 XxIb0c06DlNtyI4dEbwyKa9NCWx+qVV+8G0Ypm0PJjmnhxq0vRd2p8rVtHmHWJrApmcfMtfzq
 bflQv/fuPViXzqDZ4K8NtSvrT5D49VwP0Gw0zarelxVm8w9uEZbOGbh3gfpT8h9FEJWItnymM
 GJ6ttDOgOAjdcKHjFIG2XsKjUlI/eGf8wPt88LUjUIA8YxNUcNUxnzoNLbgUOG4DaDC4YFb1X
 AEokR4VAZWKbt0zTGBZIu1GVWc4l9ggshvsptrhKMiNBGa9zUZK+iGyUFtBuqYfC9kowdUrfd
 GQq1VU7ZoZdxtMFBBWTNGFAB2QVXYdNuckGZXnpctCpc7Fg4FyEbYQR4xNY7tRDPBy8WA8wVq
 Msek71Q43j+q4QMmh3nemhVDg//sKZ1ZuabI42mbuXod90bR1t9ZlElbT7Asg8d8O2MIS2emD
 F7b0Gs9migZqIm8SUMKYY2kya2Svjl2DRDIgldw8h1VuUN+2JiHzXMxA2NHxkdvSTrRSWes67
 y3rGr8BUUeimXjn6s93WfWgroarwy4Pa6qzAnnHhEcLr9FlEPyR/IULfNx1TkA3+99r8+/YEU
 8TkmzAnkmZewhxWliGnGqpKBDXUw91dzM1mmOJDQGNPZ24Hf8nWABqY0tdPAxlQcegQak/ByE
 5yKhnN1AxR7AoRhOSMNyUi5ZwrQaOrPoyBfsDockn4fgTLfwDum3lHM56CbVFTEm9G29paiPC
 Z4jNiie0JWGascK+sYgIvzztS6aOn3J8rq51gssAjPSdhilPIrijR5RHqyClYpoE4iYjKvlTd
 a6khKSX3n5Ju/azUSGA1Y4LZ5IcGL0DFKPM0XH5lqmdu/kdcZ7espX6smwYPljjXjQMzGPuTP
 HgMve2iYlXYDJh4UpWqFnU3MRHDY9r+NICInXIGTiR+cmGlDNNZ1VUnecOfRvtFGn5F/PLMj6
 7ANAeEY9URoO3FCsz79LlVr5HII=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

> Thanks Michael!

Hi Thomas,

> What is the advantage of this patch over just removing the JUST-THIS-ONE argument? In both cases tramp is triggering accept-process-output for processes it does not own.

It touches only processes which share the same connection via ssh
ControlMaster (and putty share). Nothing else.

> However with your patch there is a potential timing issue: blocking
> process output could still arrive between your new loop and tramps
> call to accept-process-output with JUST-THIS-ONE.

You have seen the timing? I'll change the timeout of
accept-process-output to 0. This should prevent blocking.

> I'd think that there might be room for an essay "JUST-THIS-ONE considered evil"?

In my book, one shall touch only data one is related to. Processes, not
related to the same Tramp connection, are taboo.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 13:34:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 08:34:08 2023
Received: from localhost ([127.0.0.1]:44823 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZXSB-0003Wb-SZ
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:34:08 -0500
Received: from mail-ot1-f46.google.com ([209.85.210.46]:43901)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pZXSA-0003W5-M6
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:34:07 -0500
Received: by mail-ot1-f46.google.com with SMTP id
 32-20020a9d0323000000b0069426a71d79so7118532otv.10
 for <61350 <at> debbugs.gnu.org>; Tue, 07 Mar 2023 05:34:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678196040;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Cj1JQ0EUiwpSR1KfvOA1b038aSu1i9jx9rYfOY97Go0=;
 b=JLz/zCaD/aA3MyN62mWQIbwRdolMA5mdUOd9j0h3wnV5oeXj07XbjIcybOjZoe0gUd
 4Q0ssUeYl651z0Z8Qdl2X/BSZoky9nyYrF+5uPeeqaE0Dbkg3a0Fho5/QpXnL34wvoRQ
 iO5oWjrxqd5k2EyIrJt9sA7AfFHEMVzJlhGsZBHw7Fzr9OWwznJv1sxY7H3NGIU0DIoG
 pjCuI7w3L9u9F35NJD01Xn6y+fj3hc+UTsJjCYMsKL2nv5MpIaXSp5k0oNso60NuwC4z
 tT+pv7f+gVj2fi5bzch+q8XJ+ZjJ5wLQxfH5kycWydxBBh/seLos4RQyzaCAA4GsqvPx
 oudQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678196040;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=Cj1JQ0EUiwpSR1KfvOA1b038aSu1i9jx9rYfOY97Go0=;
 b=FA7iAOTTsmiVekdI9RFtgdqB/fsRGYz9M7+ZuTaTp0RQe5yQZc3cSAPVi/JIVDgqR7
 u9we+ZQgKeOuaBASD+6fuySPmo8nY1gnh0b0IesZ1nqDRpNWcO1nEh6kVkhjrwPZ1K9N
 9EhXTk9ZU6yUaL/RO3ed/oDUIXZOjjPOBpkLwEx4sk3joBIQGvZunjLfUAc3+60qZdBe
 xBMI6fDNEXZVpzoWd8CZXyhozQGG+kH8HAiZIIJNJ7ndmaFM4QsOAM7gs3KfeonzHPgx
 +1fqbveKKCHCZq1nQOA6Xlt8OPkRVjM4Bm6nHtCI5S4KbrspjBfv3BvglHV+H8zwQi2z
 ammA==
X-Gm-Message-State: AO0yUKUvyTdya9HhMLOce2c7hfgq5pSG4TfTVHcCxIai+r6Lit6z1Y+g
 DHGuzmVySEXbSBO+OREAZkiaBE6sov5Y4D6WRsI=
X-Google-Smtp-Source: AK7set+tbLqk9EPUCcEqxrII6ADAaGdxD17Qwe5QvYoS/AaOIiJVL/0vWI9+R6IQb9zfJwm0iPrncjgv3yRi48sPzsA=
X-Received: by 2002:a9d:7194:0:b0:68b:d3f1:aa1b with SMTP id
 o20-20020a9d7194000000b0068bd3f1aa1bmr4715176otj.3.1678196040392; Tue, 07 Mar
 2023 05:34:00 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN> <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN>
 <877cvvfnp6.fsf@HIDDEN> <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
 <31964054.380679.1678194256931@HIDDEN>
In-Reply-To: <31964054.380679.1678194256931@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 7 Mar 2023 13:33:48 +0000
Message-ID: <CALDnm52B+9R5Hb-REvodzAJT7CCvahFNAYk6OLbMVKoRBA5sXw@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Thomas Koch <thomas@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Michael Albinus <michael.albinus@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, Mar 7, 2023 at 1:04=E2=80=AFPM Thomas Koch <thomas@HIDDEN> wrote:
>
> Thanks Michael! What is the advantage of this patch over just removing th=
e JUST-THIS-ONE argument?
> In both cases tramp is triggering accept-process-output for processes it =
does not own.

Yes, I also ask myself that question.  Though here, Tramp
has "shared" ownership of them, sort of, so it's more
conservative when compared to the current mechanics.

Michael, your patch goes in the right direction but AFAIR
a single accept-process-output is not guaranteed to bring
into the process filter all the buffered data.

In "40.9.4 Accepting Output from Processes":

     [In accept-process-output, ] If PROCESS is
     non-=E2=80=98nil=E2=80=99 then this function does not return until som=
e output has
                                                 [^^^^^^^^^^^^^^^^^]
     been received from PROCESS or PROCESS has closed the connection.


Note "some", not "all".  So while less common, I think the hang
can still happen.

So maybe you meant:

   (while (accept-process-output p 0 nil t))

as suggested in that section?

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 13:04:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 08:04:29 2023
Received: from localhost ([127.0.0.1]:44776 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZWzU-0002mP-T9
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:04:29 -0500
Received: from mout-p-201.mailbox.org ([80.241.56.171]:40266)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pZWzS-0002mA-75
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 08:04:27 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4PWFyT6yWJz9sZg;
 Tue,  7 Mar 2023 14:04:17 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1678194258;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=BNobBccSNb01f1GxIYIp0lolS/pFmTUsunvOYGReMOU=;
 b=aTj2BkvYOoRFS9plwVSiBlGQ+UrBv2Fz6mektLXD5CpweQ9SbWGe1qtvrOSWesfyFwyUWm
 NHOdLY35Mq9fFmNnVh3pJFt3Frzqu1IL4PzRK/f1gOez04zD3c53bu65PpVyz25Qh5XJ7E
 p4Vje4TSNb8wxCqNUvl5v9lvj1xpxcnmtNEO+JHSIDZRwvkDU5IrSeGP4cG2LAuU9RA+8T
 p3f5O4mx5shNQi6xoINxPynrjqlS+9e2khd76blDfkCRyPe67V5Y/zOjFiymvwoo4lgVEb
 5+dQgop1Tvxf5gKbl6vEFn3ZGtiWNn+AJPnsK25KmMebzTuB7rDiM2hzgfaLAg==
Date: Tue, 7 Mar 2023 15:04:16 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Message-ID: <31964054.380679.1678194256931@HIDDEN>
In-Reply-To: <87a60ovi90.fsf@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN> <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN> <87a60ovi90.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
Importance: Normal
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thanks Michael! What is the advantage of this patch over just removing the =
JUST-THIS-ONE argument? In both cases tramp is triggering accept-process-ou=
tput for processes it does not own.

However with your patch there is a potential timing issue: blocking process=
 output could still arrive between your new loop and tramps call to accept-=
process-output with JUST-THIS-ONE.

I'd think that there might be room for an essay "JUST-THIS-ONE considered e=
vil"?

> Michael Albinus <michael.albinus@HIDDEN> hat am 07.03.2023 14:49 EET gesc=
hrieben:
>=20
> =20
> Michael Albinus <michael.albinus@HIDDEN> writes:
>=20
> Hi Thomas & Jo=C3=A3o,
>=20
> before going offline just a short status update.
>=20
> >> However my conclusion is different. I consider the root-cause to be
> >> the use of JUST-THIS-ONE in tramps call to
> >> accept-process-output. Please check my comment to bug
> >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12145
> >
> > I've seen this. And yes, we shall fix the problems described there.
> >
> >> As a practical roadmap you could add an option to Tramp to disable
> >> JUST-THIS-ONE and recommend its use. Later the options default could
> >> be toggled. Eventually the option can go away.
> >
> > Might be applicable in the master branch. But first we need much more
> > checks that it doesn't break something else.
> >
> > I'm always uncomfortable to change Tramp such a way that other packages
> > could be broken. Letting Tramp accept process output for all existing
> > processes doesn't seem to be the right thing to me, although I admit
> > that it seems to fix the specific problem we're discussing here.
>=20
> Thinking about, I came to a less invasive idea: Just the processes which
> possibly use the same socket for the ssh connection should accept their
> output in time. This avoids to change the behavior of other processes,
> which are not related to a given Tramp connection. And it makes me feel
> much better :-)
>=20
> The small patch below, on top of Tramp 2.6.0.2, seems to fix the
> problem. I've also deactivated (in Emacs 29) Jo=C3=A3o's Tramp fix, and I=
've
> applied the recipe given by Thomas 10 times in a row, always starting
> with "emacs -Q ...". 10 times success.
>=20
> Could you please check how it works in your environment? You'll have
> some days until I'll be back. If it also works for you, I will add it to
> Tramp 2.6.0.3, and we could close this bug.
>=20
> For completeness, tramp-test44-asynchronous-requests now fails in
> tramp-tests.el. But this test is already flaky (not passing successfully
> every time), so I'll investigate later what's up with this.
>=20
> Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 7 Mar 2023 12:49:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 07:49:41 2023
Received: from localhost ([127.0.0.1]:44745 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZWlA-0002Nh-To
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 07:49:41 -0500
Received: from mout.gmx.net ([212.227.17.22]:50115)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pZWl9-0002NU-DC
 for 61350 <at> debbugs.gnu.org; Tue, 07 Mar 2023 07:49:40 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678193373; i=michael.albinus@HIDDEN;
 bh=rWbyhRqie3Ea5+oy5CZoF7LVsLCVbPij6FrGdpx5lQs=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=knWL7v1ueFXF17TpdhbW5SiLdJRE1SkjoyT8euj3gXT370BojUABCt2i6O/LdIld3
 3HQ2l/vECUAlbA1uAzlI7qtPRvQd5ZOQAzJbciSTs/Tsl6f4+fpmpG+5NoOSN3FyUH
 8NmJsxZyKB+nrg6N/vMoJ3Vw79Tz7WhA6i0G5BaiqXFUvxpaz75F7hdTRKAVYqS5t9
 VCWPb0vfVMi+qFmECHRpsIIuQnOObHddPD5n5I6p1OVK++aEVK+jAfFz1luyRED9W2
 +AGyb10U3vjEDUi1QzaN6lz3l8Hg3qrpf2mnX+evQw6JdJiIRYIvQlbbnTlXzFSq6A
 G0xxG3BfeIkEQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MTAFb-1q0FM20VjD-00UcNu; Tue, 07
 Mar 2023 13:49:33 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87356jfktc.fsf@HIDDEN> (Michael Albinus's message of "Sun, 05
 Mar 2023 13:23:59 +0100")
References: <87y1ootw2t.fsf@HIDDEN> <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
 <87356jfktc.fsf@HIDDEN>
Date: Tue, 07 Mar 2023 13:49:31 +0100
Message-ID: <87a60ovi90.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:xkhfull5VF1LRPt6Irh+kcjkTqYjPcadDDhMmuwo+AxbhKx7a4D
 QjQ/qNwtsjeG2UhkZUDbkC/N8ENlKcgkltRT6dvqY1wTDmvCCbJ1mYFkp0DkhdaZVv3K3ol
 GI/qyzttr+5M85oOGF6KhPio2O35CSo/gfFXtOFVbW6cMm8ClOKFFbR1T86ORfVTadEmroS
 auGgT4MFaIucbBGfyy51A==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:uNCCPjuAZ24=;mLA9g4p92Rt1+wH/DZHfft5cpBL
 z+ncEic6B2mXKC4brkhNfV6g+7vbiGxrAaDOL9HirJ419+aHanGe4GFtSN1ocbk9AedT9LCMG
 mw5XVs7j9LgXUOKyw6KmoiDav6qRQNHkXt7mbX8fyAtuSggYWcCHn68gtKdLU4qLpP64srLR0
 O56GkeQ+tFBbMtvjmElSFUI2ww19zZRFpjK1oGoSVrchLA6PTsAtDFcnu30a9Paovrg+8D9Dr
 vnFEely7aR7izQZ9cqVBNgsAIcam64yU17oMTMQxQORBsk8C5KzAwP5hKhMlqdNQWosG8QYen
 Z9FYzW00A6uqY/YrfFelZwFDZRRyFVlr+Kj3Br94HhBF+FCU4YwTFt2jTtEcurpRjc5pxao5g
 DxK/aDqzwa7ZkxBhiNgCTxbo2mdeytvaipNX4b6a/jZRGyBwLcDm00+guDYnjfnFiToSj1zR1
 Eo70qcA67qf/YztkeHbA2aqzcG7vj6JxHIpMSmdV+aow4DifpSEEX2Mu/Z+EvRw1x4rNwEMah
 3C5G2hAnMuZNIvIm/uE0nz9c3ByMLuagm4IknSpVrZERyysKh4Fp0qRlJofLvf8zs/xQeZwTR
 jduarkdFCPWFlBYO78/32uYjfJRKYwy1zIGiwAXFfbUg8sg/0mXK7WM6tPVClf2ezZKDErdnC
 vnvXHa9ZDccpaj7kSYl/WO9DBJDa/HSNkri+yv/sFPC6b77qkamGyyRQFChsmcanHtPjcThuO
 /BIETb8IudMuiSwmd5W8aUtwtjB48Mplxh9RyBqtQOl+6ZWC8bmqMimnhUarl70geoipCxqYu
 ljMRffRiOKdU0Ak8By0zQ6dydoQdX02I0ad7l6eUC3D1HPR/hDrzNrRW6/wSTXUIYSgbtignF
 bNB+ETTMMmxU0xlDsj0Qc8KPJ1C0+feAzLRucL91HKu1VvoCLNIOKcuUgZpkv4UbGWx0hCbRX
 xgspE5jtSOP2Bz5kjEp0moAjFWI=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Thomas & Jo=C3=A3o,

before going offline just a short status update.

>> However my conclusion is different. I consider the root-cause to be
>> the use of JUST-THIS-ONE in tramps call to
>> accept-process-output. Please check my comment to bug
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12145
>
> I've seen this. And yes, we shall fix the problems described there.
>
>> As a practical roadmap you could add an option to Tramp to disable
>> JUST-THIS-ONE and recommend its use. Later the options default could
>> be toggled. Eventually the option can go away.
>
> Might be applicable in the master branch. But first we need much more
> checks that it doesn't break something else.
>
> I'm always uncomfortable to change Tramp such a way that other packages
> could be broken. Letting Tramp accept process output for all existing
> processes doesn't seem to be the right thing to me, although I admit
> that it seems to fix the specific problem we're discussing here.

Thinking about, I came to a less invasive idea: Just the processes which
possibly use the same socket for the ssh connection should accept their
output in time. This avoids to change the behavior of other processes,
which are not related to a given Tramp connection. And it makes me feel
much better :-)

The small patch below, on top of Tramp 2.6.0.2, seems to fix the
problem. I've also deactivated (in Emacs 29) Jo=C3=A3o's Tramp fix, and I've
applied the recipe given by Thomas 10 times in a row, always starting
with "emacs -Q ...". 10 times success.

Could you please check how it works in your environment? You'll have
some days until I'll be back. If it also works for you, I will add it to
Tramp 2.6.0.3, and we could close this bug.

For completeness, tramp-test44-asynchronous-requests now fails in
tramp-tests.el. But this test is already flaky (not passing successfully
every time), so I'll investigate later what's up with this.

Best regards, Michael.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment

diff --git a/lisp/tramp.el b/lisp/tramp.el
index 24b7c45d..50945ccb 100644
--- a/lisp/tramp.el
+++ b/lisp/tramp.el
@@ -5746,6 +5746,17 @@ Mostly useful to protect BODY from being interrupted by timers."
 This is needed in order to hide `last-coding-system-used', which is set
 for process communication also.
 If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'."
+  ;; There could be other processes which use the same socket for
+  ;; communication.  This could block the output for the current
+  ;; process.  Read such output first.  (Bug#61350)
+  ;; If `timeout' is nil, `accept-process-output' for `proc' could
+  ;; block another such a process.  So we set `timeout' to 0 then.
+  (dolist (p (delq proc (process-list)))
+    (when (tramp-file-name-equal-p
+	   (process-get proc 'vector) (process-get p 'vector))
+      (setq timeout  (or timeout 0))
+      (accept-process-output p 0 nil t)))
+
   (with-current-buffer (process-buffer proc)
     (let ((inhibit-read-only t)
 	  last-coding-system-used

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 6 Mar 2023 13:45:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 06 08:45:26 2023
Received: from localhost ([127.0.0.1]:41718 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZB9Z-0006Q1-Tf
	for submit <at> debbugs.gnu.org; Mon, 06 Mar 2023 08:45:26 -0500
Received: from mail-oa1-f52.google.com ([209.85.160.52]:44595)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pZB9X-0006Pn-20
 for 61350 <at> debbugs.gnu.org; Mon, 06 Mar 2023 08:45:24 -0500
Received: by mail-oa1-f52.google.com with SMTP id
 586e51a60fabf-176261d7f45so11337627fac.11
 for <61350 <at> debbugs.gnu.org>; Mon, 06 Mar 2023 05:45:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678110317;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=8ye9WZMQUz2BaW66GnU1yxuANbQSWHR0pBWdv3QYXI4=;
 b=eYOhQE3qf22mLIwd4eSvOZHSQRH5VziDICwe6W0DFf8fzhB2FwaIrJ8mmeAETMRZtu
 BBKWUYhUrlIIoQMKgWgaCme0K+4914RYFh43tc85cngyYMu5FqCGODgnCjKEmpSwH0wE
 PhNXdzgYZhhruIuaHKUvkPGzOMOngsNDKdNLQhBto+5bay7dptZg5Ko/wIfKVZdmmnA+
 Ckn1J4DrS9ICJq0s/tQWnmAcbaVRi3D6goDf04vqJi1Nb3NGjmeI0UsvoqsDpvtUH3ZW
 uwH65O9J7lxmcowbxAaNMZAA9fahiWnZMWZOCrxBZzOLasFSF4w94R53eM1/9ZnSB3Cj
 krXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678110317;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=8ye9WZMQUz2BaW66GnU1yxuANbQSWHR0pBWdv3QYXI4=;
 b=JK5O1WdQbN9Ib3JIaI1c0CMRNwiEWhicWgDyGvJOaCvAb4lM7nWFVV+h6nA/HHYnHH
 mDO+3ulN1zInqLJ4EgNYNTS6O2BNlzot6ZcX//De/9W/uSFXuWxaW0QGR5S424u5I1ei
 E7FAq2rHtsEqmRkkAfAwcgEEdL1Of72tor893HSa0MhYrxcAeazZPEF001ajpwVyMvfF
 ypvcmZFezhXwtVFqbU6VSYi5XHppr2XTAuG69lPDgTIMGN5dPT17y5qsN1qE71f8Ghnm
 Dv6J2bxWZa2ITO0SzIK9YyOs9Mv+rutAjWuwz/pc4EE5H2N0URCGKizIrBwkNegadmJE
 2PXw==
X-Gm-Message-State: AO0yUKUHkqqRYZuVPfNudSIbhzLUFFU92/F099NPamBnyqWvP4zfbE+B
 oQcCET2BlMEsdnWIrKafiZkNyTVv0EWZZZjREetpHRim
X-Google-Smtp-Source: AK7set8KZAgc4mKQ02I724RGpTTEyDi1k2luzIDNIhPX4ophtH8kkfbrOIPyhZD33n+Xi+a8ut3jOlcmilOOJqC3y+c=
X-Received: by 2002:a05:6870:b00a:b0:176:50be:85b4 with SMTP id
 y10-20020a056870b00a00b0017650be85b4mr3964601oae.8.1678110317535; Mon, 06 Mar
 2023 05:45:17 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN>
 <877cvvfnp6.fsf@HIDDEN> <87y1oacaq9.fsf@HIDDEN>
In-Reply-To: <87y1oacaq9.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Mon, 6 Mar 2023 13:45:06 +0000
Message-ID: <CALDnm523zEcGuSfT+NyD6VtLdN8p2vkfFx+2WqhM-UTU-J+koA@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Mon, Mar 6, 2023 at 12:42=E2=80=AFPM Michael Albinus <michael.albinus@gm=
x.de> wrote:
>
> Michael Albinus <michael.albinus@HIDDEN> writes:

> --8<---------------cut here---------------start------------->8---
> (safe-local-variable-p 'tramp-use-ssh-controlmaster-options 'suppress)
> --8<---------------cut here---------------end--------------->8---

Thanks.

As Tramp is a :core GNU ELPA package, I think we can make Eglot
"Package-Require" tramp and use this new variable value.  Or we
can just keep using slightly more hacky version for now (since turning
off ControlMaster is kind of a hack intrinsically).  I don't
see any rush.

> PS: Starting on Wednesday, I'll be almost offline for a couple of
> days. I have no idea how long, 'tho.

Take care!
Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 6 Mar 2023 13:42:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 06 08:42:50 2023
Received: from localhost ([127.0.0.1]:41704 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZB74-0006Kz-1M
	for submit <at> debbugs.gnu.org; Mon, 06 Mar 2023 08:42:50 -0500
Received: from mail-oi1-f171.google.com ([209.85.167.171]:43702)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pZB72-0006Kl-4Q
 for 61350 <at> debbugs.gnu.org; Mon, 06 Mar 2023 08:42:48 -0500
Received: by mail-oi1-f171.google.com with SMTP id bk32so7006146oib.10
 for <61350 <at> debbugs.gnu.org>; Mon, 06 Mar 2023 05:42:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678110162;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=BckAk34ZUxoy2h+//a12rUzDmMKekcdi3Kh51DPEavs=;
 b=nuFHZe8WWRr6W8pHkRbaO0QSt8PY43L8IHEJYK5whK7/6996pEaTVDUqbNn4hYI5tg
 fkKAvr8V8CbsQJBEHYrMwrlfCNLA4bfBI4cRWWp2Tw2W77eUjWSJt/PoU4+FdyngXm+D
 6LtEbUkDvyXx0gxhsCeOSgS3nso+Bya/pc7Ry7g0y05P7pEkYf9LNaoI4DXevfav6Jli
 pgFBz3cML+K1kpoKIU7+M9PZHRb/8b8fSk4MXmVGUFecA8vPuCt8nDz2WLy/aJv/zdvb
 AOD0nCqPO9zBDQqUo7BkE1h/5/OjeP7T+zqAEl4iva7jbyQxBkAxPS15VoCafJ8XJ1NS
 bwLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678110162;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=BckAk34ZUxoy2h+//a12rUzDmMKekcdi3Kh51DPEavs=;
 b=PslrHMqFAe/YRcP7r70YlMG+io/JqTEuwp78gHJBmdAbxtTolKZ2l2oobk9fWvqKVz
 9OkqXGgaQCi81vp6Gcj3smxR+SBmH5JOpPBTXiyXV/MM+dt/ObE//Gso8wDPLIlM2c5t
 u0ymFMLbvtuw+fNqQTwVVTC5Q8lEvNOvb9Io2io4kmFOpmwtIJ8d80NxmO85fHTtv+G2
 EgKLcBc41E6jS8Rq5lnzBggWidf/LeNNF9lDN+7mfCzBIeAelUHXlHzC8P8LI6J/TmG4
 kW/hEcqIIQkulnnlvrxLRydFTA9bYer+eKdvqSOxn9klUgJweHyCV3aPRwbHstZeT8cM
 RdHg==
X-Gm-Message-State: AO0yUKXsbzljvvrca2iO09mHt/SOMVUL/bDd6ZD2JsDoc+C32FHN5N4n
 dBS7bs/tuHZlGRFTm34svb/yJ9sGrQuDekN5se4=
X-Google-Smtp-Source: AK7set9MVKbjUKvNPq0uysLsGSZO9eLgkOuZirO98TrENGeBIbIG0Sd5NkGfErkrY0sy0DUq2mpH5ppGjtx2jZV4EGA=
X-Received: by 2002:aca:240d:0:b0:384:22aa:f4cf with SMTP id
 n13-20020aca240d000000b0038422aaf4cfmr2990224oic.8.1678110162049; Mon, 06 Mar
 2023 05:42:42 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN> <87356n8kja.fsf@HIDDEN>
 <877cvvfnp6.fsf@HIDDEN>
In-Reply-To: <877cvvfnp6.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Mon, 6 Mar 2023 13:42:31 +0000
Message-ID: <CALDnm52yizUQ7vEPJh3nRVsNgx0-3fLxQC7Fe1877L1yFC6fgw@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Sun, Mar 5, 2023 at 11:21=E2=80=AFAM Michael Albinus <michael.albinus@gm=
x.de> wrote:
>
> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> Hi Jo=C3=A3o,
>
> >> Yes. But Tramp calls accept-process-output only, if it has send a
> >> command to the remote shell, and it expects something to be returned. =
At
> >> least the shell prompt.
> >
> > Yes.  Tramp is doing the right thing.  It really expects a response to
> > come.  And more often than not, it does.  But sometimes it doesn't, and
> > that's when we hang.
>
> After digging further, I believe I understand now why it hangs. We have
> the following scenario:
>
> - Both Eglot and Tramp use the same ssh connection with enabled ControlMa=
ster.
>
> - Eglot gets JSON output from the remote LSP server. In
>   jsonrpc--process-filter, this output is handled. It includes a call to
>   file-truename, which triggers Tramp to send a request in its own
>   process to the remote side.
>
> - The remote side returns the answer for Tramp (shell output). However,
>   the ssh socket is still full of the jsonrpc process output, which
>   waits to be handled.
>
> - So the socket is blocked. The jsonrpc output cannot be read, because
>   jsonrpc--process-filter waits for the result of file-truename. And the
>   Tramp process output cannot be handled, because it is stuck in the
>   socket after the jsonrpc output.

OK, I think I understand. But here, the main point that makes this
deadlock possible is that tramp when called by the jsonrpc process
filter is calling accept-process-output with JUST-THIS-ONE set to true.
_That_ is why jsonrpc--process-filter cannot see the remaining output
that is stuckl in the ssh socket, as you describe.

> The proper solution is indeed to have two connections, and to refuse use
> of ControlMaster.

Here, I disagree.  I think, like Thomas, that the proper solution is to
stop passing JUST-THIS-ONE to tramp's a-p-output calls.

> So would you mind to add a hook to Eglot, which runs before calling
> make-process, but in the proper process buffer? When you've added it,
> I'll let Tramp hook into, and you don't need any longer the Tramp
> specific code in eglot.el.

I don't think using this hook for this is the right idea, and I'm
fine with having that bit of Tramp-specific code in there until
we find a better solution.  So no need to worry about that.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 6 Mar 2023 12:42:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 06 07:42:32 2023
Received: from localhost ([127.0.0.1]:41577 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZAAi-0004Xt-Jz
	for submit <at> debbugs.gnu.org; Mon, 06 Mar 2023 07:42:32 -0500
Received: from mout.gmx.net ([212.227.17.21]:36137)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pZAAg-0004Xe-8B
 for 61350 <at> debbugs.gnu.org; Mon, 06 Mar 2023 07:42:31 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678106543; i=michael.albinus@HIDDEN;
 bh=/fa4a4gXEDQh6PZRIj1uA0ASTDGvZTXV1EniaQKCAxY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=Zj41b+bm9Cej1AY16TeirqazQSNg6eZzlptKlR9Mn41QJLcFfnHbNtGvwNRgNdZo0
 Q77rcILSjVLNO+owAnd8LMCcyJ7oC6m+YgvyrXMMhXGGRwFoID4X+xKxmIqqL8+mDe
 IV4NmAh8S/+o929/pAHnhVFr++hzf55CMmEbvyUERzfNauNtewI85eE6v6O6V27dfM
 sQVCxWm5EwNXy64qvLkfV/EQp2GL7ppWdKLwXLZXkhLrt28RCH1Kffd5go8z1rj5eM
 hErFh7n1HFQWLoaEqc0srOQ1Nxjx+qEHlkSDprLkw0wo3sBqOYezbtlIDWrxjQ7ptP
 NeLM9drj7Dt2g==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MvbG2-1qPCG10cbu-00se7p; Mon, 06
 Mar 2023 13:42:23 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <877cvvfnp6.fsf@HIDDEN> (Michael Albinus's message of "Sun, 05
 Mar 2023 12:21:41 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
Date: Mon, 06 Mar 2023 13:42:22 +0100
Message-ID: <87y1oacaq9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:ms39a4t4G7ViDloDkGxIqKtgaayO9RpDrrCYZn38uxuBZzqbA/o
 JON/D0LTiQIYif1Sgy7U2k+XYLuvg4DtICduY+IG+UIXGdHCytcKHghbSEPYrjcPtrzD7R9
 N/3MUJ61Y0a65qJm600b270+ZXdam5ACrD8rZyvWVpesm3KBZkfEPfimGiVnX2ygSFRGK7h
 bv9eWIZ4lFDG/wT+lDiQw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:PEsSSde1g8A=;hizITy3r6VskG/JtmUWcwYJYk64
 mfon4dhvKzi9kNP/Sa0l/40ng3AUY1kECJeUd7ltfj7W6abr4i/CoWshcFjCFx6eNYy54k9tk
 mFBcwQm6i0u/PA0IjxctnMFcSTc6WkuXtMluVvb74XjDhvSjE0fE0REXHAUwuCe96Zvv3AOrD
 +orTriiql9LrsyNetXoL6hah8VZgOYPYDlpOjTwb/Gp3gbiEm5W5ATGuHBfKlfggKpONrzDFj
 pXYN/OupMZg3RUxV6Upc5F98gn+3PA3qSOsb4exn+H0TZH466LEV6gSvB+jgIi/xDKL3g87sS
 mlwps1AVHR8VjMYU3SN+lgqq2POX7ZM3fLKN3G4d7gNI3a3KOPjjWjR8KlYYJZNLlImdOR9iC
 AiWly607e4B7rOYU0GgZlM/pvgvP80hWCYROZeIazNfa1AAaX3mBSp+7ZcRAND/uhW369usyE
 bHLE84sLM4/+uoEtV7QOtlRBtulHnkc0V3uKYPgLBntgO6AYsjIXqNMkPUEN6YWwlR3AP/J9x
 6MigNgwvbQbbz9CPNPmoRw61K2W5oOgGUhCm4alotpLyeA7+pnTgWmqpcFh3hHshJd9+7JpBR
 bp6cd9Y89g7x/EeMCJsDSPrmsCPUhic0M/4qHd+VH16ghzxN95QT0b9VONPtH+w/2LkHEXeVo
 zg0uRbMoXOGQxCXwILmDbICy0JJp91eoWXkHxR6/gk7Km5EMpWjtmBu9ri+bEehbCJZG9JgnW
 H/9NzYaqVfhANIJIBCGkpzezkZ7svgE4Iuyj1VXboYN+pHVvy1elOrZ/gI5dr9NavPI2xKHg5
 3vpFgTR4GGndvpmGsct5W+37bHZcAhvfTQO7L3A811Fvr75peKM1/wohP0+GiGLvlkulOpMMv
 zZ0GOhPQGDw5X3G4soI23b1AwHzQJ68HHaAyXDjXzz+nVmFIzUUGCVxiBg8sNKOUOb57axb8W
 KEjCebeMoUFSZ30q7AleijZoDXM=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Jo=C3=A3o,

> In parallel, I'll extend tramp-use-ssh-controlmaster-options to accept a
> further value 'suppress', which overrides possible settings in ~/.ssh/con=
fig.

I've pushed a respective change to the master branch. It will also be
included in Tramp 2.6.0.3, the next planned version on GNU ELPA.

If you want to check this feature, you might call

--8<---------------cut here---------------start------------->8---
(safe-local-variable-p 'tramp-use-ssh-controlmaster-options 'suppress)
--8<---------------cut here---------------end--------------->8---

>> Jo=C3=A3o

Best regards, Michael.

PS: Starting on Wednesday, I'll be almost offline for a couple of
days. I have no idea how long, 'tho.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 5 Mar 2023 12:24:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 05 07:24:09 2023
Received: from localhost ([127.0.0.1]:38646 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pYnPM-0004kq-V4
	for submit <at> debbugs.gnu.org; Sun, 05 Mar 2023 07:24:09 -0500
Received: from mout.gmx.net ([212.227.17.20]:51943)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pYnPK-0004kI-UZ
 for 61350 <at> debbugs.gnu.org; Sun, 05 Mar 2023 07:24:07 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678019040; i=michael.albinus@HIDDEN;
 bh=gS0WNhoN2sBZzXHHp6uMP87X5y0udu6xYvcSGxTBpzA=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=KCs0t87APzuv9dIrwag7nVza2ioApLXyuq4+M+ctVgRrcimnquoJ2u7GRGr4fvIeS
 M32HKt/fO0LjNr7h7y86snLpVUkDaAxycNkuPHDcx0IBYV1gJU7PbVxdQNoEN4aB1T
 eoJEVYAB5FW7J4Hki2fsPAKj4Vw1ThUek+cgdhRlFacvMKSEsKZ0HR9lGYfob0rV3U
 6E/WeN1oRyu9nW22AIYph1PAYfDteHDbDqL7CfWJA+QF6PwMZHOpev1enIRt8xFsHF
 eTz+gCJOhVsBJhoUqaKE63eon6Q5RjjrpfgPBSV7PN8V901G2dDnG+zT21nxdbGX8V
 824lyt2dkaWDQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M8QWG-1pdDG40l5U-004Vya; Sun, 05
 Mar 2023 13:24:00 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <54377687.213790.1678016749459@HIDDEN> (Thomas Koch's
 message of "Sun, 5 Mar 2023 13:45:49 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
 <54377687.213790.1678016749459@HIDDEN>
Date: Sun, 05 Mar 2023 13:23:59 +0100
Message-ID: <87356jfktc.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:lMH38uIRpvkwejSqIQSNF5yuU9tihI8C3DHfxPxFIrFEOwk4Cmy
 670vj//yZ7gOHDKSnjobZtvxtgggO0hyvNtLJZsVz60uS1zMQu3nNsJA5im6uZQNVHtyYiu
 56R6nPws77Y+8hKfbJbLyW90ITAF1iwB0QxgFY5YGkQysqjO+TC2/1ZJ9KVax4wI0Uy/gKE
 JAfcLeIisB/N/kuSyo/kg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:UvVkMBxVuew=;ZSEf6P5daJFQowcVJjmjTXPiOkH
 3bOUu3jXMZZZpdWq7QuIDYGqqJpadI9v+raYEXULIY/WuRmYEzpKis8szbvpmjoIvAWvee2C9
 Q2pMmnaD6UK21rrejIqWtc2919d15X8QTlvP8DcPKHpnHhowLG2IDaQo5+ojI05pOq7iQTXGg
 igj1rcw4Zu2IDsS75HJXmSHp/qpHcEEdqmKbeac8dbwGJ1pXf14Cg+t4tDS6VfT6yrrKlCgJR
 3JYN1xJXQk2r5d1wd1SUppD/rz4v9YLMwfgarS9huwiWQIK6JWsLlbiJW8J4TzILfghxjsRiB
 mCb4Uvw5d+0Gyg+dRnHsCOugR0o1revd8ISN6oDhg0h3f8G7igcGSCERfKhL3yayaBWjdrVM5
 KE5f9iF+7FKWi3chzgYAwP2Wyl7+ZBhizlcxqnkIWw7DCN6FxSYQ8CiJqKk7Rt8c3BBZwCIi5
 obIvl37xULSZuiCSi24QZBgGBqP24mG7EjWV8AfTXeKvbrwJteO76P9q41k1CjxpMkWoBBJvS
 qwxBohoM7faw/Je8mNA8Mml6VPQGkDFb5UiSJLzgJhIJn2DrsnTkAJWU4MVuSDbxDhrXnE+X/
 hlYHbcRfeMWgI+6xMKskNdZ/3tMGAQx8v0ac22QklB8OSxIQo+R8nReWJNc3BPoVW248Rhasa
 m0aF33SXk/VR6j8QiCE+ji5BnwU7amlAhzFnDSrVJoyWUKz8ROH+LGXW/QuMPg4UsBMTZUljR
 KTAWRaqIc5Ly+Bgps539agO2GztKWKPDmJQ/LFXNlAyQCHMBJcP6l4dqsWpvCIoBfGDgVNANz
 /6pf7TI6Hn6jXkD7EWdKdR3BqrXC4Z5IMadSj028HttFrFoJtNzIpVspZM79uJyyCL5QURaWS
 OowhIOWqurxc2cM+BudkLFbSghtddNcKNjoAB8DnHNsrBEG4jpbVBzf0BrfvPqIHuOz4+bb3Y
 q8XSmcBTVd2PAr/B9ArvNw0UHGA=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

Hi Thomas,

> Thanks Michael for digging! This is exactly what I also think happens.
>
> However my conclusion is different. I consider the root-cause to be the =
use of JUST-THIS-ONE in tramps call to accept-process-output. Please check=
 my comment to bug
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12145

I've seen this. And yes, we shall fix the problems described there.

> Applying a workaround (adding extra code to surpress ControlMaster
> with a newly introduced hook) would increase the complexity and thus
> brittleness. I believe the right thing to do is remove JUST-THIS-ONE
> in Tramp and fix find-name-dired and any other place that's broken.

I won't change Tramp this way in Emacs 29. It is in feature freeze,
closed to pretest. I cannot risk to destabilize it.

And as we see with the find-name-dired case, there might be collateral
damages if we change Tramp this way.

And I don't believe, that adding a hook in Eglot is worse than what we
have now, where Eglot manipulates Tramp data. Whenever we need to change
Tramp in this area, it wouldn't apply in Egloot. A hook is much better
suited, and we use the very same technique already with compile.el.

> As a practical roadmap you could add an option to Tramp to disable
> JUST-THIS-ONE and recommend its use. Later the options default could
> be toggled. Eventually the option can go away.

Might be applicable in the master branch. But first we need much more
checks that it doesn't break something else.

I'm always uncomfortable to change Tramp such a way that other packages
could be broken. Letting Tramp accept process output for all existing
processes doesn't seem to be the right thing to me, although I admit
that it seems to fix the specific problem we're discussing here.

> Eglot could emit a warning if it sees the above tramp option not being
> used. (... could lead to Emacs hanging. Are you sure to continue
> (y/n)?)

No check in Eglot. A hint in the manual would be sufficient I believe.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 5 Mar 2023 11:46:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 05 06:46:02 2023
Received: from localhost ([127.0.0.1]:38633 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pYmoT-0003he-Hn
	for submit <at> debbugs.gnu.org; Sun, 05 Mar 2023 06:46:02 -0500
Received: from mout-p-102.mailbox.org ([80.241.56.152]:36382)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pYmoQ-0003hJ-K1
 for 61350 <at> debbugs.gnu.org; Sun, 05 Mar 2023 06:45:59 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4PV0Jt2Dblz9sZ1;
 Sun,  5 Mar 2023 12:45:50 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1678016750;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=1SBDWyTqjnXUhcqRe3oyRSVuLp/O5ROeZ7Zp7ZfE3nA=;
 b=TnEiIzIx6t0bprVNQ2oCEB3SjYFTeVwRw0OhDjloQJM/BsccFSHwValwXiX0FbIJ3xh2rh
 Bzc+v0S+hQqqBKwPGoRg4xbM0OaF0jkG4gr3apIRxjfA6uzelr4Gvay3mQSd9LL1IMRiSV
 VpTQiv0spWMl/DwVkTo+B+t8TARnNCvCFcc6BFX2cc8Z3seIz1uJh4F8+J03XJ1p4+vZY1
 9PewhlY7kKRlM4y4CNrjIV6oNkwVZgd6GOM4ITYOXGdI3Xv72noG+AbPZxvir6SQCRGvqw
 jGQ8xGrbn0o5P9OqqwZYE/uD6+Z1K46FmXxam9JyvlIXuHjwSpBngZheNVFHbg==
Date: Sun, 5 Mar 2023 13:45:49 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>,
 =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
Message-ID: <54377687.213790.1678016749459@HIDDEN>
In-Reply-To: <877cvvfnp6.fsf@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN> <877cvvfnp6.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
Importance: Normal
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thanks Michael for digging! This is exactly what I also think happens.

However my conclusion is different. I consider the root-cause to be the use=
 of JUST-THIS-ONE in tramps call to accept-process-output. Please check my =
comment to bug=20
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12145

Applying a workaround (adding extra code to surpress ControlMaster with a n=
ewly introduced hook) would increase the complexity and thus brittleness. I=
 believe the right thing to do is remove JUST-THIS-ONE in Tramp and fix fin=
d-name-dired and any other place that's broken.

As a practical roadmap you could add an option to Tramp to disable JUST-THI=
S-ONE and recommend its use. Later the options default could be toggled. Ev=
entually the option can go away.

Eglot could emit a warning if it sees the above tramp option not being used=
. (... could lead to Emacs hanging. Are you sure to continue (y/n)?)


> Michael Albinus <michael.albinus@HIDDEN> hat am 05.03.2023 13:21 EET gesc=
hrieben:
>=20
> =20
> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>=20
> Hi Jo=C3=A3o,
>=20
> >> Yes. But Tramp calls accept-process-output only, if it has send a
> >> command to the remote shell, and it expects something to be returned. =
At
> >> least the shell prompt.
> >
> > Yes.  Tramp is doing the right thing.  It really expects a response to
> > come.  And more often than not, it does.  But sometimes it doesn't, and
> > that's when we hang.
>=20
> After digging further, I believe I understand now why it hangs. We have
> the following scenario:
>=20
> - Both Eglot and Tramp use the same ssh connection with enabled ControlMa=
ster.
>=20
> - Eglot gets JSON output from the remote LSP server. In
>   jsonrpc--process-filter, this output is handled. It includes a call to
>   file-truename, which triggers Tramp to send a request in its own
>   process to the remote side.
>=20
> - The remote side returns the answer for Tramp (shell output). However,
>   the ssh socket is still full of the jsonrpc process output, which
>   waits to be handled.
>=20
> - So the socket is blocked. The jsonrpc output cannot be read, because
>   jsonrpc--process-filter waits for the result of file-truename. And the
>   Tramp process output cannot be handled, because it is stuck in the
>   socket after the jsonrpc output.
>=20
> The proper solution is indeed to have two connections, and to refuse use
> of ControlMaster.
>=20
> Surprisingly, this is not new to Tramp :-) But I've simply forgotten the
> case ...
>=20
> See tramp-integration.el. There is a comment for bug#45518, a similar
> blocking in compile.el. And the solution is indeed to disable ssh
> ControlMaster. Tramp hooks into compilation-mode-hook, and sets
> tramp-use-ssh-controlmaster-options buffer-local to nil.
>=20
> I'd like to apply the same solution for eglot.el. Unfortunately, there's
> no hook Tramp could use. I've played with eglot-server-initialized-hook,
> but this is applied too late.
>=20
> So would you mind to add a hook to Eglot, which runs before calling
> make-process, but in the proper process buffer? When you've added it,
> I'll let Tramp hook into, and you don't need any longer the Tramp
> specific code in eglot.el.
>=20
> In parallel, I'll extend tramp-use-ssh-controlmaster-options to accept a
> further value 'suppress', which overrides possible settings in ~/.ssh/con=
fig.
>=20
> > Jo=C3=A3o
>=20
> Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 5 Mar 2023 11:21:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 05 06:21:54 2023
Received: from localhost ([127.0.0.1]:38621 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pYmR8-0002yW-50
	for submit <at> debbugs.gnu.org; Sun, 05 Mar 2023 06:21:54 -0500
Received: from mout.gmx.net ([212.227.15.15]:49573)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pYmR5-0002yG-KC
 for 61350 <at> debbugs.gnu.org; Sun, 05 Mar 2023 06:21:52 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1678015305; i=michael.albinus@HIDDEN;
 bh=gJJUaOWxActNEyL/WpeeDftTzvk4EhLRRNRQSEy/Zyo=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=fhQOw5V3VB+7yjgFtqv84Qa/uV4Mia4YOdS/yQwu/nmIg9lk0MYKdD15raBgNmDmd
 KqDTFscgvVcbpaoJ3GVlX+3aCruNP3PAj/kpsRkPUo2kOj5aFaCADqdBB42CuBcvXP
 NA7YbLfvCqPNgs/Cg5rBEg48vsOgVyxt0lCxpoa0diOwfWYE5g5ZUSo90c9TupvgNO
 ArTP3RrnsqOXyj4Y9d9OPH1jfanptHxdK0iGwxpj42/f8rEFjTeDOosSHLGdDgKPs0
 H8FDA406f583x9BuP69ZFsWGuf72sYTkH5Wpg7zSMmpshWPLp7cXxZ9b4Ty+j+Nxmk
 YzUQebuMpJoXA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mr9Bk-1qKiS63YYA-00oBpz; Sun, 05
 Mar 2023 12:21:44 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87356n8kja.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Thu, 02 Mar 2023 11:22:49 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN>
Date: Sun, 05 Mar 2023 12:21:41 +0100
Message-ID: <877cvvfnp6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:mIhavm5Hon4bOpj2WhYw31QDQWDXFg51RVpSLi8hzJgrTd22Z6M
 IG8MyOqwX91ZDf7+wqIZZCMo5NJtrGhaUxgkAf/VeirlUjPUfLu66vLBC6WFilJWvc7a2el
 5ADW7+l7sX8K5aMGhFL4KXVPZuiIrp+t+fqCchA5E/gXmQSNvU1C8oiSkSu0ZgLKDfkxnfL
 uhjFXB2zBfvI6V8I9ztMQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:RGVj8o4QsYs=;KCd9tf88HPUt5lJJN1OFWTNdeJH
 Qt/8K5xXu2ELK/Cg1ULdFIHkNQjPInIt+B6+E8874Vx0VBA97EokApoAA6PP+TBhhrJVgozWC
 6vdnQbxMxE6QxgmxroF9SaWkLmDADaE6FJNOqbDb3Zblin/lC0zJqu3C7YAaBagBm+mr5BsHp
 vbHhnvtrjI+qU8WP/uLxFkS9vMcyFMDOZhAQ2AZniX0WGQ6pjZhV2CSMrgno+xWmL97Fco+2e
 doK4wu2Wa04wC4raLdUpdhUr395gj98e6g4QBMYMrkpKonbAKkrKhpy9Lx0bPF9HBMyWzKXNL
 +r6F8tdZ3GS5ar7zxUgR2nDA7LH24dNoAj2sxV2moT7YQBtR8PxoqSxSWM1RTykRHYWArAhkI
 Y3lBwdxSs/SJ+CgyGvIhjAz2RJ4FE3SJ14Bj7n1BiHdkMJRYKJVvWdyeUMdSpprj+2U9LqCeA
 0J/xWKp0PF9i7ZzV3l/ZmaBGk6E7/KSly3y7ifNbFNkOJiFeU0lO7HjUftYFYs+lazNGSmYeF
 pPlIc9f/uYuXeoEXADVG08P/3FuRfjoOwJ4dmDIDC5rvMEc9MxwE7edEY0QgqxxbOZYhGpfD9
 XYRzEcNbgPZ5IwykPIaJ9Jrr4nKw5QKFJmu2FeqgFc3EiFUlWHAPVEaKou8fqIMCflP4Zh6Zf
 ulnkpYdcuP5fZGL1g7Yl2pZQHBgK8Jscpp68c/0j+DyNMpYyhyXbr6fs94f88uMIZGeh/jbuB
 xKJ9BlxOCI3W/ZT9kPi1NPJMjFE88hl/GXCSMZGvNSLMq+Y5vj9sINP6dytgGOBvfHXY01ib3
 Nj05f4sgJ6DWfRsYePjYGYsVIcogQxIdN2sjXdbTQm+RhHJdJFGUjjJTl4e1vPre9rDtfd6YH
 NEsP+acEfGVQpPzgEA44G6mEELFMkoRhsHPz8xG7AFRM5eEIvfugtKon92NcmG1BZMjQX2DdH
 QKbl5ckwysrd7vZ0pG+X6UK5nss=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> Yes. But Tramp calls accept-process-output only, if it has send a
>> command to the remote shell, and it expects something to be returned. At
>> least the shell prompt.
>
> Yes.  Tramp is doing the right thing.  It really expects a response to
> come.  And more often than not, it does.  But sometimes it doesn't, and
> that's when we hang.

After digging further, I believe I understand now why it hangs. We have
the following scenario:

- Both Eglot and Tramp use the same ssh connection with enabled ControlMast=
er.

- Eglot gets JSON output from the remote LSP server. In
  jsonrpc--process-filter, this output is handled. It includes a call to
  file-truename, which triggers Tramp to send a request in its own
  process to the remote side.

- The remote side returns the answer for Tramp (shell output). However,
  the ssh socket is still full of the jsonrpc process output, which
  waits to be handled.

- So the socket is blocked. The jsonrpc output cannot be read, because
  jsonrpc--process-filter waits for the result of file-truename. And the
  Tramp process output cannot be handled, because it is stuck in the
  socket after the jsonrpc output.

The proper solution is indeed to have two connections, and to refuse use
of ControlMaster.

Surprisingly, this is not new to Tramp :-) But I've simply forgotten the
case ...

See tramp-integration.el. There is a comment for bug#45518, a similar
blocking in compile.el. And the solution is indeed to disable ssh
ControlMaster. Tramp hooks into compilation-mode-hook, and sets
tramp-use-ssh-controlmaster-options buffer-local to nil.

I'd like to apply the same solution for eglot.el. Unfortunately, there's
no hook Tramp could use. I've played with eglot-server-initialized-hook,
but this is applied too late.

So would you mind to add a hook to Eglot, which runs before calling
make-process, but in the proper process buffer? When you've added it,
I'll let Tramp hook into, and you don't need any longer the Tramp
specific code in eglot.el.

In parallel, I'll extend tramp-use-ssh-controlmaster-options to accept a
further value 'suppress', which overrides possible settings in ~/.ssh/confi=
g.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 2 Mar 2023 11:50:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 02 06:50:49 2023
Received: from localhost ([127.0.0.1]:55994 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXhSS-00035S-UU
	for submit <at> debbugs.gnu.org; Thu, 02 Mar 2023 06:50:49 -0500
Received: from mout.gmx.net ([212.227.17.20]:40067)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pXhSR-00035E-BA
 for 61350 <at> debbugs.gnu.org; Thu, 02 Mar 2023 06:50:48 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677757840; i=michael.albinus@HIDDEN;
 bh=YTSHcDETLQ9E0zdkB+MybBHXWI6aEgNT7o1Hl3uIeog=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=n3w1ZRKQxomVNuZEA7T3b1C/we0LePIzF18sQFgaF0KGHmApcwBVB38c7t+jjru9o
 gBm1k94FJBlYbS2Br6zTEvrJHFy/icyI+AAWT0it7ZD91OLYAMghUY8rRWA8Lldx8z
 4W3babOl7bpmGWEhb2oy0QzzAnaB58voByCIZsQkEfuqXIXybEDucKmVHY6YL4YxEJ
 AyAenYSUVSiI75zh+sea1DMpc4wsXuvrMC1PlBrHk/WnnU4EGgCgPpBcuv7zIQ+3O+
 jIUO6bA25ZYAbZmePN07XscCsnyDj2/uDM3z3HPk6rfykOdLockmiqL4Pnm8EVgHOc
 J72BNrfRztU6Q==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M26r3-1paAIb10bR-002bNQ; Thu, 02
 Mar 2023 12:50:40 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87356n8kja.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Thu, 02 Mar 2023 11:22:49 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
 <87356n8kja.fsf@HIDDEN>
Date: Thu, 02 Mar 2023 12:50:39 +0100
Message-ID: <87mt4vcqy8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:CbGKdFXe/ZguuBGgHFgcbvMplvAPGbytzWLVToaLXBdutu77pXh
 4eQJKPyVn01uAvWWsryWQNU1ak/gATDJwtG4Uk/2DZ8jFHm/HyQhSfKCvrKB7dz22W06k5p
 hSG7XzekUrzrU9VnIrh8awdun5hT6YkYe5sgghgqAjYEVhAzHkBQAH8P8Vwp4gjfj0Ydf5t
 QcpuCEQnsIs7siTFZpGhQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:uQTLvfmN7dg=;ZtOcI4OcHFHmRTih85w+yFUyllr
 e2I1xYBo67RXOezVnu8lL4NG+9895E3A3eeVVWKpB0s9fwKscYbaJkkS8WRA2qws8Szrbqo7A
 VWlavXYOOuwNdfFBHsoROvZKJcF56frFNyFwzR+w6GuJLXEpcU3KJkdFIwn4J/sSFFkdvwTBc
 sj/6iY+mW08YRrSAajOdO88uUE32/b1hApP3WhMJ/DUjmY8nQt4MGGKdz6AYxaHlJ/nu2nAmn
 RZFY6hw/CVm1EIZTDP5T/VycmRYcZXAOgxK2v72zOAG9RCVq1JQS0koCt4WVA3MDjxM+vakPf
 N0kXRlZuNAiHxmdS2Fp10LWFaNk4s5o3bjUufR1b1Zz4ZJv+HI/PumNqDp2zAaKIhudUwtlth
 aY4vYP8XwwYADqIClB12ySRVe1gIuKSkfw7RxPRvmUAOr9B2URTNrq7ui1MUVfYz8HvaTuN0z
 2wvxCkAHWQ31RKbHZb4cJR7ABB+CLN88g9qCnDRf0EzpUUialkAbb5qwACmgYdCKwxQt87DlD
 pInDmSPvnvTJvPrm3KnRx52nSnARcDF6T9WyzfNvZgfcw/QvnrMyAWlh9ZjnYYOoLQYzsBv3t
 aW90f/GBpihNuOM8F5gc03ZFKKd9+aVd0UhCq+pr4Ji3QfY4X+2leAP94mZBkyGZT6fncErsV
 kPHDyKky5VYhB/wu+Iqy6yA9VWjDvZj5O757KqwPT6VjVMH8bQzLgT3f5bLAv4nOotUUQlUsC
 SVDwRMgg/s4YV8iNBMERSX2J9cJxS4QG/GBZRygoL6cv7DWapmcyJJYanlNkSfl3fCjCBYsE6
 xvLHzHrq3ISmRnfAuvB9VUDwHy4oQGX0QWj665DE8WFQBeM1ODrwH0EuI5zTaw3BV6oQo1YI2
 v77TQ/oMPpoV4m+jvhRs1M06Bcm+qw4nThdzrqmoh7hUCtTh1LX78/L/NFSCqkCsO7G8zK2E5
 zcWShg==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>>> Michael can probably confirm, correct or deny this.
>> More or less correct.
>
> Actually, I don't think it is correct, at least not the way I meant it:
> JSONRPC data never gets into the tprocess's buffer.  Experiments also
> seem to disprove it.

Hmm, right. *When* output arrives, it is pushed into the right
buffer. But sometimes, the expected output doesn't arrive.

>> But I still can't say which process gets output
>> when, because I cannot debug accept-process-output (it's a C
>> function). And running Emacs under gdb changes timings, which is
>> important I believe.
>
> Yes, we must probably write some gdb scripts.  Eli is expert at that,
> but I've done some it myself.

If you like, pls. I'm not so fluent with process handling in Emacs C core.

> When you press C-g after the hang occurs, the backtrace is correct but
> the tprocess buffer is simply empty, according to the new logs.  IOW the
> response Tramp was waiting for never arrived.

Result is random. Sometimes the buffer is empty, sometimes the buffer
contains the beginning of the output. The point is, that not everything
is contained, and Tramp waits for the final shell prompt.

>> Wwe must do anything, solving this.
>
> I don't understand what you mean here.

Fixing the "Forbidden reentrant call ..." error now and forever.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 2 Mar 2023 11:21:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 02 06:21:04 2023
Received: from localhost ([127.0.0.1]:55963 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXgzf-00029n-Oo
	for submit <at> debbugs.gnu.org; Thu, 02 Mar 2023 06:21:04 -0500
Received: from mail-wm1-f52.google.com ([209.85.128.52]:36388)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pXgzc-00028x-Bz
 for 61350 <at> debbugs.gnu.org; Thu, 02 Mar 2023 06:21:01 -0500
Received: by mail-wm1-f52.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso1468911wmq.1
 for <61350 <at> debbugs.gnu.org>; Thu, 02 Mar 2023 03:21:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677756054;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=rTPK0RLDWFGBiGRPQfZR79huO7yb3tIiukbwohllQL8=;
 b=TsxMoW5Ox+l9tQbShVEqei+sICvMCFc5+TaqJYbnAKOaTm0cRQonI0TFsgbIiP6QUH
 GuQQ9ilUk4RAv7glWF+zsXUIaY9dXXZEI3FvVXN4dxpqO+tq/5tb99NJsWNgf1eeL5AK
 wLzyz4qNix7oNO4hULdLTU0L0BHIYPCeSrFsl45LoqY549dmyg0XLAzKmIsvHc+1Ogwy
 /q3Y/V5bCe4Pmd6G0UbBvt4qB78k29I9RdzfvjDDgiE3pQO/KnwnXrD7hwRgCJjXbyRo
 ffKA+JisnZWhK6QublMWYty79UMP2v3rCZaQ7m2Jru086Cyqqp7sEUFTvmQ0iIEmAP3A
 ycsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677756054;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=rTPK0RLDWFGBiGRPQfZR79huO7yb3tIiukbwohllQL8=;
 b=pTpz2GtOECgSILU1VmF2F17PI22SMNB/9qk3nNk8BGbUEFzum7ztlDQpUTIayWwd8q
 Xf0t4Llqm4USn/pbWbNpbUDuOdhe4oSVGKtdFvfn2ylvv0Ljc1F5H3/2Y5UUcKunY7dA
 TFQnyRD8CztGO6rKsl4KX/5eZCJOtXLqvohInCTZ73LEmtAT19s6kUP3588zfmSHulOP
 N4OGRg6zz8QP3J24tktnnLYo9roh8NbEIpR8HB4fRRVXkPjsM3jMnXvTzYjbL4vVQ22x
 UUl79IB8C2QaORijTB1SWMN4m7o2feAVHDzY5EN0AUkWndOlCNgpQ6B7KaWhG95F8zo9
 /C9g==
X-Gm-Message-State: AO0yUKUtmO1OAGsbACCSw8bSllyAStPJwOWJTLCikd+UeHo4T7OsWj7s
 F2SPYq1KngfIrw7qDnvUB5EDnOOL1GE=
X-Google-Smtp-Source: AK7set/sBQ00FgcAsNQd6QZKPnr6rwMjcHdENKMdNCUOFm18eREhRgd/cErt8b+TXzSEzEkPPxJd/Q==
X-Received: by 2002:a05:600c:3319:b0:3eb:2b88:9adc with SMTP id
 q25-20020a05600c331900b003eb2b889adcmr7393964wmp.25.1677756054135; 
 Thu, 02 Mar 2023 03:20:54 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 s19-20020a05600c45d300b003df7b40f99fsm2986957wmo.11.2023.03.02.03.20.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 03:20:53 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87y1ofct83.fsf@HIDDEN> (Michael Albinus's message of "Thu, 02
 Mar 2023 12:01:32 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN> <87y1ofct83.fsf@HIDDEN>
Date: Thu, 02 Mar 2023 11:22:49 +0000
Message-ID: <87356n8kja.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

>> Michael can probably confirm, correct or deny this.
> More or less correct.

Actually, I don't think it is correct, at least not the way I meant it:
JSONRPC data never gets into the tprocess's buffer.  Experiments also
seem to disprove it.

> But I still can't say which process gets output
> when, because I cannot debug accept-process-output (it's a C
> function). And running Emacs under gdb changes timings, which is
> important I believe.

Yes, we must probably write some gdb scripts.  Eli is expert at that,
but I've done some it myself.

>> When one (accept-process-output tprocess nil nil 'JUST-THIS-ONE=3Dt) one
>> must be absolutely sure that tprocess is going to send _something_
>> "soon".  If it doesn't, we'll hang indefinitely (until the process dies
>> or the user quits)
>
> Yes. But Tramp calls accept-process-output only, if it has send a
> command to the remote shell, and it expects something to be returned. At
> least the shell prompt.

Yes.  Tramp is doing the right thing.  It really expects a response to
come.  And more often than not, it does.  But sometimes it doesn't, and
that's when we hang.

>> See the comment there?  Only 256 characters back are inspected.
>
> Yes. But the regexp it searches for is the final shell prompt. Something
> like "///4b3b7d4fa561141e84c94a1cf25e8575#$", which is shorter than 256
> bytes for sure.

OK, but why can't one search for it from where you last left parsing,
(i.e. point) up to process-mark?  Anyway, I increased that value
significantly and it didn't make a difference, so this is probably a red
herring.

>> So, finally, here's my conjecture:
>>
>> 1. Tramp goes into 'tramp-wait-for-regexp'.  tprocess's buffer already
>>    the message that 'found' is supposed to return, but it also has a lot
>>    more stuff, say a lot of JSONRPC data from the LSP server that also
>>    came into that tprocess buffer and is awaiting to be delivered to
>>    jprocess.
>>
>> 2. This data is for piping into jprocess, where the JSONRPC message will
>>    be decoded, but it will probably never arrive at its destination.
>>
>> 3. 'found' will be nil in tramp-wait-for-regexp, because of the
>>    tramp-search-regexp limitation.
>>
>> 4. tramp-wait-for-regexp will issue the "risky" accept-process-output
>>    call.
>>
>> 5. there is no more data that accept-process-output wants to put in the
>>    buffer,  because the LSP server is fine for the moment.
>>
>> 6. Emacs hang
>>
>> Just a conjecture.
>
> Yes, this is more or less the scenario. But I still don't understand why
> not all data are delivered through the socket ssh is using. Could it be
> there is a limitation, how much data could be buffered by ssh?

After testing with a enhanced tramp-backtrace that prints out the
contents of every process buffer, I don't think my conjecture is
correct.

diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index df4b7dfca2c..f24a3b51074 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2212,12 +2212,21 @@ tramp-backtrace
 If VEC-OR-PROC is nil, the buffer *debug tramp* is used.  FORCE
 forces the backtrace even if `tramp-verbose' is less than 10.
 This function is meant for debugging purposes."
-  (let ((tramp-verbose (if force 10 tramp-verbose)))
+  (let ((tramp-verbose (if force 10 tramp-verbose))
+        (bt (lambda ()
+              (backtrace)
+              (dolist (p (process-list))
+                (let* ((buf (process-buffer p))
+                       (name (and buf (buffer-name buf))))
+                  (when buf
+                    (princ (format "\n--8<---- begin contents of `%s' ----=
-->8---\n" name))
+                    (princ (with-current-buffer buf (buffer-string)))
+                    (princ (format "\n--8<---- end contents of `%s' ------=
>8---\n" name))))))))
     (when (>=3D tramp-verbose 10)
       (if vec-or-proc
          (tramp-message
-          vec-or-proc 10 "\n%s" (with-output-to-string (backtrace)))
-       (with-output-to-temp-buffer "*debug tramp*" (backtrace))))))
+          vec-or-proc 10 "\n%s" (with-output-to-string (funcall bt)))
+       (with-output-to-temp-buffer "*debug tramp*" (funcall bt))))))

When you press C-g after the hang occurs, the backtrace is correct but
the tprocess buffer is simply empty, according to the new logs.  IOW the
response Tramp was waiting for never arrived.

>> There are no (usable) threads in Emacs.
> There are. I made Tramp using threads, and it worked fine, when no
> interactive dialogue inside a thread happened.

Right.  There are so-called green threads, which could fit input-waiting
situations like this one, not for achieving true simultaneity.  In my
opinion, they don't present any advantage over the evented model, which
we understand much better (wait... except we don't :-) )

I don't think we should do that until we understand what is happening.

>> Timers are events, and so are runs of each processe's process filter.
>> Those two are what creates asynchronicity and the emulation of
>> simultaneity in Emacs.  When jprocess's filter sees a whole JSONRPC
>> message, it calls the message handler.
>
> Timers and process filters are the cause of the "Forbidden reentrant
> call in Tramp" errors.

I've had problems with reentrant calls to process filters before, and I
solved them with a timer.  Not sure what that error is.

> Wwe must do anything, solving this.

I don't understand what you mean here.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 2 Mar 2023 11:01:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 02 06:01:42 2023
Received: from localhost ([127.0.0.1]:55953 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXggw-0001i6-Ci
	for submit <at> debbugs.gnu.org; Thu, 02 Mar 2023 06:01:42 -0500
Received: from mout.gmx.net ([212.227.17.20]:38719)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pXggu-0001ht-Cc
 for 61350 <at> debbugs.gnu.org; Thu, 02 Mar 2023 06:01:41 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677754893; i=michael.albinus@HIDDEN;
 bh=72zGc/xBgN5Mh6LYH/dAt7RpiaAhjT2UZEwRWNqJZEM=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=sEYv572YidQASa0ITkJ/jX3kYj5OuPfX8jz8XzSfWQSkfesaftVZjh6KJaDCjXhGs
 OYpILmqnaGtwrzSVH3+4Ivo24VZxAsBQFeqf53UvRQP67fac7ta3xpcrH0pooHBRKx
 fUcaPqYUokbaY2ba8KjBsJyS6hV5kAIM1PMhOHRazIZrM3wZedmtZl581lfDSkCKyF
 7pYSb63bTOZ5UJR+PmQYerResfLXYXGJoeFEpUjq1JBDukwSRxhqzL2ozgpojOnbfJ
 E4R01Lo69Y4LSpX3fZIy+mgQauDu7r4zavSjOi3E9rhDbj/1OeN9fn60n+ThIyk/cT
 A//K8VnOR8Akg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M6Daq-1peJSn1ssq-006hp1; Thu, 02
 Mar 2023 12:01:33 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87ilfkh89k.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Wed, 01 Mar 2023 14:10:47 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN>
Date: Thu, 02 Mar 2023 12:01:32 +0100
Message-ID: <87y1ofct83.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:BHp+k+BCG9fGAH2u2h5x5DFY86CnXnLbLa6A26mhTvk6OwT2XAO
 fftkPULmfElJBTv4jL0sZZxteNABDqH9TLyhfNw3G1Yw9rawV7XVJmTfffuts9fnw+R1trt
 zb7FVMO5d8w/BtBqcP/poqfdkaGneVXuLMvvd3R6DvQXxert2/zJXKuoiQ4iXQ8NRJ3vbUS
 cwsRCde8b0LcYtTZmdGzg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:IJzCwUmxy/w=;YBa9gbquSFmt8y5dN2LIo7b1T3n
 3LjUwt+JIQ47wI314l93aDSDyrUULopR9tVR53LL7YkSG3af8MJpIsbgMu2ezQMl15dev+lBV
 7bC+MBuNb9hKWsWNdCiv/gBXJgsUjm0rvsiVyxDwOS0QX+JuDudiiJJ4hZWA3HYjn8PLM0l+I
 yL2TpURGFAwHP4brsXE3kHILtk+38vUTytMd0O64F2c0CxJnFDLk8ooZH1ABMiCUqGLpdhDJi
 Hx1kGImfwGk2QA0+EFCiOV8ryNKqncztzK/f5rNiw8hI4+G1aQRZ87dIcbn2F7oNDkE8qbRZT
 gBkuJv820U2Rp7gVQrT0Xj9dNHpT3y6yhAvqjBuadD+dmmbnwBdZXmoHoL/shCh596hqhr+XT
 dnCwFGk6yCqiuZIxLD8MgY5y/swLnPecD7nxkBpHUIlIK0tb86kyngms+89VRsJt0iJunAfG7
 cesSyQAK/0XgyVR1STzxAYAW/5jWG60VUNDn4iP/LjcWOhCfq2fICnJ2IcjzFSsqipi2qQ+Xg
 XUXuas6T9ekC0j3mP+RkPw8cvKtsbE36eKD/XLZu5ZcDJ67G/2Xs5MHZJHq2MZyZdBeDpXIoM
 ZpUDtGy1Pk8uQw/rEZ+cW3LMTkgeY7KTCGLyT+qdH/ZaJxB4EL4139S/GlSzgr4ffxXK2Cmqy
 RssO1ltFV+gj7wCkqf6XbkMpidn0YGee7uxSvlDjGhMculI2dZRQykLC2hxAAFIM6XOcAz+bS
 fatGUE/tCJz1LuufHJ26sopsGvm2mlxKQ4t2VE9VrLJcCvRrAPaVR9VuqJ+j/IBADUhIeME30
 Uv3IO+D/04khbrur033RuyoA5WFXxZhCYFj8ZaB9KBebVnx6vWN21ZmP7vAY5x+JuhElkOWn6
 AmuRqPpTsljPh05uvEN0w9EinOwihUjs++YlCxLYxKUSVGdW37xNFLHBtNm2eaDxuT/qhQbw/
 Ew9QLQ==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

> But JUST-THIS-ONE _is_ relevant when there is more than one process.
> Here, there is.  There's one process, the jsonrpc.el process, henceforth
> 'jprocess', and the Tramp process, henceforth 'tprocess'.  jprocess
> receives only JSONRPC data from the LSP server.  It "thinks" it is
> talking directly to a JSONRPC server, but in Tramp scenarios it is being
> fed data from tprocess, which is the process connected to the remote
> host.  In tprocess, other things, such as shell interactions are going
> on.
>
> Michael can probably confirm, correct or deny this.

More or less correct. But I still can't say which process gets output
when, because I cannot debug accept-process-output (it's a C
function). And running Emacs under gdb changes timings, which is
important I believe.

> When one (accept-process-output tprocess nil nil 'JUST-THIS-ONE=3Dt) one
> must be absolutely sure that tprocess is going to send _something_
> "soon".  If it doesn't, we'll hang indefinitely (until the process dies
> or the user quits)

Yes. But Tramp calls accept-process-output only, if it has send a
command to the remote shell, and it expects something to be returned. At
least the shell prompt.

During my tests I have also changed this to

--8<---------------cut here---------------start------------->8---
(while (accept-process-output tprocess 0 nil 'JUST-THIS-ONE))
--8<---------------cut here---------------end--------------->8---

but it didn't help either.

> That's what has been confirmed through a backtrace.  It's a particular
> accept-process-output call in tramp-wait-for-regexp that hangs,
> understandibly so.

Yes.

> Now, 'tramp-check-for-regexp' uses a somewhat non-standard technique of
> searching for messages: it searches them from the back, from the end of
> the tprocess's buffer.  I don't know what motivated this, but I find it
> odd.  I find one of its callees, tramp-search-regexp, particularly
> suspicious:
>
>    (defun tramp-search-regexp (regexp)
>      "Search for REGEXP backwards, starting at point-max.""
>      (goto-char (point-max))
>      ;; We restrict ourselves to the last 256 characters.  There were
>      ;; reports of a shell command "git ls-files -zco --exclude-standard"
>      ;; with 85k files involved, which has blocked Tramp forever.
>      (re-search-backward regexp (max (point-min) (- (point) 256)) 'noerro=
r))
>
> See the comment there?  Only 256 characters back are inspected.

Yes. But the regexp it searches for is the final shell prompt. Something
like "///4b3b7d4fa561141e84c94a1cf25e8575#$", which is shorter than 256
bytes for sure.

> So, finally, here's my conjecture:
>
> 1. Tramp goes into 'tramp-wait-for-regexp'.  tprocess's buffer already
>    the message that 'found' is supposed to return, but it also has a lot
>    more stuff, say a lot of JSONRPC data from the LSP server that also
>    came into that tprocess buffer and is awaiting to be delivered to
>    jprocess.
>
> 2. This data is for piping into jprocess, where the JSONRPC message will
>    be decoded, but it will probably never arrive at its destination.
>
> 3. 'found' will be nil in tramp-wait-for-regexp, because of the
>    tramp-search-regexp limitation.
>
> 4. tramp-wait-for-regexp will issue the "risky" accept-process-output
>    call.
>
> 5. there is no more data that accept-process-output wants to put in the
>    buffer,  because the LSP server is fine for the moment.
>
> 6. Emacs hang
>
> Just a conjecture.

Yes, this is more or less the scenario. But I still don't understand why
not all data are delivered through the socket ssh is using. Could it be
there is a limitation, how much data could be buffered by ssh?

>> I have a vague feeling, that Tramp could be improved with a work queue
>> such that requests to tramp from notification or timer threads get
>> blocked while another tramp command is still waiting for a
>> reply.
>
> There are no (usable) threads in Emacs.

There are. I made Tramp using threads, and it worked fine, when no
interactive dialogue inside a thread happened.

> Timers are events, and so are runs of each processe's process filter.
> Those two are what creates asynchronicity and the emulation of
> simultaneity in Emacs.  When jprocess's filter sees a whole JSONRPC
> message, it calls the message handler.

Timers and process filters are the cause of the "Forbidden reentrant
call in Tramp" errors. Wwe must do anything, solving this.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 2 Mar 2023 10:40:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 02 05:40:46 2023
Received: from localhost ([127.0.0.1]:55898 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXgMg-00015Q-7A
	for submit <at> debbugs.gnu.org; Thu, 02 Mar 2023 05:40:46 -0500
Received: from mout.gmx.net ([212.227.15.19]:45815)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pXgMd-00015B-Hw
 for 61350 <at> debbugs.gnu.org; Thu, 02 Mar 2023 05:40:44 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677753637; i=michael.albinus@HIDDEN;
 bh=Qf8z0U/CHC5mtiR/Y365DA3xx+BdfzUlt0jdpI5e0YA=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=OkaCBXyl6iat9KSdkEMs6jblBvrMc/eABA796UCgZvSXl0ezeyUWpWgPja9EO2/8m
 5loplu5iPe8yLibwzPiktbygL1903gs0eixrDz3FnSQV3Em4z8No05HjP8CSP2OxYD
 l2nJTGqYErI487jyqTxCoIqzOnG7Tf+9frcBWGMfN0TOJrJDhMWB++ZSYyqtTLbYy3
 afhGmA1AG+VbASGrC215HxXG3Xg5tiCFoj3ijcFXE7ypTKv0+47x6fSVJw18Z2HVkS
 AoMH92XMyTFBD1A2sTTgdvxC2Vwy9ca8xzN591NxXQd01Sm+jzCDpYa/NNb5uapo6l
 mrIO6r39ecLyQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M8ygO-1pdiF83vHi-0065eh; Thu, 02
 Mar 2023 11:40:37 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <1458446553.50372.1677606917251@HIDDEN> (Thomas
 Koch's message of "Tue, 28 Feb 2023 19:55:17 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
Date: Thu, 02 Mar 2023 11:40:33 +0100
Message-ID: <87356ne8ri.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:RnRk4JvvW3UtPghQYmGHb73tN+ZfYXtAFlGLPJaVJB/u2goxIe9
 wb3UFHGa57jIN7JLCYcpU7ny6l2IvSKWwRwacxi6SVqbcrYE2/Pn2ALzIycTgojiteVLZa/
 8X1YJxqA/iY0ThOavD2ub6+rbycqqIt6jGVvh/l0GfuCV+vCecpSeNtYem7lnVlOIJQLZvz
 gK5ta+EPvr6uId0wQDz1A==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:mbqvDP5uL6c=;bNhf5GSuNmqBRc9PX7fHkwAGARq
 9M5o3k6ZsXOjfUlEYYBmNBdPZV+uY3H3Qdsfh6vfPbhKWfwCKaPPJEjpaGdgtJYq7LlTlrBvl
 nqJC40VxbPT8ze2jah0TMINotQ8liK0Id43YeeYhKWHYDy0mfs1ix5P1ozeHDHnJDvvlrDT+N
 eSpCLGukBzHR7EcVcH7Xu10+k9M8+d7LXO0DWUdyGToIB3IaW026rhmP0kZEqz2qoHhXWKz3B
 aHzJCTfAo2wcv8pAoxf2Tuys2ouXuj0TuTI7ckDPAWDzASLJYSPc9k3kSZL3VdnwsSNX35k/R
 R2zFxsD3zsmMoLrAXE/5QrUrX5dCW+/LXIJtv00eFsokMX/dmCgYE24XHLVqvdo6JqBgZYoFW
 20GbUbz9HHAJ5TsICCCGoSKpyt5g4CbHPmbZ9pZwBFIn7BoUVPR2h93EFzDAi8A9x1nMaPOLs
 C2y8j8/A9nxLQSfRuVHqXT+73rDmfJTcmoosNNv5LKHmIJja5VMxzmfYs8rhz8ayUBnOc/fGx
 fJ0zx3hRpcWFJHZANhFWET1RbR0cSD4wuHQxQXCNOaVkR/nJ18IBUMi1ZZjndiCzrZMuNlBO5
 Zg+gW86zSQn8uK3saKkf9dfByOMzqbnh6kGQk1csbTnZGzV06isOc6dOMjltlAN3B75wz1Xc5
 Yed//siDXpoDaZVz7+JBt7Spcj5Iqu2b59uh7q1RfbAr0l5DxoonFeZRv1pi5JX3wqxTrnNDO
 eXq6rd0c6+LdzHwyJhA0gBgIFtgtsG4OVScuyODynQ6GCz3vHP47KIv/rVNu+s1ffaieOACwt
 DUFqLpkYRqFKA2hySVjOOZYMHvZFqySiJCpJXEwGZX2qIFj/POFQakTRIGXNpTyFs4MpJTKXy
 jzNexlIoMOfKekquLYw101qGO4rietZPlzGaWUx/iR+9H8nXyMlA0H038zEoYt5Tk4ICSquN/
 1HlWRQ==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

Hi Thomas,

> My current working theory is:
>
> 1. There is some buffer in SSH (or TCP) that gets filled by the language server sending data to eglot.
>
> 2. Tramp sends a command over SSH.
>
> 3. Tramp sets the JUST-THIS-ONE option of accept-process-output to t since https://debbugs.gnu.org/12145.
>
> 4. The response to 2. can not arrive due to the buffer being filled in 1. Tramp blocks the emacs main thread.

It is a little bit more specific. Tramp speaks with the remote shell in
order to execute commands like '(file-truename "...")'. This
is transformed by Tramp into the shell command

--8<---------------cut here---------------start------------->8---
\readlink --canonicalize-missing /home/albinus/src/yacy_search_server/examples/SimpleSearchClient/pom.xml 2>/dev/null; echo tramp_exit_status $?
--8<---------------cut here---------------end--------------->8---

Tramp expects the result of the readlink call, and the return value (in
order to know whether this result can be used). And it expects a special
shell prompt, which is the indication, that the remote command has been
finished. So it calls tramp-accept-process-output, unitl the connection
buffer contains something like

--8<---------------cut here---------------start------------->8---
/home/albinus/src/yacy_search_server/examples/SimpleSearchClient/pom.xml
tramp_exit_status 0
///4b3b7d4fa561141e84c94a1cf25e8575#$
--8<---------------cut here---------------end--------------->8---

This special shell prompt is initialized at process startup, by setting
PS1.

This works fine, until there is the concurrency with the Eglot
process. According to my debugging, Tramp sees only part of the
output. The final shell prompt, ///4b3b7d4fa561141e84c94a1cf25e8575#$,
doesn't arrive, and so Tramp is blocked.

> I tested my theory by deleting (and thus disabling) the JUST-THIS-ONE
> argument in all calls to accept-process-output in tramp.el and
> tramp-sh.el. Eglot did not freeze anymore in two tests with two
> different systems (but the same jdtls binary on the same Debian
> version).

Yes. But I still don't understand what's the difference in scenario.

> In one test however I saw this in the message buffer:
>
> [jsonrpc] (warning) Invalid JSON: (control character 0xd <callback> 1
> 381 381)
> {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/thk/git/yacy_search_server/source/net/yacy/htroot/ConfigSearchBox.java","diagnostics":[{"range":{"start":{"line":35,"character":86},"end":{"line":35,"character":94}},"severity":3,"code":"1102","source":"Java","message":"At
> least one of the problems in category \u0027unuseContent-Length: 798
>
> {"jsonrpc":"2.0","method":"textDocument/publ
>
> I already sent the above to Michael in an out-of-band thread (thanks
> for your patience!).

I suspect this is due to the "Forbidden reentrant call", but it isn't obvious.

> I have a vague feeling, that Tramp could be improved with a work queue
> such that requests to tramp from notification or timer threads get
> blocked while another tramp command is still waiting for a
> reply.

Exactly. This is what I want to achieve by using threads for protecting
the communication with the remote processes. Or at least with the main
connection process.

> Additionally I understand that Joao has an idea to use markers
> controlled by Tramp. - I'm sorry that I can not (yet) contribute with
> putting both ideas into code.
>
> There are two statements in this bug thread that I don't yet understand and that might be worth more elaboration. I volunteer as a debugging rubber duck[1]. However if you both understand each other then never mind:
>
> [1] https://en.wikipedia.org/wiki/Rubber_duck_debugging
>
> Joao: "markers in the process buffer is what is used commonly"
>
> I understand that tramp sends only one command at a time per
> connection. Otherwise the reentrant error is thrown. The command
> result gets written to a connection-specific buffer. The output is
> parsed from point-min and the buffer content deleted after parsing and
> before sending the next command. So what should there be improved?
> Jsonrpc needs its own markers because N messages can arrive at any
> given time and the buffer can not be deleted after each message.

Meanwhile I don't believe any longer that markers are the problem.

> Michael: "If another process has consumed the output, even if it is pushed into the correct buffer, Tramp doesn't know."
>
> What exact scenario should that be? Emacs writes the output (if
> there's no filter) in the correct buffer for the process. Tramp might
> call accept-process-output unnecessarily because the output is already
> in the buffer due to a accept-process-output call of some other
> code. But in this case Tramp will find the output there eventually,
> maybe after having waited until a timeout. This could be improved by
> checking for already present output before calling
> accept-process-output?

I stand corrected. The problem isn't that another process has consumed
the output, but rather that not everything arrives. For whatever reason.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 16:20:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 11:20:10 2023
Received: from localhost ([127.0.0.1]:54752 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXPBa-0001Di-3m
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 11:20:10 -0500
Received: from mail-oo1-f48.google.com ([209.85.161.48]:41702)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pXPBY-0001DP-So
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 11:20:09 -0500
Received: by mail-oo1-f48.google.com with SMTP id
 t5-20020a4ac885000000b005251f70a740so2166525ooq.8
 for <61350 <at> debbugs.gnu.org>; Wed, 01 Mar 2023 08:20:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677687603;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=GKVcsz7dwzCCQFhXEpxskineRItpk2ld0rhU+Fj//s0=;
 b=GKyLjNDDpD7e87gUlbXiwpAlKDLo77hUOrWMz+l9jtnkkLd9qyFRRRCytzkpzmMOy7
 7Ow0xx8xGZrR9OdSx9UnPHmbyoprePoGUSKsu4XNPjx9M7bXA/QhrS3udN7ZtvGaxxxa
 SwbwMcdPv33bEzfLq0PA5lkbXh2Fjx1+wCkS2OYMQX3PU8KtEvgr5Wv1vOEOMK3QitnO
 N5SPjhnxsBZa6XOZ3BVYt32vFfSs/EpYl+IjWJ0ntj2i6bXOPQEA0EeVnfzDpNpnNXdu
 HMXa+2/fv0KWkTQAMp39Dr3is6KCwhxl/ThQnobjspflW9X4pwWfcwy1Sh45UNNHgA4y
 Xr0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677687603;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=GKVcsz7dwzCCQFhXEpxskineRItpk2ld0rhU+Fj//s0=;
 b=mW3dnAkDKUd51ZQtF+DtzUl/iWLaEF21nYgQJRew5nrkgb6JlCmIOseCdjyrUm8vLa
 y11CfjnOatji7kUwxaqJMjPWoksnbUHJMeJmqd725ZIqKkWZuaBwSkTP0MVTaSsq0Xt2
 OgWQ/flhQPWYdX8/04b05ZibH7kDd6qGtnLfdcbQQHOvylshj2lVcj9bKh/AU4LccHoE
 doyAD0Y4a5ZzIsy0CowiNa1HX+uyIHHqtaqskhENBjQsi3IL9koFeJ3KdY8SrkMaoTZv
 VO/ztNwBBWs9v6EnYSN4G0AaVMclPRT8gNvITaet7kfQPCXK4BIo7wIQHwmajouPpaEY
 2Pfg==
X-Gm-Message-State: AO0yUKWNyTk3ioOMnH8BOZHNjvXPdWwTLEPCeOgFG4jT91dE5+3WPodc
 2MTbFP27utMNPyns/BgzSvh8PSEL/Hgb7y5udZs=
X-Google-Smtp-Source: AK7set9D6e47j7cndqmChI0t7vh/QjuF+N/zwlvmNQUrMhTS2bYxg73tbsVyL5BnGBRj1arImw+Yr315kGtcDmC+vsc=
X-Received: by 2002:a4a:edcc:0:b0:525:5f43:215a with SMTP id
 m12-20020a4aedcc000000b005255f43215amr4454000ooh.1.1677687603209; Wed, 01 Mar
 2023 08:20:03 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <1458446553.50372.1677606917251@HIDDEN>
 <87ilfkh89k.fsf@HIDDEN>
In-Reply-To: <87ilfkh89k.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 1 Mar 2023 16:19:52 +0000
Message-ID: <CALDnm50WH5y+KDZ-1QZb1qyK9MyQjSeC8nCBoz-9053fsj9W1Q@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Thomas Koch <thomas@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000a229e905f5d915bb"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Michael Albinus <michael.albinus@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000a229e905f5d915bb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 1, 2023, 14:08 Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> wro=
te:

> in Tramp scenarios it is being
> fed data from tprocess, which is the process connected to the remote
> host.  In tprocess, other things, such as shell interactions are going
> on.
>
> Michael can probably confirm, correct or deny this.
>

In the mean time, someone reached out to me to point out this is the wrong
model for how things work in this scenario, particularly in the relation
between jprocess and tprocess. That may very well be. I'm very sure those
two processes exist, but they don't share data like that.

Jo=C3=A3o

>

--000000000000a229e905f5d915bb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div>On Wed, Mar 1, 2023, 14:08 Jo=C3=A3o T=C3=A1vora &lt=
;<a href=3D"mailto:joaotavora@HIDDEN" rel=3D"noreferrer noreferrer" targ=
et=3D"_blank">joaotavora@HIDDEN</a>&gt; wrote:<div class=3D"gmail_quote"=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">in Tramp scenarios it is being<br>
fed data from tprocess, which is the process connected to the remote<br>
host.=C2=A0 In tprocess, other things, such as shell interactions are going=
<br>
on.<br>
<br>
Michael can probably confirm, correct or deny this.<br></blockquote></div><=
/div><div dir=3D"auto"><br></div><div dir=3D"auto">In the mean time, someon=
e reached out to me to point out this is the wrong model for how things wor=
k in this scenario, particularly in the relation between jprocess and tproc=
ess. That may very well be. I&#39;m very sure those two processes exist, bu=
t they don&#39;t share data like that.</div><div dir=3D"auto"><br></div><di=
v dir=3D"auto">Jo=C3=A3o</div><div dir=3D"auto"><div class=3D"gmail_quote">=
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
</blockquote></div></div></div>

--000000000000a229e905f5d915bb--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 15:02:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 10:02:54 2023
Received: from localhost ([127.0.0.1]:54568 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXNyo-0004qN-Ag
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 10:02:54 -0500
Received: from heytings.org ([95.142.160.155]:50194)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gregory@HIDDEN>) id 1pXNym-0004q7-57
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 10:02:52 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org;
 s=20220101; t=1677682970;
 bh=MivuTOOBg9oPkzIr4AIPrI685IIQyBPlp2xAj96beyM=;
 h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From;
 b=i7gSW+84QTbNue0BLJEVU6kN+5mTByAL6TJyz1TepW6ZonwtlXNJAV9z6UDm4F5Un
 kE8gyilGjv2J/0CqoxXjSkPZYY7RRdRI1yCyKyXO6Oz8pt8ySXGb8T1BQsHF+zqE+I
 KyVqvddR19Vpa7B17SYJjIxQm1t9O5CpEMAo72ujyBWEAipZV2K/J5JbFigNWEQEK9
 /fuP5at4u2MW8pPfzDNYzGDIzSJM7H1gW9sTAeAC8y81nbweW8mcvJPtTHW+DEfMOX
 Yve1d3PEuVjCGg2gzrVT+DPu3YgI6OBHJplnvraHtq2GIGScmwQhto9bSkj8mAyjhX
 0uf8SgU0ICcWw==
Date: Wed, 01 Mar 2023 15:02:50 +0000
From: Gregory Heytings <gregory@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87ttz4ed9i.fsf@HIDDEN>
Message-ID: <7ba1dd627cfc79bba988@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <7ba1dd627c221d2d716a@HIDDEN> <87sfeohgpr.fsf@HIDDEN>
 <7ba1dd627cb680ed2353@HIDDEN>
 <CALDnm50RRd4wfd35Pr=aBFUV-zZSPG6y0x1Bzx_odPLWWq4ckQ@HIDDEN>
 <87ttz4ed9i.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="WIU3hbIQ2D"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>,
 =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--WIU3hbIQ2D
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable


>
> I confirm Jo=C3=A3o's observation. Setting ControlPersist=3Dyes doesn't f=
ix the=20
> problem.
>

Okay, thanks.  That was just a suggestion, I've seen similar hanging=20
problems in setups without ControlPersist set, and AFAIR that setting=20
wasn't mentioned in this thread.

--WIU3hbIQ2D--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 14:51:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 09:51:16 2023
Received: from localhost ([127.0.0.1]:53123 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXNnY-00046t-DV
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 09:51:16 -0500
Received: from mout.gmx.net ([212.227.17.20]:60083)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pXNnV-00046W-Gt
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 09:51:15 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677682266; i=michael.albinus@HIDDEN;
 bh=U2/YTpcq5uFDIo4o44zkYVk7+ysYt3XExNHzhruPGDY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=I4jkXEHxgMfU0dX+XL2EKNi+lFMROcAcNGt2fYbCb7yZzulENYGykN8dEIjnDtY//
 mbcfS2nOosszLTcb4MsRcYQpD3dB7Vsl6NDF5Z2fHDRJ3Bx+OfnxFqlNI2mJhorINY
 YgF8wJQn06cZ54HurAzExbtfjnwKhCvOXbysaH2LxcLhQCwOBKdHYxvfh/PzsfUnQE
 iaetwN9iXCuKdnZyX/6Ru/amTIpj+5UgfmUj0gcvaVM7umvTa2vVvjCBD0A7dQLQhO
 umDSZ4yWEoOd+gJ3Iqtxz6Oj6UHCPI8mLpQsaImCB6ayZ4bQ0kVwuv1q2vnTtt38qE
 8tVV9r4SLOqWA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MXXuB-1oyNRV1Mbv-00YvkA; Wed, 01
 Mar 2023 15:51:06 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm50RRd4wfd35Pr=aBFUV-zZSPG6y0x1Bzx_odPLWWq4ckQ@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Wed, 1 Mar 2023
 11:37:36 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <7ba1dd627c221d2d716a@HIDDEN> <87sfeohgpr.fsf@HIDDEN>
 <7ba1dd627cb680ed2353@HIDDEN>
 <CALDnm50RRd4wfd35Pr=aBFUV-zZSPG6y0x1Bzx_odPLWWq4ckQ@HIDDEN>
Date: Wed, 01 Mar 2023 15:51:05 +0100
Message-ID: <87ttz4ed9i.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:V2pntvqQZmdqTgRCsYPd9E07L4MZ0YL1083u/5nO5LXrRGSVYeN
 u2hMiTBk14LgK4ASfdDr+yB+AH/REkmq8eKTCTwqMfEaxnJ9XUUUtFHrHeYbmhof7nAVgsD
 Is8QwQ2ZhQTzYrXMpENg2Cl43zJ1u4jnnhRN6rJLtLbyUUrtlK04HP8QxSC2lYadojw/Aia
 clHxDllFgO+OAuIaeA+ZA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:zOfuJTcuPnc=;2/t6B/hFe7PWN2kQWOmbChEfimR
 j9jwOUu9B+WxHed/ET9ywBJu3srWTlEn7kjKHmgP7RdxZz5XC0E1bvQWf6TSz0WFHSBqj5uJ+
 qnGGfliuNxZ7a36gnCUPPS3C/+c+bznI1hHfP4t/iWRQ946wpw1lUIhILgUb9Io/og/WfZovK
 MwsHDozuqTgT71VyD5kuIyv1u1utlymiB99BL4RpEDFT5nOu4BKT1IJQSy1Wd5m/4oUi0PjEK
 K79w2BCSelbQYy31c7sW63RciFOd7gT0bJmwfQIJdYei7bCK9BphDl4nXqOjLh5wMKpACUlqs
 oARzyV5AtteQ3rFoGaTFILngUyd+pfeGvFZqlYTWScD+g+ggQj99Wf7uExhyhLJ3us0pHd75M
 v7Y4vJjC2urG7v2haE5pADFFIyDDd1qZ8XdJ4rdzwVnPieuIEuYZhPri4KLC5SptKGVuVNITK
 VKZSYsi90H+b7ZGfyYkgx45+IjqNtvuKN/iEQiLxDf9r+3MCac+IGSxM94d1aBb+3sm6usIYz
 UZxVbTv0Um5cJ/ifHXJIuyB5bW52Irr1Y+RN2UnlFiC2qjtGJMV8ji+iTqzIBd0/BF2xgtY4w
 +aFG3X1YuBfC64LLkArT1NXxeAUY1nnsj/gbxAorA8c8g13oU4Dnx+jB2BaAzRQVCbz0i0hvZ
 C28l0MqtwBDmnMoBjdYWNIg9jTpcNNuYpqcxUzoWmeNVTHgh5CFduNB01sOrTYoQGWcbBT/8b
 Vnn2Tg/qBrlCcXOe52d1vTF8uTmcN6xqU2+jdHK/kke6aoLxYWnqXP4ijixRPt8GhrP+YEDXQ
 qcEEaBaSLVtVb4pF+eCddDRAi9WwxFtMgS3Q3ndkUug0KItmkMSkrsXoAsWYx1Gx2RrFTqjGH
 0PBT+bo7NDPJo0ruAgE4AjCdpMw4eoOWjfuUjuDKjI3B+Phu4ZwgAf7rcpd51o+o91KEnJ/aG
 08HRXoC093KjRdmSnN+FZu9801U=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Gregory Heytings <gregory@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi,

> On Wed, Mar 1, 2023 at 11:23=E2=80=AFAM Gregory Heytings <gregory@heyting=
s.org> wrote:
>
>> Are you sure that this patch actually turns ControlPersist on?
>
> From Tramp's debug log.
>
> 11:34:29.869596 tramp-maybe-open-connection (3) # Sending command
> =E2=80=98exec ssh -l sshuser -p 2022 -o ControlMaster=3Dauto -o
> ControlPath=3Dtramp.%C -o ControlPersist=3Dyes -e none localhost=E2=80=99
> 11:34:29.869679 tramp-send-command (6) # exec ssh -l sshuser -p 2022
> -o ControlMaster=3Dauto -o ControlPath=3Dtramp.%C -o ControlPersist=3Dyes=
 -e
> none localhost
> 11:34:29.869814 tramp-process-actions (3) # Waiting for prompts from
> remote shell...

I confirm Jo=C3=A3o's observation. Setting ControlPersist=3Dyes doesn't fix=
 the
problem. And it is clear why it doesn't change anything:

- You open a remote connection. Tramp's main connection process becomes
  the ControlMaster.

- Eglot is called, which reuses this ControlMaster socket. Both the
  Tramp main connection process, and the Eglot process, persist, and are
  used for data exchange. It doesn't make a difference what value we
  have for ControlPersist.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 14:09:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 09:09:03 2023
Received: from localhost ([127.0.0.1]:53068 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXN8g-0002pD-Hb
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 09:09:03 -0500
Received: from mail-wr1-f44.google.com ([209.85.221.44]:44546)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pXN8e-0002op-Ho
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 09:09:01 -0500
Received: by mail-wr1-f44.google.com with SMTP id bx12so10184615wrb.11
 for <61350 <at> debbugs.gnu.org>; Wed, 01 Mar 2023 06:09:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677679734;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=1jnvB+ZgXnIUlQPSxXJeYui2yCWW3LPJyZHexy5V7L8=;
 b=kWzNY2bPZotPwdGjriUGMCZZalatdsvZcmOeWZAhskhLMDRAz9z4X4GtMM8Ec2M8wV
 pLokkKj0gQW//W05xXZuOPE2L2MqHHof+aBI3u+kX7iIRP0kjD0SBwGyVE2BfvQ+s4pi
 SFufhTSb6UJdpzHnvTUUXr8BViP7vO8acKbpNX2Up9vAY/m8qhX4Aodw4GJVvirbf3Yt
 47tIM74qSvlsohX05u9dRLqN77Yh16w3IoT9ImAFYmZI0DxhgUsz9PgcHq2OKjfvEc5T
 G1Pl5/Cz/Zvi2p/ohK6jABib9fkAyBlKpPMf3C7pb9FJnNT8lJQq0lnf8Qoa1ZLnEyPH
 cHMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677679734;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=1jnvB+ZgXnIUlQPSxXJeYui2yCWW3LPJyZHexy5V7L8=;
 b=6aLlehVlKw6kcl08treusXJe/2gOlBO4JbwVc/a77WiHsjy7aADWS0fYl+wej2b0P7
 CGpV6Qttr3RgjRJHOPFv8yRmfhaoipSH0t1zKhc4yCZvQrqhf2CSsRIbHk3eFIAQr6i4
 DrJsjRpkgd8CLln0FL/bg/sGijC2CMepHOqSCEi5YvmVB87wsOwDoS8Zs5ZfuTWX65CJ
 Kyj1HzRboqa3xypvXjY/F44jrygJNvwPoGPg6mfchb3MD3DaiEEoWMZXmpxe4UD00mYt
 KIw7NjPA04JTHkOs0TRtRJl0N+UUuQ5wTQ8n372iDkhhjntam4lcQNfwnc8TjVjDHDxY
 uD8g==
X-Gm-Message-State: AO0yUKX/OzDFvAhSuE5JD804LHHrfkhZVIBEseg3gQ2+FdvevXYdLrUc
 9SnrPJKgeYJf6xXSAQ2vJvt1HzbTA70=
X-Google-Smtp-Source: AK7set9zy9GtCRMab009BmV2ga+XoqLPUI4nENKFSh9mlIEwY0erInqJgW4fXtb3qFbtHuJonlKTHA==
X-Received: by 2002:a5d:6041:0:b0:2c8:c667:1bb4 with SMTP id
 j1-20020a5d6041000000b002c8c6671bb4mr4744831wrt.48.1677679733973; 
 Wed, 01 Mar 2023 06:08:53 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 r14-20020adff70e000000b002c567881dbcsm12748450wrp.48.2023.03.01.06.08.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 06:08:53 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <1458446553.50372.1677606917251@HIDDEN> (Thomas
 Koch's message of "Tue, 28 Feb 2023 19:55:17 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
 <1458446553.50372.1677606917251@HIDDEN>
Date: Wed, 01 Mar 2023 14:10:47 +0000
Message-ID: <87ilfkh89k.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Michael Albinus <michael.albinus@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Thomas Koch <thomas@HIDDEN> writes:

> Thank you both for being so constructively engaged in the bug I opened.
>
> I'll give Joao's patch a try tomorrow. (I'm too tired now.) However I don=
't see ControlMaster as the root cause at the moment.
>
> My current working theory is:
>
> 1. There is some buffer in SSH (or TCP) that gets filled by the language =
server sending data to eglot.
> 2. Tramp sends a command over SSH.
> 3. Tramp sets the JUST-THIS-ONE option of accept-process-output to t sinc=
e https://debbugs.gnu.org/12145.
> 4. The response to 2. can not arrive due to the buffer being filled in 1.=
 Tramp blocks the emacs main thread.

> I tested my theory by deleting (and thus disabling) the JUST-THIS-ONE
> argument in all calls to accept-process-output in tramp.el and
> tramp-sh.el. Eglot did not freeze anymore

I don't think your observation necessarily validates your theory.  If in
'1.' you mean _an Emacs buffer_, the buffer in question is populated by
Tramp's process filter (the default process filter, that is).  Then
accept-process-output with non-nil JUST-THIS-ONE would not prevent that
buffer from getting the all the output, becasue the "THIS-ONE" is the
process.

But JUST-THIS-ONE _is_ relevant when there is more than one process.
Here, there is.  There's one process, the jsonrpc.el process, henceforth
'jprocess', and the Tramp process, henceforth 'tprocess'.  jprocess
receives only JSONRPC data from the LSP server.  It "thinks" it is
talking directly to a JSONRPC server, but in Tramp scenarios it is being
fed data from tprocess, which is the process connected to the remote
host.  In tprocess, other things, such as shell interactions are going
on.

Michael can probably confirm, correct or deny this.

When one (accept-process-output tprocess nil nil 'JUST-THIS-ONE=3Dt) one
must be absolutely sure that tprocess is going to send _something_
"soon".  If it doesn't, we'll hang indefinitely (until the process dies
or the user quits)

That's what has been confirmed through a backtrace.  It's a particular
accept-process-output call in tramp-wait-for-regexp that hangs,
understandibly so.

The need to ensure safety of that call is why there is a prior for any
'found' messages in 'tramp-wait-for-regexp'.  Only then is the "risky"
'accept-process-output' attempted.

(defun tramp-wait-for-regexp (proc timeout regexp)
  ...
  (let ((found (tramp-check-for-regexp proc regexp)))
    (cond (...)
	  (t
	   (while (not found)
	     (tramp-accept-process-output proc) ;; WE "HANG" HERE SOMETIMES
	     (unless (process-live-p proc)
	       (tramp-error-with-buffer
		nil proc 'file-error "Process has died"))
	     (setq found (tramp-check-for-regexp proc regexp)))))


'found' relies on searching the contents of what is already in
tprocess's buffer, which tprocess's filter dumped there.  So far so
good.

Now, 'tramp-check-for-regexp' uses a somewhat non-standard technique of
searching for messages: it searches them from the back, from the end of
the tprocess's buffer.  I don't know what motivated this, but I find it
odd.  I find one of its callees, tramp-search-regexp, particularly
suspicious:

   (defun tramp-search-regexp (regexp)
     "Search for REGEXP backwards, starting at point-max.""
     (goto-char (point-max))
     ;; We restrict ourselves to the last 256 characters.  There were
     ;; reports of a shell command "git ls-files -zco --exclude-standard"
     ;; with 85k files involved, which has blocked Tramp forever.
     (re-search-backward regexp (max (point-min) (- (point) 256)) 'noerror))

See the comment there?  Only 256 characters back are inspected.

So, finally, here's my conjecture:

1. Tramp goes into 'tramp-wait-for-regexp'.  tprocess's buffer already
   the message that 'found' is supposed to return, but it also has a lot
   more stuff, say a lot of JSONRPC data from the LSP server that also
   came into that tprocess buffer and is awaiting to be delivered to
   jprocess.

2. This data is for piping into jprocess, where the JSONRPC message will
   be decoded, but it will probably never arrive at its destination.

3. 'found' will be nil in tramp-wait-for-regexp, because of the
   tramp-search-regexp limitation.

4. tramp-wait-for-regexp will issue the "risky" accept-process-output
   call.

5. there is no more data that accept-process-output wants to put in the
   buffer,  because the LSP server is fine for the moment.

6. Emacs hang

Just a conjecture.

More comments to your comments.

> Jsonrpc needs its own markers because N messages can arrive at any
> given time and the buffer can not be deleted after each message.

Jsonrpc operates in jprocess's buffer, which is separate.

> I have a vague feeling, that Tramp could be improved with a work queue
> such that requests to tramp from notification or timer threads get
> blocked while another tramp command is still waiting for a
> reply.

There are no (usable) threads in Emacs.  Timers are events, and so are
runs of each processe's process filter.  Those two are what creates
asynchronicity and the emulation of simultaneity in Emacs.  When
jprocess's filter sees a whole JSONRPC message, it calls the message
handler.

> Joao: "markers in the process buffer is what is used commonly"

Markers are positions in the buffer that maintain relative positions if
you add text before them.  Point is a marker, and so is the
process-mark, which marks where process last left input.  With that
concept in place, it's usually easi(er) to code processing of messages.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 11:36:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 06:36:00 2023
Received: from localhost ([127.0.0.1]:52893 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXKkZ-0004bG-TJ
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:36:00 -0500
Received: from mail-oa1-f50.google.com ([209.85.160.50]:44701)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pXKkX-0004b1-AK
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:35:57 -0500
Received: by mail-oa1-f50.google.com with SMTP id
 586e51a60fabf-176261d7f45so1344549fac.11
 for <61350 <at> debbugs.gnu.org>; Wed, 01 Mar 2023 03:35:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677670551;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=oH1545lFjDAMXWl+Skt2sYkcpIncgB5OydmmQjmKDW4=;
 b=qAsvrzOe0eEZeJDZSHxICGG35AwOgnbOdMWzH5NNnoR167+Vefl2spR9LL+F3ieITx
 TV8fbu1Oi+mXNAMkncMltR8Lhdyl3NMN1kql2EhQDTadRR4ch0Hov43hk2kK99tKy9p7
 96+gbjDtWWSOnidqvA29o/GKhULgsjZXelgzChK+VI+5+Ye3Rh2flkK8pRpyDpZ5qVvM
 Axg2/cTmBViETflKn3b4wwc0g1clX1WMk977N019pW9yjV0uXuJIq6L5rUCK343nHgcD
 qyLHHf/g64Usd2RVwCAk2BBqTkevO+xjN2fpsvpBidKCA9uj+b+sRFL7QKlx4hwOt04E
 Yjkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677670551;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=oH1545lFjDAMXWl+Skt2sYkcpIncgB5OydmmQjmKDW4=;
 b=ksh313wTjcUmSfJAygwMoUl1AqXIZfKKnSWt21EuDG3o/eIoZG023YCx22ZPo9HLYg
 Q4ZjsNx9EEMdlhzuywVTRP+hALzeIe9oCl9CfnUFEuag4ROrsfOpx/TFhZeRqAh6PNad
 VstTCYxcRG2uNY8gX86UB6VrlcQoFNu5H9N/XJDjDHCqG1sT9hXhwOwyuvm+5JXv6jWk
 mzWeYtz0SgropM16vwwSqFSLY9McaTie5dxR67BGJ02wUilh+iiEr7jIHV7cSlRi94sD
 8r7IpeJEsvPEHayzMl7F3Gc9zBwKFx2zJeigSoJpJP1WFQefSIOVh9chURQGdgytUjdz
 5SkQ==
X-Gm-Message-State: AO0yUKWSut56xVuq1fp30QXis9fdjQjuP7w+68GfJsN+1mhv16IYHdnd
 +l4x+JXZywLGIWwyTaSdblhgr2Vv/yCUSfStqdo=
X-Google-Smtp-Source: AK7set/fxdLC2XTkTUHHu21XPiVIlmgsw+PIr4GjqCUIafho2dqAZ+7ZTVLOGsXMCcNcMl41fxVBWXgq4CBNasdblr8=
X-Received: by 2002:a05:6871:8e85:b0:16e:8811:2bb with SMTP id
 zq5-20020a0568718e8500b0016e881102bbmr1758877oab.8.1677670551572; Wed, 01 Mar
 2023 03:35:51 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <7ba1dd627c221d2d716a@HIDDEN> <87sfeohgpr.fsf@HIDDEN>
 <7ba1dd627cb680ed2353@HIDDEN>
In-Reply-To: <7ba1dd627cb680ed2353@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 1 Mar 2023 11:37:36 +0000
Message-ID: <CALDnm50RRd4wfd35Pr=aBFUV-zZSPG6y0x1Bzx_odPLWWq4ckQ@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Gregory Heytings <gregory@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Wed, Mar 1, 2023 at 11:23=E2=80=AFAM Gregory Heytings <gregory@heytings.=
org> wrote:

> Are you sure that this patch actually turns ControlPersist on?

From Tramp's debug log.

11:34:29.869596 tramp-maybe-open-connection (3) # Sending command
=E2=80=98exec ssh -l sshuser -p 2022 -o ControlMaster=3Dauto -o
ControlPath=3Dtramp.%C -o ControlPersist=3Dyes -e none localhost=E2=80=99
11:34:29.869679 tramp-send-command (6) # exec ssh -l sshuser -p 2022
-o ControlMaster=3Dauto -o ControlPath=3Dtramp.%C -o ControlPersist=3Dyes -=
e
none localhost
11:34:29.869814 tramp-process-actions (3) # Waiting for prompts from
remote shell...

> I would try to add a section like in my .ssh/config.

You can try your own experiments if you follow my Docker-based MRE.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 11:23:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 06:23:04 2023
Received: from localhost ([127.0.0.1]:52881 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXKY3-00044c-VU
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:23:04 -0500
Received: from heytings.org ([95.142.160.155]:49966)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gregory@HIDDEN>) id 1pXKY1-00043x-Rq
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:23:02 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org;
 s=20220101; t=1677669780;
 bh=3iIUHmIvOb7AMLYVgqDN22XFfp7+V2LzcodOibql0Lw=;
 h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From;
 b=LmRW/J117qG9AUvFz0hrphUxPOlY8lTp6GYgjhd9Lhawg56ReV1YOZ5Zz7OBDb94R
 fOOGxHZ3vGvxLGSzw/u+I63J9YbTFPQjWszVdsc5QVIL5sOsn4gJw8h/B9+DFUw/56
 zTMGtANs9DGXnOu1cOCXSYRRKW3MntVHXTg+qZ2Ce96ryJwk2YFHg3GHFy9PxH4ldt
 BxwujGeDqLKOfrOahKUSL+xpoBkrub9DDA1SUeeube2sEppurUT9xPlrXTbbRJheY5
 UqB29J1TVteOlRKEaNyQ0M2bmNrIALlZaw++GuZ/6sB9bGc22p5BlqN2TH5b5iEMum
 A9fkM7QGvRVoQ==
Date: Wed, 01 Mar 2023 11:23:00 +0000
From: Gregory Heytings <gregory@HIDDEN>
To: =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87sfeohgpr.fsf@HIDDEN>
Message-ID: <7ba1dd627cb680ed2353@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <7ba1dd627c221d2d716a@HIDDEN> <87sfeohgpr.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=us-ascii
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


>
> Still hangs.  I tried my previously described test with this patch:
>

Are you sure that this patch actually turns ControlPersist on?  Instead of 
trying to modify tramp-sh.el, I would try to add a section like

Host foo
   ...
   ControlMaster yes
   ControlPath /some/path/%r@%h:%p
   ControlPersist yes

in my .ssh/config.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 11:14:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 06:14:05 2023
Received: from localhost ([127.0.0.1]:52853 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXKPN-0003pE-BP
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:14:05 -0500
Received: from mail-wr1-f45.google.com ([209.85.221.45]:40732)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pXKPL-0003oS-JV
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:14:04 -0500
Received: by mail-wr1-f45.google.com with SMTP id t15so12812373wrz.7
 for <61350 <at> debbugs.gnu.org>; Wed, 01 Mar 2023 03:14:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677669237;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=raeXosX1JQ2qBmhpF9LTcUp3NYw0r+LgDlghFjcH27A=;
 b=LEyjVe6pFkU0CaSSg+o142UeJj0u1EwzoyRTD8jxF2o89G+mZ74dg8wiGwnSstzcw8
 da1BewwGqAcrYjVzbsU9Fe80K/ztSUa6094knLYpLnZX4mS2guDRUQlDHBzYIiJ3WmEn
 /+YzQ9j8xhEUmx0VenSLRQ5bRBcjc8x1WcnG8Ma39LpQQ2DRAnI/bGxbVLMQqir5u37p
 qrxQGWL9+yCEIrw6hraq9iOdGxUNrOtYUlkIxzEQoKVoLx+m9dQE11+LqM6dRmKMd3Nh
 mCrObD075oQOpKLkm5lrRtRN0tf/mfDYblpCdHgiKV3JtOgxOje8jxXLWo0fUA2NZ3pn
 ye3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677669237;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=raeXosX1JQ2qBmhpF9LTcUp3NYw0r+LgDlghFjcH27A=;
 b=nu7kpYu86AKW90JElHoU08mVY8YAFQzLZwofiNEjZ4VfychcxcOH3sfwqmM5ZQDFrI
 apKOpfcsQPhfsia45V6aOSr5NvRvdwNwfKQks/aTO92ZNKBlvN0dBSPzrP9JHjISBIxq
 3IicKOCc+qoHyK42eu2ufH2eewafVHtVF/C5O/UYMJnrT04gPifKR4dDGMQr13LZLGps
 t4J7rSR08paRXPcaAfGMBOBfRal3lAMXkc1d8NM3V+b92A+9DzhorUGk7k0+ZfkhEicy
 F+D9WuGeCKNjdzaCh9M1zCPwQBz/mFYYgxOgi7SBZxGvkINsww8HebR/SbsmyYX5GxW8
 DBmA==
X-Gm-Message-State: AO0yUKV0MoBhAnKtTxV5z1yggHi3849ONJ6QcxaVGBXhvRPnv4K3Gedd
 1hNWS9DKDBMvjueUldV9tDORksYnu9g=
X-Google-Smtp-Source: AK7set/QXuTj7eXKud8bbqUcnqypqhdCtLzAEd7JQtt6jnJ/FiBt99T0P9lBmAJrcx3lJGxcfRKrUA==
X-Received: by 2002:a5d:49ce:0:b0:2c3:db98:3e87 with SMTP id
 t14-20020a5d49ce000000b002c3db983e87mr4076874wrs.20.1677669237204; 
 Wed, 01 Mar 2023 03:13:57 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 n7-20020adfe787000000b002c573778432sm12342862wrm.102.2023.03.01.03.13.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 03:13:56 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87ttz4509h.fsf@HIDDEN> (Michael Albinus's message of "Wed, 01
 Mar 2023 09:44:26 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <87k001pomo.fsf@HIDDEN>
 <87ttz4509h.fsf@HIDDEN>
Date: Wed, 01 Mar 2023 11:15:51 +0000
Message-ID: <87o7pchgd4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

>> I think that 2 is probably smaller than 1, especially if ControlMaster
>> is such a momentous thing.  So i think the risk is worth taking.
>> Especially because an error for people in 2. is easier to recognize,
>> understand and report than an inexplicable Emacs hang.  And Eglot is a
>> :core ELPA package, so bugfixes can be expedited.
>
> I agree with your judgement.

I just pushed the patch to Emacs 29.

> But we know that it is just a workaround. I would sleep much better if
> I would know what's the root cause of the problem. Thomas seems to be
> on a good path with his analysis. Hopefully, we can find something
> more on his way.

Agree.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 11:06:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 06:06:31 2023
Received: from localhost ([127.0.0.1]:52842 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXKI2-0003dn-Oj
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:06:31 -0500
Received: from mail-wm1-f43.google.com ([209.85.128.43]:37392)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pXKI1-0003dY-8Q
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 06:06:29 -0500
Received: by mail-wm1-f43.google.com with SMTP id
 j19-20020a05600c1c1300b003e9b564fae9so11542821wms.2
 for <61350 <at> debbugs.gnu.org>; Wed, 01 Mar 2023 03:06:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677668783;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=9RnKIaicA45kGf2wLcE0ZI4uz6EUJL8hu1+3rscMFFQ=;
 b=G6WPUwXH+U5OtGoEMQwoFSN69Y3i2WbNLwGEOqhkraHcxQtz5FZ8X+QdkXkzqgj+Q/
 WK+dt75yGi04lUhRNXz2h8f4qb0k5XsXblzrpAVMhdh19X4GtTYfbajd+HDwe8QOiyFY
 gElz9rry2si+G0F0NwA5z2E5SAczX2GkpCWk8pqiBlO1shZ2ffWu477qhfjUjuBCiU+F
 nNKYich3kbEI0YlZRBu919CdwFW9tffDTX0sh/45Ox5fNMsrqQIC7Gfs5xjA6X/5/eXz
 wfosv+PHOREmeNFOln+bKr9UBQcqBhCa1TZh3ot+eOGzaMjsxPaeYepPaLXexDgCcxAj
 uqgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677668783;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=9RnKIaicA45kGf2wLcE0ZI4uz6EUJL8hu1+3rscMFFQ=;
 b=vC02H7K5AY55lyBLEBw8Rz2yI6575+XcO9prfkvvYvIPnoxQ7tfDN0gCNRPll90eqm
 7mjyjugBovPPXf+LaZEVu8Lm8neLD9mymNCBAdKuMTvlFRAHM85dKbh06JQhnfV547JN
 AIrIyw4wagPWFdDcAZ26+UDcRUpiwX06wN7h5PQL7FDCbhtwUUuZsrf97zpJb2d65Q4Y
 yPf8MfWADUHit4lFxE9NlYl8PA/GMQGYmTWQ/bGeYmC5PzEVESbfITM95oquCVGuyAsV
 KfuN7UWhKu0RiFpXSY/YJqEFMUoalqkWQ2iIuGe64dVph5hLg5NqkNahd0FXnIRgb29h
 3q2Q==
X-Gm-Message-State: AO0yUKUgP+dhOq/UmBAXrCS56+A3x8s6KkFVR/C6BuIOYV1J/p1nPgNQ
 E2pafflebKTmCSFlnjI2YI58ZD/XiPM=
X-Google-Smtp-Source: AK7set8VV8JOELDhPb9l/LRWmKfL6qa0dvlhz1wcMyGveFOo4a4HXnwMiz6AsUSDIacNNPSCc/00FA==
X-Received: by 2002:a05:600c:3b28:b0:3eb:2da4:f304 with SMTP id
 m40-20020a05600c3b2800b003eb2da4f304mr4476249wms.17.1677668782856; 
 Wed, 01 Mar 2023 03:06:22 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 l4-20020a05600c4f0400b003df7b40f99fsm20381720wmq.11.2023.03.01.03.06.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 03:06:22 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Gregory Heytings <gregory@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <7ba1dd627c221d2d716a@HIDDEN> (Gregory Heytings's message
 of "Wed, 01 Mar 2023 10:46:51 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <7ba1dd627c221d2d716a@HIDDEN>
Date: Wed, 01 Mar 2023 11:08:16 +0000
Message-ID: <87sfeohgpr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gregory Heytings <gregory@HIDDEN> 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)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 10:46:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 05:46:57 2023
Received: from localhost ([127.0.0.1]:52833 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXJz7-0003B2-72
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 05:46:57 -0500
Received: from heytings.org ([95.142.160.155]:49902)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gregory@HIDDEN>) id 1pXJz4-0003Ar-Hv
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 05:46:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org;
 s=20220101; t=1677667612;
 bh=FVW/D2jYiSuOIIphlhg2hViUBbtEJmJZFd4cnDkO65Y=;
 h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From;
 b=NTgyNIL7R9MF6cAuHh+dZScio6QTdlbKWkgAvVQs07v9g/YWwbOUlXlAr6C46r+MM
 wVam9Kc6JZffNIqblmCda5USliwtH8Yh/BIuZWqsevU+L8FiUjYq6WaVun/wmjM7LY
 YAvnn8OPpEyVBk4Ab7K+7wgO/9m2AceCF5aoTGMC7FA7lfwwPRFOjLewCN6DR84lhI
 vRlQAH4F06FlFO8WJ0wbFoPCGYr6r/15Uccb1LciqVlHlN579ZOyDUsOrliqOrs0E9
 utwEla6xLxPdU2HsxeAATXcbOfCp1fXXxE3yDuCCJ7H6RvUPk7/bY6I2bkqKJ6P5FP
 grtaTSSHW9vFg==
Date: Wed, 01 Mar 2023 10:46:51 +0000
From: Gregory Heytings <gregory@HIDDEN>
To: =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
Message-ID: <7ba1dd627c221d2d716a@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN>
 <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset=us-ascii
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


>> 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.)





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 1 Mar 2023 08:44:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 03:44:38 2023
Received: from localhost ([127.0.0.1]:52613 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pXI4k-0003J6-Ep
	for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 03:44:38 -0500
Received: from mout.gmx.net ([212.227.17.21]:51457)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pXI4i-0003In-Eg
 for 61350 <at> debbugs.gnu.org; Wed, 01 Mar 2023 03:44:36 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677660267; i=michael.albinus@HIDDEN;
 bh=huW4QkjaRL8uIdrNWZljlt841wP8wjWnHfi1dU2xtu8=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=jbJxRqGChPnIrNqj+AbHnpsH296clrWh9KQTiEGekS6NW9JvPcggWZ0cEhav+5nSJ
 /iZ0ddscuavHzJMC09Z/hCTmhP5HAkTLNTYkXdEYfCKL3nigt3/043R54jiwqqy9xs
 f09dRF67EJ/7G2hFxOSXBwkSWDKelqGDizMZfg5OH3MJx0eeJnDJhkFuyVBVhYnKNp
 lkeji5KwNDdbRsujstqOqIoepdTwTUFi4RaUUAnFC4S0w1E46A+21nJXfYgiDqNTp1
 Ucb/zjjFKYVPBFl83CYbtxuwSujpOIo+uu1qtq+c5NuiFc1jKEuxuj6GtBye7kK+El
 DobRsezQr3lVA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MVvPJ-1p5cpq2guz-00RsMM; Wed, 01
 Mar 2023 09:44:27 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87k001pomo.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Tue, 28 Feb 2023 19:37:51 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN> <87k001pomo.fsf@HIDDEN>
Date: Wed, 01 Mar 2023 09:44:26 +0100
Message-ID: <87ttz4509h.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:xB+jG4RyOdtyQcEhmtOeAlzHc331+PYGkQAfK40RrO+RRlRdlKN
 AWw1Adarx0YbJF3uW/6BWdCqAztDXwAuQj5yqXZYamrYDhW68QcZWY3LNEBKSZsL//FtC9q
 Mi+sqLSjXsBNZwQhLe0uS9w5/+4ObE+PO+jvhzPkqbNV1BWrsUjIduyY+yR2zYMX6+72mXO
 pom4oLW6RWWsjTuv2Bt8Q==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:wh6vCoH4coU=;HY1tlge0NttYrZLRyz3xv9g0n39
 N5MoezQVs8ViZjo3DeMv/Fqsyi5aF5P+0pf9sFW+iklwDIGvUY3LXQicGUY3p4jUVZ6KqnqvA
 F/TTgliwrRNX3RuhEH+0JeJW7mzSdHp7WsE/DCtEQsnMDan5eegvR4aW38MV+UeErqBprt5h0
 ybuBNfyGIrZe3v1+DdK2UKsajRsHVQ2JQjlknvD+toKtnIgR61tG0lpVcmG6RlL7kuxAH5Tsk
 A6BS6vQttSTCxWvIrNZONm+POERMIQjzf10+jdWXyENuQr3joiT2I3NF5JtpnFC64YeYJMECR
 ErpZX7NvKoomJCDjNsBKTvurzjDR1yd999F3etCVdZNQqxmwP+lLzIbSwHUXTpf1PsPdHoZ3h
 gVkY6XLarcAd0R4WNGP2kT9YhiXIV+ws7kxIm3px/ETDrfxtbgkhTEQ++j5b1lUekAjRzmWcC
 1Yls7h1rL4IY3FyP5FJaK4nyKKRc8Iv7HGrOhH2xkZblexLgDXQB8SRTiN6TwOnbY2mM7v5aC
 Ex8t1qOx3eekv5TGVWnPi+bHIMf3o9kYrY8fYu9x2P4H1q5P/8m/A98/0wJ64Q6XOthh2wbcJ
 2hwW9FySF8PND84rEWJA0vn1da+j8n5XR9KSkYKgT4VHpsKj31+CeKYsOjfz6tNm9hk9LIdgF
 w+5b1q6vnzdTHX1kXXROqzNz+0I6OHs6wMsOt0Fp2htM6oW4ZWk4QzO+mT/VMdeO/sq+SDNvd
 US5IOwU0iih/+cxMH6+d4RCdVefUYQVGr6mYM5Lyqoy863G0NFhR/Ze+NXK2XivIR7U0rqxUa
 bOl9V2r5XwjteK3Nm2uc3Z/r/NQRLKtJsgTWFBMP0tZnMyG8j863BdJXei1Xmdp71gzGDxGl0
 s9qK6+DYmyw0DWbwNCMGYNH1nw/dKVhG5VQz8S607HW9LLcu3JNkRqJ2K5ZvYPx0idUdl1bN8
 PbaSIU4gWgxHWTT1SXeP4fkYbwU=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> OTOH, I don't know if such ssh clients are still used in the wild, at
>> least by Eglot users.
>
> There is this risk indeed.  But considering the two demographics:
>
> 1. People who use ControlMaster in ~/.ssh/config
> 2. People who have very old ssh clients
>
> I think that 2 is probably smaller than 1, especially if ControlMaster
> is such a momentous thing.  So i think the risk is worth taking.
> Especially because an error for people in 2. is easier to recognize,
> understand and report than an inexplicable Emacs hang.  And Eglot is a
> :core ELPA package, so bugfixes can be expedited.

I agree with your judgement. But we know that it is just a workaround. I
would sleep much better if I would know what's the root cause of the
problem.

Thomas seems to be on a good path with his analysis. Hopefully, we can
find something more on his way.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 19:36:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 14:36:05 2023
Received: from localhost ([127.0.0.1]:52040 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pX5lc-0001gV-Ul
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 14:36:05 -0500
Received: from mail-wr1-f47.google.com ([209.85.221.47]:41983)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pX5lb-0001g0-Eg
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 14:36:04 -0500
Received: by mail-wr1-f47.google.com with SMTP id bt28so10949258wrb.8
 for <61350 <at> debbugs.gnu.org>; Tue, 28 Feb 2023 11:36:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677612957;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=RVy8ZTJy9QNGEJP0Yxkh8eBffj9i6YjCqI47M/75UHs=;
 b=VHEo9JBXW8lJ20qstXQq1yHfU5UryqXtwiMU9wqdXuhPK1b5tPP/WZ+844ccH6F27u
 OYIwVulAW/nVIm/wwj6JAVlwRY7c22QqwipWqh6qrTEkJ/kxLtUJACO18lExd3JwsxaS
 u/kuRpuANp9XxHU96gaO3xXxB/sQDaPf97hJSJL4uOaZWjH0NvTLhl+tiSx+bUMyMbHl
 p4+/zJZfBHGgz6cB/3DFuCuHGsheD3If8Q+FyLwbg5BA625EML/QXNf1Rp/L3xxV/wpM
 gl5ge32uWTwft6u5n9SJPhChWcWWe0xM3XIuGsIJ2lULjDF9KK+LHxNuuyf5No4CIdhI
 wv7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677612957;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=RVy8ZTJy9QNGEJP0Yxkh8eBffj9i6YjCqI47M/75UHs=;
 b=cq1OFStXCBGVVXhj8kvDJ8bgs/Ut9037rXvn2ZYQ+ADZOJthhFSVEPYEAwFTKut4H1
 8cYE1hfxbSXqlIy4Oz4SExcs4GZeXlLb5/tYGwmcV4BDN0e5MHt3OBLDYXLEOU2sEDK3
 9X7Ujv/F7PSdWqz1Xc/XZcEfa+dz02b5x9ekDUCUixvUu931R+BcsQHEuvwXISaVicCq
 ZxxSTYP642KQwkl87L6aQ6SKgA/mV/XjeOj8EJ8CAvgRacz5NsDAJPbAY5oOLxb83wbj
 qQn39rG77owjezwXYW8lVyjCqBRhFcZB1irQdyBEo9ZtXLZrCgpMs8+OQQ669tgb6G1h
 lEDw==
X-Gm-Message-State: AO0yUKU8wBuwNIAv5bS1ZMZIuH7v1+gDsXnmJ83A7+STmslYaLX9/ciI
 XXby9PnU3uaNu+N5gfI412qogdcjBjw=
X-Google-Smtp-Source: AK7set+VR+I/NlEnNHWeP1qWkx9IIWtcTYiMlEzwGMubi9RPeJB9UioFwuTk0HH6s57+Qhlq1hAJFw==
X-Received: by 2002:adf:de89:0:b0:2c9:1a3f:d5f8 with SMTP id
 w9-20020adfde89000000b002c91a3fd5f8mr2967677wrl.41.1677612957353; 
 Tue, 28 Feb 2023 11:35:57 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 a18-20020a5d53d2000000b002c70ce264bfsm10981545wrw.76.2023.02.28.11.35.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Feb 2023 11:35:56 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87k0016dgo.fsf@HIDDEN> (Michael Albinus's message of "Tue, 28
 Feb 2023 16:01:43 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
Date: Tue, 28 Feb 2023 19:37:51 +0000
Message-ID: <87k001pomo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> Hi Jo=C3=A3o,
>
>> Looking at the Tramp code, I think Thomas's idea of using
>>
>>   -o "ControlMaster=3Dno" -o "ControlPath=3Dnone"
>>
>> would probably be quite effective.  It would work with previous
>> Tramp versions that Eglot users might be using.
>
> Yes, that I have also in mind.
>
>> Thomas, can you try this patch?
>>
>> diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
>> index e20d209332d..83462633dd9 100644
>> --- a/lisp/progmodes/eglot.el
>> +++ b/lisp/progmodes/eglot.el
>> @@ -130,6 +130,8 @@
>>  (defvar markdown-fontify-code-blocks-natively)
>>  (defvar company-backends)
>>  (defvar company-tooltip-align-annotations)
>> +(defvar tramp-ssh-controlmaster-options)
>> +(defvar tramp-use-ssh-controlmaster-options)
>>
>>
>>
>> @@ -1247,7 +1249,15 @@ eglot--connect
>>                          (contact (cl-subseq contact 0 probe)))
>>                     `(:process
>>                       ,(lambda ()
>> -                        (let ((default-directory default-directory))
>> +                        (let ((default-directory default-directory)
>> +                              ;; bug#61350: Tramp turns a feature on
>> +                              ;; by default that can't (yet) handle
>> +                              ;; very much data so we turn it off
>> +                              ;; unconditionally -- just for our
>> +                              ;; process.
>> +                              (tramp-use-ssh-controlmaster-options t)
>> +                              (tramp-ssh-controlmaster-options
>> +                               "-o ControlMaster=3Dno -o ControlPath=3D=
none"))
>>                            (make-process
>>                             :name readable-name
>>                             :command (setq server-info (eglot--cmd conta=
ct))
>
> Even better than my proposal :-)
>
> There is the small risk that a user runs a local ssh client which is
> not aware of the ControlMaster option. For such a user, Eglot on a
> remote host might fail.
>
> Tramp is busy to check, whether ControlMaster could be applied.
>
> OTOH, I don't know if such ssh clients are still used in the wild, at
> least by Eglot users.

There is this risk indeed.  But considering the two demographics:

1. People who use ControlMaster in ~/.ssh/config
2. People who have very old ssh clients

I think that 2 is probably smaller than 1, especially if ControlMaster
is such a momentous thing.  So i think the risk is worth taking.
Especially because an error for people in 2. is easier to recognize,
understand and report than an inexplicable Emacs hang.  And Eglot is a
:core ELPA package, so bugfixes can be expedited.

Jo=C3=A3o





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 17:55:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 12:55:29 2023
Received: from localhost ([127.0.0.1]:51954 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pX4CH-0007Ik-3O
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 12:55:29 -0500
Received: from mout-p-201.mailbox.org ([80.241.56.171]:53776)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pX4CE-0007IT-Ay
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 12:55:27 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4PR4lT69V0z9sjD;
 Tue, 28 Feb 2023 18:55:17 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1677606918;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=qtdVgFz495+XmdbySukC6VVAM8G8i0SUXgyw8AgrjGQ=;
 b=ECrfTxQCdKGoeW3BEOC4IdTHf9cYp0e/0ZNkzVkFDdjt1wCOy7ybrAt9DmakzO3gvZs26V
 AEmFa16TDr4UVDk7yndnqx1XZxlcaXIHiQTKRAiV7tnqsa6MaQbnwW/7sCT75M9wzPHqZE
 ++RFYPQKDYMXKCZJHC9qkmWY3/KVjcO6DbapB9pNkfk0ocTVVeSoX4WebLemjMawRDkB1o
 ZFUcueJ2qvY/eAFjimNbl7XQxRa4v5KG8FA0QFEEB5rEHiTeu/bgbFRT1DG+8PLE6ergOy
 G9RQ8dnWHdj+hOWP51NW+1fbijkYRsiBIgdAaGkin7Pie5Sj/26StzFJSXRYHQ==
Date: Tue, 28 Feb 2023 19:55:17 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>,
 =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
Message-ID: <1458446553.50372.1677606917251@HIDDEN>
In-Reply-To: <87k0016dgo.fsf@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 <87k0016dgo.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thank you both for being so constructively engaged in the bug I opened.

I'll give Joao's patch a try tomorrow. (I'm too tired now.) However I don't see ControlMaster as the root cause at the moment.

My current working theory is:

1. There is some buffer in SSH (or TCP) that gets filled by the language server sending data to eglot.

2. Tramp sends a command over SSH.

3. Tramp sets the JUST-THIS-ONE option of accept-process-output to t since https://debbugs.gnu.org/12145.

4. The response to 2. can not arrive due to the buffer being filled in 1. Tramp blocks the emacs main thread.

I tested my theory by deleting (and thus disabling) the JUST-THIS-ONE argument in all calls to accept-process-output in tramp.el and tramp-sh.el. Eglot did not freeze anymore in two tests with two different systems (but the same jdtls binary on the same Debian version). In one test however I saw this in the message buffer:

[jsonrpc] (warning) Invalid JSON: (control character 0xd <callback> 1 381 381) {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/thk/git/yacy_search_server/source/net/yacy/htroot/ConfigSearchBox.java","diagnostics":[{"range":{"start":{"line":35,"character":86},"end":{"line":35,"character":94}},"severity":3,"code":"1102","source":"Java","message":"At least one of the problems in category \u0027unuseContent-Length: 798

{"jsonrpc":"2.0","method":"textDocument/publ

I already sent the above to Michael in an out-of-band thread (thanks for your patience!).

I have a vague feeling, that Tramp could be improved with a work queue such that requests to tramp from notification or timer threads get blocked while another tramp command is still waiting for a reply. Additionally I understand that Joao has an idea to use markers controlled by Tramp. - I'm sorry that I can not (yet) contribute with putting both ideas into code.

There are two statements in this bug thread that I don't yet understand and that might be worth more elaboration. I volunteer as a debugging rubber duck[1]. However if you both understand each other then never mind:

[1] https://en.wikipedia.org/wiki/Rubber_duck_debugging

Joao: "markers in the process buffer is what is used commonly" 

I understand that tramp sends only one command at a time per connection. Otherwise the reentrant error is thrown. The command result gets written to a connection-specific buffer. The output is parsed from point-min and the buffer content deleted after parsing and before sending the next command. So what should there be improved? Jsonrpc needs its own markers because N messages can arrive at any given time and the buffer can not be deleted after each message.

Michael: "If another process has consumed the output, even if it is pushed into the correct buffer, Tramp doesn't know."

What exact scenario should that be? Emacs writes the output (if there's no filter) in the correct buffer for the process. Tramp might call accept-process-output unnecessarily because the output is already in the buffer due to a accept-process-output call of some other code. But in this case Tramp will find the output there eventually, maybe after having waited until a timeout. This could be improved by checking for already present output before calling accept-process-output?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 15:01:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 10:01:53 2023
Received: from localhost ([127.0.0.1]:51754 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pX1UG-0002cV-RF
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 10:01:53 -0500
Received: from mout.gmx.net ([212.227.17.20]:55609)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pX1UF-0002cI-Bh
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 10:01:51 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677596505; i=michael.albinus@HIDDEN;
 bh=YXDLA9jdAp71jsMXrVJECSw9vUmMMD41knBsvKcWmVI=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=F+1EF2yqhssJi+KkgrPeDjrXrHYr/mqE1BXFU/tGhhSxPAaBfW65yBrbcz3mcpgeR
 ipM0ydeZFREEfjgKwUTduGst74lLIGBH5WmfFi2BgX+uzjCHDRwwTIxk/kbsYD3PCv
 s09mhCdpixhuWuKIEH0g9YE7R4c+CQ+pV13XnJ4VjBlJtYJlz+6Q8s2PrLQjq3cC8a
 83yV4mH+QF7OMlfHfwmVSrVObPkXv69yYmV6dJI7fXyM52I+d+Hx30TIXRLUkz5jWV
 rXkwRkzY/bcpSNMYn3UiMv6amq18CPjeKz/iH16xyIGcHsy/DCg9kRbf2jyfbh/MkM
 /olxil9G4hGrw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M4s0t-1pVdmB3RB9-0022ng; Tue, 28
 Feb 2023 16:01:44 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Tue, 28 Feb 2023
 14:51:17 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw1swjm.fsf@HIDDEN>
 <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
Date: Tue, 28 Feb 2023 16:01:43 +0100
Message-ID: <87k0016dgo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:A5X30BwW7n751+pv4G4epzA+s+n8l5UIdzSKZm/rP+JUYD2EEeF
 1nICDvuehzKzZbepP3rOVHyaTGd5iCrxRFQ+r1B3WcMs7un3sMXx0hYD32M2IwihHG8Haqv
 lUatN2xDlDV/GNwqKAhwFk9zQVsTYhEJSRBpvlXPMZAIfGEfLYHKxFvX6n1t6zbW1M1oiMh
 ALnVRxnK1lTSaK6DDETAA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:LnzM6HZwSHU=;l0rNGqGQrg+DsZxbNHRTk1Q1PtX
 utUrsyjCVoqG05CqtfRr/i6c2+GpRIrvBW4hDASD4L+AEgoYk3o4xSBi4M8TmHsJe1VGlg74g
 g1lXDxnnDlnZ9Rm4q9KZujlccGpUUmUonoM36e7KYq9FOxeN4yDt9XkOlgx9OWeATV53Qhk0m
 RgalOwGzA/xE9gvIclcdhhTMrgBxuu0kHzsZJUfIlHDb3TLNf/srkk9kyu3YyYpSwdYptBj+Y
 lSv5z60wg9Qw8LqTqqea7wchk6K0FXJSO/4iXDYjP0cwPML1gJK6Yns6mL4SiRpuWI76JpoE1
 sBhX5NlnXHN4YVHpGviA/dPLwpWmPQyPcH2iFxkliAXSHH0B36l3UVcy3VMbZUjg5HERbSSoK
 r3+/Wscol/7COOiyVubqEmB2Rgo8tS1/tUBUC9L4A1iRnhqauCwGHnD431JExRXOazchSv1GH
 4vkhArX531eKZbi9E6umveyja9DkWMkDJIpZ5PrAcCBmB1nHC175I2t8eYEsiH/nneuBB+ZS9
 cJwBBlK+jJg+DBUgxcK2k2SSZJOqHCudlXjBzUGFgf3tvv6feYoynF7DQ/6kaiDgAFGUpQBFk
 z+VOeXf8N7WjdfSzp7T4zTlllOZRpqKkIs+mc/1lpoqBMlPVTSg+0eKt+CjOYmm7NOwVSPZlh
 CQaVrK7j0xXeuWhogL/Br++DsxVIABPx3cT5q8IuU87e/RsURt4skAatuz7LFxJoqpQZxGfBZ
 7MRaejl4iUa8MZq+ONB/9AmQHzMhUSIq9geFNs3/RRo94O59Sb5QjJyr+NO4g2Bt0nZ8eTBiE
 kJbcir5tXU66wxvjVPzAFUkD+k3e1OoN9B17fHKXg7lXEb8jR1Z+A2cWpZf/I/du8I169bobA
 +6dIXyqVbVP2lJVca3rnWD69DPd6tGuHqRjXBIxKCvOwcQ6QK5Ni3grNc9FNShi6eJpNabLt5
 XSGQI5FaJCZ9jTPz09QneOhYKt0=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

> Looking at the Tramp code, I think Thomas's idea of using
>
>   -o "ControlMaster=3Dno" -o "ControlPath=3Dnone"
>
> would probably be quite effective.  It would work with previous
> Tramp versions that Eglot users might be using.

Yes, that I have also in mind.

> Thomas, can you try this patch?
>
> diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
> index e20d209332d..83462633dd9 100644
> --- a/lisp/progmodes/eglot.el
> +++ b/lisp/progmodes/eglot.el
> @@ -130,6 +130,8 @@
>  (defvar markdown-fontify-code-blocks-natively)
>  (defvar company-backends)
>  (defvar company-tooltip-align-annotations)
> +(defvar tramp-ssh-controlmaster-options)
> +(defvar tramp-use-ssh-controlmaster-options)
>
>
>
> @@ -1247,7 +1249,15 @@ eglot--connect
>                          (contact (cl-subseq contact 0 probe)))
>                     `(:process
>                       ,(lambda ()
> -                        (let ((default-directory default-directory))
> +                        (let ((default-directory default-directory)
> +                              ;; bug#61350: Tramp turns a feature on
> +                              ;; by default that can't (yet) handle
> +                              ;; very much data so we turn it off
> +                              ;; unconditionally -- just for our
> +                              ;; process.
> +                              (tramp-use-ssh-controlmaster-options t)
> +                              (tramp-ssh-controlmaster-options
> +                               "-o ControlMaster=3Dno -o ControlPath=3Dn=
one"))
>                            (make-process
>                             :name readable-name
>                             :command (setq server-info (eglot--cmd contac=
t))

Even better than my proposal :-)

There is the small risk that a user runs a local ssh client which is
not aware of the ControlMaster option. For such a user, Eglot on a
remote host might fail.

Tramp is busy to check, whether ControlMaster could be applied.

OTOH, I don't know if such ssh clients are still used in the wild, at
least by Eglot users.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 14:51:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 09:51:36 2023
Received: from localhost ([127.0.0.1]:50066 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pX1KJ-0001v1-U3
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 09:51:36 -0500
Received: from mail-oi1-f174.google.com ([209.85.167.174]:38906)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pX1KH-0001un-Uw
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 09:51:34 -0500
Received: by mail-oi1-f174.google.com with SMTP id bg11so8212612oib.5
 for <61350 <at> debbugs.gnu.org>; Tue, 28 Feb 2023 06:51:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677595888;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=3Wm6LrLyFr4KmZrJQm7uE2aU2ucJ6ulZ5hhgccfNTmg=;
 b=joLUZnh9FZHWNiAQKYRbWqjp2zUkIeHS1bV+45mg8x6UdO2cF+IViklK1DTkLYp3mc
 qd3zTbYSQGBWMpcn9sDWjy6nKjqyApQfRtq1+Tv5UNVpadvcSPFvqDAd62MupYQgyUQB
 pdV6ZKooU/hJKpjeN1f3COCRh3q8MBlrZfuI/pgKIF0qVdQ5VK2Bhve6XYnGQteSgMPj
 uHIMB4KpPN+ErHQegG/MDcEBxYfAeguiqzw0PWf2KYqk+HIO1r1R7yKABuKfrfwBEGnm
 BmyENQVz3OYoEgcBdyR+tsziixMX1bX7MEqjgcOHu65ohcMdaDa/oQ10UHnUv/lDQq9u
 1Mdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677595888;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=3Wm6LrLyFr4KmZrJQm7uE2aU2ucJ6ulZ5hhgccfNTmg=;
 b=oOEv20hJgRIkxVLV/ianPN7ZjiqiT0lGAenYXcMg/Hc+ZB5x1GgbHZCAYkn9sWSLYX
 0PMXpjTE5YY25hliGmlcHBvZZS3LSaD7Ne01W7J4SozfSnz3HU/34GOTKHW94ERt+yX2
 qBgCinEhWerEAOOJs5/9J4qdT/IKetS2hch2v6ljikGI/wtw7iNrlHIRDgRRit+wOVX9
 GzpBM1VbgOJrJQz9mmbKLgZ+6qAut5karDnUYpGORw6ZNbD1UgN53UwbSfl6r6EYIj7q
 Nvk5oisHzxrMnVLcVT/9loez+XnomccVcVBTCWIbCkPMVA//jO0+E48WZHkLet1O0KOG
 ScNA==
X-Gm-Message-State: AO0yUKUz3lLBXCu6FjfMkyQghZKnYeLEaJVXXh8M1MDOG59xHjAbkwvQ
 rX+14y0QiWdgYXeJijGZzQ7M8LYxbWcD2qHJ1cw=
X-Google-Smtp-Source: AK7set+MkFJaC2WlhtzlYVimu8e7OlfVwzaNJDAn8B+dF0mPZ7rc0qZynBBPpva8+XCMos+CRNzs1sYtWgYnY2eExNw=
X-Received: by 2002:a54:4783:0:b0:384:22aa:f4cf with SMTP id
 o3-20020a544783000000b0038422aaf4cfmr896634oic.8.1677595888247; Tue, 28 Feb
 2023 06:51:28 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw1swjm.fsf@HIDDEN>
In-Reply-To: <877cw1swjm.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 28 Feb 2023 14:51:17 +0000
Message-ID: <CALDnm52cW6A5TGFFT98LTfPgsfBEB2BxegTD-oGRCCdQsULKDA@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, Feb 28, 2023 at 2:18=E2=80=AFPM Michael Albinus <michael.albinus@gm=
x.de> wrote:

> The appended patch fixes the issue for me with Thomas' example. It binds
> tramp-use-ssh-controlmaster-options to nil before calling make-process,
> and that's sufficient for the majority of users.

Thanks.  Something like that patch is acceptable for now.

> 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=3Dno" -o "ControlPath=3Dnone"

would probably be quite effective.  It would work with previous
Tramp versions that Eglot users might be using.  Thomas,
can you try this patch?

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index e20d209332d..83462633dd9 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -130,6 +130,8 @@
 (defvar markdown-fontify-code-blocks-natively)
 (defvar company-backends)
 (defvar company-tooltip-align-annotations)
+(defvar tramp-ssh-controlmaster-options)
+(defvar tramp-use-ssh-controlmaster-options)



@@ -1247,7 +1249,15 @@ eglot--connect
                         (contact (cl-subseq contact 0 probe)))
                    `(:process
                      ,(lambda ()
-                        (let ((default-directory default-directory))
+                        (let ((default-directory default-directory)
+                              ;; bug#61350: Tramp turns a feature on
+                              ;; by default that can't (yet) handle
+                              ;; very much data so we turn it off
+                              ;; unconditionally -- just for our
+                              ;; process.
+                              (tramp-use-ssh-controlmaster-options t)
+                              (tramp-ssh-controlmaster-options
+                               "-o ControlMaster=3Dno -o ControlPath=3Dnon=
e"))
                           (make-process
                            :name readable-name
                            :command (setq server-info (eglot--cmd contact)=
)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 14:41:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 09:41:35 2023
Received: from localhost ([127.0.0.1]:50010 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pX1Ad-0001XH-Ka
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 09:41:35 -0500
Received: from mail-oa1-f45.google.com ([209.85.160.45]:45904)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pX1Ab-0001X4-8v
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 09:41:33 -0500
Received: by mail-oa1-f45.google.com with SMTP id
 586e51a60fabf-173435e0ec4so905434fac.12
 for <61350 <at> debbugs.gnu.org>; Tue, 28 Feb 2023 06:41:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677595287;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=j0Cu8NCF2XBJC/sDxyeHYTi+rHU8cQhqzDS2CeBrJAc=;
 b=LWPtCKLriSxl331EhtmBCDblFqwoqye05VWoJByn4iH/5EQK/+v9f47cQjdpaiMEDV
 72hxjATxjJszS+Gl0T9z1Xye4B3PpYLUzDu5A010X1Q2isyT7q9LCyW0PIZgTetOY3fP
 iC1pYY8w3W0l4PTTRjrwQOf3GktXJgkVY+WA44UZGG1+o4GaywaJW2bQD5iINzqkIGh+
 uBxVaTfrrpYD6oPHY8CLC7Tvild+3ct7jUndCh1eyPpU4GMovANKnKC+LExU3MTFj3Jv
 ytl/9jrCSGqG7kVsJydudxBkkcY28JbEqkI4oZa5NP5V7iUcMSkJmTRSchtLnUn9dI6D
 THLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677595287;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=j0Cu8NCF2XBJC/sDxyeHYTi+rHU8cQhqzDS2CeBrJAc=;
 b=h3LQzk45eFYR4SPTnjczbin2DYMW3KLY7pfmNJ6xGKpeWm58lOC32ExvTXLtam4AaM
 DaFMBDAwd/eabD1IQzmLBPBeXJTUfd35vHTjQ0DeJUZxDSC5hf//Ob6gj8HYhepPuff0
 UReoxlKjuSU17s3NT67+dQoLmnkshXREdMnc7xwwnZ/2/scSRC9jASAbqwJK8yKLO894
 22PMAzL/mm04fua4OvV6rJQ70x3j8/s+zMzVz0RqGC90HeYsUAZce1GrNWAKGbGX+9dY
 PRLcIVv/P4YqBnx44AaJjco+oEl06FBwsCPnEhqA3uxM8G0FGiUnzcsoheDu8gvFAHkP
 XQhQ==
X-Gm-Message-State: AO0yUKWROZ/G3ddNEY4uX7wO0/Qaxh+ZMHMK4oTZQcoSlNz1XjA+NCLP
 t8afTGE3sEBcS9T/l4zcK+TlKAHaO+8VbgtcRRw=
X-Google-Smtp-Source: AK7set9NhgHQbtGzyls5KhbR8WFVQoq/8bV4O3cdT7QbQlhL3wWM5Q4wwv2TGQgiKAwD1YzBhaIgEjlscSgy7YN7hWQ=
X-Received: by 2002:a05:6871:8e85:b0:16e:8811:2bb with SMTP id
 zq5-20020a0568718e8500b0016e881102bbmr790586oab.8.1677595287605; Tue, 28 Feb
 2023 06:41:27 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN> <87cz5wmjbx.fsf@HIDDEN>
 <87h6v8f7u9.fsf@HIDDEN> <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN> <877cw2m5wm.fsf@HIDDEN>
 <871qmarplp.fsf@HIDDEN> <87ilfmrlnc.fsf@HIDDEN>
In-Reply-To: <87ilfmrlnc.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 28 Feb 2023 14:41:16 +0000
Message-ID: <CALDnm518EjEhiPo0RdfGW0cKPV6S49OEs=aOwrV6o3BpZVsbZQ@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, eliz@HIDDEN, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, Feb 28, 2023 at 12:59=E2=80=AFPM Michael Albinus <michael.albinus@g=
mx.de> wrote:

> Eglot is not the first user of this. But Eglot sends a huge amount of
> data over the wire, which seems to trigger the problem.
>
> For example, lsp-mode uses start-file-process-shell-command, which calls
> under the hood make-process similarly.

Do you have reasons to think that lsp-mode's approach is better in
this regard?  I'd be happy to switch, if feasible, but judging from
LSP mode's bug tracker it doesn't look very good.  There are
quite a few Tramp-related issues and some of them seem to reference
hangs too.

So Eglot might not be the first ever victim here.

> I'm not against changing Tramp, really. But first I must understand
> what's the problem, and why a change will solve it. Without other
> collateral damages.

Of course.  I just happen think changing the default of a variable
to a more conservative and safe one is a good starting point.

> > Here are some questions.
> [...]
> No need for synchronous processes. And for asynchronous processes, they
> have their own process. If configuration options are changed prior the
> make-process call, they apply.

That's good news.  Thank you for your answers.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 14:18:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 09:18:49 2023
Received: from localhost ([127.0.0.1]:49985 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pX0ob-0000xd-7C
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 09:18:49 -0500
Received: from mout.gmx.net ([212.227.15.19]:47649)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pX0oZ-0000xO-4M
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 09:18:48 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677593918; i=michael.albinus@HIDDEN;
 bh=2E6k2Jq8vZTXpzbIiDZ0RY9KkMKTPrzf83DNWcNonbc=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=Wt36VbqsDdhnImlE61ssBqn5qnUvCfZs/0JzLzJIdpLR88c75NJWiv3XupVdr/u0D
 WMBuhvHjivnJ3nBtwT1TAbTdYhlxga7zWYE/S3t0yQxZ26lEbUoetHgotUkoVJK5Vf
 jNdFxfzHNd1QT0rCKOzT/EZJCQNoDo3/0c5HsRvG3iInB8wgncazlblLK+81RB4eo1
 TxWGhfXzAWGfJipZ8c1E9HGjG9s3J5oFV0ccgPqzaLlcaAIpEpgphaxVz46+cmjmKV
 WS8lq036vm655XTklcUeSl2Qr3VSZ+9kSpLpLfkHLHElxNV97IKmYvqpu3SrQGvmmF
 7URRQMi0nG32w==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MgvvT-1oqWyx2K5d-00hLsC; Tue, 28
 Feb 2023 15:18:38 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87sfeqd4zi.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Tue, 28 Feb 2023 00:10:41 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
Date: Tue, 28 Feb 2023 15:18:37 +0100
Message-ID: <877cw1swjm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:yHhrXRQJ+WLKEapx0GK7/XJg/4AR5DIJp1VM7oT11kLzDi11Oi7
 hjrf0ZVHcPdY0mHXLLoUsGy4EMhZ/yjmeZojlC8BrU4LE6dDvoZ1PD6z9wimYhJ4VRpiywi
 zVVxqfPQtAcGJ+dUj8pGwDn9uG06G7iEmKZPnEJlIQTiCCtglUwWSYbu98gf71jJ9qAxtHU
 I8g5ch1RJpHTibQqS+TgA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:ByVd3UUgCl0=;pS8ju+jOm9/Gbpoe95MQA/QBy2N
 JEuWlxLP68O85qmaXlqcwLzXlKi9kX5H/5fpWG1E1LDRYTmj+P7R+Uu3cFCLQcTOG74AXXam0
 OGVqWjvpT7hUCixXN4ZCpQl+wutP2RDzT1CAkslZUclBJNb11O+WcghCk6S090rwIdZhRuhkK
 Kn/z7pn75JMu6Gjy2HCfTy9Wk3eKrjqPUfWj4RgmC6I4llwTALYjoYWQTH+9XIUyRJAOsy4S0
 /MDtJeGU2cPEXZqAP+5J6bkEI7hD0EajAGUHkVwoILwQREYHxM5wkoId3z5nLpZY46dFeAunq
 I0A53HbwfwoUnsEcp0ZLcZR0qoy82BBWI9J2wxeZdfimnTQqvhkI1TTP0VrIgU3Oy2piNVHw1
 f6WY74JRmQsX3BYMJZr5NXHzlQIpV1chv+fzqcclQF1TLZGQNBeHlMAvzVzneCJkOvEE4aBq5
 b0ctOaQPRRxnc/LYut88KRaA7FdTIgvre6LUHTbLtfsLEz2FhyaL9TjjxEW7W9Vze8kiFluAO
 ooEwzdpaEOOiXjUKjTIYdpbOoVMv77ognmrs6fWnGnzbApclvn/H+KetuZY1QSnwDk1vy6PaE
 nsiNXd5iuETFF7ZRiJARVXLChcw6m0iElQCu57PFIaquaWU4PFH9JPzZU0i+hRN4nN+7bETRw
 H0qvjIOSvTN3am292kgW8MIzQ6BJtGHd7F/gjQn3vQEJpANyPQfWjdcmXVE/+BoFyLdxZ9xSu
 Pj0wVoOW1vscz6AvKfO5ZyQ/wkDkqghughgE8PB0vDXag6VokfWmMmX88X2hXO3PsBxpzxhpA
 R9DZvxCamJSwzfs0OG6gxNOdGC/Y6JKodpeb/u2FiAQ0bNMBLjdYOjMQc7bHX3kXgIcMqqB4P
 +ena6ZijZLneE3erLeeu1kLJDlRfuUx+c8HryQW63x5KHA7vZEQ9t2JvrwBnJSwWPJ95wO81s
 JqfqZiOo+uxludhq5oskbqVsX6Y=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Joao,

>> settings in ~/.ssh/config shall apply. And a new value, say `suppress',
>> shall suppress this feature even if enabled in ~/.ssh/config.
>>
>> I'll try to implement something along this line.
>
> Thanks.  I think that is a good start.  But can Eglot or the user
> somehow set 'suppress' for connections "motivated" by Eglot, i.e. M-x
> eglot in some remote file?  How?

The appended patch fixes the issue for me with Thomas' example. It binds
tramp-use-ssh-controlmaster-options to nil before calling make-process,
and that's sufficient for the majority of users.

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.

> Jo=C3=A3o

Best regards, Michael.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment
Content-Transfer-Encoding: quoted-printable

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index ffc9511469f..71271ca0b0a 100644
=2D-- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -1214,6 +1214,8 @@ eglot--cmd
 (defvar-local eglot--cached-server nil
   "A cached reference to the current Eglot server.")

+(defvar tramp-use-ssh-controlmaster-options)
+
 (defun eglot--connect (managed-modes project class contact language-id)
   "Connect to MANAGED-MODES, LANGUAGE-ID, PROJECT, CLASS and CONTACT.
 This docstring appeases checkdoc, that's all."
@@ -1249,7 +1251,9 @@ eglot--connect
                         (contact (cl-subseq contact 0 probe)))
                    `(:process
                      ,(lambda ()
-                        (let ((default-directory default-directory))
+                        (let ((default-directory default-directory)
+                              ;; See bug#61350.
+                              tramp-use-ssh-controlmaster-options)
                           (make-process
                            :name readable-name
                            :command (setq server-info (eglot--cmd contact=
))

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 12:59:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 07:59:36 2023
Received: from localhost ([127.0.0.1]:49907 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWzZw-00078i-0D
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 07:59:36 -0500
Received: from mout.gmx.net ([212.227.17.22]:33987)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWzZu-00078V-Jv
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 07:59:35 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677589167; i=michael.albinus@HIDDEN;
 bh=lwwEvtokdQ5kQXwm83b9elnPvHCfGnLSNNkyi+Z9NDk=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=DNF/HudcTrb4QRqqds4SfyGupZEzP+GIQtoPp7Nqc+/vTisnynuoWKc79R1cz4iP7
 OiFxNoBRN+WlwDR2/EqoXuTjvPlq4lLDUHRCbuKLu3zB0d9rexkZjO3N7K3jrWyVb3
 c6/p0ukgefus47q9MOhR9NgrGiLxdZO89yTeaNPoFoIuDQKsJ27A2ajUjOokcUk1vF
 F+RLX2hlM0HbM1s+4QKVG0lazvhUanWGmBXVPvh/MsZQfHUDgWhz+fk+ikdeJ1qqQy
 rFrA7GKVakwJLb1sn1m5wrK+HF5B6iuN5+nGwYuoAGkvL0Iykk2NOZcf2aLNKKwzQt
 QN2DDymTJm9cw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MJVHU-1pD7H51v1k-00Jqw6; Tue, 28
 Feb 2023 13:59:27 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <871qmarplp.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Tue, 28 Feb 2023 11:33:54 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw2m5wm.fsf@HIDDEN> <871qmarplp.fsf@HIDDEN>
Date: Tue, 28 Feb 2023 13:59:19 +0100
Message-ID: <87ilfmrlnc.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:7RXE5X0SJmOqe0NADfXtVKtAIG/Pq35ZEOnqkHgtj0163LABfm6
 na+cpGn5hnOq32LBgdTgdeJmQ8MAuksUep8PG5aXzC8bCS9HF0drk/uHOJmdhsrFAF5ydmW
 DXfNG24OrlhKriTJfesc2rShyGj1ruoOdbCljh3ClzSlyPmHCtN5A4z+GmfM4T3YjisvV/4
 rFHXkk2z9lyQsv2MvNiTw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:wpi5KNx1+JQ=;T7RJe22+j+vCNjvB84MPgBw6yDo
 KnKessFzAnhKI9vFzcW0dwzM1Yh39iren+lBWiDxYMB4TduaJoMaxCYhzgrFMCVLHvdnCIAGg
 NjxVzZGd5ZQa/mY5/sjjSV7jGwALuG4JC7fPy2mOLVJey5LAybQ7ZW9tUwZ8OH+BbM9/gFgD/
 9Avp4qCr5mUpOxXVxGBLdl13iIFfMe1EqSnQ6h8lEg05su3nwHmKyYdN2lHJXRMYKcNOIOXf0
 LOQ8ncjjVqv8KDNyu83IXKuecbziY4JkD/mFnBiGVfB7uhm66rgWNGtrXwy4GSKx1xQaW59jJ
 vlHEmugoScty4mHF05yRehu4sUwRGFzn8OvKZIRlm2UMjvhYuPxo6WoYwJyGkCxUncW5gJlXi
 hh6FlX6AqBdahBqp7bNFuvPOsk7XP2Hhcbypo6GvDYMbZppgbvm7oiI9Mn+HBfNUIuxsKweXV
 6klP/MhcehPEJmwdJ8xWTBG5K7FIEc6pnk/tpMB1HP9/q+Sie54Ovy5FKBSRGf+FyqcYfOyIo
 w3tLRd7QK9Vid0hSZvDtRLyuOv/Wh+z+WVDqLS/B737pNMOjt2/7LnXi8VBtG4S+WcB/wr3Yz
 OaEsKk8DuHJVJT0x+CeNKR2rkYeigDZEYO1xsiVhTFts5AOALxkOpYC6qTV6+FgpPTzI1BKqw
 ujwkqLLqxlLTxb75o+02zRiK2lOsO/vgyAGJkuO3N8oByWjuFcFNHIPnn+4p1JHfbhMIYlQIl
 sGeOcD/Z7mloL9Mpy81bO9txeynIsPud9r0fAlsoB0dV+y+kg/U4I1tk1vG/M6Co3Rt6uDuF5
 2Fl3F+Z12EvYJvqkbwGGshHA5f3FjSeQhyNe9JcLj9QkbQ5uPJ4mlUjwKXVV+LFDFcA7Zs9zt
 90JR6OYe8gu2Z7C9+xWpoHKngcXNmjVqJl1yNHOhSRuz0HO3Tn62kUa6NAVZbkjRAkMxLfurd
 e12+0w==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, eliz@HIDDEN, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>>> ...is it though? :-) Can a feature that hangs when presented with more
>>> data than usual (however one defines that) be considered stable?
>> Tramp supports ControlMaster since Emacs 24. Eglot is the first case
>> I've heard of problems. I don't deny it
>
> That could be because, as far as I understand, Eglot is the first
> "major" package to use the transparent (make-process ... :file-handler
> t) which, AFAIU, means that Eglot's process, which doesn't really
> transmit _that_ much data, is piped transparently through Tramp's
> process managing the remote file whose buffer M-x eglot is executed in.

Eglot is not the first user of this. But Eglot sends a huge amount of
data over the wire, which seems to trigger the problem.

For example, lsp-mode uses start-file-process-shell-command, which calls
under the hood make-process similarly.

>>>> It is essential. I have been beaten by many Tramp users to support it.
>>> I'd say something "essential" is something you can't live without.  But
>>> that doesn't seem to be the case here.
>> Ohh. You haven't seen how much Tramp has been blamed because it doesn't
>> support it out of the box.
>
> I understand, but it's the occasionally-exploding racecar all over
> again.  I understand your reasoning: you're betting that it's acceptable
> for the ocassionally-exploded user to learn opt-out for a slightly
> slower car.
>
> The thing is they will probably blame the steering wheel, Eglot,
> because -- Tramp being "transparent" -- that's what they see.
>
> Ideally, we would just fix this.  It would be nice to understand what
> actually happen and what information is lost, presumably to
> ControlMaster's gremlins.  I think bringing in Eli's knowledge of
> process.c internals could be beneficial here.

I'm not against changing Tramp, really. But first I must understand
what's the problem, and why a change will solve it. Without other
collateral damages.

> Here are some questions.  Apologies in advance if some of them are in
> the "FM".

The Tramp manual misses detailed implementation notes. On my TODO for
years, but it didn't happen until now.

> 1. When I open a single remote file on a remote host, I am creating
>    Tramp process, I presume.

Yes. In Tramp slang, this is the (main) connection process.

> 2. If I kill this buffer and re-visit it, is the Tramp process re-used
>    somehow or is a new one created?

The same connection process is used.

> 3. If I open another nearby file on the same host, I am sharing that
>    Tramp process?

Yes, as long as the remote identification (method, user, host) are the
same.

> 4. What about in a different host?

A new connection process. Also if just the method or user
changes. "/ssh::" and "/scp::" use different connection processes.

> 5. Is there any way to get an overview of which Tramp processes are
>    "responsible" for each set of remote files?

The so called connection buffers. This is always a buffer with the name
"*tramp/METHOD HOST*" or  "*tramp/METHOD USER@HOST*", depending whether
there is a user name, or not. See function tramp-buffer-name. The Tramp
connection processes are bound to these buffers.

> 6. Now if I M-x eglot in a Tramp remote file that I had been working on
>    Eglot-less for a while, is the Eglot process tunneled through the
>    existing Tramp process, reusing it, or is a new one started?

It depends. A synchronous process, created by process-file, is tunnelled
through the connection process. An asynchronous process, created by
make-process or start-file-process, is a new one.

> 7. If an existing process is reused, is there any way to force Tramp to
>    open a new one, perhaps with slightly different configuration
>    options?

No need for synchronous processes. And for asynchronous processes, they
have their own process. If configuration options are changed prior the
make-process call, they apply.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 11:32:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 06:32:13 2023
Received: from localhost ([127.0.0.1]:49825 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWyDM-00021W-JA
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 06:32:12 -0500
Received: from mail-wm1-f46.google.com ([209.85.128.46]:38484)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pWyDI-00021F-BQ
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 06:32:10 -0500
Received: by mail-wm1-f46.google.com with SMTP id
 ay29-20020a05600c1e1d00b003e9f4c2b623so9258973wmb.3
 for <61350 <at> debbugs.gnu.org>; Tue, 28 Feb 2023 03:32:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677583922;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=1g74dWfZYUqpxBrDhZhbDOZntZM9I+bxFn9YPt0DPvY=;
 b=EnVbgPh7CH+yVOL7oe6BfdJerMfngY16OErzkMD9eVXong9t3zS8TbVJ6JxJSc96oA
 r2GITVYOnWhaonVE5gWQmlTJJT/1jLdyKD6h8LxijsAthFPc5AsRygMaRPua4Zq8mj4Y
 UTsIXn2OZAvWIc5W0TWJ8KixW9K5FJVUioUzSoC6335p06mJsZeRpr0RbsZrS0eb+LFa
 nxUZtL26MM2BnZRfFX59k3+5XUDBGbfassFWLQ4alpczoZB5hEhy7tznxDNHiMLPQ7Qb
 FSwCMZRGQ+szb2WYqKQ22ufZ25dp+SA4JWMxerNs4B6fqZ9CWZ3QGr+ghKD6XGSuokm2
 rQEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677583922;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=1g74dWfZYUqpxBrDhZhbDOZntZM9I+bxFn9YPt0DPvY=;
 b=N50aEsMuUYSsperNGf4Hxf6gmq6KpJgh68C5jAdZxaccbeKeLVWDumsx1i3guVJRx8
 K3QldMOLz9btAqBxZgSgdDvL8+WXqtGLDc83U9uaGtl5Qpc0Tegk/uz/98BR73I9WuT7
 JoLuWuSum/OgAZOOzYWPziBglinWXUpEefaDsoLs2/z9qHmd5lW6myi9PW1hjTrKd1ZQ
 wkPSIUOm9uZEjyf40AnClTNxgGM1RUtQg81Lp3uBUNH5gxAeQ69YdrEIvaGYPb7oHsAo
 eEDbmutl5auQ58JnUijSlyjJHXNQF1qzUE4Wgadu9//QB8tSnggNg+OvMNEVQpi2XZkH
 ID/g==
X-Gm-Message-State: AO0yUKUs7PuiDetL+hRpZnUr+RNSFD5iMgB3xtvGMiZWC33aP+Jtcok2
 ZLm4QaWinG/OSkDsKPPkpw8=
X-Google-Smtp-Source: AK7set8evdb6Fh5zMr6Q/fTpykBBLHZ4ybhBVXugvE2vVyQUVlEbUC9H0edq6iyAQ15t3tGVh7fvIA==
X-Received: by 2002:a05:600c:319e:b0:3eb:2de8:b74e with SMTP id
 s30-20020a05600c319e00b003eb2de8b74emr1777283wmp.27.1677583922180; 
 Tue, 28 Feb 2023 03:32:02 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 i13-20020a1c540d000000b003db06224953sm12422163wmb.41.2023.02.28.03.32.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Feb 2023 03:32:01 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <877cw2m5wm.fsf@HIDDEN> (Michael Albinus's message of "Tue, 28
 Feb 2023 11:38:17 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
 <877cw2m5wm.fsf@HIDDEN>
Date: Tue, 28 Feb 2023 11:33:54 +0000
Message-ID: <871qmarplp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, eliz@HIDDEN, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> Hi Jo=C3=A3o,
>
>>> It is stable. Except in the case of large amount of data, which is
>>> exceptional for Tramp usage.
>> ...is it though? :-) Can a feature that hangs when presented with more
>> data than usual (however one defines that) be considered stable?
> Tramp supports ControlMaster since Emacs 24. Eglot is the first case
> I've heard of problems. I don't deny it

That could be because, as far as I understand, Eglot is the first
"major" package to use the transparent (make-process ... :file-handler
t) which, AFAIU, means that Eglot's process, which doesn't really
transmit _that_ much data, is piped transparently through Tramp's
process managing the remote file whose buffer M-x eglot is executed in.

>>> It is essential. I have been beaten by many Tramp users to support it.
>> I'd say something "essential" is something you can't live without.  But
>> that doesn't seem to be the case here.
> Ohh. You haven't seen how much Tramp has been blamed because it doesn't
> support it out of the box.

I understand, but it's the occasionally-exploding racecar all over
again.  I understand your reasoning: you're betting that it's acceptable
for the ocassionally-exploded user to learn opt-out for a slightly
slower car.

The thing is they will probably blame the steering wheel, Eglot,
because -- Tramp being "transparent" -- that's what they see.

Ideally, we would just fix this.  It would be nice to understand what
actually happen and what information is lost, presumably to
ControlMaster's gremlins.  I think bringing in Eli's knowledge of
process.c internals could be beneficial here.

> Currently it's not possible. I'll investigate a way to disable
> ControlMaster per process. By this, the main Tramp process and other
> processes on the remote host could still profit from the performance
> boost, and other processes (like Eglot) could opt-out.

One thing I don't understand, here and in other bugs, is the "process"
model of Tramp.

Here are some questions.  Apologies in advance if some of them are in
the "FM".

1. When I open a single remote file on a remote host, I am creating
   Tramp process, I presume.

2. If I kill this buffer and re-visit it, is the Tramp process re-used
   somehow or is a new one created?

3. If I open another nearby file on the same host, I am sharing that
   Tramp process?

4. What about in a different host?

5. Is there any way to get an overview of which Tramp processes are
   "responsible" for each set of remote files?

6. Now if I M-x eglot in a Tramp remote file that I had been working on
   Eglot-less for a while, is the Eglot process tunneled through the
   existing Tramp process, reusing it, or is a new one started?

7. If an existing process is reused, is there any way to force Tramp to
   open a new one, perhaps with slightly different configuration
   options?

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 10:38:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 28 05:38:26 2023
Received: from localhost ([127.0.0.1]:49802 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWxNK-0000Lm-Aq
	for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 05:38:26 -0500
Received: from mout.gmx.net ([212.227.17.22]:33075)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWxNI-0000LZ-HJ
 for 61350 <at> debbugs.gnu.org; Tue, 28 Feb 2023 05:38:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677580698; i=michael.albinus@HIDDEN;
 bh=bIa2znoSSDVg6CQQ/QiAIdKt3NLDMp13z6PiVNyr5V8=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=Zm9NlPNQXg5D1PhnWsczOPM99s01R6Nmb8ZVpVydMMNWs0VqYJIVpl1uuE0Ec5jw9
 8YEADRWRuyc5k4bb9PVQ+Libgp1JjBxUxkKuu9U44Vy0qSl5qsSpKDfGoA+q0k6Fmz
 rvD306mKZrAeIzcMlgCUkqTsKr1Osh7NujodT0++ubDUBLHg9vJ41Da25VRZY5/zNb
 n4NtviRcbhRVx0WphSdJUS8Mhh1Vx9BT5Q5htjip6Vo/30rohxAmKi/hO9P4qr+PNv
 Ej3ecpPO3Gilyz1NRLv2Tiy4wifigyriNF9UokaCcSoNdm2IsP0UXV/dmRLTrgCWaB
 9CIGJy889nQgw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N7zFj-1oT31708Bf-01551c; Tue, 28
 Feb 2023 11:38:18 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87sfeqd4zi.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Tue, 28 Feb 2023 00:10:41 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN> <87sfeqd4zi.fsf@HIDDEN>
Date: Tue, 28 Feb 2023 11:38:17 +0100
Message-ID: <877cw2m5wm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:kJHqPrgGRBjV3TZgl0L9at/k9MNZZyHPc/lY/lQ79T9+9s1W1qm
 4+miiNOEN/ZNB17oBFWUrbORc7nehFemRaE/FmlWXeZY+KX9v+e8GxrxMFIrpQS5h0/wtDR
 fBRLMbiAHMtz2TONHuyWf2M3SizFw6/jmGX1JSJ1SlLNCCGP9QbqMiIVBDXIvWht0By1+I0
 7MWM4VXNG3DW5BHB781dA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:PJ0/7bYREb8=;VOcSOD3ke47nnDYYm9RVlArUBM2
 8LkYZ8ttZDhtFmjrmfp85VgDvl3xctQnI/9hM1wwdwUVRRxEOfi20ak06m1kOuOqTo390w8t+
 IrD5DE3MfgCnuxotWl3OTNtEfyV7b5D3/MEwJGihAsRFnMZU/eGYVu6Sk3MmB5BBtD6Y+p5il
 LwVzl5+U2m1vD5O5NAFBpoHnQ0jWv3fkU4eHWKanbvLoY65y7ErIib9hOWQlX2aOX8mp2sYiS
 AcBVwGVl2acaDarPU4nAG3v2D+XGcewHDGJWKZVVaGasb3yNnTxmTStOfSW8G6T749M8vJA0Y
 yUORgqEdHMhyTbK2OIKL7y7oUYri15Wa6nw5HyqqyBnsFIobhhqIRriQC3ywyvvqmVUlckoDy
 H4J7L1auSU5YspZSQBvDJQVbt1NCq3vOohFf5a79HRcb9/wKSXPrRja+vwU64J23vnwiWiqcm
 /2IfdortVTKt4fP4V3bxgBsi8S5IEQq/rOFkDyUdcziooiFuNAmu9CXl/gT5VnqWWVQi66nUS
 hrhUn9nH6kdcbHBLaq9JD48qzZmJEbtP0zBkxkdpUtA988XqbelMsPeSg5C5rTAQIq2h7tamG
 WBh3AH2VqWCSmGi80uAC54/0hNzi1nVVEI1bY80TTxhdwJxYfZ39BaEebDoHagZZ8hOjl51qo
 1mHJ+lzzvPZTFoKr8qkFFwlToQ1PkWEIfe3CZ1ndYCaWC0x2avCF77d284fyfR2D91VlMDVpL
 oBSZb0uU8zUo2Rez9yJ4hxeAslP0sVhpH1p8UTyHty7wJnjbv+vRhls8wjZAqLeKu7dQJDCIC
 4uJsqSCJg9b0M1ldQgCP9w6lxppn+kwfbJJ5Yyg1D4KerX+JDVamgK63GtUMHuX2A9S+6aO9E
 PA8zZ8c6vQYYlNOEHrKcDayJCE/kvpeyQUzoZH6AilPzxdLOno45WykOlWT1sXmML7xrdfuG7
 JgbiynXxe1NHnXkQnHO6MFo5pLo=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> It is stable. Except in the case of large amount of data, which is
>> exceptional for Tramp usage.
>
> ...is it though? :-) Can a feature that hangs when presented with more
> data than usual (however one defines that) be considered stable?

Tramp supports ControlMaster since Emacs 24. Eglot is the first case
I've heard of problems. I don't deny it, but it seems to be premature to
me to disable the feature at all, falling back to an opt-in config.

>> It is essential. I have been beaten by many Tramp users to support it.
>
> I'd say something "essential" is something you can't live without.  But
> that doesn't seem to be the case here.

Ohh. You haven't seen how much Tramp has been blamed because it doesn't
support it out of the box.

> I could use Eglot over Tramp with decent performance (although this is
> a local-to-local in disguise).

Of course. Tramp allows you to opt-out, which is an accepted
configuration possibility. I don't say the way to opt-out is perfect
(it's currently an all-or-nothing), but this can be improved.

>> settings in ~/.ssh/config shall apply. And a new value, say `suppress',
>> shall suppress this feature even if enabled in ~/.ssh/config.
>>
>> I'll try to implement something along this line.
>
> Thanks.  I think that is a good start.  But can Eglot or the user
> somehow set 'suppress' for connections "motivated" by Eglot, i.e. M-x
> eglot in some remote file?  How?

Currently it's not possible. I'll investigate a way to disable
ControlMaster per process. By this, the main Tramp process and other
processes on the remote host could still profit from the performance
boost, and other processes (like Eglot) could opt-out.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 28 Feb 2023 00:08:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 19:08:56 2023
Received: from localhost ([127.0.0.1]:49241 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWnY8-0005KC-6D
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 19:08:56 -0500
Received: from mail-wm1-f50.google.com ([209.85.128.50]:42728)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pWnY5-0005Jp-9l
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 19:08:55 -0500
Received: by mail-wm1-f50.google.com with SMTP id
 o11-20020a05600c4fcb00b003eb33ea29a8so4359972wmq.1
 for <61350 <at> debbugs.gnu.org>; Mon, 27 Feb 2023 16:08:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677542927;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=MnYFekIBuSR/eudBTVoYT6VlwzEAvrltKKQFGb88KF8=;
 b=O5WQ9ZhNPQyMsNvLziA3uXokKO8+J0YzvppocScdrP6e0ikPtYJdY/rfYgk4MCg3JD
 V5XI1y5QCtsYq33+aiT9bhN7776QS5WCkdALFzAfb1qPM+Pw2HfCiUlHQhqcmaM9UXuw
 G75LMoMrv5RZVAHQBiMXDztwVIKjsg6PHytW9mVJFSE/Ib7sIgpS8uhygUv3PJQRSsGD
 UU6zrgDSNSWi4T8Y3uyuizrcYTIVC7MR9z/x8QGEhZaYUrxBksxGMGeaK77KLQECSgCp
 U1DUdyqsYpArAa7KLNwZ+fvb2aHdqt+49qgVYnP/A1+oug8XJyvgY5u846kNoSkaHxW9
 ojFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677542927;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=MnYFekIBuSR/eudBTVoYT6VlwzEAvrltKKQFGb88KF8=;
 b=LN5wRxmdJOSTcg3oBZsMIvw0N6F1KCtdFHS+Mu2BeFblAaO4FiOSYJYsmNYqgluklj
 3gwZLojZ1MJ3/LKoe6NIRdQq6ZXmQ0+qwzZvqeDb65Z8AlA72BTn2fbJp8N8C/wkUkkz
 UsQvlk3sUCGH/VU6e2DpzIsDb7vAs71ozOtP+EcRdvC4eulYhlpZGxQuYzwfTOR/5gkW
 8ZoK18+7gP3OWccp4U0/7S5ylHezmvY2wZyJSXsvTknx8xSJlK5S1ffbwVDZA2DBrDM5
 wdLdjeTDgWHTBMR56/rPLksGXyd9m6isbJcN3OAwG28YcwYd0aYsRCUvEiZ411RHosRj
 JCBA==
X-Gm-Message-State: AO0yUKUQ/PBHV3iuP/c0OHXiNjfD1LBaC7RQyne5vsgqjVez7h/XXKYK
 djxP0Y9vjX5TVonzzVDKdUT00J1nFVw=
X-Google-Smtp-Source: AK7set8wPRMnh9TJhZGa0t15lbaZAtevB0xZq4HqyoOyBeDQ/BUaO87WMv2hXkTHFBuY+GP2es7GmA==
X-Received: by 2002:a05:600c:13d4:b0:3eb:2de9:8aea with SMTP id
 e20-20020a05600c13d400b003eb2de98aeamr708884wmg.35.1677542927011; 
 Mon, 27 Feb 2023 16:08:47 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 n4-20020a7bcbc4000000b003dc3f3d77e3sm10005340wmi.7.2023.02.27.16.08.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Feb 2023 16:08:46 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <874jr6oont.fsf@HIDDEN> (Michael Albinus's message of "Mon, 27
 Feb 2023 21:10:14 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
 <874jr6oont.fsf@HIDDEN>
Date: Tue, 28 Feb 2023 00:10:41 +0000
Message-ID: <87sfeqd4zi.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

>> So would you buy a very fast car that only explodes 10% of the time :-)
>> I think that these kinds of features should be opt-in, at least until
>> one is more sure of their stability.  Here, this looks like an unstable
>> feature.
>
> It is stable. Except in the case of large amount of data, which is
> exceptional for Tramp usage.

...is it though? :-) Can a feature that hangs when presented with more
data than usual (however one defines that) be considered stable?

>> I understand you appreciate this feature and it has advantages
>> elsewhere.  But I we can recognize that, as things stand, it is a
>> non-essential performance optimization that wrecks Eglot functionally.
>
> It is essential. I have been beaten by many Tramp users to support it.

I'd say something "essential" is something you can't live without.  But
that doesn't seem to be the case here.  I could use Eglot over Tramp
with decent performance (although this is a local-to-local in disguise).
I wonder what Thomas has to say about performance with a real remote
server when he turns off ControlMaster.

Of course I do understand that it's a very sought after performance
optimization.  Doesn't seem to be quite finished, but that's just MHO.

> settings in ~/.ssh/config shall apply. And a new value, say `suppress',
> shall suppress this feature even if enabled in ~/.ssh/config.
>
> I'll try to implement something along this line.

Thanks.  I think that is a good start.  But can Eglot or the user
somehow set 'suppress' for connections "motivated" by Eglot, i.e. M-x
eglot in some remote file?  How?

Jo=C3=A3o





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 27 Feb 2023 20:11:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 15:11:25 2023
Received: from localhost ([127.0.0.1]:48903 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWjqG-0001rL-VN
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 15:11:25 -0500
Received: from mout.gmx.net ([212.227.17.21]:38203)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWjqF-0001r8-Ih
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 15:11:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677528677; i=michael.albinus@HIDDEN;
 bh=HHsLSGZ1u+Vnque3W5SBYNK2uSJ5JhsWMxVvVgHjcac=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=jbd8R7cZlPzs75m1/34GMmrMRi7ynyU6cIJ8WJ7FWjFWMPjQ0Bz29ZL+pC3H+BxMQ
 9Z467U2EyPcYNMeuSYPVyU6/CQlQktOYJCL48mmN/YX0zZZ7cvpaCtDC7HDJdtq1NF
 BAbWOBwfwz38Cy0KwAizfPopnhi0BKfoWKmCiM4OePJgl4ixjVCPKSASnKshFpQ3iC
 HtXIDrLA1LAtCyhZsTVvIEDocGU6bmsJQPuxMEEIa24gPN3FBqMtw3RqkFhR4aaj0Z
 jx0bXt55UcbbmoDNdJA+hiiNbkZCJZzd+6qy0tJDeo4J8FfPX78Jhwmi4FayQ3ShjH
 jELMlr5533Lzg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MKKYx-1pCAYM1uUp-00LnxH; Mon, 27
 Feb 2023 21:11:17 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87sfere96w.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Mon, 27 Feb 2023 09:42:15 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87a610f6d1.fsf@HIDDEN> <87y1ojk0hg.fsf@HIDDEN>
 <87sfere96w.fsf@HIDDEN>
Date: Mon, 27 Feb 2023 21:11:16 +0100
Message-ID: <87zg8yna1n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:+/XkZGeHeP6f41mlscL4M43/aHlOnt37CkeirmXZbzZAFv6rMhp
 WHvnpZUhZNL1nqVZ1asYTxoEpFArm4sxGBScMyGDrBX+xgpo3QisfPDP71gEfQV2Bqrg5s1
 ZQUg2kyK/HCd6H3je11OIC88/+XInIH5/kB3KtxjbGcIiFrT5W0gs1Fj9aFXPCoATLV9iA4
 IBzWs+75xGH0oMqdpLTXQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:JXiAqJvHQbY=;q2G7LLQXChRsKUFzQJDHzokPGWB
 /6ilEyFEV1/gOUMJnOiCqdv/IF4/uQcww8mEC0+g7S1c80kM9EKXZFB/u8Ch0c6zFwg5WxOtt
 NlVJAeemrspndwUMOAD1jYZPY2YnjevVw29glV6aC+cO2frAiYaRlyq91NqCMoWhAimDgWYb8
 Zah5KMVFm458K9JdgalgB84PsC5nfqOLivdSobw2U8VNzmqCJNa0+g2yqX1kXtgv46xrP8yN2
 2Hs23XWtBEn4lnFFHBHp2J0VNeMNOGt2QKGk3xBo4JQCOl6y8qC1NHdHLclK8NThk2bTsJv6q
 8SLWQ8CjN9LbvqPYA2zrdpiwflVifsEVSFkFfFftrvjc8KMsXZe+IQp9B8Wx2CZ+1Lxuc9hnY
 jxfCXbSDJrE8XdZ+KiHZ4P9YSIyTGuha+PzyjP4knS5k1gfpDJ91HNviulALmE2u7vfSC7POL
 xH+7aB10Xqht7Z4WqoPTD9sr5zxWFA7/Sr4dzcdaeJxCIbyBCi1hUerW9z/7cvxwX0TLLQ2K7
 7yGLxPobySktHDH3IhODL8xlvdVGulyE8OyQnbO7fQVRpmfCcQoY/F/IoGGv7wtRKshtZkt9y
 VNXdp1P+CpzcpTYt6l8lyn2LujN+pJqnNqot+QbBsIfOeYlTV2yEh+9WfJpVzKBMhx02dc3vX
 MP9au9WqfRGx+DB3rJUU4EwIdw/sqwkIk++xj8qmNuGXv0lHGpDzaSOXXNC3GuUdV36wSeeJW
 KWnje9fWhO7Etf3J4DQbqcw9k6RC+AQ8WXzt+yR1FdGDpiOGFgaoIoBrFVQodXQppiqXbSlbt
 0RcXYKQEfc9TIWzIuoRbB4nfm4IBiHk2W13ZVv0Nsp7SnJst22faKR/4x7e746ivC0zWQLl++
 bhLH2wr1foifv7rY9z/XAHBvRmjNIXBSI2C/dYxtR/sqPd1+9TJsX+hIxe3AVym4G1kW13Da6
 PzfE47oK+SQbTsg2NQzDzJ4+GNM=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

>> And it won't help if a user has enabled ControlMaster in her
>> ~/.ssh/config.
>
> Can't Tramp override this config it it wants to?

See my other message. I'll try to do so if instructed by the user.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 27 Feb 2023 20:10:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 15:10:24 2023
Received: from localhost ([127.0.0.1]:48899 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWjpI-0001pX-H2
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 15:10:24 -0500
Received: from mout.gmx.net ([212.227.17.21]:41215)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWjpF-0001pD-Pm
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 15:10:22 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677528615; i=michael.albinus@HIDDEN;
 bh=4EqxxVWSPd1IcsT9xpYQ1m7lFHmk8IY7QUI8H998Y/M=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=lyxiGQaezVaWQvGdAvdlxeWS3IkILRhYxcbUridY5+4omM6QPIPTnJvrmpmHSWDVh
 a/m6/2llKnGPLoQa6naLuRaawk5o1P93D055yJcjiry7rQgVtyIobvIoDd8LrvhuF6
 a52J5hQXAU3Y+1LzDzwVunFwCWn5uIQypaCqIEDJmeVJCCcHgN8XXC7j+Old0U2usF
 yjgJW1Sqbr2S2547VNLyr10QA3URENIjf/dnMvmxyuvpidcxdLOCZznr09ShU4gP/0
 TiVWZSORTM2nfDj8kaHMe4PRDXvwJbNZEJSORcb9tkpbf9N+0WEXnlXI0mNJ8LeW3t
 29zWPlx3+IBug==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MaJ3t-1p0gN806xJ-00WBg5; Mon, 27
 Feb 2023 21:10:15 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87wn43e9ht.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Mon, 27 Feb 2023 09:35:42 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN> <87wn43e9ht.fsf@HIDDEN>
Date: Mon, 27 Feb 2023 21:10:14 +0100
Message-ID: <874jr6oont.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:dBAgpPuaFXKDRYAnHshg+uK1hiULwycioj9KrNDp+s6ifo+tgIu
 T2J0D+On+TRoujZergKURZI//lItHDArzR8ETobmMWj1FLKT2gVazliU+5I7VAXOmcZLMdM
 IT34lZQBGsvj3HFYJHkqaNrnti4H9L1MAtZ2ElY/WJ12Y6gpa/RBU8Sua2uA+h8f74YxoDt
 UN7exsDScQmrAL/8t1CYw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:2NLVVrAQQCo=;JKNOMnmnhJYSA6gTPJ4x7gugz85
 6e3AVqytgaUg5FEf535rjcJdDwyQEqvGmxxB7taw7QfNgFkQqa0+UsqZ6kcZ7+JWHj/vsIrBE
 kv6nB2ySOI6nSmCQtva0pPxqjnD+wl+MNgzEKSYtg63UzQbKbWcOyW++/VrIurtRZN4xZ7KAu
 uixsyeN6h42Mjcb31252T+tbaWnAk/5jEqqxjGD04ggZ552dvvb3WakwDJaQGXYk9xEH7J+vW
 LdYhgh47FLmPnxHRIl8KFbIEFXfzuSukSWyelbkS1tthruHOtRuKFtd31KuVUlOLCD2oe84hq
 0adcOujFxBHqtVJ/OVcLE8pZDqs/zv/ZyfIjvff7FdmtD/esd8sEZ9YwrkWXcQAwK/D6Lz3RG
 tBxv3TL5pMOQy5wkWhzRhpAZTNQYu2akJhHw/yyHJPpi2Lq0CNv8Tl6RxVvzku4Oef/0svpp2
 sVR55m21vkah2A+Mnx7vwSzuwD+skg+gz5zMN7aW1JmHhzCgOdzWUNbKni0za8rw3uUeSwJfR
 RMeaUEZKRiVQUgTqguGdKTeae50d+JOuDT5JgOYRSxmMZofu6jY4bsIqU06SoTN5JoYxEQWkr
 vLHLpV+wKCDhyewf2c2fhqH2tWcZ6oCGKL7XIEZDMZO1t/j29OPSWUXFyT48eNtFPtrS7KwLc
 278UwHielZ5ggWWi2sV5/aSvOaoKqE+FEjUqlRkcOh+fX6VpUc2j66bd/357fXkc3QxgI5mu4
 tVCc4Zd7m6m+pkcZt7H+zhysWtbfNu96x7uVv6fr59uhZrAJkHPAmaWA+1+LSZpwN3LgEvthK
 XlH1LerjdFSTcWatV/XGK+hozUCbFRHYVAWUkQc6Ok2kCY5WYOeoT6VcfKFFTmZDIKgJH1eG4
 2j/C6T+5giuYlEKUsDQLXa1J0Cm+hLtBk19pHqwjivIk9umgFvsT+URsATmEkeDd9PKytZMna
 R0xR3A==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>>> So maybe one should disable it by default.
>>
>> No, not by default. It improves performance.
>
> So would you buy a very fast car that only explodes 10% of the time :-)
> I think that these kinds of features should be opt-in, at least until
> one is more sure of their stability.  Here, this looks like an unstable
> feature.

It is stable. Except in the case of large amount of data, which is
exceptional for Tramp usage.

> I had read the docstrings.  Neither the docstrings nor this manual entry
> unequivocally states how to _guarante_ the SSH "controlmaster" are _not_
> used for TRAMP.  It is something like this?
>
>   (setq tramp-use-ssh-controlmaster-options t
>         tramp-ssh-controlmaster-options "")
>
> I understand you appreciate this feature and it has advantages
> elsewhere.  But I we can recognize that, as things stand, it is a
> non-essential performance optimization that wrecks Eglot functionally.

It is essential. I have been beaten by many Tramp users to support it.

> Until the problem is fixed, it's important for Eglot users to know how
> to turn it off guaranteedly, at least for the duration Eglot sesssions.
>
> This will helps us clear a big slice of doubt/uncertainty in all the
> Eglot TRAMP-related bugs (of which there are many).

Yes. I believe we must extend the meaning of
tramp-use-ssh-controlmaster-options. `t' shall mean that Tramp shall
apply its own settings. `nil' shall mean Tramp doesn't do anything, and
settings in ~/.ssh/config shall apply. And a new value, say `suppress',
shall suppress this feature even if enabled in ~/.ssh/config.

I'll try to implement something along this line.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 27 Feb 2023 09:40:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 04:40:30 2023
Received: from localhost ([127.0.0.1]:45949 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWZzi-00067E-2P
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 04:40:30 -0500
Received: from mail-wm1-f42.google.com ([209.85.128.42]:38403)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pWZzf-00066t-Ph
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 04:40:29 -0500
Received: by mail-wm1-f42.google.com with SMTP id
 ay29-20020a05600c1e1d00b003e9f4c2b623so6627459wmb.3
 for <61350 <at> debbugs.gnu.org>; Mon, 27 Feb 2023 01:40:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677490822;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=6K9gf3zpgky6sRHzf4X20nDx3dl1v4wDU1jMulYFz5g=;
 b=UknSVOvivrTFhb8enMkcm1HGAbnrpvw/HzU+n2thnlQu97X5UHTGwqMuh03XpIna4e
 0U3nlb+gfKvQ1Zh1aohJpaQtBOOGLxc/dwktPfCINNcfNZy9Mj8vkQmRCkDqxAVJVcb+
 WFh4bzYFaBZehs25M0pKe/rWGp9tZKWIftnyuITbcCWjXQKSxuKVP9EUT05OasgLgggI
 +2bfcJNXmXf1oyf7Pe4qrlNkNZJErudpN0GhBVZ1c7ucyr3+pWKynm+5zEoXxcTdB38G
 O4gORaUm7VIdB5jhiEOqvLZiWam1jhfx4NlRc0d6EAJgvMGBcQy1sEl9Mjnc+GfswZwb
 0WrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677490822;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=6K9gf3zpgky6sRHzf4X20nDx3dl1v4wDU1jMulYFz5g=;
 b=g+rqw5FaW/227rSQKoFYi6VS+XPNULZJPArku8tySf3kJ0KOmj85dhwcjZ/a14ew6o
 2ls5e5WIzgvZ3uYv7OihvbIfrluUMXoGt+0pcZubUsaix/N2SMQUBzXSQ5rVBYmD7QGY
 8g0URv23yQfKVj0fLKFee1kzP0Z+JqPwkhbizwUiFQkMklr09vxs/VjMBNmEUQLYpG7B
 Jz+Cv6tqL7B15KID1EmbkrOneYGW0v9+vW8nqXy9V2PYvxLw/xorYQFmC5fkCMhlnpYS
 DY+xzsjr9xWkIWHBy9+bXocG48k8YFKIKrGxBjMgmRo5aNUuSa+gnZnn3SPIl94Aqrj5
 Mc6Q==
X-Gm-Message-State: AO0yUKXPVZOzYv6yZIWULzf3zToRo6sG/CBC5/lpyeXQEMKKQ3KwzJTq
 guy3kA9QKrqZB3LREgzlSVciQodbvXA=
X-Google-Smtp-Source: AK7set9fwQhm2toFlMWoxoywmjLiXVqE1XrnVbPXdnduLwi24yDa1ZW5Vqa99r9zBYEwX1QhG4n7Tg==
X-Received: by 2002:a05:600c:30d2:b0:3eb:3692:644d with SMTP id
 h18-20020a05600c30d200b003eb3692644dmr4926412wmn.22.1677490821616; 
 Mon, 27 Feb 2023 01:40:21 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 l4-20020a5d4804000000b002c59c6abc10sm6537527wrq.115.2023.02.27.01.40.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Feb 2023 01:40:21 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87y1ojk0hg.fsf@HIDDEN> (Michael Albinus's message of "Mon, 27
 Feb 2023 08:53:47 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87a610f6d1.fsf@HIDDEN> <87y1ojk0hg.fsf@HIDDEN>
Date: Mon, 27 Feb 2023 09:42:15 +0000
Message-ID: <87sfere96w.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> And it won't help if a user has enabled ControlMaster in her
> ~/.ssh/config.

Can't Tramp override this config it it wants to?

Jo=C3=A3o






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 27 Feb 2023 09:34:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 04:34:00 2023
Received: from localhost ([127.0.0.1]:45940 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWZtP-0005wt-UA
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 04:34:00 -0500
Received: from mail-wm1-f54.google.com ([209.85.128.54]:53017)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pWZtM-0005wd-MS
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 04:33:57 -0500
Received: by mail-wm1-f54.google.com with SMTP id j3so3800568wms.2
 for <61350 <at> debbugs.gnu.org>; Mon, 27 Feb 2023 01:33:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677490430;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=9T+n/6hsvZ3ZNmNkRFxrUbVLEkZnhg4zulysvB6ZsO8=;
 b=Vd05CGBFPQkSpOF6exZXbkbVQSRtbTNdGIP+beNsxAmv9n9sosmXr0OAADQj39JMDF
 ckYQX4kaIIFoEhGoC2tXl9m0nNO9UTmEIh3iAte9n47bPJiE6bi2vPBMk59x/s7vh7Sc
 KmPgDzdl8ZQFdqGtiUY3IxQWF/CEJJSD3rF/8gOLygz8Gd93R+NtJ1rcQY6Tj/TiWqzr
 mem0t1ZY/RDKznVCm9/IJj+wLkrI4DXWxr65mcOak1vQzF2MXHO7IW4kuF6ee8Rq2Nxi
 r9cq6mANGGKXYOunM3PRNbjweaMeMf9+PKfjKNmUgP9+8S5WP9/fTYpFN1NSA0PoU/Zr
 6kHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677490430;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=9T+n/6hsvZ3ZNmNkRFxrUbVLEkZnhg4zulysvB6ZsO8=;
 b=21NT59jyvurt/0zZMKTH/GiXlufCxFzmvqe1olLk51YKSEa8nLo87RH9xB0c/vpJlg
 gLQM1S6pVDMPINb6PAbANF1HznV74d0qlobo87rh4I4tTpZmynEOCZUwyVlxuwi+326g
 /U7i5sGGXYA/M24yZZCj+rqCc1UXYlG+RFeTQQJZufeO5hBcKX5+JEdsbGkGCmf83uS9
 I8BZ5bX35DfQ4B0ujHzSQRCIreKRJWcNXLmPJ/fB+lPqQTKe4lWC/jXJpAiyA++mXeqw
 VJXQynNHGPLVKDjXu5jPQ8wSxXBOlyOaki2Cg0yxv8QvUVbLNuWD8CIfFB1Djvm7u1qr
 OrTg==
X-Gm-Message-State: AO0yUKVnO1VesNzrvw/z5TKnWK2+Cpt+PlkCbdxXKfWB0Oq4+UmbqLhM
 tgX8ieWyu2lstDucjb/4l4zlxxSvgrE=
X-Google-Smtp-Source: AK7set8CfmS5i0Dmb1SWgB/74DyTQNpl07BBOUUmeN/oh/t4+DKjt2Lvc1GYhV/sj9ebVudjeApztA==
X-Received: by 2002:a05:600c:1616:b0:3eb:383c:187d with SMTP id
 m22-20020a05600c161600b003eb383c187dmr4884240wmn.27.1677490430260; 
 Mon, 27 Feb 2023 01:33:50 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 n41-20020a05600c3ba900b003e20fa01a86sm8883990wms.13.2023.02.27.01.33.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Feb 2023 01:33:49 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87o7pflfcd.fsf@HIDDEN> (Michael Albinus's message of "Mon, 27
 Feb 2023 08:47:30 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87o7pflfcd.fsf@HIDDEN>
Date: Mon, 27 Feb 2023 09:35:42 +0000
Message-ID: <87wn43e9ht.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> Hi Jo=C3=A3o,
>
>>>>> It wasn't lost. The process output was retrieved and placed into the
>>>>> Tramp buffer, w/o Tramp's interaction.
>>
>> Can you confirm that you no longer believe this to be the case?
>
> I don't know whether it was Tramp's accept-process-output call, or
> another one. But yes, this doesn't seem to be a problem.
>
>>> But yesterday's debugging has shown, that ssh ControlMaster
>>> seems to be guilty; it cannot handle large amount of data reliably.
>>
>> So maybe one should disable it by default.
>
> No, not by default. It improves performance.

So would you buy a very fast car that only explodes 10% of the time :-)
I think that these kinds of features should be opt-in, at least until
one is more sure of their stability.  Here, this looks like an unstable
feature.

>> How does one disable it? I have trouble understanding from
>> tramp-use-ssh-controlmaster-options and
>> tramp-ssh-controlmaster-options.
>
> RTFM. The Tramp manual says
>
>    If the =E2=80=98~/.ssh/config=E2=80=99 file is configured appropriatel=
y for the above
> behavior, then any changes to =E2=80=98ssh=E2=80=99 can be suppressed wit=
h this =E2=80=98nil=E2=80=99
> setting:
>
>      (customize-set-variable 'tramp-use-ssh-controlmaster-options nil)
>
>    This should also be set to =E2=80=98nil=E2=80=99 if you use the =E2=80=
=98ProxyCommand=E2=80=99 or
> =E2=80=98ProxyJump=E2=80=99 options in your =E2=80=98ssh=E2=80=99 configu=
ration.

I had read the docstrings.  Neither the docstrings nor this manual entry
unequivocally states how to _guarante_ the SSH "controlmaster" are _not_
used for TRAMP.  It is something like this?

  (setq tramp-use-ssh-controlmaster-options t
        tramp-ssh-controlmaster-options "")

I understand you appreciate this feature and it has advantages
elsewhere.  But I we can recognize that, as things stand, it is a
non-essential performance optimization that wrecks Eglot functionally.

Until the problem is fixed, it's important for Eglot users to know how
to turn it off guaranteedly, at least for the duration Eglot sesssions.

This will helps us clear a big slice of doubt/uncertainty in all the
Eglot TRAMP-related bugs (of which there are many).

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 27 Feb 2023 07:59:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 02:59:16 2023
Received: from localhost ([127.0.0.1]:45811 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWYPj-0003Pq-Vz
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 02:59:16 -0500
Received: from mout.gmx.net ([212.227.17.22]:50755)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWYPe-0003PZ-Em
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 02:59:14 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677484744; i=michael.albinus@HIDDEN;
 bh=ht/NDA1yNb3RWcOKtqF7f9aCCdH5RAS5YfaQm3VGICI=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=tsyA7++IYwjaLP7Vi+ut48hEN+jPFD1d2a321/aqZy1lUV1+mu/a7RmB8GccYswMG
 Is+hzoZ7RyHWRncN1hN8TAxiyixAjo/T0+6rLum8N4zXtovGg4szG/qOEBLupgfdBH
 +mtpTTN5fUvJNWo0GSvm/htiFxqpSXFhxImesvbGWsgGb3F+su1F4fVojggvR/DeQd
 g3eusXbvEA7lbmSMUSxM3OI2r0Ir0YKALxyY3zE2R1mLSMD2AWSgphvn13s1N0fuGp
 3/5HT5TSdo8igUtK3kyUFY8mdYbJ8dS609/jpwgGF0YUFN76ZM/W8ajRZ2HAud78rC
 AFtc5C3Y8uBrA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MVvPJ-1p5EJk1cSD-00Rnb5; Mon, 27
 Feb 2023 08:53:49 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87a610f6d1.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sun, 26 Feb 2023 21:45:46 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
 <87a610f6d1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Mon, 27 Feb 2023 08:53:47 +0100
Message-ID: <87y1ojk0hg.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:qLT4BduBwGzMvkGIfgpEEPcZTzBh3CoDxyuDMD3CiQ7CxNhCm3o
 kMFeAy2/IO5Z7bcHVUuVvScH1wqD1vP5jW5Z0UBqZwDEX+JtUJW26jTO/VA+dsZfu21Bbsc
 YBlvIhpUzImgEumTw3k/Uce1vsaCeTzFALNsNQj6bpLQ01guITunVkD/b8WfGmZl7sSI0vI
 UfkhX9T6sUVdGxeKml6pA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:/xzY+9lHJiY=;sxEIHd4yVxBICtWSmx0cOtUNP+K
 1ZUaB337vge5CgbXPUZ+5c26VgIpgi4t4BzJeQmIK438PRQGRFyLN9Ntr5kJmu+/00cl0Glt8
 dIvsMdCKCEjvbaVFihdlP/z6qSygK4TtGh6pQSmWjVPzWYkhFZzPOmPg3a0YL7lVcKSnwFdi1
 KJxsor3etHgEu00F7SqUVNTL3jM9nA7YyHXeLqzM7G6nR1gloa910UrbSXuJh5YakLf//Damv
 xt5Lb6JuF0mOmFJokB58Q2FV+MmSiB+E4gdyGTmieb078+s1/dUev37jIkPzUi18cVVmSYTdf
 zmYlIRmPVo4N6SPv+ibxfPcT7czarH859Tn4JlvEheoRATPu8Kl/kTYlw97h9Y2mU/O1MwPNN
 s8Ws/CcmFNzwWDRJgxhdpMnRx5Ji99bHH30bA0d4cAKmF6B3Nrbj2FwCDvhqO15pOHIwXC7p4
 08nv/l9XBV9IMXRWke59oU97qi+hNY0mks04Ek/hGZ3GF0FPXkRrLjq5xxDsp1XS1TNT1b8+J
 G4EB1ikuUO0HlOLDskPNxyWqgX2P6LJlU96N/QVEvkki1wD6heY/b7wc5e7oIGyp/9dtyBxC7
 qo5WfBfnDVfEpGahnKOunt7McVi59Q8HrSDz5uSQzj4q8YPe72nRNEbd2K3ydHa2jthOGTRLp
 zgI9rXPrPcq7Oz1GowB4tBS1ihWjkmGAHf7LpyLvM28GzX/2ugqHSP6ltLFkoX9j67Pj+cwhU
 8BPZHMd9ynbVVh00rsmcKlOwp7tLsbqApqqKlUnhlCAJaDh8aIeLBnN6RKia8y2qFC1PTYYcj
 CBhnBFZEqL3qMx2i1oZEuf3rv/+HMux5d2vEqUh2CIQJu2lmlHr6jhC7t+jmuPEaVYfKLmqwS
 Cp4S3lkmVX6NwQDYd1id/qzY/l2idgzy/DqTAM0ebEFcYywaQEfx5iDvAQwYZ1okmZyZa6y3F
 5dqy2Q==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

> * I don't know how to obtain the pretty Backtrace that you Michael got.
>   Michael how do you get that??  Maybe you're using some tramp flag,
>   because debug-on-error and debug-on-quit don't work.

There's a trick with tramp-verbose. If you set it to 10, you get a *lot*
of traces in the debug buffer, plus a backtrace in case of errors or quit.

> * If I set
>
>     (setq tramp-ssh-controlmaster-options nil
>         tramp-use-ssh-controlmaster-options nil)
>
>   I _no longer_ experience the hang.  This is after visiting 5 or 6
>   files, trying some completion, M-. xref-find-definitions, etc.

Don't touch tramp-ssh-controlmaster-options, it is meant for internal purpo=
ses.

> Michael can you confirm that these are per-buffer values?  Would it
> make sense for Eglot to set them like so in its minor mode hook?

No, they are global IIRC. I haven't checked. Maybe we could use them as
connection-local variables, that needs further checks.

And it won't help if a user has enabled ControlMaster in her
~/.ssh/config. So we must speak about in the doc anyway.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 27 Feb 2023 07:47:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 27 02:47:46 2023
Received: from localhost ([127.0.0.1]:45799 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWYEc-00035D-4T
	for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 02:47:46 -0500
Received: from mout.gmx.net ([212.227.15.15]:51921)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWYEX-00034v-6D
 for 61350 <at> debbugs.gnu.org; Mon, 27 Feb 2023 02:47:44 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677484051; i=michael.albinus@HIDDEN;
 bh=9jqitcIAFf63EiaMndwFRYct2RbN+PhHGir4988oSEE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=fLikpwC7RkTTKO7023UYGEE5vKACzjzUx4Zv077QDXKYj4S510F8Vmy4ruSebtjM6
 6veV4mfDs7RWg2ZNIFeU1jAEWVn5uO3KJzySWPBlHLiu9Gu1xV4f9juRPBNKvP8o7h
 uNyyel2NfvoMlnQu6bY/fzv2oUlSZmo32TwHqrQGdD2k0QaAFwZ5tW/r+RPxJ77D6k
 ItLQLlEdbxEcFyihrv5riAbLdQA2WpLsL2NgP3iJEohbiAkIO8Q2AIejqchohZ8ci7
 8eghqDU6whwAgfKPLx3PLe2SlRH5lfk+DyUOIaashAfqZWq9CnATGoBT11hCN+yzGb
 oQx0NwU9iL1Zw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MUowV-1p6KHa2bBp-00QlGn; Mon, 27
 Feb 2023 08:47:31 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87h6v8f7u9.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sun, 26 Feb 2023 21:13:50 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Mon, 27 Feb 2023 08:47:30 +0100
Message-ID: <87o7pflfcd.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:u0muNZBMh76WV7bzrAbA/JMGTRQftfbydE399G/NwXV1vOey2+w
 obX52Mguad9fO/GJOFwHyJoCYQwsfzmAdpT9gidltnDZcjh6x+1Jo5kMTB3DTEt37jJuw1D
 mTmGgCVY+xpLZl5FD/w67AU+9QTcUA+T2EQbNNqKu3rtt+pcg7+FTAFbdCE8EhlIwb+hjDE
 4NCDEvltqZMf5DXrR9avw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:BqMgLNiJk8U=;2ugeflJ7bnGkE6WFV7Z7UTzv0+L
 Ou5vTYvGozGWBeiM4CcUm23QTqrW4eOGBWsh7G78760mjFfR5o6NbOiZ8d3udYauW++cxYwuV
 d+77JabYCOkSK9/uuMZv5hMedatmfx8K/ctYlrg5HQ5fCJE3lUPkOIDUnMKG6HEkQEX6xT2JV
 IZ6LOSCDUHPNv3essRAYfk/62aaqCC4/rnqlvP4SDvy7sO2TyzGGs5nQu9SM0N23SqRmGTy2z
 QAsXuBsDofxUqGW3EeBTxvpq1EySmMZhp/rjYKHCbp3B8VRAoL3IVFzo7mOQ4qy/xd5Q3pxQk
 HZnwaNJHW6yubBbjRyI53fQVmEdAbnzxCIS47wiQqlIZM8D350DUwtffB2V7e2colvm3U/Gow
 4JkehjMwZ3zICF3ocdCcw9VrC1lNG0O6AvZ6XUrTxk+YJH4aBt9xlKVCpcgSbPfsse+qvaxP6
 TkFGoPJnKmtWjXMiRQWurkIUlrRL7dt0v6AJXDGwDyMJVp3K1v0iGzp+jmXoa3IdY4ArvpRHy
 xduSYLuqJZ2Hhy02h0/UyMixhI/juOLSmchbp9TP4bqaKeGXqzZn9D3JE7ni9bhOopv5f0xI3
 bTGkQJwxZ2h21FdJ0szKp8OjtNPfhNk5Bt5LE7PHZ+DE0xnm94t28oYir7fTwxZ1Uh9md1t4O
 4PwKoszQ5y1FxnW11f0egX9cKVXSqq0dYg5H+vDekV8FnrWnstDLfS3dYQjVEbxbMHRw0Y8JO
 HMthfsVAS0tvJs/hYJm5bjS+qwnAA6rH+yJiVazJIRkzx2ZZ790G8Lf62nRdwp5eg5Abb5FT5
 58eeD7Qf3uTm8LqAgjUmPyiE7BvkxT6QDgwM7PFTNN7CiBU0TYb+ZdWsbDt2PQgT9zCdR0q0R
 4diZ00L9EOHj10rR8Anon4en25ciTvGI8DWtiQu6QhvPcAkjSQCnqAVh++6z/9URFdbEt+5lq
 Kyeb61aywNo3IACvlwvc87frEWA=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>>>> It wasn't lost. The process output was retrieved and placed into the
>>>> Tramp buffer, w/o Tramp's interaction.
>
> Can you confirm that you no longer believe this to be the case?

I don't know whether it was Tramp's accept-process-output call, or
another one. But yes, this doesn't seem to be a problem.

>> But yesterday's debugging has shown, that ssh ControlMaster
>> seems to be guilty; it cannot handle large amount of data reliably.
>
> So maybe one should disable it by default.

No, not by default. It improves performance.

> How does one disable it? I have trouble understanding from
> tramp-use-ssh-controlmaster-options and
> tramp-ssh-controlmaster-options.

RTFM. The Tramp manual says

--8<---------------cut here---------------start------------->8---
   If the =E2=80=98~/.ssh/config=E2=80=99 file is configured appropriately =
for the above
behavior, then any changes to =E2=80=98ssh=E2=80=99 can be suppressed with =
this =E2=80=98nil=E2=80=99
setting:

     (customize-set-variable 'tramp-use-ssh-controlmaster-options nil)

   This should also be set to =E2=80=98nil=E2=80=99 if you use the =E2=80=
=98ProxyCommand=E2=80=99 or
=E2=80=98ProxyJump=E2=80=99 options in your =E2=80=98ssh=E2=80=99 configura=
tion.
--8<---------------cut here---------------end--------------->8---

I will extend this, descibing possible problems with a large amount of
data.

>> Yes, that's the place. Tramp waits for a trailing shell prompt that it
>> tells that everything has been sent from remote. But this shell prompt
>> didn't arrive, and Tramp hangs in waiting for this.
>
> So the problem is now that the shell prompt didn't arrive after all,
> because of controlmaster, not because of jsonrpc.el.  Can you confirm
> this?

Yes.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 26 Feb 2023 21:44:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 26 16:44:03 2023
Received: from localhost ([127.0.0.1]:45170 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWOoM-0005HN-Jr
	for submit <at> debbugs.gnu.org; Sun, 26 Feb 2023 16:44:03 -0500
Received: from mail-wm1-f47.google.com ([209.85.128.47]:45024)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pWOoJ-0005Gi-K1
 for 61350 <at> debbugs.gnu.org; Sun, 26 Feb 2023 16:44:01 -0500
Received: by mail-wm1-f47.google.com with SMTP id
 m25-20020a7bcb99000000b003e7842b75f2so2729766wmi.3
 for <61350 <at> debbugs.gnu.org>; Sun, 26 Feb 2023 13:43:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677447833;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=j903svN/zz9Px/DTprBFr1/nC9O1AiBCM+K0OKRmSoY=;
 b=d+qcYpmtcVD91CD8kge0Prr2xsBZyj7Kn8ikj9MtHMzr0lxVPFoXV/oV9SS5VjxKGW
 +OgbRA2zgBssyfaMIGO/pBpFqSE7rUheL9AAwu7HrYdLDQAZG9T6EpZlUOcs20XuKfw1
 9u/CukjUx106duxpZ7TwLvAnMdHimYpZNtNc8g8T2lRVapWRF6zFMMcm/DNNnS4Ydmif
 yXlajzNWOrE+e0qK0VlYADq4O4VvnREK6KKi8tfoPOC40AKjn+HgmBzmjJPEoFw5Q0WB
 du9zptp1V+m4yfJRo8LJOKgUQDfPjRcTSbj0Bwo1b1IQdWG+0Um55x8TKax7XNYdutrk
 DriQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677447833;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=j903svN/zz9Px/DTprBFr1/nC9O1AiBCM+K0OKRmSoY=;
 b=uM04ldoA+XUnOSA7YFYTX/EOs17VQ+zPRLh1APwjX9Jwvg39lhwfdgQQ/cXo38b//M
 POtAcOO0W0Junagj6RYPR5fZ3Qubm1+2b88gIg7zTsIQa2FyPpoGYkVIh1wuJOS2o1+v
 Fu8OKdXRamfp4SU0Y4Bkz8lq6DrqYPAJwGXEKnha48B5s1k21NJrEEfoAvE/mouM0fUx
 hSIfrvkC5FyUPUbmnymgxWK+h2q/ZaXVA9yAxfQFCNfEUK7QRBu85zz61O8VaAHXKKrf
 6MMEKVcJDaBkErS7eRppuDQV1pIBCzGsMuVRDnGxYS6yCeMlfsjHz8wbi7pPyOkPJA7q
 ErKQ==
X-Gm-Message-State: AO0yUKXTPp/56VrbP/oz/4w3KpLnN4D59I04LHzMg66Xe8AeENk+CssG
 eU1N4iTbxjVMT56/Ee+KxOoEPCBajmY=
X-Google-Smtp-Source: AK7set9tlsd/ktjKlsiN7xioxEV19FGACyQQ5HDj1666/tIFtETK29lNIs++jGn20Ltq/4SsC9PTYg==
X-Received: by 2002:a05:600c:708:b0:3eb:3c76:c23c with SMTP id
 i8-20020a05600c070800b003eb3c76c23cmr1961124wmn.3.1677447833407; 
 Sun, 26 Feb 2023 13:43:53 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 m4-20020a05600c4f4400b003e209b45f6bsm11200561wmq.29.2023.02.26.13.43.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 26 Feb 2023 13:43:52 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87h6v8f7u9.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sun, 26 Feb 2023 21:13:50 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN> <87h6v8f7u9.fsf@HIDDEN>
Date: Sun, 26 Feb 2023 21:45:46 +0000
Message-ID: <87a610f6d1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> So maybe one should disable it by default.  How does one disable it? I
> have trouble understanding from tramp-use-ssh-controlmaster-options and
> tramp-ssh-controlmaster-options.

In the meantime I have finally, with great Docker-relearning hardship,
setup a reproduction environment.  You'll see it follows exactly
Thomas's reproduction recipe almost until the end.  It sets up a server
on port 2022=20

I attach the dockerfile.

$ docker build -t sshubuntu .
$ docker run -d -p 2022:22 sshubuntu
$ /path/to/emacs -Q /ssh:sshuser@localhost#2022:/home/sshuser/yacy_search_s=
erver/source/net/yacy/yacy.java -f eglot

Now the odd bit.  Sometimes this works, sometimes it doesn't!!!
Sometimes it finds '~/bin/jtdls' in the remote's PATH and sometimes it
doesn't!  I have no idea why.  Maybe someone can help me debug: how is
PATH to work?  In the server I can see that on simple ssh login,
~/bin/jdtls _is_ found.

Anyway, when I _do_ manage to get it to find sshuser's '~/bin/jtdls':

* I do experience the hang regularly, but not always at the same point
  in time.

* I don't know how to obtain the pretty Backtrace that you Michael got.
  Michael how do you get that??  Maybe you're using some tramp flag,
  because debug-on-error and debug-on-quit don't work.

* If I set=20

    (setq tramp-ssh-controlmaster-options nil
        tramp-use-ssh-controlmaster-options nil)

  I _no longer_ experience the hang.  This is after visiting 5 or 6
  files, trying some completion, M-. xref-find-definitions, etc.

Michael can you confirm that these are per-buffer values?  Would it
make sense for Eglot to set them like so in its minor mode hook?

Jo=C3=A3o


--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline; filename=dockerfile
Content-Transfer-Encoding: quoted-printable
Content-Description: dockerfile

FROM ubuntu:latest
RUN apt update && apt install  openssh-server sudo openjdk-17-jdk openjdk-1=
7-jre git wget -y
# Create a user =E2=80=9Csshuser=E2=80=9D and group =E2=80=9Csshgroup=E2=80=
=9D
RUN groupadd sshgroup && useradd -ms /bin/bash -g sshgroup sshuser
# Create sshuser directory in home
RUN mkdir -p /home/sshuser/.ssh
# Copy the ssh public key in the authorized_keys file. The idkey.pub below =
is a public key file you get from ssh-keygen. They are under ~/.ssh directo=
ry by default.
COPY id_rsa.pub /home/sshuser/.ssh/authorized_keys
# change ownership of the key file.=20
RUN chown sshuser:sshgroup /home/sshuser/.ssh/authorized_keys && chmod 600 =
/home/sshuser/.ssh/authorized_keys
# Start SSH service
RUN service ssh start
# Expose docker port 22
EXPOSE 22

USER sshuser
WORKDIR /home/sshuser
RUN git clone --depth 1 --no-tags --single-branch -b eglot-tramp-freeze-rep=
ro https://github.com/thkoch2001/yacy_search_server
RUN wget https://download.eclipse.org/jdtls/milestones/1.19.0/jdt-language-=
server-1.19.0-202301171536.tar.gz
RUN mkdir jdtls
RUN tar xvfz jdt-language-server-1.19.0-202301171536.tar.gz -C jdtls
RUN mkdir bin
RUN ln -sf ~/jdtls/bin/jdtls ~/bin/jdtls

USER root
CMD ["/usr/sbin/sshd","-D"]
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 26 Feb 2023 21:12:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 26 16:12:07 2023
Received: from localhost ([127.0.0.1]:45161 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWOJT-0004SX-00
	for submit <at> debbugs.gnu.org; Sun, 26 Feb 2023 16:12:07 -0500
Received: from mail-wm1-f42.google.com ([209.85.128.42]:46840)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pWOJQ-0004S2-5t
 for 61350 <at> debbugs.gnu.org; Sun, 26 Feb 2023 16:12:06 -0500
Received: by mail-wm1-f42.google.com with SMTP id
 m14-20020a7bce0e000000b003e00c739ce4so2699183wmc.5
 for <61350 <at> debbugs.gnu.org>; Sun, 26 Feb 2023 13:12:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677445918;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=DgvrAdG1KejowynwBQss7K4fich6YYFdO9j4wCRzeM0=;
 b=mUGQE8TOQ65HwxNCnN7BkaQtNyl+Dg2qZigF1cMCyRvw6zr/pEyt1W2npd79DUwl1X
 ju2EvpSQBkJKv1/rcGFT/j9ca12NBM6UqVSeVCtVlMs7QlnHNgcQ+Mm6bOqTZF0L9q0Y
 Qq5qUpQ4YGY4C6PozhXqcMqXOg8G86YmI/TvdQtNsHnCQFtFhEr7R+ebEtwN++XJ6oSf
 Nc1+aWz+jKU1g/enwFmYjBsRoQZx0GzUcN6wSd8rimbQ2wiGh23iN9GqZXHQb4WBe9TV
 lUsBEXcpNorWuhIBYBVUkePUMIq6rQa6lAUc9PcKDiev65mJHCuKciipTxwBi4GsOizR
 dQnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677445918;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=DgvrAdG1KejowynwBQss7K4fich6YYFdO9j4wCRzeM0=;
 b=JSPiW2k6WO8ieUYlXOEtsWRxdf2AupxtvWuLCex+qy0WERYZxnRrkzyZkaNhHmbZWk
 HTC3r+G7yu/7txcZ6bKAtxhz8ADbwwTvmT9eEtDb8raTSFdldGNyLrtk4h/g6QjRPq/b
 1crC9wQuRpiMQyMmskD0MemzhTNAx4ZdLYzwU1zUQdR4CaQ+TCDNTb/AWmgbptRSeGtT
 bchqerHFB7qXz2mKEeEky0M5OjbNvkQv6mcldSXuHB3yOxi+iJv2kgymBzumaBc+djUw
 TKF6Wz5BelWva/wG6vaHexw09n5gjHVWCHPYqSLBJurcmrbYSyDXwc/r+R+w69zl33/e
 N5Cw==
X-Gm-Message-State: AO0yUKWNXRptGflpZ18ANm156Oi8IlgRpMEa3rF9IRftdCXufV4c9owy
 Rb8hbsWzx4V2FjN4dwwEDfDb0Mgy+5I=
X-Google-Smtp-Source: AK7set95OBmlNB/htJ4sd85ZUmjF8uTq/3KgKrxwuCcV/+J7qzlE7KSyW9FiPNE1BI5VZrePTUDSfA==
X-Received: by 2002:a05:600c:3d92:b0:3eb:2e19:ff3a with SMTP id
 bi18-20020a05600c3d9200b003eb2e19ff3amr5261323wmb.7.1677445917790; 
 Sun, 26 Feb 2023 13:11:57 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 be6-20020a05600c1e8600b003e89e3284fasm10773916wmb.36.2023.02.26.13.11.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 26 Feb 2023 13:11:57 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87cz5wmjbx.fsf@HIDDEN> (Michael Albinus's message of "Sun, 26
 Feb 2023 18:23:46 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <87cz5wmjbx.fsf@HIDDEN>
Date: Sun, 26 Feb 2023 21:13:50 +0000
Message-ID: <87h6v8f7u9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Yes, but Tramp doesn't get the whole output with one
> accept-process-output call. It must use a while loop, until everything
> it expects has been arrived. So the process-mark also moves again and
> again, and cannot be used by Tramp directly.

Sure, but you wrote: "Tramp must know where the output to be parsed
starts in the buffer".  And I suggested that you arrange for that
_starting point_ to be given by the Lisp function 'point', not
'process-mark'.

> Everything correct. But the problem was that not the whole expected
> output hasn't arrived the buffer. I thought it was "stolen" by another
> process.

OK, but earlier you said that the process _had_ arrived in Tramp's
buffer (though this arrival was triggered by jsonrpc.el) but that Tramp
couldn't be made aware of it.  You wrote yesterday:

>>> It wasn't lost. The process output was retrieved and placed into the
>>> Tramp buffer, w/o Tramp's interaction.

Can you confirm that you no longer believe this to be the case?

> But yesterday's debugging has shown, that ssh ControlMaster
> seems to be guilty; it cannot handle large amount of data reliably.

So maybe one should disable it by default.  How does one disable it? I
have trouble understanding from tramp-use-ssh-controlmaster-options and
tramp-ssh-controlmaster-options.

> Yes, that's the place. Tramp waits for a trailing shell prompt that it
> tells that everything has been sent from remote. But this shell prompt
> didn't arrive, and Tramp hangs in waiting for this.

So the problem is now that the shell prompt didn't arrive after all,
because of controlmaster, not because of jsonrpc.el.  Can you confirm
this?

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 26 Feb 2023 17:23:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 26 12:23:58 2023
Received: from localhost ([127.0.0.1]:45001 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWKkf-0006Cd-Oe
	for submit <at> debbugs.gnu.org; Sun, 26 Feb 2023 12:23:58 -0500
Received: from mout.gmx.net ([212.227.17.21]:56409)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWKkc-0006CL-Iz
 for 61350 <at> debbugs.gnu.org; Sun, 26 Feb 2023 12:23:56 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677432228; i=michael.albinus@HIDDEN;
 bh=ph3+wKMWU9K8lADh64dMb95irfMlGGlW1hA3nt851R8=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=TEvLzfkwoDLV+uIFY60RIeLw7ZZ1Mf2RNjrdFXj7+3zTOSCq8A3YTPcSKKJYpCFVJ
 VJTZU/RrO5xQD8dUsBXHYS9O8/DTTLMUZbzfAbGoS1vS1XWjLw6o4OD0SnIL7pMpKc
 /y5ePOz369+nISUWuhymUmeBkxJm08v7U9KpPjPJDCFEEu7T2I2f2o7ZKRNuVwGz2l
 1kIDczdmyoucOLp65j4oETw7Q4G6dC749uplj7/ZdLSb3MjSMlnM/ei1MjYtAj9Iuq
 B+lCq5Jd55/FDMNl2dKDX8U2q8UwL/b1h/Ux1gitW4w8rVQTANlH0LFAwCxHxOLp4P
 M6yMjHVyDWHlQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N1OXT-1oTghU3XdD-012mZO; Sun, 26
 Feb 2023 18:23:47 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <878rglxrzm.fsf@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?=
 =?utf-8?Q?a=22's?= message of "Sat, 25 Feb 2023 23:09:01 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
Date: Sun, 26 Feb 2023 18:23:46 +0100
Message-ID: <87cz5wmjbx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:ECxhSjUOGT+eYJTBvNIWADbV8mEcQ0cBo5e0GnJI8zfIenaMN2K
 5uFf+yiGxizHqBbiFypFDELNbrFiCrRfA/CB5S7c97zNV1ZosKPDUR3t34UCGOYTqE4qMCT
 E8oLXO2z3hKbKZES4S8p/kfOiVcVbznXUwpsw0gYyALJlD/HglZqgE5E/xul+BRSyQ2INDe
 dTByrWu5UyLE8vAokFuZw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:iuDp2h2MHIg=;1Pn1QZEEwSWGeNBL7a1KaNBnBQX
 zHd0f8KN6ES+XYXJAGPqtbG0Cp9iR4NkM5ZoD2maRcCf8F5cc7h3ryeWjnTJBnw+mCt2XkEkK
 Q9eOdlWcbSxdZznKKzgSplP1OhSav0jzhBo/dXBu2Mcmr6GJfVJRFMWNTHF1vIaf6O4h+R63c
 9gCrO3F+PBAvr5XdEjwFsJNzvSJpNob9r85IliJqNRPpAM0XvPPUhcnTt7RS63B3lDMX4eF0Y
 c0soeAhH/RLq7oUhEIJAjN9uKYpMsb0d26+edaDWJBAcbKxiYqin0yXJ8WMbnQhLGdF0L03RR
 CdabijXAZc9I6EbGHXxlsUfMsM18JPSqpn8X8MNwNHdGTFMMCkBJJfnDpR31vHPnDTMPlCOta
 FVCoiJNGWbMq4rEoDOHPp7t0HEUR8FTLotyOL5zUs0d81oHMsYF8qXKNDKXOyZx9NiM97ovjk
 6rnvDWoD0uKoqgDp71eAq96lDd2+S+MCa5OHIHtGoFA1MsW6zEC3UdjCWOKuXZDQh16zJrSvp
 ohnI91TeGfkyUOWOMMY9L3GpRjAg7pmCEs5jQPPTdvFwzC1sVTMn5AmvB5x7pvGBhZIFA/eYm
 NuD6f9WSoxrgyU9VbvFWCZttZpoZoGwG/IFreqRpzBYXDWfslVRsNFnu7CT1M8ScPr/shvWv0
 72lLHSGdJgIduG+WQrzr9mQpKld1YNCXp5cPAJp3A9pX89+qZ+5MFYXwLG+Tqe/CSJbBnR1g3
 51GYmvkJu7pze46JePXXaTWO/RrR1L6U9FelDNn619Q7cfhx4MVdtD1FZW2xqDz2mzKGjSwn2
 drCSeWl/QAE/iUsyVeD1Iq+Xwa1gPnLacrobD1fXBrDjBkOqT3dI99CrYJR9EBxN1eKUwOFrN
 vqMhfdk1AjX/jzI+E3JtYSYkevD+ScK9ZBPbyTW39UlexxP1+i+zCTBlXAkQRnuToNrnoQC4d
 kl9jIpV/NbP/N5+Hk0Wg0jlN5g4=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> is rather, that Tramp must know where the output to be parsed starts in
>> the buffer.
>
> Right, and this is where 'point' and 'process-mark' come in.  Process
> mark is where the internal filter last left the insertion, and point is
> where you the programmer last left your parsing.

Yes, but Tramp doesn't get the whole output with one
accept-process-output call. It must use a while loop, until everything
it expects has been arrived. So the process-mark also moves again and
again, and cannot be used by Tramp directly.

>> If another process has consumed the output, even if it is pushed into
>> the correct buffer, Tramp doesn't know.
>
> Why?  May I ask -- perhaps naively -- why can't you can't just
>
>   (with-current-buffer proc (=3D (point) (process-mark)))
>
> to "know"?

See above.

> In my experience, something like this is usually sufficient.  One parses
> the buffer for incoming messages looking for regexps, magic byte
> sequences, etc.  One always leaves point after a successful search
> (search-forward-regexp has this behaviour and it's very convenient).
> Eventually, point may be left exactly at process-mark, or not, depending
> on how much data came in, a full message, multiple full messages, or
> some fractional message.
>
> Regardless, next time you want to get messages from the process, you
> perform a check before you go on a potentially blocking call to fetch
> more output.  The check is usually "has process-mark advanced behind my
> back from other libraries I don't control?"  Here, jsonrpc.el's a-p-o
> calls are the "behing your back".  After checking, you know if you have
> enough data to form a full message, or if you need to go on a
> potentially blocking a-p-o call.

Everything correct. But the problem was that not the whole expected
output hasn't arrived the buffer. I thought it was "stolen" by another
process. But yesterday's debugging has shown, that ssh ControlMaster
seems to be guilty; it cannot handle large amount of data reliably.

> But somehow I suspect you know all this by heart already!!  In fact,
> from the backtrace you posted Fri, 17 Feb 2023, it's clear the hang
> happend in 'tramp-wait-for-regexp' whic starts=20
>
> (defun tramp-wait-for-regexp (proc timeout regexp)
>   ...
>   (let ((found (tramp-check-for-regexp proc regexp)))
>     (cond (timeout
> 	   (with-timeout (timeout)
> 	     (while (not found)
> 	       (tramp-accept-process-output proc)
>
> Here, exactly how I imaged, you first check for "found" before venturing
> into the blocking tramp-accept-process-output call.  So it looks to me
> that you're doing conceptually the right thing, but it's
> tramp-check-for-regexp who is missing the fact that there is a perfectly
> good message in process buffer already.  At least according to what I
> understood from your account of the problem.

Yes, that's the place. Tramp waits for a trailing shell prompt that it
tells that everything has been sent from remote. But this shell prompt
didn't arrive, and Tramp hangs in waiting for this.

>> Honestly, I still don't understand really what's up. Let's see whether
>> adding threads to Tramp helps.
>
> I'll try to setup a VM myself with the reproduction recipe that Thomas
> used.  I'm reasonably confident that two process-based extensions such
> as Jsonrpc.el and TRAMP can coeexist if each follows process etiquette.

They will cooperate, definitely!

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 26 Feb 2023 15:58:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 26 10:58:51 2023
Received: from localhost ([127.0.0.1]:44869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWJQJ-0003y7-05
	for submit <at> debbugs.gnu.org; Sun, 26 Feb 2023 10:58:51 -0500
Received: from mout.gmx.net ([212.227.17.22]:50719)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pWJQF-0003xp-6f
 for 61350 <at> debbugs.gnu.org; Sun, 26 Feb 2023 10:58:49 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677427120; i=michael.albinus@HIDDEN;
 bh=ixQjP+iBysYaG/yayfWNIs3mSziainXWmJrF1nXY+aM=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=SaklybkdH9ftYKH8jEWqvGq4VGMNNwcP2kNvlPTxmfom60bLlB0gd43eozR5f/pw1
 Bghshdchf6tBfkm6TaGn4hjfX9eNANTtdpbmD7/X5fK9L1sh1msgZQFORUxghjpKYP
 LFwHeRuJhq/hgvDW9tSwEd3+EE46WbcnOPoCCUDqOFF1EfmGj780CkeASXTkIZ3gHW
 jvN8naNoFeOxswHo8xPb1dhxuxfIpz2igS64teVl5T9yeVBK+pugTUpiWP3c6DwLic
 p8M8NRFxOSdiaTb6vN5hu7G9Ow6XnZ4kM+nOqWbjNkc1UWYBlZ/J0gCrQWWhrJ0gO6
 j7dc/1J8NXlnQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MkYbu-1omZnq0zug-00m4fi; Sun, 26
 Feb 2023 16:58:40 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <1898310314.855305.1677407079921@HIDDEN> (Thomas
 Koch's message of "Sun, 26 Feb 2023 12:24:39 +0200 (EET)")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
 <1898310314.855305.1677407079921@HIDDEN>
Date: Sun, 26 Feb 2023 16:58:37 +0100
Message-ID: <87h6v8mn9u.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:g2ADn7vxFYyNPtIKHyipfTVwKsZ9yq/3LpAWOSZeKxjxSrt4Cir
 tOIuqVeMXudY2hXvjYV60kIMtoFdnOccXu7XzOpJGWY5HQc+eHThpMyVWpabGQndJzSmccq
 8sJBO2bE9xO5yXRgujYhDjRvr7DEXDqlVtFBd3ghgsEdHul68AdJM6487wrpHnauIylaNSG
 HSFr1e2gE5oDzCpGrji0A==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:fyDRbmhF9nY=;8T8yzW+1vptGAFX92aDnymHUnD9
 jGRwZ/JachHlmg8IoOp9BvwsqDtAJptkbAGkIFzjl3HfgHOPE3OgH+HHptXEGEuf4QBTSaTf7
 QcLYd5dMUktngcyav3FWK8AnyCUh3cz6P/vNBSCK5VQjseWti/b5MW8rlhvkjTVoCSFyNT3g9
 kMv2aF1Fiy0rBZ8A7AJeL8z7k4jI3Txv3kFlttgsFB7NC2wAsu+IM/OgC+KK6iyPbJfUd01iO
 orDf8I5yneG71TCVMS0WloSG6559Gfe8jBT9XUq6uDAVzb+MoLZq5GxRKFNEzDNE18U29VFZd
 i+3vpAsnxdpmj3g5L3BPD5katBVJGDeTucxaJwFNminMHQyY8Fkd7KDSKEtdzhdLSiix8L7Hd
 /N82DzvTmr4fNtd0nk7cUowbHuTrQcNVb62oeqhdRHHrdI4Qb/FRXQe5kqKyp/fv2dwVMr3Jy
 YbOCxaUU2ZvIK8Flxb2vysNiBxf38agfsLPMddY4bBwv1JoIzBTfXnEWDrqgl6JiQ704KiiXX
 0Xzfeo99pMMtdpJa/hsh9SAGrbb8D3OqVfC7ux//E97ctuhySlLHm5Aik8EVJ9b8MlnHywqIh
 XPh2nFIyNudcPWJPKU1IuAYg9X/xV/NdlKKcJuHJzVdFvsq5oECBT3CQ5+8l9A6HVAmA8Ci+O
 7v5N700TkCb3Drq4dWB5b8gjpSBsbf/BV+ycv+DQAGUxc6p6BoAP6TnAN7B8QaT1xLeTlDuuv
 rVfJ3+j665xgg1xtvTJwz5EPuPhgvtvvJ1pt4zoi4tItWS9TplbpWafshztsvEr1cDMV/OTdG
 2r4yjSl99pis/RBW/eZfsttBqQhULbhGdh4dCHXvBUl1zoVL5M59qiXpFx+W49bZ7kZ5Hxz6g
 6Sj/ALTW0j/Wig85egakxhSNE4V33ZqNTK9E3cS4QNbLmQw9934XX+GSgsU+/RFH+QBT7ztAt
 AhRPjynr/tq85QWwDZHvwc2wJKI=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>,
 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

Hi Thomas,

> Michael and I met yesterday for a debugging session.
>
> Eventually we tried without SSH ControlMaster (via tramp-use-ssh-controlm=
aster-options). Eglot did not freeze anymore.

Yep. It looks, like neither Eglot nor Tramp do it wrong.

> 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 defau=
lt and does not have any effect.

Do not use this variable, it is Tramp internal. Instead, set the user
option tramp-use-ssh-controlmaster-options to nil *prior* establishing a
connection, as explained in the Tramp manual.

> - Or SSH still used ControlMaster due to my ssh config:
>
>   Host *
>      ControlMaster auto

This shouldn't be set for hosts you're communicating via Eglot.

> I still see one
>
> error in process filter: tramp-error: peculiar error: "Forbidden reentran=
t call of Tramp"

This is *another* error, it doesn't block Emacs as described in this
report. And since we have other bug reports about (bug#49954,
bug#60534), I prefer to not discuss it in *this* bug report.

> I don't consider this a solution but just a workaround. After all I
> had tramp freeze my emacs also before I used eglot.

I don't believe it is a workaround only. Using ssh's ControlMaster seems
to be problematic for large data to be transferred, for whatever
reason. It doesn't look like it is an error in Emacs. I might be wrong,
but as I said already, after reading the code again and again (and also
after extensive debugging) I have no clue what could be wrong in Eglot
or Tramp.

Therefore, I recommend that Eglot and Tramp manuals warn about using ssh
ControlMaster option when large data are on the wire.

> After reading jsonrpc and tramp source code yesterday I also believe
> that Jo=C3=A3os proposal might help to make Tramp more stable.

I'm not against changes in Eglot or jsonrpc. But I believe this won't
help with the "Forbidden reentrant call of Tramp" problem.

> 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.

magit-process.el offers some wrappers for process-file,
start-file-process, and even for tramp-sh-handle-process-file and
tramp-sh-handle-start-file-process. So the real work is still done in
Tramp.

In ox.el, start-process is used with a sentinel in
org-export-async-start. However, I don't see where accept-process-output
is called here, it might be distributed over the Org source tree (which
is much too large for me to read).

> 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?

What do you mean by this?

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 26 Feb 2023 10:24:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 26 05:24:51 2023
Received: from localhost ([127.0.0.1]:42373 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pWED5-0008Ux-FK
	for submit <at> debbugs.gnu.org; Sun, 26 Feb 2023 05:24:51 -0500
Received: from mout-p-202.mailbox.org ([80.241.56.172]:55096)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pWED3-0008Uh-Gm
 for 61350 <at> debbugs.gnu.org; Sun, 26 Feb 2023 05:24:50 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4PPfrT07x6z9sSX;
 Sun, 26 Feb 2023 11:24:41 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1677407081;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=XsW2KGZMaKqIbuLElvm5pe5ImCH//EGF63iP0Y3sdek=;
 b=j2EamJMEXjG26gYHG5+YHWMWScGhF3AXiMp3sHJT2DPKvyH0cG3EH6i7wcC5v/NT2feLcT
 0K1f1YhVx/aV8kwwY2ugRp4sUD8Msz7h1QyHiFJat+d8oK56lfHDE+2o/lzIYc6Eb+RdRH
 LV4zg81SVSdqOuWH1AUBACoFn4x9K9GnEgaO2VEVhVTum08lM/VbCcHPzb3CLncQBJ1AUT
 3jasa1fFkzpttZ56PvvOtDoEHqBnjNbzXpEZkBveXl7vJ8fStI1hCNDdbRq/JAGBP9Rbh3
 t/XCuzR2hfv4uJNAkyrklUeAFYa0I2OCz6Y93lc5EiQZFxNj44FFQdyI1neeFQ==
Date: Sun, 26 Feb 2023 12:24:39 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>,
 Michael Albinus <michael.albinus@HIDDEN>
Message-ID: <1898310314.855305.1677407079921@HIDDEN>
In-Reply-To: <878rglxrzm.fsf@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN> <878rglxrzm.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
Importance: Normal
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael and I met yesterday for a debugging session.

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

I actually found the hint to ControlMaster already early on but probably ma=
de 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 tra=
mp freeze my emacs also before I used eglot. After reading jsonrpc and tram=
p source code yesterday I also believe that Jo=C3=A3os proposal might help =
to make Tramp more stable.

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

I was thinking whether there could be an abstract (and reliable) process in=
teraction 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?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 25 Feb 2023 23:07:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 25 18:07:18 2023
Received: from localhost ([127.0.0.1]:41808 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pW3dN-0002RE-MK
	for submit <at> debbugs.gnu.org; Sat, 25 Feb 2023 18:07:18 -0500
Received: from mail-wr1-f49.google.com ([209.85.221.49]:46825)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pW3dM-0002R2-D6
 for 61350 <at> debbugs.gnu.org; Sat, 25 Feb 2023 18:07:17 -0500
Received: by mail-wr1-f49.google.com with SMTP id bw19so2636060wrb.13
 for <61350 <at> debbugs.gnu.org>; Sat, 25 Feb 2023 15:07:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677366430;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=4vqFjOwoIAWNuCI43sXv3cK4Oyvqv5OZylCUiGJgj6M=;
 b=RzYg3zhv1nxuomZjIskw/TLp6MyhUCgM5XMKTUHAlUCfhmOveL7nJV29SxDGwWMs3U
 CVl0qgvKoYASOQoT48i6UwegdfUWd1GXi0qKM6os6fv/qjX4BUf4eXvQXNf4Lcaf+tMj
 6PJiOYITc+QaZfHfkSq82S3OUoWlKnCsgYa0GngMwX0zEE+7Fch7VP5Z4H7+q1jVXn/N
 hFMIyY7uPy4YawEqku6bU1sCzf1lQJjlSJiQR5q6Qf8xgMRqeK3ZfF1YeXvQoWRI5yGs
 0h6DVtILBrPQlasJ1870EN6/RD96qsZmd2HttGnRy8bwS8ngPYqbxfFKRa3RZKzarB0C
 CAeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677366430;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=4vqFjOwoIAWNuCI43sXv3cK4Oyvqv5OZylCUiGJgj6M=;
 b=nS7wzvnlWC6T4jkEkzvqEzFgBP/XElM26Oxzw8OxO4M788zE6WRP/rxQjE4vT4iU8F
 LXbqCbg/tKAUJ17wpnvRtwZijyVCS+mcRs5IiuI9SOzub/dIu6XQNZsl8ah7N0rftOtv
 bJH5JnIt+K0EK03OOK6hjmnFzwzCSR3seUhHdWFjZXbHIzXTVeHoh9YMp73YzxI5UmK1
 BBMIa+mL02Yv3NpofdvqZzzrLkrxCR10cmeZTqqd2xYx0FNPmxqivaKO5ug8h5+eJfuT
 EzCk5VW6WdUCCZe9hkvbS9DgLyYnOB4fjJHSiiFXE3f+kmzASPAULBgrFW+K7DCuydrs
 Q8Fw==
X-Gm-Message-State: AO0yUKWV0I0zR03EgA/wN62rA3Y5ekNXyMaBYwUQz3Fh8V3M6J6llesS
 vzzwvx+czjTv4UpVGqhm1yd3S5BYk7I=
X-Google-Smtp-Source: AK7set8V2qMEgchwHT33YN+lz/k72KYwZtQlhSFkZbBoOAj4KR0YXR95O4OFV3ObRjHuadnbXqYxeg==
X-Received: by 2002:a5d:4c83:0:b0:2c9:12dc:260 with SMTP id
 z3-20020a5d4c83000000b002c912dc0260mr2372779wrs.33.1677366430122; 
 Sat, 25 Feb 2023 15:07:10 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 l17-20020a5d6691000000b002c54e26bca5sm2893147wru.49.2023.02.25.15.07.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 25 Feb 2023 15:07:08 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <87r0udvmzr.fsf@HIDDEN> (Michael Albinus's message of "Sat, 25
 Feb 2023 15:27:36 +0100")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 <87r0udvmzr.fsf@HIDDEN>
Date: Sat, 25 Feb 2023 23:09:01 +0000
Message-ID: <878rglxrzm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.1 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.9 (/)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Hi Jo=C3=A3o,
>
>>> You don't call jsonrpc--notification-dispatcher anymore in the
>>> process filter directly. But calling it by a timer has the same effect:
>>> The process filter (accepting output) is still active,
>>
>> What exactly do you mean by "still active" and what process are you
>> referring to?  Jsonrpc's or Tramp?
>
> Your timer is called immediately, while you're still in
> jsonrpc--process-filter I believe.

I don't think so.  Any timer function runs in its stack, after the stack
where jsonrpc--process-filter happened has unwound.  But you've answered
my question: by "active" you mean "under the stack frame of
jsonrpc--process-filter".

>>> > Since jsonrpc always accepts output from *all* running processes, the=
re
>>> > could be (and is!) the constellation, that process output has been re=
ad
>>> > already, and Tramp didn't get it, waiting for the output forever.
>>
>> I could understand if we were talking C and read() here, but the process
>> output of other processes read by jsonrpc's call to accept-process-output
>> surely must have run through some filter function, it wasn't just lost
>> AFAIK.  You've probably seen this trick a mililon times, but markers
>> in the process buffer is what is used commonly.
>
> It wasn't lost. The process output was retrieved and placed into the
> Tramp buffer, w/o Tramp's interaction.

That's great and quite normal.

> Tramp doesn't use a process filter for its own connections.

Every process in Emacs has a process filter, though it might not be a
custom process filter.  If you don't give it one, it is assigned
internal-default-process-filter, which as the docstring explains, simply
inserts process output into the buffer (of course you probably know
this, I'm just stating for other readers).

> is rather, that Tramp must know where the output to be parsed starts in
> the buffer.

Right, and this is where 'point' and 'process-mark' come in.  Process
mark is where the internal filter last left the insertion, and point is
where you the programmer last left your parsing.

> If another process has consumed the output, even if it is pushed into
> the correct buffer, Tramp doesn't know.

Why?  May I ask -- perhaps naively -- why can't you can't just

  (with-current-buffer proc (=3D (point) (process-mark)))

to "know"?

In my experience, something like this is usually sufficient.  One parses
the buffer for incoming messages looking for regexps, magic byte
sequences, etc.  One always leaves point after a successful search
(search-forward-regexp has this behaviour and it's very convenient).
Eventually, point may be left exactly at process-mark, or not, depending
on how much data came in, a full message, multiple full messages, or
some fractional message.

Regardless, next time you want to get messages from the process, you
perform a check before you go on a potentially blocking call to fetch
more output.  The check is usually "has process-mark advanced behind my
back from other libraries I don't control?"  Here, jsonrpc.el's a-p-o
calls are the "behing your back".  After checking, you know if you have
enough data to form a full message, or if you need to go on a
potentially blocking a-p-o call.

But somehow I suspect you know all this by heart already!!  In fact,
from the backtrace you posted Fri, 17 Feb 2023, it's clear the hang
happend in 'tramp-wait-for-regexp' whic starts=20

(defun tramp-wait-for-regexp (proc timeout regexp)
  ...
  (let ((found (tramp-check-for-regexp proc regexp)))
    (cond (timeout
	   (with-timeout (timeout)
	     (while (not found)
	       (tramp-accept-process-output proc)

Here, exactly how I imaged, you first check for "found" before venturing
into the blocking tramp-accept-process-output call.  So it looks to me
that you're doing conceptually the right thing, but it's
tramp-check-for-regexp who is missing the fact that there is a perfectly
good message in process buffer already.  At least according to what I
understood from your account of the problem.

So my suspicion is in tramp-check-for-regexp.  I found it a bit hard to
read to find an obvious culprit, and I still haven't a working setup to
reproduce this...

>>> Again, I still believe we need a general solution in Tramp, using threa=
ds.
>>
>> I don't understand what is conceptually impossible (or very hard) to
>> achieve with evented IO like we have in Emacs.
>
> I've tried different patches, mainly in tramp-accept-process-output. It
> improves the situation a little bit, but not reliably. Sometimes the
> test works, sometimes it blocks. And even if it doesn't block, a while
> later we run into the "Forbidden reentrant call of Tramp" error.

I had recently a problem with reentrant calls in
jsonrpc--process-filter.  This is why you find a run-with-timer call
there, right at the beginning.  This removes the reentrancy because as
written before, timers run in their own stack.  This was the fix to a
nasty Eglot bug#60088 with similar "hanging" behaviour.

> Honestly, I still don't understand really what's up. Let's see whether
> adding threads to Tramp helps.

I'll try to setup a VM myself with the reproduction recipe that Thomas
used.  I'm reasonably confident that two process-based extensions such
as Jsonrpc.el and TRAMP can coeexist if each follows process etiquette.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 25 Feb 2023 14:36:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 25 09:36:22 2023
Received: from localhost ([127.0.0.1]:39395 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVvew-0000ZO-5J
	for submit <at> debbugs.gnu.org; Sat, 25 Feb 2023 09:36:22 -0500
Received: from mout.gmx.net ([212.227.17.22]:47771)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pVveu-0000ZA-82
 for 61350 <at> debbugs.gnu.org; Sat, 25 Feb 2023 09:36:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677335773; i=michael.albinus@HIDDEN;
 bh=uFlUFMVDH1ZyD2FgDEPtEW8NkyVo6czO2+1n+DCR7yk=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=S3ED6fbHrQpBTAsDVrubaKq0naC/FdrC16FAu2eSMI6YN13p5qOIWOJUc6ZRzjOMk
 MVA88AfmhTSBF7Xf22IXrn+nQs/VudG6te6SRziodPt7ah6lCl9cEMaP02jJGc/QzO
 Oa9n9XzDd8JVWeN9L+pAj7z88a30NU5eHber+1FT9OVUi7dnod0/8OhsHTyvtV8j47
 2JVlOPuT0Xfhu/GQ2oyCLsRXgejCsa5aWBWubaT7KQ3vKJ7H1P+CFaZMQRCLsJPH01
 54DSjUoKOFH+rvHpL4/qx5K89evDNE6cpTtc40TWdort0IyPnkDZlfasEeJ/sW0Rqx
 Cjn7v+VQm5RlA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M4Jqb-1pWClw1T6X-000PMA; Sat, 25
 Feb 2023 15:36:13 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <347387845.685995.1677153332387@HIDDEN> (Thomas
 Koch's message of "Thu, 23 Feb 2023 13:55:32 +0200 (EET)")
References: <1163788660.69273.1675787581764@HIDDEN>
 <87r0uo7h2w.fsf@HIDDEN>
 <1557187872.167775.1676630029885@HIDDEN>
 <687235760.209554.1676718644945@HIDDEN>
 <875ybz89dn.fsf@HIDDEN>
 <347387845.685995.1677153332387@HIDDEN>
Date: Sat, 25 Feb 2023 15:36:10 +0100
Message-ID: <87mt51vmlh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:dfVlffMjYQrtMhC07CoWTh5uaL483Q5SjPClj+i0ejTYOjqpaEM
 nCUwimAr+vSOTq0hyaqWWPuXrhoy8l8/72+zHCGEyN18HKHjTvDMfjUj837yIKzQydWv/bh
 86dzCCUTbmhaCD54M0X9IQcnxm+2UBNPcrNZzucbmy33o9cotALv7O7yPqwpLZHZsXLydOA
 3fiWqqj3vifCRNlJrTdkA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:lIi1SfjBpMg=;GwA5d05Fu9idjGRMW/WbG6Havtd
 QQxecKfbrhS+rXA6Ry2BapU4vsYkYZFtsABtqRYY5EEi8/AcAPMCyqN5fKVrkmCEVeQ2aUFuj
 wYel/yA0UUnb+AKqRIWfyATIuT5vCa5P3hrX0vo2gy/Qn0STbCdLtUkqTWK0kVjxgFbW9itUP
 9HcbDpw6tSsD5ZRnG/Yk/EqlHwLr+IT8rucXAobZljaZlHhyMrcDi5Q8qxKKAwM0TxpR5Hiz9
 IxzqtGD6sy4XVfMZktVMa+pRgf+lBB0B3/VPrARJ3lObbTcn1r85RdTwh8madHiqihC2Dw3QO
 7JmIIGRmVxqPZafMxQg/Vgus8XabfUnNdX8lJr5RwsmbweRHs0sfXX60r3C9zKzWMZxu2Zh/r
 5YExl4+P3s8JXvf+/kifVWCaxss36xukgYF1HGrNLtPcwggugtPu56JRDnek2jF0hRl+h52f4
 rxauHo6/xD6B0IzNZGc1N5m5U4Wjc3X8WOvwa4+i5E80zC9U0MDb2VDTekeshYgYRoWD4PvNj
 n703u8GNWLTCkW13sichoHUbO471Fx5cRXMtoAMb6kgoCuzVGlxxF4dL8v7w6irUNlYCM4j0v
 p52C22hT9oA3ooWfcbKZr+3J5Qn6LxHU1uAnZG+vrrpEYtHz9fT5luojmnLiJwQKSXaSOES7P
 wjYXz8rU82Kna786z7YM36+SQ6mJdnOr4/fYxFl6cpTIojNiEwGZVRvFn5LojxxKm1nZfWHRO
 orij1E+o5Bg44DVCff4AWBCT9O0ObJY9bi8BkoNkk2H0xY7tHQWL13Lomd+Ct7NspV/xbqcxq
 uIOHwPKBlfmrQDiwa70LXmtSQ1tVlM1WtSaPRbVWsr+HQwtPqnb5obkbT49YXHoOkx578P0q7
 yK1h5S/OSJdODvIrpgR8B8ZV6s6RtTMnv5JerWzuyjvQl5roYWU8gCe8gmgegUqOMigBJ40KV
 yxPRHw==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: "joaotavora@HIDDEN" <joaotavora@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

Hi Thomas,

> Another [...] question:
>
> Would it be possible for Tramp to open and close a new SSH connection for every new command?
> Would this mitigate the problem as an immediate workaround?

It might help, don't know. But the concurrent accessing of process
output by different processes still exist, and I don't know exactly
(yet) why it doesn't work as expected.

> I use tramp to connect to a local VM or a machine in my home network. Thus opening a new SSH connection with ControlMaster is fast.

Yes, but I expect performance problems. We have already the Tramp "sudo"
method, which works like an ssh connection: open a process to the
target, and send commands via this process. Since it is a local
connection, this is even faster than ssh.

But there are security aware users, who dislike a permanent Tramp sudo
process, which would allow attacks with root permissions. For these
users, Tramp offers the "sudoedit" method. The difference is, that every
single command Tramp sends, is a new process, similar to what you
propose with ssh.

The performance of Tramp "sudoedit", compared with "sudo", is much
worse. Likely to be expected for a similar "ssh" approach.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 25 Feb 2023 14:27:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 25 09:27:47 2023
Received: from localhost ([127.0.0.1]:39391 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVvWd-0000MF-2T
	for submit <at> debbugs.gnu.org; Sat, 25 Feb 2023 09:27:47 -0500
Received: from mout.gmx.net ([212.227.15.18]:41255)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pVvWa-0000Ly-N3
 for 61350 <at> debbugs.gnu.org; Sat, 25 Feb 2023 09:27:45 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677335257; i=michael.albinus@HIDDEN;
 bh=HyA8fQo/+P9TLjAIfYGRjrt0hm5keHyv9GWlhBeYy3U=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=tKqZo+GxzeXEu3ZhmFJQTKjwIKuSFlWf5OVUS+Fn+o00dVuB7mLZH7TNvne2uNn9K
 a+UXtbJJO8vr3dAl6jfQOParPqJN/JXwPiMQcYonETyXBmbzeDZAECaU+g9w7cKt4M
 TcQt3QP4o2noz0D2LorEZIruEXsPttoUA/7NeKKhfdiw7P+0v3jUG1UWZgQ64+T65l
 YF28gtKznDWB5CitFkTcUIdqMOQO/HGvX01puT6TLvXqLN0kftNEOiEpZ+O0lNJZ5g
 4dxGkfPhXSTBqFlodm0alGL5mykFL93iy1KLqKW2lsP7GCo7UeSMPUiwopEPNLGbjU
 U99o4D8O8ae5g==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MHXFr-1pJ1MO36HJ-00DTev; Sat, 25
 Feb 2023 15:27:37 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Fri, 24 Feb 2023
 17:45:45 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
 <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
Date: Sat, 25 Feb 2023 15:27:36 +0100
Message-ID: <87r0udvmzr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:S9Lvn7BU9RS5hJPZ4p8qt+1rZUu+llZ6qwf7bftq2aeUEzr4ay6
 u8ZEw/2tnCFND3FkiMz5UZB4MW9miKN0IZjIDWBDkYx2Ke3h/VDcI2hNSKi/wrhGW8zXocC
 XcPHvFXDF1bY6eVTcZkpeJAeIe096vDkOrcIl8YaKtssz5PuYjnXab9bPGKmGNE2nHRaIlB
 4Ecuf6mclAByL6nUVOx3Q==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:KvOYFeBK8ig=;1WkMHIV4J6eqpEevtjIVTSVOgRj
 a8SMuG9+XBzAOZx0BtzgDnxP0hN4438RFkSZuwk+I6ODY16D3+NYHhGlXkoQvExA3rCBDcPRs
 liZvYeQ0m/jXXqmOzNDDATtIKbuCuZ0LLVnxEOVchRNoEcCJ0fUvFTs4Mdnfx0uuQzKRllnX5
 ZxtQ1/spAzUConMQKJroClWQGRsHJwUw1eXnRXo9BFQ/S+lzL0Tivqg/05MrI7G65od6f/Z7U
 IdbuZux/LDtyIVR5XdUUnzkawGQJZtsXJdKXCKt7uvbp/yZPlwCnNdEl/5n6sXRfFqVtPNRBt
 HKdrjTms02Yh9cwJ1e6Tyv8KWKOJgwB+uD82yXvcI82p1RzwC18GmLUav3y5iJrk8okgB6jH8
 dnF+TyEjmnSpRzMIqiLO1ZlUJzqnRiVHe+wp9rc9SvnlpoAL2KkxwaecNVEhjtfuib1Dt3Me7
 GD7DjwIpaCMNygEL2DID8vD+OMDovGfZaxP0g5GUXQP+hvljxEXXWtmvmDiR3LoQGnrHJaVLK
 iSBbpH0QHQ/QQB57NsAMRxcBA8UTeO3MP9pYpI/4xrvlzLof3wD7L21g+/WB0FQrGmweab9bf
 ruNy0wO//XXiOTnybaEEFXTJ1CuHAzbdg+27vVRH3F8AAfJpRcQIJfKDesHj2XGb/+5dxuyEX
 krKim8SPBJP/4IuRU+husEZydUqfHVML8MHG1w7HHaJZJdAZBzMLkcrDS/n9HDQ6CPetV0KmY
 j9+npLbN8lBrtytPXtfd88c8T+vVWkeTk7i9mDjywtVG46TfA8I2xQXZZ2RwEtTdt+AsK7csZ
 ncckkuGLWsemUGt1GMUqzDCV4cuCWMYxVl1j4yrmeW5/rN2zd6GBCcPSpASOEI1pKOPPOhxpP
 Fdtv34knXyEz/rt6qxEKJNSin437AKmo/6TF3SlgcraP3+2rlYuuQBD9KiwkydxeZavA8Rvhb
 uMtKgFPtKt/ybMkzf+vdCM8efhM=
X-Spam-Score: -0.6 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.6 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi Jo=C3=A3o,

>> You don't call jsonrpc--notification-dispatcher anymore in the
>> process filter directly. But calling it by a timer has the same effect:
>> The process filter (accepting output) is still active,
>
> What exactly do you mean by "still active" and what process are you
> referring to?  Jsonrpc's or Tramp?

Your timer is called immediately, while you're still in
jsonrpc--process-filter I believe.

>> > Since jsonrpc always accepts output from *all* running processes, there
>> > could be (and is!) the constellation, that process output has been read
>> > already, and Tramp didn't get it, waiting for the output forever.
>
> I could understand if we were talking C and read() here, but the process
> output of other processes read by jsonrpc's call to accept-process-output
> surely must have run through some filter function, it wasn't just lost
> AFAIK.  You've probably seen this trick a mililon times, but markers
> in the process buffer is what is used commonly.

It wasn't lost. The process output was retrieved and placed into the
Tramp buffer, w/o Tramp's interaction.

Tramp doesn't use a process filter for its own connections. The problem
is rather, that Tramp must know where the output to be parsed starts in
the buffer.

If another process has consumed the output, even if it is pushed into
the correct buffer, Tramp doesn't know.

>> Again, I still believe we need a general solution in Tramp, using thread=
s.
>
> I don't understand what is conceptually impossible (or very hard) to
> achieve with evented IO like we have in Emacs.

I've tried different patches, mainly in tramp-accept-process-output. It
improves the situation a little bit, but not reliably. Sometimes the
test works, sometimes it blocks. And even if it doesn't block, a while
later we run into the "Forbidden reentrant call of Tramp" error.

Honestly, I still don't understand really what's up. Let's see whether
adding threads to Tramp helps.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 24 Feb 2023 17:46:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 24 12:46:04 2023
Received: from localhost ([127.0.0.1]:38202 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVc8x-00054m-Ti
	for submit <at> debbugs.gnu.org; Fri, 24 Feb 2023 12:46:04 -0500
Received: from mail-oa1-f49.google.com ([209.85.160.49]:40675)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pVc8w-000540-5U
 for 61350 <at> debbugs.gnu.org; Fri, 24 Feb 2023 12:46:02 -0500
Received: by mail-oa1-f49.google.com with SMTP id
 586e51a60fabf-17235c8dab9so286852fac.7
 for <61350 <at> debbugs.gnu.org>; Fri, 24 Feb 2023 09:46:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1677260756;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=2i1zM5byu58slcvjwks/s7pt5ud3UXQTlChSwuy6csw=;
 b=ZthgdmDkpxsBGHLPkkUCDd6scaGHROtoB/5tTvTiHosPZyv5hoxzebyRXiilSfUhuY
 uogb887AjE364wfI1oOPJQqvcjlayaz+jK3OqgGXkXesD9fyh73qKXLZ/OpSy9Xax5IN
 OKpXujBRUbVgkmC5pn3G+KFmh1sud/xycul4qvtOVSNI7YGhLDz0CtDCkOnZwNc7ljwX
 yw2D7cPEEUJB23oTqP9CYX5Uqqn9TOymqZZE5YN5XWwybdwDl4qkvJJZoF36TLPZew3N
 5oil+f0vxi2B9lhlJwucltv0+Z9GoQUBu4nDvjw94nc8UaNDAaUWjcqnKb9hNUlonMBP
 HQZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1677260756;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=2i1zM5byu58slcvjwks/s7pt5ud3UXQTlChSwuy6csw=;
 b=HyplDHQtni1llQCdDXHvtJDZxGL6nt4UjXc0tsGs1BAUrR8vEG6mklSo86mKoQHnlI
 a6KQ33bGGQOID1W9MEoMXNg4LzGP91S5HF7C8Fpffw0Cvz8/q+1eI9j2XhA99N9caVuk
 OKgPIcgUtKuVSJTbNesSnHX+lp5Q04O05l7d/1W8YGvFqbiCDxJQPtWuXK4WiNlG63Ag
 zEsIYgC9+kvVFeei/K1xKBjUAuRnEc8j6m+tmTCTlYVm3dYa/Hsj+36d9B4OTYs3Ny/+
 madmCz6ERGqkzkX9Zk0D1zGgicIJlTAk81rLkXHGFi8zrBn1XQa+GUj0xbq9TUI4lHec
 G7qg==
X-Gm-Message-State: AO0yUKUMbgr76YjtGSPmzWer9KXuN31n/WuPoTTj9m4afhrM3ozucMT/
 udjq68gmbTKMShjlBbCZZ2G4+x8chX2mGS5/lkQ=
X-Google-Smtp-Source: AK7set/4vBd2yUArPlGK8Z6lxAOR7VSeSqyciSJHdEh8pvyAmPW5Ugj82eTR58GKwuRImtoxbmF+DunxCzY5FAo7kcw=
X-Received: by 2002:a05:6870:954f:b0:16a:6ab4:e878 with SMTP id
 v15-20020a056870954f00b0016a6ab4e878mr1264534oal.8.1677260756569; Fri, 24 Feb
 2023 09:45:56 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 <87a613f0b7.fsf@HIDDEN>
In-Reply-To: <87a613f0b7.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Fri, 24 Feb 2023 17:45:45 +0000
Message-ID: <CALDnm515+F5Hs2B3tOLiyaBaD8E+hJBrcNyXe96LGdgvSe0wJw@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.1 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.9 (/)

On Fri, Feb 24, 2023 at 5:19 PM Michael Albinus <michael.albinus@HIDDEN> wrote:

> sorry for the delay, I have been out of order the last days :-(

No problem.  Hope you're feeling better!

> As said above, same result: eglot hangs. Your patch doesn't change the
> game.

Sorry to hear about that, I thought it was problem related to processes
inside processes.

> You don't call jsonrpc--notification-dispatcher anymore in the
> process filter directly. But calling it by a timer has the same effect:
> The process filter (accepting output) is still active,

What exactly do you mean by "still active" and what process are you
referring to?  Jsonrpc's or Tramp?

> and the called
> function in the timer still uses file-truename, which tries to read
> output from the Tramp process.

This part I can understand.  But I don't understand this that you wrote
in the original message:

> > Since jsonrpc always accepts output from *all* running processes, there
> > could be (and is!) the constellation, that process output has been read
> > already, and Tramp didn't get it, waiting for the output forever.

I could understand if we were talking C and read() here, but the process
output of other processes read by jsonrpc's call to accept-process-output
surely must have run through some filter function, it wasn't just lost
AFAIK.  You've probably seen this trick a mililon times, but markers
in the process buffer is what is used commonly.

> Again, I still believe we need a general solution in Tramp, using threads.

I don't understand what is conceptually impossible (or very hard) to
achieve with evented IO like we have in Emacs.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 24 Feb 2023 17:19:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 24 12:19:51 2023
Received: from localhost ([127.0.0.1]:38175 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVbja-0004LD-SV
	for submit <at> debbugs.gnu.org; Fri, 24 Feb 2023 12:19:51 -0500
Received: from mout.gmx.net ([212.227.17.22]:58567)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pVbjY-0004Kv-8y
 for 61350 <at> debbugs.gnu.org; Fri, 24 Feb 2023 12:19:48 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1677259181; i=michael.albinus@HIDDEN;
 bh=8mAbpc4jEzoAFm9AqkxrDS4821Mlu5Md8ptU9SwXhVw=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=TEKJy3eZHOUMzSTqFhVi7juc2b1MO9Q/7El4YQ5EVpicbVuIEWhoYK2X9UjbWAb3f
 6FaQbdXHwijEUBiCHcEJ66v/syJUZGGKhZdXvEDr0MlepOegRvSQtGuHRMXh9bkgzL
 fCtIYXaHUyTcj00eHseyhLswV1uyjPwHKMC5e6CFtCsmFkVFc50SSIq/4eg/UNDGvo
 nmbryzbNw+z0MpUOOm3I/BJmwyuP9kKXoJSzindp/FVJErE99lH6vD04ZP+EOSZTIs
 KIx6zuzCosXiRpqJRz9fbuwog0sHhJG1qNKWLAf1fOW48LExJMXghz9HXS+29ABdk9
 VbuD1gNT2idAA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MDQeU-1pOQih2jxu-00AUJw; Fri, 24
 Feb 2023 18:19:41 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
 (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Thu, 23 Feb 2023
 15:22:33 +0000")
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
 <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
Date: Fri, 24 Feb 2023 18:19:40 +0100
Message-ID: <87a613f0b7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:OGBatwoNb58SGGdaHVEtVgUbRi6SYa1z8WOZys2TpPE0NS+dt5n
 dfbUbv2nFDXiYNgFWjR4D3oj1yFeq3tEwIx9hHEpb4c8R9eOotDoiNFJhYBJAON3knXUNsq
 9gSxU67RCP1884kB25tjZ22BEs8VSGxhOaUFM5in9L3tuqoVMkhwXSXfY31D7cOCTfZlZmZ
 /UfVEoKgalsbw8mq2Yl6g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Fl2v9Bqm5t0=;RpfQwEcMNxlDaP+t5Th7//zA+6n
 PEE4ztb2VLmBsCxBMGZVornO85EpRzL/xaspSex7NnuC0L1FItwpZ0E7aN8UTT+bUCFqO6hMI
 bJrMyE87Cb992LqNxlLmblFgXJrCdlLXbsI0Hk82tvF4Tr74wpHPQ9R/ZLmDzs6l7unjXUQZj
 jpKGrpwVkoL5FRN1jlVYVFg9dTlgA+GWH5GCjCePqVsdAUtQcP9TktvmBrTyPxcq3pMTn8eTD
 hqGsTGNoj9prPxsR6vWDGepqOH9NiHQRpzEMsRs1txhoyrj8z+X+Q5vK3uLVb16y1z0CWlZ0Z
 0hNyQwNaAjrP1H97wb2JevpFUGiSUpI/ssVWdifxuerz4Uo79g4JS/r5JvBElDwUzwsrYMW9M
 mm2DpS3vM6pvSYbteZ0bRC/06RpnQQOiNfmZfYy4PkIULwFN3CzGQ11oDGFjgxVYlQ8w5qzZZ
 K1Ql580XrL0bdg9JITGzI9iPCOBu9N/INp7o9nrb6I1cKB2qY6c+V1MwbvVs7HmnHJ8by3g/A
 fytH4YNupliveuv32rIcGeW2dh3IYiTQepQWJpOoZsFWNTidrT7KdgS8R4ZXnETdxJJgG7MPs
 9K0voTX3JUZFRTJTCNG8Qq/KzwjMBesSIanUPQigwDOK3agMG7QZv5prMlzByeCnuG7t5WoMI
 RDoDiTjRbcuJ7Nlg0QMHsQbD9ntmrd2G9DM0/DBiJC9a59E/arCBMftglPaSQv+A2gxhQwhkU
 /h4zHPp2t2VULE9O8UkFWeTE++bAESvj/vb281iH8/aCyoI1Bzly6bpbPrSTM5gluKijf7Zx6
 G9Diiq9lb6TujnUYtHmdh7SqZDZnHT4DoWeCQzeB8+3GKshTfRQzMuRj60qbnLRilyHrX6BEU
 8r4A2o2JxF3i3biej733Jj2Trn9htc75wlyhETbmkAcRzMYlTNC7XbpPNVNdNd9nKWhA81Kf5
 +mwIYUlSUZ2RxZYT29TR94AHVtA=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

Hi,

sorry for the delay, I have been out of order the last days :-(

>> Thanks Jo=C3=A3o, but with the jsonrpc patch it is the same as with the =
previous patch: Emacs still hangs. This time I could unfreeze it with C-g, =
but it hangs again a moment later.

I confirm, that with the jsonrpc patch the problem still happens to
me. I'm using the emacs-29 branch for test.

> I'll need you to describe the conditions that lead Emacs to hang.
> An Emacs -Q run, a server, an example file, all in all, a MRE. See
> how this user informally but very effectively reported a bug in Eglot:
>
>    https://lists.gnu.org/archive/html/emacs-devel/2023-02/msg00851.html
>
> Here, I don't even understand whether you're trying this with TRAMP
> or locally.

I have prepared the test as described by Thomas in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D61350#5>. After setting
up everything on the remote side, I have called

--8<---------------cut here---------------start------------->8---
# ~/src/emacs-29/src/emacs -Q /ssh:ubuntu-2204:/home/albinus/src/yacy_searc=
h_server/source/net/yacy/yacy.java -f eglot
--8<---------------cut here---------------end--------------->8---

The remote machine is a virgin Ubuntu VM.

> If I can't see the error you're facing in my machine, it's likely
> I won't be of any help.  I can report I've been working for a few
> hours with that patch with the Clangd server with no problems using
> a local project (no TRAMP).
>
> We can also wait for Michael to try out the patch, as I'm sure he
> can report any problems just as clearly as he last did in this
> thread.

As said above, same result: eglot hangs. Your patch doesn't change the
game. You don't call jsonrpc--notification-dispatcher anymore in the
process filter directly. But calling it by a timer has the same effect:
The process filter (accepting output) is still active, and the called
function in the timer still uses file-truename, which tries to read
output from the Tramp process.

Again, I still believe we need a general solution in Tramp, using threads.

> Jo=C3=A3o

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 23 Feb 2023 15:22:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 23 10:22:52 2023
Received: from localhost ([127.0.0.1]:34957 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVDQp-0008P4-Rt
	for submit <at> debbugs.gnu.org; Thu, 23 Feb 2023 10:22:52 -0500
Received: from mail-oa1-f42.google.com ([209.85.160.42]:45582)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pVDQo-0008Or-MO
 for 61350 <at> debbugs.gnu.org; Thu, 23 Feb 2023 10:22:51 -0500
Received: by mail-oa1-f42.google.com with SMTP id
 586e51a60fabf-172663f1956so6689925fac.12
 for <61350 <at> debbugs.gnu.org>; Thu, 23 Feb 2023 07:22:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=1TwE0JBp+4v0JiGVhOro2tIo7kigJ9nN1aP0ACj0cvw=;
 b=jRu2XPWD6yaqcT99ojIBiegWMLuxX1DNfBYr2IkLB5t4mzRzEoXfLG/yp2bLswgOnZ
 8QArUZyobINuDR9HnUxIU+f/iata2nzl1KQp1xlYkMc1mlgpYcfSBQB2GOaigBiWjFIv
 H/w5dyAzLqqlI4b/SYwik0rwONU2aS0D2ury77d27eEuFFSVv8Wsm1E34o7q0QjyJ5Ml
 90t5uQXcT9S5ZXKJ/G2G8sZaIb9NHb8rIN0pI6ET7kn5dqi1EmJsOoHKobzpcL1aMUTg
 aCz81vvxCtxCtAJ6kbOWc9BBk0Un28sK8o0muRTLI2SVnwW9RQMpQoIRxosszQFbVipo
 QaZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=1TwE0JBp+4v0JiGVhOro2tIo7kigJ9nN1aP0ACj0cvw=;
 b=nK3PEC6YN75lM6fM81ZmIfXGeFxEryaRDo6xqvqycGeUI1lJXS35q1Fm/VKIA8C8y1
 gS1gcGpEhDhLeWKzyi1TW/W6XhLBAUUZpnPOOMNNds+V2IknFuBnu2HDtiKhrssfy4Mr
 08Ky82XkNbjfXKjSr7dKLd1gtp9nkpltZsuGrYiGUWoK54aXkSKCzVzulLBJ3yrDek4U
 Y2lGMlKLwuElblBbF84p6H2aEVg+AZY1NGcy1JkCiyPhhfUFuSMvj3ZMCPekWEQkA9pJ
 tyABJ0XGywcRvVm0abAtfmZCdImduvGTWU56kjJfs91eB+St3SdwuHFm4d3Mq5PkUIe8
 1JeA==
X-Gm-Message-State: AO0yUKVQO0bP7aifoFl1zCnYZsR9Vrsq441krFemuRJ5+Tbj8GFJw5Iw
 aRB2PrH4TkcaapYBb2ldlEAasdXa7oE4d3S3Lrk=
X-Google-Smtp-Source: AK7set+zNoNBuRojV7xSaCWs5ZFSP7cqzhQp/yeWt5xg351C63YijTRWNJEvIS8xooA7aFPTO4qG0NOLuSxiDm4GsvE=
X-Received: by 2002:a05:6870:41d0:b0:172:8adb:8e44 with SMTP id
 z16-20020a05687041d000b001728adb8e44mr227638oac.215.1677165763939; Thu, 23
 Feb 2023 07:22:43 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
 <69968923.705640.1677163650760@HIDDEN>
In-Reply-To: <69968923.705640.1677163650760@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Thu, 23 Feb 2023 15:22:33 +0000
Message-ID: <CALDnm51Q923n2pgg1hmdPJ0NgUEBpB+rU+LJTscfQ7G3x7Fmxg@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Thomas Koch <thomas@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Michael Albinus <michael.albinus@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Thu, Feb 23, 2023 at 2:47 PM Thomas Koch <thomas@HIDDEN> wrote:
>
> Thanks Jo=C3=A3o, but with the jsonrpc patch it is the same as with the p=
revious patch: Emacs still hangs. This time I could unfreeze it with C-g, b=
ut it hangs again a moment later.

I'll need you to describe the conditions that lead Emacs to hang.
An Emacs -Q run, a server, an example file, all in all, a MRE. See
how this user informally but very effectively reported a bug in Eglot:

   https://lists.gnu.org/archive/html/emacs-devel/2023-02/msg00851.html

Here, I don't even understand whether you're trying this with TRAMP
or locally.

If I can't see the error you're facing in my machine, it's likely
I won't be of any help.  I can report I've been working for a few
hours with that patch with the Clangd server with no problems using
a local project (no TRAMP).

We can also wait for Michael to try out the patch, as I'm sure he
can report any problems just as clearly as he last did in this
thread.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 23 Feb 2023 14:47:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 23 09:47:43 2023
Received: from localhost ([127.0.0.1]:33564 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVCso-00078d-Lt
	for submit <at> debbugs.gnu.org; Thu, 23 Feb 2023 09:47:42 -0500
Received: from mout-p-201.mailbox.org ([80.241.56.171]:37102)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pVCsm-00078P-4i
 for 61350 <at> debbugs.gnu.org; Thu, 23 Feb 2023 09:47:40 -0500
Received: from smtp1.mailbox.org (smtp1.mailbox.org
 [IPv6:2001:67c:2050:b231:465::1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4PMwq75sV0z9srR;
 Thu, 23 Feb 2023 15:47:31 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1677163652;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=Ju4kmvIiv5fsx1TyCuq61gLHKXIqWwYpqkk9RW7IXSU=;
 b=Y7UeteEjVDgk9aI0yDdp9iK7S+NL8IHZ94thZ6WWmUJQHTZtzoz75HY6pXHwxZw07MlK5S
 zdEXnGdDFyOIjshfIA3X2VQd6cJ2JYOpz7GC/HPI68tQ6vBwYu4pM/Hg+HNwChsKWHwamw
 NppMLn1qX8Gk6usatOG76+NC756jAtUlEC8VphTqJwxBBaHn74mC+VL6GDmZEJKEagcnKu
 Ue/AEoT3VqENoRPXYEg408ATFQ2AwJi8yTSEIuMIP7SGsXYpTTMQOe5x4A23WmwB8i/wVP
 e2kZnd5tXJu9RfYvUVreqhvhEkkWdPVaC/K9JSCn3VmUDmPB9pykKKALwd6r1Q==
Date: Thu, 23 Feb 2023 16:47:30 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>,
 Michael Albinus <michael.albinus@HIDDEN>
Message-ID: <69968923.705640.1677163650760@HIDDEN>
In-Reply-To: <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
References: <87y1ootw2t.fsf@HIDDEN>
 <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
Importance: Normal
X-Rspamd-Queue-Id: 4PMwq75sV0z9srR
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thanks Jo=C3=A3o, but with the jsonrpc patch it is the same as with the pre=
vious patch: Emacs still hangs. This time I could unfreeze it with C-g, but=
 it hangs again a moment later.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 23 Feb 2023 14:18:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 23 09:18:51 2023
Received: from localhost ([127.0.0.1]:33460 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVCQs-0006M9-Re
	for submit <at> debbugs.gnu.org; Thu, 23 Feb 2023 09:18:51 -0500
Received: from mail-oi1-f182.google.com ([209.85.167.182]:45606)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pVCQr-0006Lv-DN
 for 61350 <at> debbugs.gnu.org; Thu, 23 Feb 2023 09:18:49 -0500
Received: by mail-oi1-f182.google.com with SMTP id t22so12829536oiw.12
 for <61350 <at> debbugs.gnu.org>; Thu, 23 Feb 2023 06:18:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=gBKClO3p1uo7ODNpboTOBIx2szvVy8GQpuQUdrLdxh8=;
 b=D6gdpuE1pTSpXYhfcPO9QA2EC0NqRIK2BnG6MJ2vlTh8J8Ml4cLf1YhDvvTZjvrqKP
 DYLgyaNW0svf5yYgUs3ELYxNLrEFM/lXvm1x9kxjDtJw2MnRvQQX4t+7urTQd26hpn/D
 bqHT8v3bF/K4KDNhl5SRAoWSI3hY6TEEjM7paT4CAqOMPhZuroWDXGvKquC3/qAnAZxK
 sXEyPBKVbLRAxv0IkjITwLHRBuAnRTXJ/d98E0UXnJYCytgN4gAiMpNA69bAPQroPXKc
 oWzu5AoEi4d3q0zodvHgGiywgewOyP2YH+5lK+NQ0jDl6XR4mqbbB2MYuecnLECG7m5N
 xT8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=gBKClO3p1uo7ODNpboTOBIx2szvVy8GQpuQUdrLdxh8=;
 b=6y5yYEpYVeZvPFeJ83f/KxH7nQjudfdPOxpIdLZONilrZU8X28ID78sPXd/fyxr02s
 qag79xvu17Qk+N/KzcKaYXrsVw43KHx0gksYMCF4kcYPzS6nxq5UHgTs3VHpI0eBn4UN
 NLMtDa1bQziWdJfNF7Impt9V17q65S5/y/n+5+1B34JKHnpx7m6It2AxsFLXoQ/xRglC
 jttFomeNXVbSAYXVz9UJcnr+NiscezgAD1LYPoacmAd4qyxvk8Qg82HJGUcFIEiuNpXY
 r7Fp88liv4LDzCxy0Y3BFny1emerFFvQbgHZckc5M9EV/MvLl9JGvLLEn/QimQerK+NT
 AKyw==
X-Gm-Message-State: AO0yUKUW85YWTyAn3GkMKYiT5RU+vh4sN6m4ZWlC7oWZOby5RwZ8yUAI
 LTOeadnm88MbWPcmMJoPh5tDCmnVOLGGuLiJjSA=
X-Google-Smtp-Source: AK7set9U4PanWVEGrcpie+a78YMvczL8JllueNCj1y3ClmWNp7EEAc4Op6ZgQJu5HL8mmfZBPT9uB4kuF92SHhRnJ0Q=
X-Received: by 2002:a05:6808:13c9:b0:37f:84bc:b095 with SMTP id
 d9-20020a05680813c900b0037f84bcb095mr708328oiw.215.1677161922780; Thu, 23 Feb
 2023 06:18:42 -0800 (PST)
MIME-Version: 1.0
References: <87y1ootw2t.fsf@HIDDEN>
In-Reply-To: <87y1ootw2t.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Thu, 23 Feb 2023 14:18:31 +0000
Message-ID: <CALDnm52kgRrCU0AxTsbX-j_tqKP9NfeA2YkrgYAKwyQBE3C3uQ@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
To: Michael Albinus <michael.albinus@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> Can you try your experiment again after evaluating these two lines?

>   (cl-defmethod eglot-handle-notification :around (_ _ &key &allow-other-=
keys)
>     (run-at-time 0 nil (lambda () (cl-call-next-method))))

I forgot to mention that one should evaluate that in a
buffer were lexical-binding is t.

Better try this jsonrpc.el patch instead which does basically
the same, but won't have this pitfall.

diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el
index f583d116d20..45e3d97ca41 100644
--- a/lisp/jsonrpc.el
+++ b/lisp/jsonrpc.el
@@ -184,8 +184,8 @@ jsonrpc-connection-receive
           (apply #'jsonrpc--reply connection id reply)))
        (;; A remote notification
         method
-        (funcall (jsonrpc--notification-dispatcher connection)
-                 connection (intern method) params))
+        (run-at-time 0 nil (jsonrpc--notification-dispatcher connection)
+                     connection (intern method) params))
        (;; A remote response
         (setq continuations
               (and id (gethash id (jsonrpc--request-continuations
connection))))

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 23 Feb 2023 12:15:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 23 07:15:47 2023
Received: from localhost ([127.0.0.1]:33241 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVAVm-0000kG-OL
	for submit <at> debbugs.gnu.org; Thu, 23 Feb 2023 07:15:47 -0500
Received: from mail-wm1-f41.google.com ([209.85.128.41]:37646)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1pVAVk-0000k3-Oj
 for 61350 <at> debbugs.gnu.org; Thu, 23 Feb 2023 07:15:45 -0500
Received: by mail-wm1-f41.google.com with SMTP id
 j19-20020a05600c1c1300b003e9b564fae9so4323225wms.2
 for <61350 <at> debbugs.gnu.org>; Thu, 23 Feb 2023 04:15:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=Z+KM1txjPET1xkEZR9c2W4PfgnV5qdzMWYhlZLxGfh4=;
 b=e/yllSl7J5WDR0CVR6Wr/K/PVNQHHrSDMFEHurAWkPM936BOaeK8V5Z6Vwm8vDbYgb
 PbMPvVvn0Ms4a++kIwZ6atQGtTd2IJDe4bTfl/P4VGbtBzM2EzBPPEXQcSSn6E6eGEd0
 H6HTBzx9nJnEgZObFIggm2q04Y6IfQVYriQqsuYrKwBCz418WIRW09inoLjrFZbUDojq
 NaiLSxGuoz3ipyyFyeNwvcDLWPipLHX0zmeX3Xx/Tu3peip+cJnTLiHUCcE5TuV7vZpJ
 sw1zAMLucuQuC3FZqbm/r/JPp/s2OXaGRmlV8uipPG7josqbaafV2A1kKGXA5tFoedEQ
 a+dA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=Z+KM1txjPET1xkEZR9c2W4PfgnV5qdzMWYhlZLxGfh4=;
 b=ytr0VGqwfuOxyTUihFgcwUX0SaET8lLifP86vz9UOtV4Pda58EPSjHkeMTUkaS3UJE
 /ogj8avT3VZsYaeJYEMxac5iIRNVjMOUp2fRCR7mzoM6jvTaaW5hIAdgLSjj994fRsnT
 hGwDKHwewYHrH+aTnqO0LwpP68z4th0L+4NMHugTWbUPUdMPB3IoQsfKUL6K3sPsZJgg
 LWrhHE3dMMhfAG4q1Kz/JtHf4ZFcARBD3WTVK+1h6OymEd3cksJAW3OCXYTglX6m2yMU
 aTOn3Ea4jOTI0jCNnhaZhjCPuGMajy2E7niz4BFkCKy+Wwka/8KhXbtWwR7DC8tSooVP
 xnLQ==
X-Gm-Message-State: AO0yUKX3KVOLjqeqjRRgewUTGbImaOQ9b79lg073qfZQr0YXB09OvTW6
 vlbdCKD52ys1ZThlhvViCLg=
X-Google-Smtp-Source: AK7set9P7v89+gSI7SQUT+9W0Frl+nlrgoWbfBKVgCyGmNv5mUnJsKUNXvUfPkGXQxrtUPZSTN2qjg==
X-Received: by 2002:a05:600c:244e:b0:3e9:1898:30c9 with SMTP id
 14-20020a05600c244e00b003e9189830c9mr4251370wmr.32.1677154538770; 
 Thu, 23 Feb 2023 04:15:38 -0800 (PST)
Received: from krug (87-196-72-142.net.novis.pt. [87.196.72.142])
 by smtp.gmail.com with ESMTPSA id
 c62-20020a1c3541000000b003e9ae2a8cbfsm3682787wma.2.2023.02.23.04.15.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Feb 2023 04:15:38 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
Date: Thu, 23 Feb 2023 12:17:30 +0000
Message-ID: <87y1ootw2t.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 61350
Cc: Thomas Koch <thomas@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


Michael Albinus <michael.albinus@HIDDEN> wrote:

> The problem is clear. We are in jsonrpc--process-filter (accepting process
> output). This runs eglot-handle-notification, and that runs
> file-truename. The latter needs to check remote, so Tramp sends a remote
> command, and waits for that output (calling accept-process-output again).
>=20=20
> Since jsonrpc always accepts output from *all* running processes, there
> could be (and is!) the constellation, that process output has been read
> already, and Tramp didn't get it, waiting for the output forever. I
> could mitigate the problem partly by changing the arguments of
> accept-process-output in jsonrpc-request, and eglot could work
> successfully, sometimes. And sometimes not. And even then, I ran into
> the famous "Forbidden reentrant call" error, see bug#60534.

I see the problem more or less, indeed, thanks for reproducing it and
clarifying it.

Can you try your experiment again after evaluating these two lines?

  (cl-defmethod eglot-handle-notification :around (_ _ &key &allow-other-ke=
ys)
    (run-at-time 0 nil (lambda () (cl-call-next-method))))

This makes the notification handlers execute "outside" the LSP server's
process filter,  so maybe it fix it.=20=20

I've given it very little testing and it might have other monumentally
severe consequences in non-TRAMP cases, so take it with a grain of salt.

If the fix works, maybe it could be done upstream in jsonrpc.el itself.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 23 Feb 2023 11:55:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 23 06:55:44 2023
Received: from localhost ([127.0.0.1]:33217 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pVACN-0000Ax-Qu
	for submit <at> debbugs.gnu.org; Thu, 23 Feb 2023 06:55:44 -0500
Received: from mout-p-102.mailbox.org ([80.241.56.152]:35638)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pVACL-0000Ai-C2
 for 61350 <at> debbugs.gnu.org; Thu, 23 Feb 2023 06:55:42 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4PMs0j0bYqz9sQK;
 Thu, 23 Feb 2023 12:55:33 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1677153333;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=K6dNKL9YaMo3dnixqvKK+QpUwgkohPzPeHFbFkvACBs=;
 b=k4HLC17PzeQxQjYVGGCr/jkkbc4RVbwdgWw/aVg5shRF+nigQqCpXYleCui5QiNTescoQB
 0CzqXUruy+iXHAKDcy1RRtfgQzxGOxhJAsHYQ7aL8CUBohz/A3ooApPKzLSsSxuTECb/wz
 cT/Livu+WbcMbmfy6kLBmDaj8iO4t647rMuzZwpjCst+PWQLNBRsmMMrwp4Pm9LT3whVMK
 oWIlV25PLfPoon9eBS18eHXSvXjanyd/SKK+dL0xXNZMuiOB2ZOjNMeDsJuSR+ipNjUen3
 p93Opu+HJYdwFKVOiqYDf0gpDlhMnW5UfVHm7ioyP1PGtYb9xxapPQAFNYDxOw==
Date: Thu, 23 Feb 2023 13:55:32 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Message-ID: <347387845.685995.1677153332387@HIDDEN>
In-Reply-To: <875ybz89dn.fsf@HIDDEN>
References: <1163788660.69273.1675787581764@HIDDEN>
 <87r0uo7h2w.fsf@HIDDEN>
 <1557187872.167775.1676630029885@HIDDEN>
 <687235760.209554.1676718644945@HIDDEN> <875ybz89dn.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: "joaotavora@HIDDEN" <joaotavora@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> Michael Albinus <michael.albinus@HIDDEN> hat am 18.02.2023 14:07 EET geschrieben:
> Don't worry. You don't ask stupid questions, often it is useful to think
> differently.

Another [...] question:

Would it be possible for Tramp to open and close a new SSH connection for every new command?
Would this mitigate the problem as an immediate workaround?

I use tramp to connect to a local VM or a machine in my home network. Thus opening a new SSH connection with ControlMaster is fast.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 18 Feb 2023 12:07:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 18 07:07:51 2023
Received: from localhost ([127.0.0.1]:42716 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pTM0N-0001w4-9q
	for submit <at> debbugs.gnu.org; Sat, 18 Feb 2023 07:07:51 -0500
Received: from mout.gmx.net ([212.227.15.15]:37129)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pTM0J-0001vl-LH
 for 61350 <at> debbugs.gnu.org; Sat, 18 Feb 2023 07:07:49 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1676722058; i=michael.albinus@HIDDEN;
 bh=XGg/uhJaAsE7SrFTcPHw8pVj6hQFR8u6NxMtueh+nX4=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=W98yTGJk2Qa1HnFIPJb6ew1oX8QtZ5i14Jr9+/3CtSDD0UmJYwenHXwSkPbYQhoEs
 Vu+JPii1KodoiqbsA7Aqg0sB+EY7ne4HssSvhTi6yhNmTHNSR7mFZcMgo47s9qSYHK
 LDsG2gDrSLrbD5WE+/gn+zkz0EAh75KZcNMCjCXod5cWl3L4fcqU8uTz917DQhJAMf
 5xYpAlRRfTq9kXz1kECTNS418r/Phu9h3s2BwpDEIsvKiybycn1hJwpw7u2nXKXd1Q
 ZUUKDLT/fiumE/BTsjy49JlyrdVG8qIOjKSO+U6q0B3+BJaEXou45+CjCRO2LqqgoM
 PAyj8WTA1fJew==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mxm3Q-1obuEx3gx4-00zIfR; Sat, 18
 Feb 2023 13:07:38 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <687235760.209554.1676718644945@HIDDEN> (Thomas
 Koch's message of "Sat, 18 Feb 2023 13:10:44 +0200 (EET)")
References: <1163788660.69273.1675787581764@HIDDEN>
 <87r0uo7h2w.fsf@HIDDEN>
 <1557187872.167775.1676630029885@HIDDEN>
 <687235760.209554.1676718644945@HIDDEN>
Date: Sat, 18 Feb 2023 13:07:32 +0100
Message-ID: <875ybz89dn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:qIvI6jmDHYt0jRHMRZ9oWfXuR+JJimMm2HvjZdf78l5UIolqHEK
 kfYNA9hiCxzexz+jTw/q5OMWc3oumMedr8hVaNQvsY499kl30VRCBzYDsEZj2LgudQZMfea
 Cbx5ARDXEwXH1kHsdT0M0JcmBslco4CDwjzAffXcjRUhyj0tVQdCiQ9bJIUjT3BgwkBXt8l
 K3w958Rj3fThn65bFEVmw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:UrlZVS+NlaQ=;J9XnQ7sW3Wr2xaxNLvmhcSvlYOo
 yflB6chUPipfu2/m1qYkn3mth8o38bnuogUFUKrFGjQLQ+xD6B+HqL0pOhOWiJ1J/PPXmF/Bo
 9eT4HtMjS0v6veTjHI23WCNmPGfRp4dtyg9npEHxHOzlqeC3+TeWhzDy2oGgsgtqPbnN7KAqJ
 tyD/sS19GWwste4opvNqLh7QzN7T6lhCYZ+HW2zLRyvP11ULIiccx+dXACMHpmT5HsHEndhim
 KL6Nij0FjjgdDoScy0qBfldXk4170ucvk/oACOE10ob6ldJt0rOhlfdBUVn12Nl0HuE9nQTyc
 EOE6FpFt+unu/QWndVi2PigLurve5HCUfztIsIzgvw6mou1OtgCZZFzYlr8XmHfMlmOHZ8RF/
 OZFxHe+0BvfHXUFSKzVZxAWM6g4EcUu6cWyLTPI3OwjFTVlKe27qJbq+s/GOWmaBRouZMHiQe
 SZbGBspSnCuV7xh0644w2hVZe/oxk8rcHMEJJ3MTP17uH7AFdwsUMnE4FH6Zvznr1vp5c6SgS
 HqoKTw6Cw0fKX5rC88k6nwbF/ltBmy+7vYXA3DDkq2l6nj7GGjgP/s+lGwWhhhEca5vCIo/qW
 OMfrdLFTfksuDV633cYE3OOG3w8L5tSbpuTtzbraCMf1AN11E7aLa6BoWiH2CZJvo42uwlehh
 R9zNlJojwie23f3d4c3nfiSHIggTaG9wU2Pre93sMlVjrSb+Q1HISJqoyaceoNwrWMmLXnnTq
 Hb8sXvaiBasaZjQzEOBjcS2iGgt5F7FicxgwNr9SDPdt/VlEa5Eop096U2sexCXlQR3ic+72n
 95F+qn7QnJS6UzjqOMETjWDweVDKV9ut9KOF3i4q8V2g0bb5cPxLBpAcHHvu5m9QKvw/d/5Hc
 x7fRQ+ycjML8a/aBgTgeP4SyCqUB9wxXgn5NCSrCuaBP5X2ESDWxKLiC7WT6mKEmkVESWow3Q
 oGCpQNwc5JSxkcDNYAkIECKl3rg=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: "joaotavora@HIDDEN" <joaotavora@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

Hi Thomas,

> Please bare with me Michael, if I ask a stupid question although
> you're a long time Emacs contributor. I saw now that concurrency in
> Emacs is an age old problem:
> https://www.emacswiki.org/emacs/ConcurrentEmacs

Don't worry. You don't ask stupid questions, often it is useful to think
differently.

> There are emacs-async and emacs-deferred. Couldn't one of them be used
> to write a non-blocking wrapper for file-io? NodeJS made this
> programming model popular when it appeared in 2009. I can't believe
> that nobody discussed this before for Emacs?

emacs-async uses a second Emacs instance, AFAIU. I doubt that this
approach is helpful for Tramp, which needs to read files into buffers
and alike.

emacs-deferred I don't know.

> Meanwhile I could hack eglot to not block so far by replacing
> find-buffer-visiting with get-file-buffer in
> eglot-handle-notification. Of course there will probably be other
> places that cause problems and I could also only use this hack because
> my project files are not opened via symlinks.

Yes, that's similar to what I've done while trying to mitigate the
problem. But then, later, there was still the famous "Forbidden
reentrant call of Tramp", which we must fix anyway.

In fact, the threaded Tramp some years ago wasn't that bad. It worked in
many cases. The major problem with threads in Emacs is user
interaction. When there is a dialogue with a user, for example asking
for a password in the minibuffer, it happened that the user input didn't
return to the correct thread. Something like a UI-thread is needed in
Emacs, I believe. That is, all threads in Emacs delegate user
interaction to that UI-thread, and then wait for the result via a
mutex. Something like this.

For the new attempt to bring threads to Tramp, I plan another
approach. Not a whole operation (like find-file) shall be located into
an own thread. Instead, just the process communication,
process-send-string and accept-process-output, shall be delegated to
another thread. This are the places we have problems. Let's see how far
I could go. But pls don't hold your breath, it will take time until I
could show results.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 18 Feb 2023 11:10:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 18 06:10:57 2023
Received: from localhost ([127.0.0.1]:42617 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pTL7J-00009j-4a
	for submit <at> debbugs.gnu.org; Sat, 18 Feb 2023 06:10:57 -0500
Received: from mout-p-101.mailbox.org ([80.241.56.151]:34300)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pTL7G-00009T-AI
 for 61350 <at> debbugs.gnu.org; Sat, 18 Feb 2023 06:10:55 -0500
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:b231:465::2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4PJmFL0ZYyz9sTg;
 Sat, 18 Feb 2023 12:10:46 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1676718646;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=RVL/I0jME5Qke4ng51kPQIet5D2Ibh6fcE8I2WXsE9U=;
 b=fevOlGfPl5HfG5fZWogjXDI59V0WY5U9bIp/6WuVDuYV0yhY8+puqvUmxNyAXGgTyc6U8h
 wHgT6T1dkADCtQT+7vuWx9TksNa3nMMD2hsViejV/V6bpQ6VeMSU5fbPvk7hutNgVeNJNF
 2CfUr5i/akZSXeFGN+8by+mm2bGhbJg5zlgVOEzntludgZTtWldBL/sB2uhXEufoM1m8pu
 /xW8WuxnUBVm8nKSH20DekXgqcvDEZJ984LHaR6uZAeBQ/XncZDVR2zaDgcD0JIfqighip
 wZoq4bRLVGLDr4EN3f6RFPo2NbyXD5RRk87ZwmSobvMIuXtPv6fopDotolKPyA==
Date: Sat, 18 Feb 2023 13:10:44 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Message-ID: <687235760.209554.1676718644945@HIDDEN>
In-Reply-To: <1557187872.167775.1676630029885@HIDDEN>
References: <1163788660.69273.1675787581764@HIDDEN>
 <87r0uo7h2w.fsf@HIDDEN>
 <1557187872.167775.1676630029885@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Rspamd-Queue-Id: 4PJmFL0ZYyz9sTg
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: "joaotavora@HIDDEN" <joaotavora@HIDDEN>, 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

CC eglot maintainer as requested by him.

Please bare with me Michael, if I ask a stupid question although you're a long time Emacs contributor. I saw now that concurrency in Emacs is an age old problem: https://www.emacswiki.org/emacs/ConcurrentEmacs

There are emacs-async and emacs-deferred. Couldn't one of them be used to write a non-blocking wrapper for file-io? NodeJS made this programming model popular when it appeared in 2009. I can't believe that nobody discussed this before for Emacs?

(Of course I otherwise despise JavaScript and NodeJS in particular with passion.)

Meanwhile I could hack eglot to not block so far by replacing find-buffer-visiting with get-file-buffer in eglot-handle-notification. Of course there will probably be other places that cause problems and I could also only use this hack because my project files are not opened via symlinks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 17 Feb 2023 15:23:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 17 10:23:10 2023
Received: from localhost ([127.0.0.1]:41034 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pT2Zp-0004yT-3U
	for submit <at> debbugs.gnu.org; Fri, 17 Feb 2023 10:23:10 -0500
Received: from mout-p-202.mailbox.org ([80.241.56.172]:50158)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pSy40-0003xu-AX
 for 61350 <at> debbugs.gnu.org; Fri, 17 Feb 2023 05:34:01 -0500
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:b231:465::2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4PJ7TC3SLNz9sb6;
 Fri, 17 Feb 2023 11:33:51 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1676630031;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=7HZVEcR5CqQK+rponER0IC7YC939PUVhc8RpuLVxRuU=;
 b=ZE3NVYOYdo37Pjh110EW0MV7OF5lPWtOjDm73nuF64LsGzz5mpEqYVi/6PwR/3dxWvm9rR
 smH5doT1ErX4E/Zw0zdTCyEJwaBUnDB1DcDNtpapiT3t95G49by5LLe0IdVCO4bdh/Ou17
 dJw9o/xViS5LYD50RcwJI7Z+INvvlOBRHQnqVjCmqz3oYxhybuoCeQRoq4yRr2QQ/4ToGa
 fKstTB7EOM3d/iQF8drNGr+GXCqOaPs+WsWWf76JCk/dYcQZO8f0XJhENel+2jOXulYXnA
 sfVLK3LBq8ETBwz0a/3zkPt0XSqEKTdsfXNFx6tkk19Fy+o7HaiSG9DbyaPN5A==
Date: Fri, 17 Feb 2023 12:33:49 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: Michael Albinus <michael.albinus@HIDDEN>
Message-ID: <1557187872.167775.1676630029885@HIDDEN>
In-Reply-To: <87r0uo7h2w.fsf@HIDDEN>
References: <1163788660.69273.1675787581764@HIDDEN>
 <87r0uo7h2w.fsf@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Rspamd-Queue-Id: 4PJ7TC3SLNz9sb6
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
X-Mailman-Approved-At: Fri, 17 Feb 2023 10:23:07 -0500
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thanks a lot Michael for the analysis.

I don't know anything about Emacs internals, but I have a healthy fear of threads and could understand that it might be a can of worms.

Maybe there are ideas that could be taken from JavaScript, which also has only a single thread. As I understand, any threading problem can be translated into event driven code. Additionally, browsers now support web workers which (in theory?) should avoid locks by not sharing context with the main thread:

https://developer.mozilla.org/en-US/docs/Web/API/Worker

I forwarded your analysis to the GitHub issue:
https://github.com/joaotavora/eglot/discussions/883#discussioncomment-5008509




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at 61350 <at> debbugs.gnu.org:


Received: (at 61350) by debbugs.gnu.org; 17 Feb 2023 09:54:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 17 04:54:25 2023
Received: from localhost ([127.0.0.1]:38525 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pSxRg-0002zV-FL
	for submit <at> debbugs.gnu.org; Fri, 17 Feb 2023 04:54:24 -0500
Received: from mout.gmx.net ([212.227.15.19]:43655)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1pSxRe-0002zH-8v
 for 61350 <at> debbugs.gnu.org; Fri, 17 Feb 2023 04:54:23 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1676627656; i=michael.albinus@HIDDEN;
 bh=t78NY4u6f1+HKZyJaHtQ0ID37PRVIlTAbdLAPVl4tsE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=OUNzCW+sO8As0FoX16PrQWZsh/OFUb7kBfsJdTOjeA7DTeU9nRQrcyacxQC452w/j
 YR26yqlMSvyVeU1dcXrQ4N0rvNg18uA/IY9BXpBLz9DfRnRdK8RO6nFow21adeVGPV
 L49jj+K/yHksTQ8G8lGiZRlIQbfsQp2GgDKICgJUAcNFMilWuw6tXxGOqy+eIahRrH
 1yc1RkotdABiB5Zfwx+mZxTck3z/HkdgITr2CG5LsI8swAHw2CPCqKaKouOtzrU2tC
 k7UkWwNoCHS8QRaaaSFrXudh+A1/6l1CkpBk0/wOb2vo14IUryVRxX8pFn7vKGUFeu
 p6mDonc8vkCWQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.22]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N1fn0-1oRFui0u4G-0121v1; Fri, 17
 Feb 2023 10:54:16 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
To: Thomas Koch <thomas@HIDDEN>
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
In-Reply-To: <1163788660.69273.1675787581764@HIDDEN> (Thomas
 Koch's message of "Tue, 7 Feb 2023 18:33:01 +0200 (EET)")
References: <1163788660.69273.1675787581764@HIDDEN>
Date: Fri, 17 Feb 2023 10:54:15 +0100
Message-ID: <87r0uo7h2w.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:yKxblpJcgZPYLRoHKhsKeIYwHje1AO7/usnag7mTR+24z/hjVkF
 Dy3+XniPiPnTjCJHFn4OvNFnBaPvWbReJICaLUXjEGIUsS/xa8jrAxJmWt7KaOfKDhDd6JJ
 LsnkJXM/c9ckr5PYmiiY5NPLmpZSaomPKWg30xsrLtHeMHXrbPhEtPDZhke6gnZ1J9dURON
 Gf4q+6wXEsq7N5yxA94qA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:varG+J8UhMQ=;AnxXr8qnriysnW4Xs+KEm8NazVy
 M4nf6qdArSENf5d/TGGu+DTcO6WukXubSNdwFriO2D2vdd+oOvYAYWI4xQ5kAg58/BRTzhMcy
 EhQs5D4TcvvpjBB6Db9r+FHD00JJWE1fwVtKLbHr80pZzD23AkqZEFg/8e143UWU9XlYbsiQ5
 9MNUd1hsYUiXsSQSKtvwwhs4acNnwUp8fdlBRKb4/cwiZTJaeN7OfGtqy/t0//1WEq7eTUN4g
 JjcaYjoNW1CnNh32uzCAm13ccHP+vd3+ytnv4uFHWsJsCFd5c3b0r925blqfb3UzlCma9rQbV
 mIfUi1LSFEgd3Q80ccA3zaF1X4AfpOAsVZWVHT1KalioxPmQmW5Nva7VueDrmrgBPm51eB+vn
 R+c7fSrd/v+dbQZFYZF5alZrwhTjMDJQfwbOWRbT8RSpbWp388PgZCutlT3fQ6Ltgc0CgMVN8
 dSkAywtKCMmBPhzLKBUGn6dsWWjPglXSSyiUxUZpxJ6l568zC/GYjdq4WyugzmzG/RwelrXvp
 f1TlDxvJUdgyT4Tkdj/yK4xVbPVy41eMl7P+2nVX9OgqBQnF41bydb+LDAuD+5WONkBOp8RAT
 BpOJAcCBxJsQLJC41v5oq7XW7JPu1EDget6p2tqqKIbsbyXOTf2uO+vz8AWqZ8w8WH+gFz+h1
 VN/Yi9q5b0WNJZ5fXCh6NRb9ccobB17u+Xvk/4fjQ803SONePOr4dZhYl1Y8b+acbYqPR6lRz
 nm5j2OFS7rF0TODNMaJJlIz5Q+ahZrQwR7nE6x+/tgTUD6fhNCMt/GVEsR3zcil+w74Nsgi7z
 D72GhoYTQAktdm1J2X0R+FB6N9XldLF38mK+EV9rjQDpmrWXhqNHPjde6ypRKib3Y9pQ1shYr
 6mzwPwOKDf4JOhZQTwgvSO5w/HiIGH2ISbs7MKJtwdyqmy32eiLk5O1x/wJWAxtktoA5LCu7j
 s6JZ1Q==
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 61350
Cc: 61350 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Thomas Koch <thomas@HIDDEN> writes:

Hi Thomas,

> 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

Thanks for the concise recipe. Since I have used a virgin Ubuntu VM as
test target, one additional step is needed: Install Java.

> Freeze should happen after a few seconds.

Yep, I could reproduce it with both Emacs 29.0.60 and 30.0.50. And the
backtrace is

--8<---------------cut here---------------start------------->8---
  backtrace()
  tramp-error((tramp-file-name "ssh" nil nil "ubuntu-2204" nil "/home/albinus/src/yacy_search_server/examples/Simp..." nil) quit "")
  tramp-signal-hook-function(quit nil)
  accept-process-output(#<process *tramp/ssh ubuntu-2204*> nil nil t)
  tramp-accept-process-output(#<process *tramp/ssh ubuntu-2204*>)
  tramp-wait-for-regexp(#<process *tramp/ssh ubuntu-2204*> nil "\\(?:^\\|\0\\)\\(?:[^\n#$]*///3f62f1d55bd34cba7fe730c633...")
  tramp-wait-for-output(#<process *tramp/ssh ubuntu-2204*>)
  tramp-send-command((tramp-file-name "ssh" nil nil "ubuntu-2204" nil "/home/albinus/src/yacy_search_server/examples/Simp..." nil) "\\readlink --canonicalize-missing /home/albinus/src...")
  tramp-send-command-and-check((tramp-file-name "ssh" nil nil "ubuntu-2204" nil "/home/albinus/src/yacy_search_server/examples/Simp..." nil) "\\readlink --canonicalize-missing /home/albinus/src...")
  tramp-sh-handle-file-truename("/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  apply(tramp-sh-handle-file-truename "/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  tramp-sh-file-name-handler(file-truename "/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  apply(tramp-sh-file-name-handler file-truename "/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  tramp-file-name-handler(file-truename "/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  file-truename("/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  find-buffer-visiting("/ssh:ubuntu-2204:/home/albinus/src/yacy_search_ser...")
  #f(compiled-function (arg1 arg2 &rest rest) "Handle notification publishDiagnostics." #<bytecode 0x5bbf29480580234>)(#<eglot-lsp-server eglot-lsp-server-bfebda> textDocument/publishDiagnostics :uri "file:///home/albinus/src/yacy_search_server/exampl..." :diagnostics [])
  apply(#f(compiled-function (arg1 arg2 &rest rest) "Handle notification publishDiagnostics." #<bytecode 0x5bbf29480580234>) #<eglot-lsp-server eglot-lsp-server-bfebda> textDocument/publishDiagnostics (:uri "file:///home/albinus/src/yacy_search_server/exampl..." :diagnostics []))
  eglot-handle-notification(#<eglot-lsp-server eglot-lsp-server-bfebda> textDocument/publishDiagnostics :uri "file:///home/albinus/src/yacy_search_server/exampl..." :diagnostics [])
  apply(eglot-handle-notification #<eglot-lsp-server eglot-lsp-server-bfebda> textDocument/publishDiagnostics (:uri "file:///home/albinus/src/yacy_search_server/exampl..." :diagnostics []))
  #f(compiled-function (server method params) #<bytecode -0xa39f6ed8241f361>)(#<eglot-lsp-server eglot-lsp-server-bfebda> textDocument/publishDiagnostics (:uri "file:///home/albinus/src/yacy_search_server/exampl..." :diagnostics []))
  jsonrpc-connection-receive(#<eglot-lsp-server eglot-lsp-server-bfebda> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params (:uri "file:///home/albinus/src/yacy_search_server/exampl..." :diagnostics [])))
  jsonrpc--process-filter(#<process EGLOT (yacy_search_server/(java-mode java-ts-mode))> "pc\":\"2.0\",\"method\":\"$/progress\",\"params\":{\"token\":...")
--8<---------------cut here---------------end--------------->8---

The problem is clear. We are in jsonrpc--process-filter (accepting process
output). This runs eglot-handle-notification, and that runs
file-truename. The latter needs to check remote, so Tramp sends a remote
command, and waits for that output (calling accept-process-output again).

Since jsonrpc always accepts output from *all* running processes, there
could be (and is!) the constellation, that process output has been read
already, and Tramp didn't get it, waiting for the output forever. I
could mitigate the problem partly by changing the arguments of
accept-process-output in jsonrpc-request, and eglot could work
successfully, sometimes. And sometimes not. And even then, I ran into
the famous "Forbidden reentrant call" error, see bug#60534.

I will continue to investigate, but after playing with this for some
days, I feel we must add threads to Tramp, when there are several
concurrent processes. I've tried this already some years agao, and I
failed. Maybe it is time now for a new attempt.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Feb 2023 18:48:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 07 13:48:17 2023
Received: from localhost ([127.0.0.1]:54060 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pPT0r-0004nt-9U
	for submit <at> debbugs.gnu.org; Tue, 07 Feb 2023 13:48:17 -0500
Received: from lists.gnu.org ([209.51.188.17]:59474)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thomas@HIDDEN>) id 1pPQuL-000124-DG
 for submit <at> debbugs.gnu.org; Tue, 07 Feb 2023 11:33:25 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <thomas@HIDDEN>) id 1pPQuI-0000jc-9Z
 for bug-gnu-emacs@HIDDEN; Tue, 07 Feb 2023 11:33:23 -0500
Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256)
 (Exim 4.90_1) (envelope-from <thomas@HIDDEN>) id 1pPQuF-0007tJ-2g
 for bug-gnu-emacs@HIDDEN; Tue, 07 Feb 2023 11:33:21 -0500
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:b231:465::2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4PB7wG2QZZz9sjf
 for <bug-gnu-emacs@HIDDEN>; Tue,  7 Feb 2023 17:33:02 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koch.ro; s=MBO0001;
 t=1675787582;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding;
 bh=jYFfZt9SVeF+Ho5UUh7muoVMgw7VS2uPLDVodkasVCg=;
 b=0Th5EdwkkatgW87uqHb+Er3NUmWuBbbZnHNV80NE53aLBqe650vzhDMLqGbCpYZmW7HiE3
 nEyZAmrD9sZ5QXfKlPaQZRvQCYgln94XIhldL2SvMc8F79nFX++YXh8DbmnA3anOqiGjrM
 M7s8yJNaJapcQMCIX4lzCaXpBI9bBy21SC2oX0He65yZ2Iez+ya8CHn+Xm0WSLv7ietaZD
 qZeR+l0R7A3G8fOk8RAaehi1fCJLvjYFXiFWQszlOB440yJdJOypK5+QP25WYlWFWeCOyn
 vOG65nYdnJ2/V4oWXiuEzeDD6eUhalZbWuFMJaYpWpRccbvZJ60EihZU2cfCmA==
Date: Tue, 7 Feb 2023 18:33:01 +0200 (EET)
From: Thomas Koch <thomas@HIDDEN>
To: "bug-gnu-emacs@HIDDEN" <bug-gnu-emacs@HIDDEN>
Message-ID: <1163788660.69273.1675787581764@HIDDEN>
Subject: Eglot over Tramp freezes with large project
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Rspamd-Queue-Id: 4PB7wG2QZZz9sjf
Received-SPF: pass client-ip=2001:67c:2050:0:465::102;
 envelope-from=thomas@HIDDEN; helo=mout-p-102.mailbox.org
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 07 Feb 2023 13:48:15 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.6 (--)

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.




Acknowledgement sent to Thomas Koch <thomas@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#61350; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 16 Mar 2023 20:45:01 UTC

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