Subject: Re: bug#72117: Command doesn't execute correctly in eshell

From: Jim Porter <[email-masked]>
Date: Tue, 16 Jul 2024 19:09:32 -0700

(Don't forget to Reply All so that Debbugs is CCed in your message, or
else the tracker won't see your messages.)

On Tue, Jul 16, 2024 at 2:14 AM the_wurfkreuz <[email-masked]> wrote:
>
> I updated Emacs and used your latest patch. The problem with pipe is fixed as far as i can understand, but my original problem with executing the command through tramp (eshell/sudo) is still there, though it's elusive and hard to reproduce. Right now, i can't reproduce it launching bare Emacs (emacs -Q). And with my current config i was getting it around 50/50 of the time. When i got it, i had this message: 'error in process filter: Forbidden reentrant call of Tramp'.

After testing some more locally, I notice that too. Digging further,
this problem is actually multifaceted, and fixing all the different
issues I've uncovered would be too risky for Emacs 30. Does the first
patch I posted work for you? That's a lot simpler, and should be safe
enough for Emacs 30; then I can make more extensive fixes for Emacs
31.

(The "Forbidden reentrant call of Tramp" is likely occurring when
calling 'signal-process' on the "lsof" command, which could happen if
some Tramp code is above us in the stack; in that case,
'signal-process' would reenter Tramp code, and then Tramp bails out
just to be safe.)