GNU bug report logs -
#45518
Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs 27.1
Previous Next
Reported by: Duncan Greatwood <dgbulk <at> gmail.com>
Date: Tue, 29 Dec 2020 02:45:02 UTC
Severity: normal
Fixed in version 28.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 16 Mar 2021 19:30:27 +0100
with message-id <87k0q7c5oc.fsf <at> gmx.de>
and subject line Re: bug#45518: Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs 27.1
has caused the debbugs.gnu.org bug report #45518,
regarding Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs 27.1
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
45518: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=45518
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
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))
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
Version: 28.1
Duncan Greatwood <dgbulk <at> gmail.com> writes:
> Michael -
Hi Duncan,
> As you predicted, the issue does *not* show-up once
> tramp-use-ssh-controlmaster-options has been reset to nil like this.
Thanks for confirmation! I've pushed a respective patch to Tramp, as
promised it will appear with Tramp 2.5.0.3. If you are curious, you can
check it here: <https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6c60ecd2d632ad41851e91cc53036a679c391194>.
Until Tramp 2.5.0.3 is released, you can still use the workaround
(setting tramp-use-ssh-controlmaster-options to nil), or you can apply
the patch, as you like.
> This was using the version of tramp that ships with emacs 27.1. The
> compile.el patch we discussed earlier is applied.
Thanks for the reminder: this patch isn't needed anymore.
I'm closing the bug.
> Best regards,
> Duncan.
Best regards, Michael.
This bug report was last modified 238 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.