Subject: port-sparc/23298: SS20 panic mem_access_fault_4m (from cpu_switchto)
To: None <gnats-bugs@gnats.netbsd.org>
From: Jon Buller <jon@bullers.net>
List: netbsd-bugs
Date: 10/28/2003 16:47:17
>Number: 23298
>Category: port-sparc
>Synopsis: SS20 panic mem_access_fault_4m (from cpu_switchto)
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: port-sparc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Oct 29 00:48:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:
>Release: NetBSD 1.6ZD
>Organization:
>Environment:
System: NetBSD ra.bullers.net 1.6ZD NetBSD 1.6ZD (RA) #6: Tue Oct 28 00:09:04 PST 2003 jon@ra.bullers.net:/mnt/obj/usr/src/sys/arch/sparc/compile/RA sparc
Architecture: sparc
Machine: sparc
>Description:
With "options MULTIPROCESSOR" in my kernel config, 1.6ZC
and 1.6ZD will not boot, but end up in ddb with the following
stack trace.
cpu_debugger
mem_access_fault_4m+0x11c
cpu_switchto+0x194
netbsd:snapshot+0x40
This happens just after the kernel prints its message about
IPSec and just before the first message about scsibus0.
It does *NOT* happen with a GENERIC kernel, or when options
MULTIPROCESSOR is commented out. I also have no problems
with my 1.6W kernel.
>How-To-Repeat:
build the following kernel and boot it:
include "arch/sparc/conf/std.sparc"
maxusers 32
options SUN4M
options BLINK
options RASTERCONSOLE
options FONT_GALLANT12x22
config netbsd root on ? type ?
options KTRACE
options SYSTRACE
options SYSVMSG
options SYSVSEM
options SYSVSHM
options LKM
options USERCONF
options NFS_BOOT_DHCP
options DDB
options DDB_HISTORY_SIZE=100
options DDB_ONPANIC=1
makeoptions DEBUG="-g"
options LOCKDEBUG
options DIAGNOSTIC
options SCSIVERBOSE
options UCONSOLE
options FDSCRIPTS
options SETUIDSCRIPTS
options COMPAT_16
options COMPAT_43
options COMPAT_SUNOS
options COMPAT_SVR4
file-system FFS
file-system NFS
file-system KERNFS
file-system NULLFS
file-system OVERLAY
file-system MFS
file-system FDESC
file-system UMAPFS
file-system PROCFS
file-system CD9660
file-system UNION
file-system MSDOSFS
options NFSSERVER
options QUOTA
options SOFTDEP
options INET
options INET6
options IPSEC
options IPSEC_ESP
options GATEWAY
options MROUTING
options DIRECTED_BROADCAST
options NETATALK
options NTP
options PFIL_HOOKS
options IPFILTER_LOG
options PPP_BSDCOMP
options PPP_DEFLATE
options PPP_FILTER
options MULTIPROCESSOR
mainbus0 at root
cpu0 at mainbus0
cpu* at mainbus0
obio0 at mainbus0
iommu0 at mainbus0
sbus0 at iommu0
auxreg0 at obio0
power0 at obio0
clock0 at obio0
memreg0 at obio0
eccmemctl0 at mainbus0
timer0 at obio0
zs0 at obio0
zstty0 at zs0 channel 0
zstty1 at zs0 channel 1
zs1 at obio0
kbd0 at zs1 channel 0
ms0 at zs1 channel 1
bpp* at sbus? slot ? offset ?
dma0 at sbus0 slot ? offset ?
esp0 at dma0 flags 0x0000
dma* at sbus? slot ? offset ?
esp* at sbus? slot ? offset ? flags 0x0000
esp* at dma? flags 0x0000
scsibus* at esp?
sd0 at scsibus? target 3 lun 0
sd1 at scsibus? target 0 lun 0
sd2 at scsibus? target 5 lun 0
sd3 at scsibus? target 1 lun 0
sd4 at scsibus? target 4 lun 0
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
ses* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
fdc0 at obio0
fd* at fdc0
pseudo-device vnd 4
le* at sbus? slot ? offset ?
ledma* at sbus? slot ? offset ?
le* at ledma?
lebuffer* at sbus? slot ? offset ?
le* at lebuffer?
pseudo-device loop
pseudo-device ppp 2
pseudo-device tun 4
pseudo-device bpfilter 8
pseudo-device ipfilter
pseudo-device gif 4
pseudo-device vlan
pseudo-device bridge
cgsix0 at sbus? slot ? offset ?
cgsix* at sbus? slot ? offset ?
cgfourteen0 at obio0
options RAID_AUTOCONFIG
pseudo-device raid 4
pseudo-device pty
pseudo-device rnd
pseudo-device clockctl
>Fix:
Do not build with "options MULTIPROCESSOR" and (and let
half of you SS20 go to waste) for a temporary workaround.
A proper fix is unknown to me. Also I do not have a serial
console on it at the moment, so the stack trace is hand
copied off the screen. (That is also why boot messages
from from both working and non-working kernels are not
present here.) I'll collect more information, setup a serial
console and capture it, or try provided patches if that
would be helpful.
>Release-Note:
>Audit-Trail:
>Unformatted: