Subject: bug#56002: src/process.c; make-process fails to clean up stderr process on early exit

From: Eli Zaretskii <[email-masked]>
Date: Thu, 16 Jun 2022 08:13:31 +0300

> From: Tom Gillespie <[email-masked]>
> Date: Wed, 15 Jun 2022 15:38:05 -0700
> 
> If the primary subprocess created by make-process fails early then the
> stderr process is not cleaned up and running kill-buffer on any stderr
> buffer attached to the stderr process will prompt the user.

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?

> Two early exits that can cause the issue are
> 
> 1. in make-process if the command is not found
> report_file_error ("Searching for program", program);
> 
> 2. in create_process if vfork fails
> report_file_errno (CHILD_SETUP_ERROR_DESC, Qnil, vfork_errno);
> 
> I'm sure there are other failure modes that would trigger the issue.

Sounds like we lack some unwind-protect call somewhere?