xmaxima "killing X11-server" Re: [Maxima] maxima and cmucl2002-08-13 don't fit
Subject: xmaxima "killing X11-server" Re: [Maxima] maxima and cmucl2002-08-13 don't fit
From: James Amundson
Date: 23 Oct 2002 12:12:32 -0500
On Mon, 2002-10-21 at 16:12, Mike Clarkson wrote:
> At 05:31 PM 10/18/02 -0500, James Amundson wrote:
> >On Tue, 2002-10-15 at 13:50, Raymond Toy wrote:
> >> >>>>> "jarausch" == jarausch <jarausch@igpm.rwth-aachen.de> writes:
> >
> >> jarausch> and doesn't kill my X11-server when finishing.
> >>
> >> Really! How is that possible?
> >
> >Ugh. There is a bug in xmaxima that causes it to appear to crash X11
> >under the right circumstances. I say "appear to crash X11" because that
> >isn't what happens at all. (I, too, had assumed it was crashing X11
> >until I found the bug.)
>
> There used to be xn xmaxima bug that was killing the X11 server under Unix
> because it was being called as "kill -SIGNAL" with no PID, and it depended
> on the OS as to what that would do (presumably killing the parent of xmaxima).
No. That's not it. It is much, much, much, much worse than that. In the
function RunOneMaxima, the default pid gets set to -1. There is then a
loop that repeats until pid is no longer -1. Under some conditions (I
don't know exactly which conditions, but a maxima executable that fails
to start seems to be helpful) the pid remains -1. In that case, when
xmaxima exits, it calls
kill -1
Here is what "man kill" says about kill -1 under Linux:
-1 All processes with pid larger than 1 will be
signaled.
That means that xmaxima kills every single process on the machine that
user privileges allow. It's a rare bug, but it is completely
devastating. We have to fix xmaxima so that "-1" is not the default
value for pid.
We cannot release xmaxima with this bug.
--Jim