[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13527: 24.2.92; Spawning child process: resource temporarily unavail
From: |
Sebastien Vauban |
Subject: |
bug#13527: 24.2.92; Spawning child process: resource temporarily unavailable |
Date: |
Mon, 28 Jan 2013 16:55:28 +0100 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.92 (windows-nt) |
Hi Eli,
Eli Zaretskii wrote:
>> From: "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com>
>>
>>> 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