Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jun 2001 11:36:00 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        jhb@freebsd.org
Cc:        alfred@freebsd.org, :freebsd-alpha@freebsd.org
Subject:   alpha pmap corruption continues
Message-ID:  <15144.55776.3763.28141@grasshopper.cs.duke.edu>

next in thread | raw e-mail | index | archive | help

John,

With your http://people.freebsd.org/~jhb/patches/vm.patch and
with rev 1.60 of alpha/trap.c reverted, I'm still seeing what
looks like pmap corruption with a (mostly) GENERIC kernel on a UP
alpha a few minutes into a -j32 buildworld.

fatal kernel trap:

    trap entry     = 0x2 (memory management fault)
    cpuid          = 0
    faulting va    = 0xfffffffe00480210
    type           = access violation
    cause          = load instructon
    pc             = 0xfffffc000065bfe8
    ra             = 0xfffffc000065c13c
    sp             = 0xfffffe0006a0dd68
    usp            = 0x11ffb2b0
    curproc        = 0xfffffe00069bff80
        pid = 18853, comm = make

Stopped at      pmap_remove_pages+0xa8: ldl     t0,0(t2) <0xfffffffe00480210>   <t0=0x90042,t2=0xfffffffe00480210>
db> tr
pmap_remove_pages() at pmap_remove_pages+0xa8
exit1() at exit1+0xab8
sys_exit() at sys_exit+0x24
syscall() at syscall+0x628
XentSys() at XentSys+0x64
--- syscall (1, FreeBSD ELF, sys_exit) ---
--- user mode ---

db> show locks
exclusive (sleep mutex) vm (0xfffffc00007be0f8) locked @ ../../vm/vm_map.c:2617
exclusive (sleep mutex) Giant (0xfffffc00007bed90) locked @ ../../vm/vm_fault.c:213
db> show pcpu
cpuid     = 0
ipis      = 0
next ASN  = 148
curproc   = 0xfffffe00069bff80: pid 18853 "make"
curpcb    = 0x66fc000
fpcurproc = none
idleproc  = 0xfffffe000589f600: pid 10 "idle: cpu0"
spin locks held:
db> e vm_faults_no_vm_mtx
vm_faults_no_vm_mtx:    b7c70
db> e vm_faults_no_giant
vm_faults_no_giant:     0
db> 


So.. maybe this is a dumb question, but it looks like the vm_mtx was
locked in vm_map_lookup as part of the vm fault path.  But, it SHOULD
have gotten locked in exit1(), around pmap_remove_pages, shouldn't it?  So,
shouldn't there have been a lock-recursion message in there?

I don't understand.

Drew




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15144.55776.3763.28141>