Subject: Re: bug#9264: 24.0.50; (file-error "Creating process pipe" "no error")

From: William Xu <[email-masked]>
Date: Thu, 11 Aug 2011 12:05:28 +0800

Eli Zaretskii <[email-masked]> writes:

   That something is broken inside Emacs, but Emacs doesn't tell what.

   Did you build Emacs yourself?  If so, could you please add a call to
   GetLastError to sys_pipe (defined on w32.c), after the _pipe call, and
   when it fails like that, see which error code it returns?

I was using Sean Sieger's build.  Anyway, i update bzr repo to
"revno: 105425".  Made following change:

=== modified file 'src/w32.c'
--- src/w32.c	2011-07-09 07:00:58 +0000
+++ src/w32.c	2011-08-10 01:26:51 +0000
@@ -5218,6 +5218,7 @@
      pipes into binary mode; we will do text mode translation ourselves
      if required.  */
   rc = _pipe (phandles, 0, _O_NOINHERIT | _O_BINARY);
+  printf("xwl: error = %d\n", GetLastError ());

   if (rc == 0)
     {

In gdb, the error number printed is always zero, even when this
file-error comes up.  But it seems it would first give this error: 

  (file-error "Spawning child process" "resource temporarily unavailable")

After a while, starts to give following error: 

  (file-error "Creating process pipe" "no error")

Is it reaching some process number limit? 

   > In GNU Emacs 24.0.50.1 (i386-mingw-nt6.1.7600)
   >  of 2011-06-28 on 3249CTO

   This is quite old, suggest to update to a newer version, to avoid
   wasting energy on an old bug that was already fixed.

BTW, on my laptop, same OS, with a build back to Feburary, it has
no such problem.

--
William

http://xwl.appspot.com