Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Mar 1997 11:27:01 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        jkh@time.cdrom.com (Jordan K. Hubbard)
Cc:        terry@lambert.org, drussell@saturn-tech.com, freebsd-current@freebsd.org
Subject:   Re: SIGTERMs killing X
Message-ID:  <199703261827.LAA28346@phaeton.artisoft.com>
In-Reply-To: <2530.859359039@time.cdrom.com> from "Jordan K. Hubbard" at Mar 25, 97 10:50:39 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> In this case, Terry's pigeon was SIGABRT, which is not the same as the
> SIGKILL which FreeBSD delivers to a process which has generated an
> out-of-VM condition.  But for a mere delta of 3 in the signal number,
> Terry might have been correct. :-) As it is, he's entirely on the
> wrong track yet again.  The SIGABRT must be something which is caught
> internally by the server, perhaps in response to a NULL pointer
> reference or malloc() returning zero (which could be bogus limit
> values just as easily as anything else).  More than this without
> knowing more about the user's configuration, it's difficult to say.

That would be a bus error, not an abort.


> 
> > What it means is that your VM space for your process has been
> > destroyed (you can see this by looking in /sys/kern/kern_exec.c).
> 
> Erm, you can? :-)
> 
> You're not looking at the exec_fail case by mistake, are you?

-------------------------------------------------------------------------
exec_fail:
	if (imgp->vmspace_destroyed) {
		/* sorry, no more process anymore. exit gracefully */
		exit1(p, W_EXITCODE(0, SIGABRT));
		/* NOT REACHED */
		return(0);
	} else {
-------------------------------------------------------------------------

Hmmm... perhaps.  So are you going to change the comment so that
it implies what you said instead of implying what I said?

"no process anymore" implies there was a process and that it is no more,
not that a process never was.


PS: I'd be interested to see *anywhere* else in the kernel where the
SIGABRT signal is sent.  I've grepped the sources, and the only place
is there, in the kern_exec.c.


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703261827.LAA28346>