GNU bug report logs - #19636
[TRAMP] global minor mode hangs connection when accessing files in :lighter

Previous Next

Package: emacs;

Reported by: Philippe Vaucher <philippe.vaucher <at> gmail.com>

Date: Tue, 20 Jan 2015 18:17:03 UTC

Severity: normal

Fixed in version 26.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

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Philippe Vaucher <philippe.vaucher <at> gmail.com>
Cc: 19636 <at> debbugs.gnu.org
Subject: bug#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter
Date: Wed, 21 Jan 2015 17:15:14 +0100
Philippe Vaucher <philippe.vaucher <at> 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 <at> 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.




This bug report was last modified 7 years and 308 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.