Subject: Re: bug#13527: 24.2.92; Spawning child process: resource temporarily unavailable

From: "Sebastien Vauban" <[email-masked]>
Date: Mon, 28 Jan 2013 16:55:28 +0100

Hi Eli,

Eli Zaretskii wrote:
>> From: "Sebastien Vauban" <[email-masked]>
>>
>>> If you can run Emacs under GDB, I can tell you how to get the
>>> information needed to understand this problem.
>>
>> Yes, I'd be interested by how to study this...
>
> The error message comes from this snippet in callproc.c:
>
>   #ifdef WINDOWSNT
>     prepare_standard_handles (in, out, err, handles);
>     set_process_dir (SDATA (current_dir));
>     /* Spawn the child.  (See ntproc.c:Spawnve).  */
>     cpid = spawnve (_P_NOWAIT, new_argv[0], new_argv, env);
>     reset_standard_handles (in, out, err, handles);
>     if (cpid == -1)
>       /* An error occurred while trying to spawn the process.  */
>       report_file_error ("Spawning child process", Qnil);
>     return cpid;
>
>   #else  /* not WINDOWSNT */
>
> The call to 'spawnve' will end up in w32proc.c:sys_spawnve, which
> returns EAGAIN here:
>
>   cp = new_child ();
>   if (cp == NULL)
>     {
>       errno = EAGAIN;
>       return -1;
>     }
>
> Therefore, step into spawnve, then step into new_child, and see why
> new_child returns NULL.  I see a couple of places where it does so,
> one of them because there's already 32 subprocesses running (which is
> a hard limit in Emacs on Windows), the other one because some system
> APIs fail.
>
> If you need more instructions about the specific GDB commands to use,
> please don't hesitate to ask.

I surely will do ask, as I never stepped yet with GDB in any program. First
(important) question: for this error, do I need to run GDB before the error
happens?

Next time it happens, anyway, I'll keep the process open, aside, for a couple
of hours.

But I can already "positively" tell you that this "spawning child process"
error is something *new in 24.2.92* -- I reused 24.2.91 for a couple of days
with no problem; using 24.2.92, I got stopped only after a couple of hours.

Best regards,
  Seb

-- 
Sebastien Vauban