Subject: bug#19636: closed (Re: bug#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 14 Jul 2017 13:13:01 +0000

Your bug report

#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
19636: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19636
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter
From: Michael Albinus <[email-masked]>
To: Philippe Vaucher <[email-masked]>
Cc: [email-masked]
Date: Fri, 14 Jul 2017 15:12:18 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 26.1

Philippe Vaucher <[email-masked]> writes:

Hi Philippe,

>     > Basically, do nothing if there's no reliable way of getting the
>     > information yet (we are remote and not connected yet).
>
>     Sounds reasonable for me, thanks for reporting the status. I also
>     recommend to test with the development version of Emacs (aka
>     26.0.50), because there have been serious changes in Tramp.
>
> Good idea.
>
>     Well, I don't see what could be done else here on emacs-devel.
>     What do you expect us to do else?
>
> Oh, I was just reporting my findings. Not much you can do except keep
> in mind people *do* call various emacs api on buffer-file inside :
> lighter or even inside the function that has to decide wether a mode
> should be on or off, so the emacs api should be resilient to errors
> reguarding this. Currently it fails kinda catastrophically when you
> don't check with `file-remote-p` beforehand (emacs hang and one has to
> furiously press C-g or C-c to get emacs back, and often this is not
> sufficient as any command you want to type hangs again, so one has to
> quit).

I'm closing this bug, because there's nothing left to do.

Tramp 2.3.2 of Emacs 26.0.50 has seen some patches for improving
asynchronous processes. Maybe they help you.

> Philippe

Best regards, Michael.

Subject: [TRAMP] global minor mode hangs connection when accessing files in :lighter
From: Philippe Vaucher <[email-masked]>
To: [email-masked]
Date: Tue, 20 Jan 2015 18:49:31 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

TRAMP hangs the connection for any new processes in both emacs 24.4
and emacs from the master branch when a global minor mode uses a
:lighter which evals `(file-truename default-directory)`.

To reproduce:

M-x find-file buggy-tramp-mode.el
M-x eval-buffer
M-x global-buggy-tramp-mode
M-x find-file /scpx:user@host:/tmp/foo.txt
M-x async-shell-command ls

The last command (new process) doens't complete and the TRAMP buffer
shows "Are you awake?". My understanding of the problem is that
`file-truename` tries to use a not-yet-ready TRAMP connection. To work
around that was tried is to use `tramp-connectable-p` or even
`file-remote-p` with the appropriate flags, but they both
(incorrectly?) return true.

The "real world" issue that it affects is
https://github.com/bbatsov/projectile/issues/523

Please ask if I'm unclear or you need more clarifications.

Thanks,
Philippe