From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Duncan Greatwood Newsgroups: gmane.emacs.bugs Subject: bug#45518: Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs 27.1 Date: Mon, 28 Dec 2020 17:10:58 -0800 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000df629005b7901058" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14650"; mail-complaints-to="usenet@ciao.gmane.io" To: 45518@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 29 03:45:13 2020 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 1ku50a-0003dd-5w for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 29 Dec 2020 03:45:12 +0100 Original-Received: from localhost ([::1]:34690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ku50Z-0004Ex-1s for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 28 Dec 2020 21:45:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53980) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ku50Q-0004En-UP for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2020 21:45:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53982) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ku50Q-0008P9-Ms for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2020 21:45:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ku50Q-0004B3-JW for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2020 21:45:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Duncan Greatwood Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Dec 2020 02:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 45518 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.160920986615986 (code B ref -1); Tue, 29 Dec 2020 02:45:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Dec 2020 02:44:26 +0000 Original-Received: from localhost ([127.0.0.1]:37295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ku4zp-00049k-Pt for submit@debbugs.gnu.org; Mon, 28 Dec 2020 21:44:26 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:47496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ku3Xe-00042q-Nd for submit@debbugs.gnu.org; Mon, 28 Dec 2020 20:11:15 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40362) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ku3Xe-0007Na-HG for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2020 20:11:14 -0500 Original-Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]:38394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ku3Xb-00037V-VS for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2020 20:11:14 -0500 Original-Received: by mail-io1-xd35.google.com with SMTP id y5so10897959iow.5 for ; Mon, 28 Dec 2020 17:11:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=MMr5AbcMJvZxz6fAPvEUBzxktEpFlmYiwE1ASk7cTqI=; b=teSwZlU00lGBD8A7zX97JP5Ht0iBAYszzsC2VSlME8R/XjEiBM5hjcDr8eqXsAc024 1XllR7BrTsZvc/mbhE3MJzU2NzWIM4YBTr+/sMetqe+NaaZORcQdLpF2GChSfDhdjk4M nU8lkwxiEpgy7rKmguVHp+QmQ9xp/t5TlJ5j2I6zqGnC+VhQU5mreCx+vqqtz3WUUSEx vaGBPR3cwcjDHfV5DJzbUcglaM1X/o9L5rJaZU3JPkohPBjRMIlQr6MlJnUscDwEjloK Ah1+d61bsjtcV1Tlp2IlHZsC1pcpALsnxreO2Zi63tzu9jZROlYOwUutWaPS8cVlBVG2 ZPPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=MMr5AbcMJvZxz6fAPvEUBzxktEpFlmYiwE1ASk7cTqI=; b=G3NulUNcHnfY08T3AQW1b5HPL1VsG0+7KNoEqcMZ4YXpkd/l1iyq0eLAzyABN4xM5j dNF/tX8MHkmDC44Rki7s/c8nhHtqLfzqF/t5pSIyds4AocgTpc48LkRXrvwz4tt/zxAS jcq12DgXBlU50KOflPUlC/SwKuW5aQRjx3oGAxQU4JxycQc5SGVMtRmvDr2anm48cQkX ztSQAPcp12gGDht4Jkr8sjWviiGbtHvKXsQid6CGv2St16pMb/F9Wpzgz3XeJqvk4yOT o5guDuFtzZ48It3zl7LaYppxITNLdsQz8dpzSR+ldBjAGRfXtHmTSy9zIucgAeGC375V 4zfg== X-Gm-Message-State: AOAM532Eh3n0SI62joV73F4VYhiSYstMnGneoxMKJIBNiTexsHzoJ9+Y KDKgcjrNWyN5/R+GmYmIDcdzlIa32Fp0C4qAYY/DJlT601U= X-Google-Smtp-Source: ABdhPJw3eL2pYdXlEmYq9uPU0AznJkpBIhF459hXD8gl7cGgR4iF4DPT59h72DhmD8uf3xjEnr7EbSawmYoic21OLFQ= X-Received: by 2002:a02:caac:: with SMTP id e12mr40317195jap.45.1609204269800; Mon, 28 Dec 2020 17:11:09 -0800 (PST) Received-SPF: pass client-ip=2607:f8b0:4864:20::d35; envelope-from=dgbulk@gmail.com; helo=mail-io1-xd35.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 28 Dec 2020 21:44:24 -0500 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" Xref: news.gmane.io gmane.emacs.bugs:196911 Archived-At: --000000000000df629005b7901058 Content-Type: text/plain; charset="UTF-8" Using tramp, I had a remote cpp file open in a window. I pressed "C-c c", which invokes a function in my .emacs called compile-hereish, which (in this case) invokes the compile command with the remote directory containing the remote cpp. Compilation begins as expected. The cpp file contains a number of syntax errors. There is what I understand to be a longstanding Tramp bug such that, if a lot of outputs (syntax errors) are sent at high speed to the compile window, Tramp hangs. In emacs 26.2, Ctrl-G (usually ctrl-g three times) would interrupt the hung Tramp window, and indeed cause the errors to be displayed in the window as best as Tramp is able. In emacs 27.1, Ctrl-G does nothing in this "tramp-hung-while-compiling" situation. I also tried ctrl-c ctrl-c, but that also does nothing. It appears that the only way to kill the hung Tramp compile is to force-quit emacs as a whole at the OS level. Machine running emacs: MacBook Pro (2015), macos Big Sur v11.1. I am using emacs 27.1 installed via brew-cask on macos. On the Macbook: ssh -V OpenSSH_8.1p1, LibreSSL 2.7.3 Remote host for compile: Ubuntu Linux 20.04.1 LTS (GNU/Linux 5.4.0-54-generic x86_64) On remote host: ssh -V OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f 31 Mar 2020 Also on remote host: gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. If I revert back to emacs 26.2 on the Macbook, ctrl-G once again works as expected in the event of a Tramp hang. I am attaching to the remote host using Tramp-ssh mode, but I also tried Tramp-scp and saw the same behaviour. My .emacs includes: (setq tramp-default-method "ssh") (setq tramp-chunksize 500) The following cpp file (on Ubuntu machine) is sufficient to generate a large number of syntax errors and hang Tramp, blocking ctrl-G (crashing emacs) in emacs 27.1 for me. // test.cpp DummyClass( DummyClass( DummyClass( DummyClass( DummyClass( DummyClass( DummyClass( DummyClass( DummyClass( DummyClass( int validstuff(); int validstuff() { return(0); } // end test.cpp Thanks as always. D. Following was generated via: M-x report-emacs-bug In GNU Emacs 27.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G95)) of 2020-08-11 built on builder10-14.porkrind.org Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.1 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Package cl is deprecated Mark set Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules' Configured features: NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS JSON PDUMPER Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: global-undo-tree-mode: t undo-tree-mode: t global-auto-complete-mode: t show-paren-mode: t delete-selection-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /Users/dgreatwood/.emacs.d/lisp/linum hides /Applications/Emacs.app/Contents/Resources/lisp/linum Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs text-property-search seq byte-opt bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils linum easy-mmode time-date subr-x server persistent-todo special-scratch tango-theme advice undo-tree diff auto-complete-config auto-complete popup string-inflection paren desktop frameset unbound cl-macs cl gv delsel edmacro kmacro cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 70462 8546) (symbols 48 8556 1) (strings 32 22334 1877) (string-bytes 1 713421) (vectors 16 12259) (vector-slots 8 156248 17226) (floats 8 39 36) (intervals 56 248 0) (buffers 1000 14)) --000000000000df629005b7901058 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Using tramp, I had a remote cpp file open in a window.
=
I pressed "C-c c", which invokes a function in my .emacs call= ed
compile-hereish, which (in this case) invokes the compile command wit= h
the remote directory containing the remote cpp.

Compilation beg= ins as expected.=C2=A0

The cpp file contains a number of= syntax errors. There is what I understand to be a longstanding Tramp bug s= uch that, if a lot of outputs (syntax errors) are sent at high speed to the= compile window, Tramp=C2=A0hangs.

In emacs 26= .2, Ctrl-G (usually ctrl-g three times) would interrupt the hung Tramp wind= ow, and indeed cause the errors to be displayed in the window as best as Tr= amp is able.

In emacs 27.1, Ctrl-G does nothing in= this "tramp-hung-while-compiling" situation. I also tried ctrl-c= ctrl-c, but that also does nothing. It appears that the only way to kill t= he hung Tramp compile is to force-quit emacs as a whole at the OS level.

Machine running emacs: MacBook Pro (2015), macos Big= Sur v11.1. I am using emacs 27.1 installed via brew-cask on macos.
On the Macbook: ssh -V
=C2=A0 =C2=A0 OpenSSH_8.1p1, LibreSSL 2.7.3<= div>
Remote host for compile: Ubuntu Linux=C2=A020.04.1 LTS (= GNU/Linux 5.4.0-54-generic x86_64)
On remote host: ssh -V=C2=A0 OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f =C2=A031 Mar 2020=
Also on remote=C2=A0host: gcc --version
gcc (Ubuntu 9.3= .0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, I= nc.
This is free software; see the source for copying conditions.=C2=A0 = There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PART= ICULAR PURPOSE.

If I revert back to emacs 26.2 on the Ma= cbook, ctrl-G once again works as expected in the event of a Tramp hang.

I am attaching to the remote host using Tramp-ssh mo= de, but I also tried Tramp-scp and saw the same behaviour. My .emacs includ= es:
(setq tramp-default-method "ssh")=C2=A0 =C2=A0
(= setq tramp-chunksize 500)

The following cpp fi= le (on Ubuntu machine) is sufficient to generate a large number of syntax e= rrors and hang Tramp, blocking ctrl-G (crashing emacs) in emacs 27.1 for me= .
// test.cpp
=C2=A0 DummyClass(
=C2=A0 = DummyClass(
=C2=A0 DummyClass(
=C2=A0 DummyClass(
=C2=A0 Du= mmyClass(
=C2=A0 DummyClass(
=C2= =A0 DummyClass(
=C2=A0 DummyClass(
=C2=A0 DummyClass(
=C2=A0 DummyClass(
int = validstuff();
int=C2=A0validstuff()
{
=C2= =A0 =C2=A0 return(0);
}
// end test.cpp

<= /div>
Thanks as always.
D.

Following was generated via: M-x report-emacs-bug

In GNU Emacs 27.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 = Version 10.14.6 (Build 18G95))
=C2=A0of 2020-08-11 built on builder10-14.porkrind.org
Windowing= system distributor 'Apple', version 10.3.2022
System Descriptio= n: =C2=A0macOS 11.1

Recent messages:
For information about GNU Em= acs and the GNU system, type C-h C-a.
Package cl is deprecated
Mark s= et

Configured using:
=C2=A0'configure --with-ns '--enable= -locallisppath=3D/Library/Application
=C2=A0Support/Emacs/${version}/sit= e-lisp:/Library/Application
=C2=A0Support/Emacs/site-lisp' --with-mo= dules'

Configured features:
NOTIFY KQUEUE ACL GNUTLS LIBXML2 = ZLIB TOOLKIT_SCROLL_BARS NS MODULES
THREADS JSON PDUMPER

Importan= t settings:
=C2=A0 value of $LANG: en_US.UTF-8
=C2=A0 locale-coding-s= ystem: utf-8-unix

Major mode: Fundamental

Minor modes in effe= ct:
=C2=A0 global-undo-tree-mode: t
=C2=A0 undo-tree-mode: t
=C2= =A0 global-auto-complete-mode: t
=C2=A0 show-paren-mode: t
=C2=A0 del= ete-selection-mode: t
=C2=A0 tooltip-mode: t
=C2=A0 global-eldoc-mode= : t
=C2=A0 electric-indent-mode: t
=C2=A0 mouse-wheel-mode: t
=C2= =A0 menu-bar-mode: t
=C2=A0 file-name-shadow-mode: t
=C2=A0 global-fo= nt-lock-mode: t
=C2=A0 font-lock-mode: t
=C2=A0 blink-cursor-mode: t<= br>=C2=A0 auto-composition-mode: t
=C2=A0 auto-encryption-mode: t
=C2= =A0 auto-compression-mode: t
=C2=A0 buffer-read-only: t
=C2=A0 column= -number-mode: t
=C2=A0 line-number-mode: t
=C2=A0 transient-mark-mode= : t

Load-path shadows:
/Users/dgreatwood/.emacs.d/lisp/linum hide= s /Applications/Emacs.app/Contents/Resources/lisp/linum

Features:(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
f= ormat-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
ep= g-config gnus-util rmail rmail-loaddefs text-property-search seq
byte-op= t bytecomp byte-compile cconv mm-decode mm-bodies mm-encode
mail-parse r= fc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-dru= ms mm-util mail-prsvr mail-utils linum easy-mmode
time-date subr-x serve= r persistent-todo special-scratch tango-theme
advice undo-tree diff auto= -complete-config auto-complete popup
string-inflection paren desktop fra= meset unbound cl-macs cl gv delsel
edmacro kmacro cl-loaddefs cl-lib too= ltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel = term/ns-win ns-win
ucs-normalize mule-util term/common-win tool-bar dnd = fontset image
regexp-opt fringe tabulated-list replace newcomment text-m= ode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-es= hadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax fa= cemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgi= an
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
j= apanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
eth= iopic indian cyrillic chinese composite charscript charprop
case-table e= pa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice lo= addefs button faces cus-face macroexp files
text-properties overlay sha1= md5 base64 format env code-pages mule
custom widget hashtable-print-rea= dable backquote threads kqueue cocoa ns
multi-tty make-network-process e= macs)

Memory information:
((conses 16 70462 8546)
=C2=A0(symbo= ls 48 8556 1)
=C2=A0(strings 32 22334 1877)
=C2=A0(string-bytes 1 713= 421)
=C2=A0(vectors 16 12259)
=C2=A0(vector-slots 8 156248 17226)
= =C2=A0(floats 8 39 36)
=C2=A0(intervals 56 248 0)
=C2=A0(buffers 1000= 14))




<= br>



--000000000000df629005b7901058--