restore crashes remote machine

Chris Torek torek at elf.ee.lbl.gov
Sun May 12 00:07:56 AEST 1991


In article <1991May10.141543 at sweetpea.jsc.nasa.gov>
zook at sweetpea.jsc.nasa.gov (Craig A. Zook  283-4206) writes:
>I have several Suns ... running SunOS 4.1.1 ... [and get]
>system crashes.

>May 10 13:41:21 tm vmunix: panic: psig action

This is an internally-detected error in `psig'.

Signals are sent to a process by setting a bit in the other process's
`pending signals' mask.  The process is awaked, if appropriate, and
when it eventually runs, it notices the pending signal and calls
`issig' and then `psig'.  psig() determines what to do based on the
current `signal action'.  This action is one of:

	SIG_DFL: take the default action (often, core dump/kill process).
	SIG_IGN: ignore.
	SIG_CATCH, SIG_HOLD: (internal to psignal/issig)

Now, issig() and psignal() are supposed to discard signals with no
effect, and say `no pending signal' for signals that are blocked.
Thus, psig() will panic if either:

	u.u_signal[p->p_cursig] == SIG_IGN

or

	(p->p_sigmask & (1 << p->p_cursig)) != 0

because both of these mean `the signal is not supposed to do anything'
---for SIG_IGN, `not ever' and for p_sigmask, `not yet'.

There must therefore be a bug in either psignal or issig, or both.
Presumably you are paying Sun for support.  Well, here they go....
-- 
In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 415 486 5427)
Berkeley, CA		Domain:	torek at ee.lbl.gov



More information about the Comp.unix.admin mailing list