bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19636: [TRAMP] global minor mode hangs connection when accessing fil


From: Michael Albinus
Subject: bug#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter
Date: Wed, 21 Jan 2015 17:15:14 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Philippe Vaucher <philippe.vaucher@gmail.com> writes:

> Hello,

Hi Philippe,

> 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.

I tried it seriously with several combinations of Tramp parameter
settings; I couldn't reproduce. However, it is dangerous to run
an asynchronous process in parallel to retrieve information via
Tramp. While you run an asynchronous process, Tramp opens a
second connection and remembers this channel. In parallel,
file-truename needs also to retrieve information fron the remote
machine, on the other connection channel. Likely, Tramp might
confuse which connection channel to use.

Maybe you can set tramp-verbose to 6, and rerun your test. The resulting
Tramp trace buffer shall tell us what's up.

> 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.

(setq buggy-tramp-mode-lighter
      '(:eval (format " Projectile[%s]"
                      (if (file-remote-p default-directory)
                          default-directory
                        (file-truename default-directory)))))

> Thanks,
> Philippe

Best regards, Michael.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]