Subject: Kernel panics in 1.3.3 and -current on SS10 TMS390Z50
To: None <port-sparc@netbsd.org>
From: None <ak@e.nu>
List: port-sparc
Date: 01/26/1999 04:48:43
I tried installing the 1.3.3 and very latest snapshot on my
SPARCstation 10 and the kernel very very frequently crashes.
This may be due to the CPU TMS390Z50.

(a) dmesg
NetBSD 1.3I (WIND-DEBUG) #0: Tue Jan 26 02:16:58 JST 1999
cpu0 at mainbus0: TMS390Z50 v1 @ 40.300 MHz, on-chip FPU
cpu0: physical 20K instruction (64 b/l), 16K data (32 b/l), 1024K external (32 b/l): cache enabled
(snip)

(b) config-file
include "arch/sparc/conf/std.sparc"
maxusers	32
options 	SUN4M		# sun4m - SS10, SS20, Classic, etc.
options 	RASTERCONSOLE	# fast rasterop console
config		netbsd	root on ? type ?
options 	KTRACE
options 	SYSVMSG		# System V message queues
options 	SYSVSEM		# System V semaphores
options 	SYSVSHM		# System V shared memory
options 	LKM
makeoptions 	DEBUG="-g"
options 	SCSIVERBOSE
options 	COMPAT_13	# NetBSD 1.3 binary compatibility
options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility
file-system	FFS		# Berkeley Fast Filesystem
file-system	NFS		# Sun NFS-compatible filesystem client
file-system	NULLFS		# NULL layered filesystem
file-system	MFS		# memory-based filesystem
file-system	CD9660		# ISO 9660 + Rock Ridge file system
file-system	UNION		# union file system
options 	INET		# IP (Internet Protocol) v4
options 	TCP_COMPAT_42	# 4.2BSD IP implementation compatibility
options 	NTP		# Network Time Protocol in-kernel support
options 	PFIL_HOOKS	# Add pfil(9) hooks, intended for custom LKMs.
options 	IPFILTER_LOG	# Add ipmon(8) logging for ipfilter device
options 	PPP_BSDCOMP	# Add BSD compression to ppp device
options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
options 	PPP_FILTER	# Add active filters for ppp (via bpf)
mainbus0 at root
cpu0	at mainbus0
obio0	at mainbus0				# sun4 and sun4m
iommu0	at mainbus0				# sun4m
sbus0	at iommu0				# sun4m
auxreg0	at obio0				# sun4m
power0	at obio0
clock0	at obio0				# sun4m
memreg0	at obio0				# sun4m
eccmemctl0 at mainbus0				# sun4m
timer0	at obio0				# sun4m
zs0	at obio0					# sun4m
zstty0	at zs0 channel 0	# ttya
zstty1	at zs0 channel 1	# ttyb
zs1	at obio0					# sun4m
kbd0	at zs1 channel 0	# keyboard
ms0	at zs1 channel 1	# mouse
dma0	at sbus0 slot ? offset ?			# sun4c/sun4m
esp0	at dma0 flags 0x0000				# sun4m
scsibus* at esp?
sd*	at scsibus? target ? lun ?		# SCSI disks
st*	at scsibus? target ? lun ?		# SCSI tapes
cd*	at scsibus? target ? lun ?		# SCSI CD-ROMs
fdc0	at obio0				# sun4m controller
fd*	at fdc0					# the drive itself
pseudo-device	vnd	4
pseudo-device	ccd	4
ledma0		at sbus0 slot ? offset ?		# sun4m on-board
le0		at ledma0				# sun4m on-board
le*		at sbus? slot ? offset ?		# SBus
ledma*		at sbus? slot ? offset ?		# SBus
le*		at ledma?				# SBus
lebuffer0	at sbus? slot ? offset ?		# SBus
le0		at lebuffer?				# SBus
lebuffer*	at sbus? slot ? offset ?		# SBus
le*		at lebuffer?				# SBus
pseudo-device	loop
pseudo-device	sl		2
pseudo-device	ppp		2
pseudo-device	tun		4
pseudo-device	bpfilter	8
pseudo-device	ipfilter
audioamd0	at sbus0 slot ? offset ?		# sun4m
audio*		at audioamd0
cgsix0		at sbus? slot ? offset ?
cgsix*		at sbus? slot ? offset ?
pseudo-device	pty		32	# pseudo-ttys (for network, etc.)
sd0	at scsibus? target 3 lun ?		# first SCSI disk
sd1	at scsibus? target 1 lun ?		# second SCSI disk
sd2	at scsibus? target 2 lun ?		# third SCSI disk
sd3	at scsibus? target 0 lun ?		# fourth SCSI disk

(c)  gdb
GDB 4.16 (sparc--netbsd), Copyright 1996 Free Software Foundation, Inc...
(gdb) target kcore /var/crash/netbsd.0.core
panic: kernel fault
#0  mi_switch () at ../../../../kern/kern_synch.c:638
638             cpu_switch(p);
(gdb) where
#0  mi_switch () at ../../../../kern/kern_synch.c:638
#1  0xf002d94c in tsleep (ident=0x0, priority=4, wmesg=0xf00cdca0 "scheduler", 
    timo=0) at ../../../../kern/kern_synch.c:372
#2  0xf00cdd90 in uvm_scheduler () at ../../../../uvm/uvm_glue.c:440
#3  0xf001e3b8 in main () at ../../../../kern/init_main.c:444
(gdb) list
633     #if defined(UVM)
634             uvmexp.swtch++;
635     #else
636             cnt.v_swtch++;
637     #endif
638             cpu_switch(p);
639             microtime(&runtime);
640     }
641     
642     /*
(gdb) up
#1  0xf002d94c in tsleep (ident=0x0, priority=4, wmesg=0xf00cdca0 "scheduler", 
    timo=0) at ../../../../kern/kern_synch.c:372
372             mi_switch();
(gdb) list
367                     }
368             } else
369                     sig = 0;
370             p->p_stat = SSLEEP;
371             p->p_stats->p_ru.ru_nvcsw++;
372             mi_switch();
373     #ifdef  DDB
374             /* handy breakpoint location after process "wakes" */
375             asm(".globl bpendtsleep ; bpendtsleep:");
376     #endif
(gdb) up
#2  0xf00cdd90 in uvm_scheduler () at ../../../../uvm/uvm_glue.c:440
440                     tsleep((caddr_t)&proc0, PVM, "scheduler", 0);
(gdb) list
435     #endif
436             /*
437              * Nothing to do, back to sleep
438              */
439             if ((p = pp) == NULL) {
440                     tsleep((caddr_t)&proc0, PVM, "scheduler", 0);
441                     goto loop;
442             }
443     
444             /*
(gdb) up
#3  0xf001e3b8 in main () at ../../../../kern/init_main.c:444
444             uvm_scheduler();
(gdb) list
439             /* Create any other deferred kernel threads. */
440             kthread_run_deferred_queue();
441     
442             /* The scheduler is an infinite loop. */
443     #if defined(UVM)
444             uvm_scheduler();
445     #else
446             scheduler();
447     #endif
448             /* NOTREACHED */
(gdb) info frame
(snip)

Has anyone else experienced these errors and knows how to fix them?
Any help would be appreciated. Thanks.