tramp-devel
[Top][All Lists]
Advanced

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

Re: [Feature Request] Fingerprint prompting for tramp


From: Michael Albinus
Subject: Re: [Feature Request] Fingerprint prompting for tramp
Date: Mon, 25 Nov 2024 09:59:32 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

N Winkel <nw1905@outlook.com> writes:

> Hi Michael,

Hi Neri,

> I am so sorry, that completely slipped my mind. I've now redone what I
> had earlier and attached the logs again, at least to me it seems like
> the patch has been applied (I've checked the places you pointed out
> and compared the '.el' files to the patch file).

Yep, my patch is visible now in the traces.

> Unfortunately the experienced result seems to be much the same, the
> `tramp-use-fingerprint` option appears to be ignored and the prompts
> are not being shown, still with the same:

And the log tells us what happens:

> 00:21:10.773624 tramp-accept-process-output (10) #
>   backtrace()
>   tramp-signal-hook-function(file-already-exists ("File exists" 
> "/home/winkel/.config/emacs/.local/cache/comp"))
>   make-directory-internal("/home/winkel/.config/emacs/.local/cache/comp")
>   files--ensure-directory(make-directory-internal 
> "/home/winkel/.config/emacs/.local/cache/comp")
>   make-directory("/home/winkel/.config/emacs/.local/cache/comp/" t)
>   (let ((temporary-file-directory (expand-file-name "comp/" 
> doom-profile-cache-dir))) (make-directory temporary-file-directory t) (apply 
> fn args))
>   comp-run-async-workers@dont-litter-tmpdir(#<subr comp-run-async-workers>)
>   apply(comp-run-async-workers@dont-litter-tmpdir #<subr 
> comp-run-async-workers> nil)
>   comp-run-async-workers()
>   #f(compiled-function (process event) #<bytecode 
> 0x1409db1c162fed54>)(#<process Compiling: 
> /home/winkel/.config/emacs/.local/straight/build-29.4/tramp/tramp-cache.el> 
> "finished\n")
>   accept-process-output(#<process *tramp/sudo root@localhost*> 0 nil t)
>   tramp-accept-process-output(#<process *tramp/sudo root@localhost*>)
>   tramp-process-one-action(#<process *tramp/sudo root@localhost*> 
> (tramp-file-name "sudo" "root" nil "localhost" nil "/etc/zsh/zshenv" nil) 
> ((tramp-login-prompt-regexp tramp-action-login) (tramp-password-prompt-regexp 
> tramp-action-password) (tramp-otp-password-prompt-regexp 
> tramp-action-otp-password) (tramp-fingerprint-prompt-regexp 
> tramp-action-fingerprint) (tramp-wrong-passwd-regexp 
> tramp-action-permission-denied) (shell-prompt-pattern tramp-action-succeed) 
> (tramp-shell-prompt-pattern tramp-action-succeed) (tramp-yesno-prompt-regexp 
> tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn) 
> (tramp-terminal-prompt-regexp tramp-action-terminal) (tramp-antispoof-regexp 
> tramp-action-confirm-message) (tramp-security-key-confirm-regexp 
> tramp-action-show-and-confirm-message) (tramp-security-key-pin-regexp 
> tramp-action-otp-password) (tramp-process-alive-regexp 
> tramp-action-process-alive)))
>   tramp-process-actions(#<process *tramp/sudo root@localhost*> 
> (tramp-file-name "sudo" "root" nil "localhost" nil "/etc/zsh/zshenv" nil) 1 
> ((tramp-login-prompt-regexp tramp-action-login) (tramp-password-prompt-regexp 
> tramp-action-password) (tramp-otp-password-prompt-regexp 
> tramp-action-otp-password) (tramp-fingerprint-prompt-regexp 
> tramp-action-fingerprint) (tramp-wrong-passwd-regexp 
> tramp-action-permission-denied) (shell-prompt-pattern tramp-action-succeed) 
> (tramp-shell-prompt-pattern tramp-action-succeed) (tramp-yesno-prompt-regexp 
> tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn) 
> (tramp-terminal-prompt-regexp tramp-action-terminal) (tramp-antispoof-regexp 
> tramp-action-confirm-message) (tramp-security-key-confirm-regexp 
> tramp-action-show-and-confirm-message) (tramp-security-key-pin-regexp 
> tramp-action-otp-password) (tramp-process-alive-regexp 
> tramp-action-process-alive)) 10)

Everything below accept-process-output is originated by Tramp. But this
function calls also sleeping timers, process-sentinels, and
process-filters. In your case, it is comp-run-async-workers. This
function has failed, and it has broken Tramp therefore. I cannot make
sense of (make-directory-internal 
"/home/winkel/.config/emacs/.local/cache/comp")
in Tramp context. And I have no idea where comp-run-async-workers comes from.

So we should test one problem at a time. Please call a naked Emacs like
this:

--8<---------------cut here---------------start------------->8---
# emacs -Q -L /home/winkel/.config/emacs/.local/straight/build-29.4/tramp/ -l 
tramp --eval '(setq tramp-verbose 10 tramp-use-fingerprint t)'
--8<---------------cut here---------------end--------------->8---

I have added setting of tramp-use-fingerprint to this call, in other
tests you could set it to nil easily in the command line.

> The other thing I had intended to add to the last message is that if
> after a successful run `tramp-cleanup-all-connections` rather than
> `…all-buffers` is used and the buffer is reverted in any way, tramp is
> run again, but seems to cause "excessive lisp nesting". This means
> that a single core is maxed on the cpu until emacs is killed, the
> window doesn't respond to input and the *Messages* line shows
>     Error running timer 'flycheck-handle-idle-trigger': (excessive
> lisp nesting XXXX)
> Where XXXX is a rising 4-digit number. Sometimes the timer is instead
> 'auto-revert-buffers' or the message is
>     error "lisp nesting exceeds 'max-lisp-eval-depth'"
>
> Unless I've done something wrong again (not unlikely) I think this
> should be useful?

The same symptom as above. Unfortunately, not all packages cooperate
well with Tramp. Let's first test Tramp as described above, and
afterwards we could check the other problems.

> Best regards, Neri

Best regards, Michael.



reply via email to

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