Subject: port-alpha/36573: memory management fault panic in turnstile_block
To: None <port-alpha-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <jarle@uninett.no>
List: netbsd-bugs
Date: 06/28/2007 09:35:00
>Number:         36573
>Category:       port-alpha
>Synopsis:       memory management fault panic in turnstile_block
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-alpha-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 28 09:35:00 +0000 2007
>Originator:     Jarle Greipsland
>Release:        NetBSD 4.99.21
>Organization:
	
>Environment:
	
	
System: NetBSD sweetheart.urc.uninett.no 4.99.21 NetBSD 4.99.21 (GENERIC-$Revision: 1.314 $) #0: Wed Jun 27 20:48:31 CEST 2007  jarle@sweetheart.urc.uninett.no:/usr/obj/sys/arch/alpha/compile/CS20.MP alpha
Architecture: alpha
Machine: alpha
>Description:
On a -current installation from yesterday, I have observed two similar
panics in turnstile_block.  Both happened during build of some package or
other in the pkgsrc tree.  Some console output from the latter panic is
included below.

Console log:
CPU 0: fatal kernel trap:

CPU 0    trap entry = 0x2 (memory management fault)
CPU 0    a0         = 0x10
CPU 0    a1         = 0x1
CPU 0    a2         = 0x0
CPU 0    pc         = 0xfffffc00004dfa6c
CPU 0    ra         = 0xfffffc00004dfa54
CPU 0    pv         = 0xfffffc00004c45e0
CPU 0    curlwp    = 0xfffffc003c767ce0
CPU 0        pid = 26593, comm = sh

panic: trap
Stopped in pid 26593.1 (sh) at  netbsd:cpu_Debugger+0x4:        ret     zero,(ra
)
db{0} trace
cpu_Debugger() at netbsd:cpu_Debugger+0x4
panic() at netbsd:panic+0x1e8
trap() at netbsd:trap+0x3a8
XentMM() at netbsd:XentMM+0x20
--- memory management fault (from ipl 6) ---
turnstile_block() at netbsd:turnstile_block+0x15c
mutex_vector_enter() at netbsd:mutex_vector_enter+0x2e4
statclock() at netbsd:statclock+0x180
hardclock() at netbsd:hardclock+0x47c
interrupt() at netbsd:interrupt+0x104
XentInt() at netbsd:XentInt+0x1c
--- interrupt (from ipl 0) ---
_kernel_unlock() at netbsd:_kernel_unlock+0xc4
exit1() at netbsd:exit1+0x830
sys_exit() at netbsd:sys_exit+0x8c
syscall_plain() at netbsd:syscall_plain+0x194
XentSys() at netbsd:XentSys+0x60
--- syscall (1) ---
--- user mode ---
db{0} mach cpu 1
Using CPU 1
db{0} trace
db{0} mach cpu 0
CPU 0 not paused
db{0} trace
db{0} ps
 PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
 343          12859    23654          0 2       0    1               sh
 12859        11182    23654          0 2  0x4000    1               sh    wait
 11182        17206    23654          0 2  0x4000    1               sh    wait
 17206        22324    23654          0 2  0x4000    1             make    wait
 22324        23654    23654          0 2  0x4000    1               sh    wait
 23654          717    23654          0 2  0x4000    1             make    wait
 26410         1484    26410          0 2  0x4000    1             tcsh   ttyin
 1484          2520     1484       1000 2  0x4000    1              csh   pause
 2520            49       49       1000 2  0x4000    1            xterm  select
 49           10707       49       1000 2  0x4000    1              csh   pause
 10707        20457    20457       1000 2   0x100    1             sshd  select
 20457          463    20457          0 2  0x4100    1             sshd   netio
 717             99      717          0 2  0x4000    1             tcsh   pause
 99              98       99       1000 2  0x4000    1              csh   pause
 98              43       43       1000 2  0x4000    1            xterm  select
 43             636       43       1000 2  0x4000    1              csh   pause
 636            532      532       1000 2   0x100    1             sshd  select
 532            463      532          0 2  0x4100    1             sshd   netio
 669            569      569         12 2  0x4100    1             qmgr  kqread
 593            569      569         12 2  0x4100    1           pickup  kqread
 685            666      666       1001 2  0x4001    1       setiathome nanoslp
 667            696      696       1001 2  0x4001    1       setiathome nanoslp
 695              1      695          0 2  0x4000    1            getty   ttyin
 666            671      666       1001 2  0x4000    1               sh    wait
 696            656      696       1001 2  0x4000    1               sh    wait
 671            606      606          0 2       0    1             cron    pipe
 656            606      606          0 2       0    1             cron    pipe
 606              1      606          0 2       0    1             cron nanoslp
 654              1      654          0 2       0    1            inetd  kqread
 569              1      569          0 2  0x4100    1           master  kqread
 463              1      463          0 2       0    1             sshd  select
 373              1      373          0 2       0    1             ntpd   pause
 307              1      307          0 2       0    1        mount_mfs  mfsidl
 242              1      242          0 2       0    1          syslogd
 44               0        0          0 2 0x20002    1          physiod physiod
 10               0        0          0 2 0x20002    1      vmem_rehash vmem_re
 9                0        0          0 2 0x20002    1         aiodoned aiodone
 8                0        0          0 2 0x20002    1          ioflush  syncer
 7                0        0          0 2 0x20002    1       pagedaemon pgdaemo
 6                0        0          0 2 0x20002    1        atapibus0  sccomp
 5                0        0          0 2 0x20002    1        cryptoret crypto_
 4                0        0          0 2 0x20002    1          atabus1   atath
 3                0        0          0 2 0x20002    1          atabus0   atath
 2                0        0          0 2 0x20002    1         scsibus0  sccomp
 1                0        1          0 2  0x4001    1             init    wait
 0               -1        0          0 2 0x20002    3           system       *
db{0} reboot 4

dmesg:
CPU 0 booting

Resetting I/O buses...
(boot dka0.0.0.3.0 -file netbsd -flags a)
block 0 of dka0.0.0.3.0 is a valid boot block
reading 15 blocks from dka0.0.0.3.0
bootstrap code read in
base = 200000, image_start = 0, image_bytes = 1e00
initializing HWRPB at 2000
initializing page table at 3ff4c000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

NetBSD/alpha 1.6_BETA4 FFS Primary Bootstrap
Jumping to entry point...

NetBSD/alpha 1.6_BETA4 Secondary Bootstrap, Revision 1.13
(he@honey.urc.uninett.no, Mon Jul 22 21:28:03 CEST 2002)

VMS PAL rev: 0x2004200010154
OSF PAL rev: 0x200400002014f
Switch to OSF PAL code succeeded.

Boot file: netbsd
Boot flags: a
3766224+291296 [237144+153754]=0x43e728

Entering netbsd at 0xfffffc0000301210...
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.21 (GENERIC-$Revision: 1.314 $) #0: Wed Jun 27 20:48:31 CEST 2007
        jarle@sweetheart.urc.uninett.no:/usr/obj/sys/arch/alpha/compile/CS20.MP
API CS20D 833 MHz, s/n 
8192 byte page size, 2 processors.
total memory = 1024 MB
(2776 KB reserved for PROM, 1021 MB used by NetBSD)
avail memory = 1001 MB
mainbus0 (root)
cpu0 at mainbus0: ID 0 (primary), 21264B-3
cpu0: Architecture extensions: 1307<PAT,MVI,CIX,FIX,BWX>
cpu1 at mainbus0: ID 1, 21264B-3
cpu1: Architecture extensions: 1307<PAT,MVI,CIX,FIX,BWX>
tsc0 at mainbus0: 21272 Core Logic Chipset, Cchip rev 0
tsc0: 4 Dchips, 1 memory bus of 32 bytes
tsc0: arrays present: 1024MB, 0MB, 0MB, 0MB, Dchip 0 rev 1
tsp0 at tsc0
pci0 at tsp0 bus 0
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
esiop0 at pci0 dev 3 function 0: Symbios Logic 53c1010-66 (ultra3-wide scsi)
esiop0: using on-board RAM
esiop0: interrupting at dec 6600 irq 16
scsibus0 at esiop0: 16 targets, 8 luns per target
fxp0 at pci0 dev 4 function 0: i82559 Ethernet, rev 8
fxp0: interrupting at dec 6600 irq 20
fxp0: Ethernet address 00:02:56:00:06:f9
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
sio0 at pci0 dev 7 function 0: Acer Labs M1533 PCI-ISA Bridge (rev. 0xc3)
aceride0 at pci0 dev 16 function 0
aceride0: Acer Labs M5229 UDMA IDE Controller (rev. 0xc2)
aceride0: primary channel interrupting at isa irq 14
atabus0 at aceride0 channel 0
aceride0: secondary channel interrupting at isa irq 15
atabus1 at aceride0 channel 1
Acer Labs M7101 Power Management Controller (miscellaneous prehistoric) at pci0 dev 17 function 0 not configured
isa0 at sio0
lpt0 at isa0 port 0x3bc-0x3bf irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
isabeep0 at pcppi0
mcclock0 at isa0 port 0x70-0x71: mc146818 or compatible
pcppi0: attached to attimer0
tsp1 at tsc0
pci1 at tsp1 bus 0
pci1: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
fxp1 at pci1 dev 3 function 0: i82559 Ethernet, rev 8
fxp1: interrupting at dec 6600 irq 32
fxp1: Ethernet address 00:02:56:00:06:fa
inphy1 at fxp1 phy 1: i82555 10/100 media interface, rev. 4
inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <IBM-PSG, ST318437LC    !#, 59LK> disk fixed
sd0: 17357 MB, 29851 cyl, 2 head, 595 sec, 512 bytes/sect x 35548320 sectors
sd0: sync (12.50ns offset 31), 16-bit (160.000MB/s) transfers, tagged queueing
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <SAMSUNG CD-ROM SN-124, , q008> cdrom removable
root on sd0a dumps on sd0b
root file system type: ffs
Wed Jun 27 21:12:05 GMT 2007

	
>How-To-Repeat:
I don't know of any particular sequence of events that will always panic
the system, but compiling stuff in pkgsrc seems to trigger it "every now
and then".
	
>Fix:
	
Dunno.

>Unformatted: