GNU bug report logs -
#55832
28.1; Emacs crashes when using tramp from helm in emacs-29
Previous Next
Reported by: Thierry Volpiatto <thievol <at> posteo.net>
Date: Tue, 7 Jun 2022 15:24:02 UTC
Severity: normal
Found in version 28.1
Fixed in version 29.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
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes:
> Thierry Volpiatto <thievol <at> posteo.net> writes:
>
> Hi Thierry,
>
>>> (setq tramp-verbose 10 tramp-debug-to-file t)
>>
>> Ah nice, with those setting instead of crashing emacs hang and I can
>> recuperate with C-g, here the tramp log:
>>
>> https://gist.github.com/thierryvolpiatto/96b5d3bacc92deac1fad275eede69354
>
> Thanks. The trace looks surprising, again and again
>
> 21:38:47.713417 tramp-get-remote-id (5) # Finding POSIX `id' command
>
> I'll try to analyze tomorrow what could have triggered this behavior. If
> not successful, I'll ask you for instrumentation of Tramp.
I have a function wrote long time ago to delete tramp connections which
is not working (or most of the time not working) because it uses
tramp-list-connections which is itself broken (unexpectedly it worked
only once today don't know why).
The test (tramp-connection-property-p key "process-buffer") is wrong IMO
according to the data fetched from tramp-cache-data, here a function based
on tramp-list-connections to illustrate the data fetched here from a
sudo connection:
(defun tv/list-tramp-connections ()
(cl-loop with tramp-verbose = 0
for key being the hash-keys in tramp-cache-data
using (hash-value val)
when (and (tramp-file-name-p key)
(null (tramp-file-name-localname key))
;; (tramp-connection-property-p key "process-buffer"))
)
collect (list key (cl-loop for k being the hash-keys in val
using (hash-value v)
collect (list k v))))
The function for a sudo connection returns:
(((tramp-file-name "sudo"
#("root" 0 4
(tramp-default t))
nil
#("IPad-S340" 0 9
(tramp-default t))
nil nil nil)
(("process-buffer" nil)
("null-device" "/dev/null")
("uid-string" "UNKNOWN")
("gid-string" "UNKNOWN")
("uid-integer" -1)
("gid-integer" -1)
("first-password-request" nil)
("uname" "Linux 5.15.0-33-generic")
("locale" "LC_ALL=en_US.utf8")
("test" "test")
("remote-path"
("/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin"))
("pipe-buf" 4096)
("remote-shell" "/bin/sh")
("~root" "/root")
("file-exists" "test -e")
("stat" "env QUOTING_STYLE=locale \\stat")
("case-insensitive" nil)
("readlink" "\\readlink"))))
As you can see "process-buffer" is listed in the cdr but not the car of
result so tramp-list-connections always returns nil because
(tramp-connection-property-p key "process-buffer") always returns nil.
Seems the cdr is the same as what found in ~/.emacs.d/tramp.
Maybe it can help you to understand what's going wrong.
Thanks.
--
Thierry
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 332 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.