Date: Thu, 1 Mar 2001 16:28:26 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: John Baldwin <jhb@FreeBSD.org> Cc: Gary Jennejohn <garyj@jennejohn.org>, freebsd-current@FreeBSD.org, Leif Neland <leifn@neland.dk> Subject: Re: make kernel failure: pecoff: machine/lock.h Message-ID: <Pine.BSF.4.21.0103011618240.1347-100000@besplex.bde.org> In-Reply-To: <XFMail.010228114348.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 28 Feb 2001, John Baldwin wrote: > On 28-Feb-01 Bruce Evans wrote: > > Most of the pcb actually has the same persistence as the kernel stack > > (both mainly store the process's context while the process is in the > > kernel). But it is silly to put the pcb below the stack instead of > > above it. Perhaps the idea is to get a panic sooner when something > > is corrupted. > > That is the idea. Not all of the pcb is just used while in the kernel. The > pcb_ext that points to a TSS on the i386 for example. The problem I think > people are having with the ltr panic is that the stack gets deep enough to > overwrite that field of the pcb, and we die later on when we try to access an > invalid pointer there. Perhaps pcb_ext, pcb_ldt, and other things that are > persistent across kernel entry/exit should be stored in p_md instead of p_addr. I think that at least the pointers belong in p_md. I had some panics that looked a bit like the ltr one. These turned out to be caused by priority inversion (related to the native priority bugs) preventing an ithread from running. The ithread held a pointer to a process and the process exited before the pointer was used. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0103011618240.1347-100000>