On Mon, Mar 24, 2008 at 11:08 PM, Carl Shapiro <[EMAIL PROTECTED]> wrote:
> On Mon, Mar 24, 2008 at 6:52 PM, Raymond Toy <[EMAIL PROTECTED]> wrote:
> > (run-program "/bin/cat" '("/etc/issue") :output "/tmp/foo")
> >
> > causes a segv at address 0. Not sure why yet, but it explains why I see
> > the segvs after cmucl prints out messages that foo-library.x86f is out
> > of date.
OK, I have reproduced this on the FC9 system.
It looks like the memset call in sigemptyset is corrupting memory. I
have attached a patch which may be sufficient to work around the
segmentation fault in spawn but this is not sufficient overall. I
have a more thorough patch queued up that resolves this issue
entirely. I will check in those changes as soon as I can.
--- runprog.c~ 2005-09-15 13:26:52.000000000 -0500
+++ runprog.c 2008-03-25 03:22:00.000000000 -0500
@@ -29,6 +29,7 @@
setsid();
/* Unblock all signals. */
+ __asm__ __volatile__ ("cld");
sigemptyset(&set);
sigprocmask(SIG_SETMASK, &set, NULL);