GNU bug report logs - #56002
src/process.c; make-process fails to clean up stderr process on early exit

Previous Next

Package: emacs;

Reported by: Tom Gillespie <tgbugs <at> gmail.com>

Date: Wed, 15 Jun 2022 22:39:01 UTC

Severity: normal

Full log


Message #14 received at 56002 <at> debbugs.gnu.org (full text, mbox):

From: Tom Gillespie <tgbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 56002 <at> debbugs.gnu.org
Subject: Re: bug#56002: src/process.c; make-process fails to clean up stderr
 process on early exit
Date: Wed, 15 Jun 2022 23:11:50 -0700
> Can you elaborate on what do you mean by "clean up the stderr
> process"?  Do you see the code which does that in the "normal" cases?

I'm not entirely sure as I am unfamiliar with the life cycle for processes in
the runtime. I think that the "normal" cleanup happens when the parent
process exits with a return code. The stderr process is a pipe process so
I assume that under normal circumstances the pipe process would receive
a signal from the primary process via the os and exit allowing calls to
accept-process-output to complete and then presumably the gc would
take care of the rest? I have no idea if this is remotely accurate.

It does look like remote_process is called during other failures though.

> Sounds like we lack some unwind-protect call somewhere?

It does look like there are a number of calls to record_unwind_protect
(remove_process, proc); in the code. Maybe there is a missing
record_unwind_protect (remove_process, stderrproc); in make-process?




This bug report was last modified 2 years and 314 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.