Subject: panic: pv_unlink0 on 96M sun4m SPARC LX
To: None <port-sparc@NetBSD.ORG>
From: Erik Fair <fair@fish.com>
List: port-sparc
Date: 04/29/1997 20:52:22
I'm screwed.

current has been working so well for me that I committed to moving my main
system to it. I guess I didn't test it well enough.

It falls over dead of a panic: pv_unlink0 (yes, I have DIAGNOSTIC in my
kernel) at the end of the /etc/rc.local script.

This system is a SPARC LX with 96M of RAM, running NetBSD-current as of Apr 28.

I consulted with a friend of mine who suggested that the problem is
essentially that I have too much RAM in this beast, and that cutting back
below 64M might mitigate the problem. A search of port-sparc archives
revealed that people have seen this problem on larger RAM configuration
sun4m systems before, but that there is no fix. I offer crash dumps for
those who want 'em.

Any assistance would be appreciated. Please reply to both
port-sparc@netbsd.org and to fair@fish.com (fair@clock.org is down
until this problem is fixed or worked around).

A representative death follows:

SPARCstation LX, No Keyboard
ROM Rev. 2.10, 96 MB memory installed, Serial #1119638.
Ethernet address 8:0:20:0:5a:bc, Host ID: 80111596.


Boot device: /iommu/sbus/dma@0,81000/esp/sd@0,0   File and args:
>> NetBSD BOOT [$Revision: 1.4 $]
Booting netbsd @ 0x4000
1114112+110424+66600+[70704+82534]=0x164a1e
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.2D (CESIUM) #2: Tue Apr 29 15:50:48 PDT 1997
    root@:/usr/src/sys/arch/sparc/compile/CESIUM
real mem = 100188160
avail mem = 93601792
using 768 buffers containing 3145728 bytes of memory
bootpath: /iommu@0,10000000/sbus@0,10001000/dma@0,81000/esp@0,80000/sd@0,0
mainbus0 (root): SUNW,SPARCstation-LX
cpu0 at mainbus0: TMS390S10 @ 50 MHz, on-chip FPU
cpu0: physical 4K instruction (32 b/l), 2K data (16 b/l) cache enabled
obio0 at mainbus0
clock0 at obio0 addr 0x71200000: mk48t08 (eeprom)
timer0 at obio0 addr 0x71d00000 delay constant 23
zs0 at obio0 addr 0x71100000 pri 12, softpri 6
zs0a: console i/o
zs1 at obio0 addr 0x71000000 pri 12, softpri 6
[slavioconfig at obio0] addr 0x71800000 not configured
auxreg0 at obio0 addr 0x71900000
power0 at obio0 addr 0x71910000
fdc0 at obio0 addr 0x71400000 pri 11, softpri 4: chip 82077
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
iommu0 at mainbus0 addr 0x10000000: version 1/4, page-size 4096, range 64MB
sbus0 at iommu0: clock = 25 MHz
dma0 at sbus0 slot 4 offset 0x8400000: rev 2
esp0 at dma0 slot 0x4 offset 0x8800000 pri 4: ESP200, 40MHz, SCSI ID 7
scsibus0 at esp0: 8 targets
sd4 at scsibus0 targ 2 lun 0: <DEC, DSP3160S, T427> SCSI2 0/direct fixed
sd4: 1526MB, 2599 cyl, 16 head, 75 sec, 512 bytes/sec
sd0 at scsibus0 targ 3 lun 0: <QUANTUM, FIREBALL1080S, 1Q09> SCSI2 0/direct fixe
d
sd0: 1042MB, 3835 cyl, 4 head, 139 sec, 512 bytes/sec
SUNW,bpp at sbus0 slot 4 offset 0xc800000 not configured
ledma0 at sbus0 slot 4 offset 0x8400010: rev 2
le0 at ledma0 slot 0x4 offset 0x8c00000 pri 6: address 08:00:20:00:5a:bc
le0: 8 receive buffers, 2 transmit buffers
dma1 at sbus0 slot 0 offset 0x81000: rev esc
esp1 at dma1 slot 0x0 offset 0x80000 pri 5: ESP200, 40MHz, SCSI ID 7
scsibus1 at esp1: 8 targets
sd1 at scsibus1 targ 0 lun 0: <DEC, DSP5350S, 427B> SCSI2 0/direct fixed
sd1: 3406MB, 3055 cyl, 25 head, 91 sec, 512 bytes/sec
sd3 at scsibus1 targ 1 lun 0: <DEC, DSP5350S, 427B> SCSI2 0/direct fixed
sd3: 3406MB, 3055 cyl, 25 head, 91 sec, 512 bytes/sec
sd7 at scsibus1 targ 3 lun 0: <QUANTUM, XP34301, 1037> SCSI2 0/direct fixed
sd7: 4106MB, 4076 cyl, 20 head, 103 sec, 512 bytes/sec
lebuffer0 at sbus0 slot 0 offset 0x40000
le1 at lebuffer0 slot 0x0 offset 0x60000 pri 7: address 08:00:20:00:5a:bc
le1: 64 receive buffers, 16 transmit buffers
SUNW,DBRIe at sbus0 slot 2 offset 0x10000 not configured
cgsix at sbus0 slot 3 offset 0x0 not configured
Automatic boot in progress: starting file system checks.
/dev/rsd1a: file system is clean; not checking
/dev/rsd1d: file system is clean; not checking
/dev/rsd3d: file system is clean; not checking
/dev/rsd0a: file system is clean; not checking
/dev/rsd3a: file system is clean; not checking
/dev/rsd1f: file system is clean; not checking
/dev/rsd0f: file system is clean; not checking
/dev/rsd7h: file system is clean; not checking
/dev/rsd3e: file system is clean; not checking
/dev/rsd1e: file system is clean; not checking
/dev/rsd0h: file system is clean; not checking
/dev/rsd3f: file system is clean; not checking
/dev/rsd1h: file system is clean; not checking
/dev/rsd0d: file system is clean; not checking
/dev/rsd3h: file system is clean; not checking
/dev/rsd0e: file system is clean; not checking
swapon: adding /dev/sd3b as swap device
setting tty flags
starting network
configuring network interfaces: le0.
writing to routing socket: File exists
add host cesium.clock.org: gateway localhost: File exists
add net default: gateway bladerunner.fish.com
starting system logger
starting name server
starting rpc daemons: portmap.
creating runtime link editor directory cache.
checking for core dump...
savecore: no core dump
checking quotas: done.
building databases...
clearing /tmp
updating motd.
standard daemons: update cron.
starting network daemons: xntpd rwhod inetd.
starting local daemons: sshd.
announce: pid 196 running on port 6250
pv_unlink4m(0xf81b61f0, 0xf81306a0, f8880000): pv->pv_pmap == NULL
panic: pv_unlink
syncing disks... 16 16 13 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 giving up
Frame pointer is at 0xfc69e7e8
Call traceback:
  pc = f80f6268  args = (0, 41000fe2, f812d000, fc69e908, f802beb0, f8d6f000, fc
69e850) fp = 0xfc69e850
  pc = f802b0ec  args = (100, 0, 1, fc69e974, f8881000, 200, fc69e8b8) fp = 0xfc
69e8b8
  pc = f80f8850  args = (100, f8130658, 0, f81b61f0, f80f8400, fff, fc69e920) fp
 = 0xfc69e920
  pc = f80fb794  args = (f81b61f0, f81306a0, f8880000, f817d000, 391f000, c, fc6
9e988) fp = 0xfc69e988
  pc = f80fb604  args = (f81306a0, f8880000, 7, 1, f81b6270, 3a679e, fc69e9f0) f
p = 0xfc69e9f0
  pc = f80cd324  args = (f81306a0, f8880000, 3a67000, 7, 1, fc69eaec, fc69ea58)
fp = 0xfc69ea58
  pc = f80cd4d4  args = (0, ffdf, 1, f813d000, 1, 7, fc69eb00) fp = 0xfc69eb00
  pc = f80cf8e8  args = (0, f8879000, f8881000, f8879000, f81dc12c, f8d6f000, fc
69eb68) fp = 0xfc69eb68
  pc = f80ce428  args = (f81dc108, f8879000, f8881000, 0, f8881000, 200, fc69ebd
8) fp = 0xfc69ebd8
  pc = f8020464  args = (f81dc108, 8000, 0, f813c1b8, 1, fff, fc69ec48) fp = 0xf
c69ec48
  pc = f810e5e0  args = (8000, 54, 0, fc69ef20, 7a, 1000, fc69ecc0) fp = 0xfc69e
cc0
  pc = f80fe810  args = (16, fc69ef28, 8000, f886e380, fc69ef28, f8877000, fc69e
ec0) fp = 0xfc69eec0
  pc = f80064d0  args = (ae, fc69efb0, 0, 16, 6d, 6c, fc69ef50) fp = 0xfc69ef50
  pc = 10007d64  args = (6, f7f800f8, 8000, 69620000, 73, f7f801f8, f7fff770) fp
 = 0xf7fff770

dumping to dev 709, offset 22704
dump stopping on keyboard abort