Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Mar 2001 13:17:28 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        David Malone <dwmalone@maths.tcd.ie>
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org, Dag-Erling Smorgrav <des@ofug.org>
Subject:   Re: cvs commit: src/sys/i386/isa apic_vector.s icu_vector.s
Message-ID:  <XFMail.010306131728.jhb@FreeBSD.org>
In-Reply-To: <20010306105246.A28173@walton.maths.tcd.ie>

next in thread | previous in thread | raw e-mail | index | archive | help

On 06-Mar-01 David Malone wrote:
> On Mon, Mar 05, 2001 at 05:41:28PM +0100, Dag-Erling Smorgrav wrote:
>> David Malone <dwmalone@maths.tcd.ie> writes:
>> > On Mon, Mar 05, 2001 at 07:48:43AM -0800, John Baldwin wrote:
>> > > Heavy load could generate enough interrupts to overflow the stack and
>> > > tra
>> > > pcb, so this very well might fix that.
>> > I think I may have been seeing this. [...]
>> 
>> Seems this commit fixed it, I've been doing port builds on a fresh
>> kernel for the past two and a half hours with no hangs.
> 
> This seems to have slightly improved the situation, now my tail
> test program finishes, but a buildworld is still too much for the
> machine.
> 
> It prints a page fault in kernel mode message, with the following
> details:
> 
>       fault virtual address 0xfffff037
>       instruction pointer 0x8:0xfffff037
>       stack pointer 0x10:0xc8346318
>       frame pointer 0x10:0xc8346e8c
>       code base 0x0 limit 0xffff type 0x11 DPL 0 pres 1 def32 1 gran 1
> 
> before it prints a DDB prompt, there is another page fault, which is
> identical apart from:
> 
>       instruction pointer 0x8:0xc0262fe8
>       stack pointer 0x10:0xc8346c84
>       frame pointer 0x10:0xc8346c88
> 
> then I get a DDB prompt. Asking for a stack trace just produces
> another page fault.

Yeah, cause the stack is hosed it looks like.  Hrmmmm.  Add the following
options to your kernel:

options         KTR
options         KTR_EXTEND
options         KTR_COMPILE=0x1208

Then before you do a buildworld, run the followign command as root:

# sysctl -w debug.ktr.mask=0x1200

Then run the buildworld and crash teh machine. :-P  The type 'show ktr' to get
a list of the various interrupts and process changes that occured up until
things blew up.  If you have a serial console and can knab that output that
would be great.

>       David.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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