Subject: bug#45518: Ctrl-G Fails to Interrupt Hung Tramp Remote-Compile in Emacs 27.1

From: Duncan Greatwood <[email-masked]>
Date: Sat, 13 Feb 2021 17:38:06 -0800

Hi Michael -

On Thu, Feb 11, 2021 at 7:22 AM Michael Albinus <[email-masked]>
wrote:

> Michael Albinus <[email-masked]> writes:
>
> Hi Duncan,
>
> >> There is still one tramp hanging issue I saw in my testing. This is a
> >> much less serious issue (pressing ctrl-G once "unhangs"), but thought
> >> I'd mention it here. LMK if you'd prefer a separate bug report and
> >> I'll create one.
> >
> > Just an update. I've played with this for a while. I could reproduce,
> > and I also know where it hangs. It is accept-process-output of the Tramp
> > process which tries to view the file you have clicked on, vs
> > accept-process-output of the compile process. Both don't cooperate
> > sufficiently, and both hang.
> >
> > I have no idea (yet) how to solve. One idea would be to start the
> > compilation process in another thread, but this will raise other
> > problems. There is some WIP to make Tramp thread-safe, but this is
> > stalled ATM.
>
> Since I don't know a general solution yet, I have prepared a small
> patch, which suppresses visting remote files as result of a
> compilation. Silently. When compilation has finished, everything is back
> to normal.
>
> See the appended patch, whether it makes the situation better for you.
>
[DG] I have applied the patch to tramp-integration.el. The earlier patch in
this thread (to compile.el, fixing the main hang) was also applied.

Unfortunately, the symptoms for this secondary "minor" hang are unchanged
for me.
This is on an Intel Mac running macos 11.2.
GNU Emacs 27.1 (build 1, x86_64-apple-darwin20.3.0, NS appkit-2022.30
Version 11.2 (Build 20D64))  of 2021-02-13
I looked at ./Contents/Resources/lisp/net/tramp-integration.elc
inside /Applications/Emacs.app and it seemed to contain the patch as
expected - at least it contains the string:
    Don't allow remote file operations while compiling
I'm not sure what's up, but LMK if there's anything I can do.