From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#62194: 30.0.50; Two Eglot-over-Tramp tests are failing on master, passing on emacs-29 Date: Thu, 16 Mar 2023 21:57:22 +0000 Message-ID: References: <87wn3jue1q.fsf@gmail.com> <87edpqjqsv.fsf@gmx.de> <874jqmjl0s.fsf@gmx.de> <875yb1pxai.fsf@miha-pc> <87ttykj45i.fsf@gmx.de> <878rfw51mh.fsf@gmail.com> <87pm98iw1e.fsf@gmx.de> <87fsa43f36.fsf@gmail.com> <87sfe4eh09.fsf@gmx.de> <87wn3g1ssd.fsf@gmail.com> <87zg8co0n0.fsf@miha-pc> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11313"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Michael Albinus , 62194@debbugs.gnu.org To: miha@kamnitnik.top Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Mar 16 22:56:16 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pcva4-0002jP-3Z for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 16 Mar 2023 22:56:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcvZs-0005gU-LH; Thu, 16 Mar 2023 17:56:04 -0400 Original-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 ) id 1pcvZq-0005fs-SN for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 17:56:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcvZq-0001iT-K1 for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 17:56:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcvZq-0007qp-FN for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 17:56:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Mar 2023 21:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62194 X-GNU-PR-Package: emacs Original-Received: via spool by 62194-submit@debbugs.gnu.org id=B62194.167900374230145 (code B ref 62194); Thu, 16 Mar 2023 21:56:02 +0000 Original-Received: (at 62194) by debbugs.gnu.org; 16 Mar 2023 21:55:42 +0000 Original-Received: from localhost ([127.0.0.1]:43246 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcvZW-0007q9-EW for submit@debbugs.gnu.org; Thu, 16 Mar 2023 17:55:42 -0400 Original-Received: from mail-ot1-f45.google.com ([209.85.210.45]:44793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcvZT-0007pu-Th for 62194@debbugs.gnu.org; Thu, 16 Mar 2023 17:55:40 -0400 Original-Received: by mail-ot1-f45.google.com with SMTP id w21-20020a9d6755000000b00698853a52c7so1810133otm.11 for <62194@debbugs.gnu.org>; Thu, 16 Mar 2023 14:55:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679003734; 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=LsSUNCsXYKbs/QUveWcXSN/c/T24v3Qmi68x0975DL4=; b=gFb2uPRTu5hBkzhuZ09pRXpv1k14EexprJmBDGmEHqUupeBEN0M7dtEqk6TtfYga4J V4/dUNeXPvyZFjFIN1/KoirkVQ3goq/z4+VRzy2Zl9Y0GxI8WPK8k8MWudxWzJW3uXmr RnD/o7kQddn9wp1I4J1FuwBn2IDYqAYAZywjcct/Yeu9dYoF/ReN6q2kH3oTw2IskVDm Ftxpl4B+geaIssumfhhpAgdINdVRLFPcDQQvbnqQfiXJvsGJ1Q3mpMzWQGQXuUY6DBIv sj8fo6Ni0it5lLLl3lD42/56QU7wxkwqKyS/CaAUc/FULcfwV7EygosW9boT46CIadQI rJoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679003734; 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=LsSUNCsXYKbs/QUveWcXSN/c/T24v3Qmi68x0975DL4=; b=U+X5PQq1dBfZ0zyWgb9yhiqyNA5cp/Qn6ac0n5Q+V7TivDima6ANH8sZZ3+8VyKvh8 AprFmlnJPNTjlFRDwjuA6Kz1t6f4YCMJvLwDor5fUsGz/YcXpvxfrtiaerDVWhpwE9pP Mk8h91XqrMPMgvRrbir4JN/JOxeENFdSJHQBLNQq/6aCo5oPcHDCX2eOKy+We2RcP8Fj fVXHSTIE/H3nmn94VU6ccmjpJPlsfsiEbtKhE6H6yJH74lj5UHabwwJMkzSn5QbDnmfA b6N6ybGkECW9yr436hFrIeO592RoQrQbSrionJz/osdoEcqTcvfZHkbhrmDlr4RW8Eal D64A== X-Gm-Message-State: AO0yUKUJCkPANxIi1m8019FxODgrM7gAJECgdGEYWeVEB3o2/61Cf4wy JzAYReK+w362KnjDw8nNV1z+PD4TGVfyVdO02aE= X-Google-Smtp-Source: AK7set//leRsLQ4bmszgC5gzRTDmskcWWykHf+jpjACLs1XZDDjmS9tKol/KxIx6cUPbu32exsKX+ykQZVF52qEcajA= X-Received: by 2002:a9d:5507:0:b0:699:bf77:e691 with SMTP id l7-20020a9d5507000000b00699bf77e691mr2719677oth.4.1679003734003; Thu, 16 Mar 2023 14:55:34 -0700 (PDT) In-Reply-To: <87zg8co0n0.fsf@miha-pc> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:258039 Archived-At: On Thu, Mar 16, 2023 at 9:14=E2=80=AFPM wrote: > > Jo=C3=A3o T=C3=A1vora writes: > > + (dolist (p (delq proc (process-list))) > > + (when (tramp-file-name-equal-p v (process-get p 'vector)) > > + (while (accept-process-output p 0))))) > > I think that accept-process-output with JUST-THIS-ONE=3Dnil is dangerous > here. We are now allowing 'file-exists-p', 'expand-file-name' and all > other functions listed in 'tramp-sh-file-name-handler-alist' to call any > timer or process filter, That's exactly what we want. We _don't_ want to stop other output to be inhibited from going into the filter. We want to let other processes slurp their input as often as possible. The reason it hung with JUST-THIS-ONE=3Dt is precisely the inverse reason that it hangs without this hunk (say, in emacs-29). One process (say tprocess) is holding its input and jprocess can't read it because it comes from a shared underlying SSH buffer and that buffer is likely full (until tprocess empties it a little bit). At the moment, it is the best we have, both theoretically and experimentally. > without even documenting this. This is the most normal usage of accept-process-output. Look at all the Emacs code base. Basically, only Tramp uses JUST-THIS-ONE. It's JUST-THIS-ONE who is the aberration. None of the process-heavy SLIME, SLY, CIDER IDEs use it. You can read the manual about JUST-THIS-ONE. It's in A-O-P. > filter may call 'read-passwd', entering a recursive edit, in which the > user can kill any buffer or even a process. Or with midnight-mode > enabled, a timer kills buffers older than 3 days. I consider these "the > problem of timing errors that usually plague parallel programming", to > quote '(elisp) Output from Processes'. Sorry, I don't immediately see the problem. I can't prove that there isn't one :-) that's near impossible. Normally what is done is for the problem to be demonstrated with some experiment. > I'm not saying that my proposal with SIGWINCH is flawless and I agree > that its unacceptable. I'm just saying that we shouldn't be quite > satisfied with this solution yet, though it should be fine for some > time. I'm not satisfied with it myself. This is very slow (not that it matters much). But is also all around ugly. The more correct solution is IMHO, described in bug#61350. But it will take time to see if it fits into Tramp (I think it does) but most importantly how (that's the hard bit, Tramp is a lot of code) > What I was thinking was perhaps to introduce a function called > 'accumulate-process-output' which would be similar to > 'accept-process-output', except that it would only save process output You can propose this in emacs-devel, but if you permit me to be slightly immodest, I've been coding with accept-process-output + filters for almost 15 years and I've never had the need for this. I normally want timers and other processes to run, I don't want to stop the world. Jo=C3=A3o