Emacs can't start-process more than 30~40 processes (Was: Re: Emacs w3m `w3m-toggle-inline-images' cause segfault)

Haojun Bao baohaojun@gmail.com
Mon Jul 27 09:00:00 GMT 2009


I have reduced the test case in this mail 
  http://cygwin.com/ml/cygwin/2009-07/msg00111.html
to a simpler one:

    $/bin/emacs --batch -q  --execute '(let ((num 0))
      (while (< num 30)
        (setq num (+ num 1))
        (message "num is %d" num)
        (start-process "hello" nil "/usr/bin/echo")))'
    
Emacs will coredump at the 30th process it tries to start on my XP.

Now I think this should seem familiar to the experts. I tried to gdb it,
the backtrace shows segfault is happening at the same place 
(#0 0x610949d8 in fhandler_pipe::create () from /usr/bin/cygwin1.dll)

You might need to tweak the (< num 30) to (< num 40) or bigger, also, to
use gdb on it, you need write the lisp into a file and use `-l' to load
the file:

cat > ~/2.el <<End
(let ((num 0))
  (while (< num 40)
    (setq num (+ num 1))
    (message "num is %d" num)
    (start-process "hello" nil "/usr/bin/echo")))
End

gdb --args ./emacs --batch -q  -l ~/2.el


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list