GNU bug report logs -
#49954
28.0.50; TRAMP: cannot kill child processes: "Forbidden reentrant call of Tramp"
Previous Next
Full log
Message #11 received at 49954 <at> debbugs.gnu.org (full text, mbox):
Hi Michael. There's no rush to work on this. I'll reply here for
whenever you get around to looking at it.
I did some debugging, and it appears that the tramp property-caching
mechanism is failing. We exit the (with-tramp-locked-connection ...)
form, but when we try to enter the next (with-tramp-locked-connection
...) form, it looks locked because
(tramp-get-connection-property proc "locked" nil)
is evaluating to t. I instrumented (tramp-get-connection-property), and
I can see that this t comes from the property cache. I can "fix" the bug
by removing the
(when (and (not (eq cached tramp-cache-undefined))
;; If the key is an auxiliary process object, check
;; whether the process is still alive.
(not (and (processp key) (not (process-live-p key)))))
(setq value cached
cache-used t))
form from (tramp-get-connection-property)
Can I get the intent of this form? Are you trying to use this form if
the process is alive, or if the process is dead? My process is very much
alive, so this form is being used. Is this what we want?
If it is what we want, then the cached value of t is the problem. I
haven't looked into why that's happening yet.
Thanks!
This bug report was last modified 275 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.