Crash while cleaning up an exiting process in 21.5.

Malcolm Purvis malcolmp at xemacs.org
Mon Aug 21 09:15:55 EDT 2006


On my Mac the following function causes 21.5 HEAD to crash out with a Fatal
Error 13.

---------------------------------------------------------------------------
(defun die-die-die (buffer)
  (interactive "bDie with buffer: ")
  (with-temp-buffer
    (let ((temp-buffer-name (buffer-name)))
      (save-excursion
	(set-buffer buffer)
	(apply 'call-process-region
	       (point-min) (point-max)
	       "false"
	       nil temp-buffer-name nil))
	)))
---------------------------------------------------------------------------

To reproduce the problem start xemacs with:

$ xemacs -vanilla -l crasher.el etc/PROBLEMS

and then run M-x die-die-die PROBLEMS.

The key points are that the program being launched is exiting without having
read all the input we're trying to send it and the input has to be relatively
large.

Looking at the stack trace it looks like the stream is trying to flush data
down the now dead pipe at part of closing the pipe.

This problem doesn't occur with 21.4.

Malcolm

-- 
		     Malcolm Purvis <malcolmp at xemacs.org>




More information about the XEmacs-Beta mailing list