Subject: port-alpha/6799: unexpected reboot with 'kernel stack not valid'
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthew Jacob <mjacob@nas.nasa.gov>
List: netbsd-bugs
Date: 01/12/1999 15:58:09
>Number:         6799
>Category:       port-alpha
>Synopsis:       under light load Alpha 8200 reboots with 'kernel stack not valid'
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-alpha-maintainer (NetBSD/alpha Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 12 16:35:01 1999
>Last-Modified:
>Originator:     
>Organization:
	NASA Ames Research Center
>Release:        source cvs updated as of Jan-12-1999, 1000PST.
>Environment:
	
System: NetBSD jules.nas.nasa.gov 1.3I NetBSD 1.3I (JULES) #0: Tue Jan 12 10:36:40 PST 1999 mjacob@mathom.nas.nasa.gov:/space/NetBSD-current/src/sys/arch/alpha/compile/JULES alpha


>Description:

This has been around for a while but it's time to get serious about it.
Under moderately light load (building src), the kernel rebootes with:

halted CPU 8^M
^M
halt code = 2^M
kernel stack not valid halt^M
PC = fffffc00004eadac^M

For this kernel, this is right at the front of uvm_fault
(fffffc00004eada0 T uvm_fault).


The config file (JULES) is actually just a copy of the ALPHA config file.

This particular machine as 2GB primary memory and ~2GB swap. I tried
to repeat the build with mfs on /tmp not mounted, but got the same
panic.


>How-To-Repeat:

Run a build on the NetBSD /usr/src with the following script:

#!/bin/sh
#
# A Script to do a nightly build of the NetBSD source tree (without
# trashing the running system)
#

set -a
# The location of your source tree.
BSDSRCDIR=${BSDSRCDIR-/usr/src}
# The location of the object files produced by the build.
BSDOBJDIR=${BSDOBJDIR-/usr/obj}
# For the initial build, which doesn't include those crypto
# files which may not be exported from the US and Canada.
#EXPORTABLE_SYSTEM=1
# These two aren't really necessary; they just make life
# easier if/when you rebuild later.
BUILD=1
UPDATE=1
# The following variables must be set in the environment;
# /etc/mk.conf will not do!
# Where the installed files go.
DESTDIR=${DESTDIR-/proto}
# Where the .tgz files built for the release go.
RELEASEDIR=${RELEASEDIR-/release}
#
# Set PATH and LD_LIBRARY_PATH to use the built items when possible.
# Strictly speaking this should all be done twice.
#
DD=${DESTDIR}
PATH=${DD}/sbin:${DD}/usr/sbin:${DD}/usr/local/bin:${DD}/bin
PATH=$PATH:${DD}/usr/bin:${DD}/usr/local/sbin:/sbin:/usr/sbin
PATH=$PATH:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin
LD_LIBRARY_PATH=${DD}/usr/lib:${LD_LIBRARY_PATH}
cd ${BSDSRCDIR} && make obj && make build

>Fix:
	
>Audit-Trail:
>Unformatted: