Subject: bug#39489: 28.0.50; On Emacs 27, 28, tramp hangs indefinitely

From: Michael Albinus <[email-masked]>
Date: Sat, 08 Feb 2020 10:31:40 +0100

Benjamin Slade <[email-masked]> writes:

> On 2020-02-07T14:34:13-0700, Michael Albinus <[email-masked]>
> wrote:
>
>> Hi Benjamin,
>
>> According to the traces, it is still a problem with the  > password:
>
>> > 09:43:31.208362 tramp-accept-process-output (1) # Quit:  > >
>    "Quit", ""
>> > Sorry, try again.
>> > Password:
>
> It never asks me for a password, but just hangs.

Yes, that's the problem.

>> You say, that "emacs -Q" is working for you. Could you please
>>  bisect your init file, until you find the culprit config? The
>> smallest one? And could you pls show your guilty config then? I
>> don't need the text of any configured password, but how it is
>> provided by auth-source.
>
> While it works with "emacs -Q", it does NOT work with "emacs -q", so
> my init is irrelevant.

Your init file, yes. But there are further differences between "-Q" and
"-q": In the latter case, site-start files are read, Tramp reads its
cache data, and Tramp uses the auth-sources.el package. So the problem
is here.

Like you, I believe it is a problem with auth-sources.el. I suppose you
have only one file, ~/.authinfo.gpg? And you don't have neither
~/.authinfo nor ./netrc? What is the value of auth-sources?

Could you please run the following test:

--8<---------------cut here---------------start------------->8---
# emacs -q -l tramp-sh
--8<---------------cut here---------------end--------------->8---

In Emacs, please evaluate

--8<---------------cut here---------------start------------->8---
(progn
  (dolist (elt (cons "auth-source-search"
                     (all-completions "tramp-" obarray 'functionp)))
    (trace-function-background (intern elt)))
  (setq auth-source-debug 'trivia))
--8<---------------cut here---------------end--------------->8---

After that, pls apply

--8<---------------cut here---------------start------------->8---
C-x C-f /sudo:: ;; Cancel it with C-g if necessary
M-x untrace-all
--8<---------------cut here---------------end--------------->8---

There will be a new buffer *trace-output*, which I would like to see.
I would also like to see your *Messages* buffer, with the traces from
auth-sources.el. Pls send them as attachment, in order to keep the line
breaks.

*** ATTENTION ***

The *trace-output* buffer might contain your password, as result of the
function tramp-read-passwd, and in obfuscated form as result of
auth-source-search. You should overwrite these strings with "xxx" or
alike.

> —Ben

Best regards, Michael.