tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: alpha LOCKDEBUG hang
On Thu, 21 Feb 2008, Andrew Doran wrote:
Should be fixed with pmap.c revision 1.232.
Andrew
A LOCKDEBUG kernel now boots (and fails in pmap_do_tlb_shootdown with a
recursive call to pmap_do_tlb_shootdown [which may explain the problem
I've been looking at there]).
However, a non-LOCKDEBUG kernel now gives me a "Mutex error:
mutex_vector_enter: locking against myself" lock error panic:
lock address : 0xfffffc0000b97940
current cpu : 0
current lwp : 0xfffffc006f2d9860
owner field : 0xfffffc006f2d9860 wait/spin: 0/0
panic: lock error
Stopped in pid 7.1 (fsck_ffs) at netbsd:cpu_Debugger+0x4:
ret z
ero,(ra)
db{0}> t
cpu_Debugger() at netbsd:cpu_Debugger+0x4
panic() at netbsd:panic+0x264
lockdebug_abort() at netbsd:lockdebug_abort+0x60
mutex_abort() at netbsd:mutex_abort+0x38
mutex_vector_enter() at netbsd:mutex_vector_enter+0x588
pmap_physpage_delref() at netbsd:pmap_physpage_delref+0xb8
pmap_l3pt_delref() at netbsd:pmap_l3pt_delref+0x74
pmap_remove_mapping() at netbsd:pmap_remove_mapping+0x124
pmap_page_protect() at netbsd:pmap_page_protect+0x124
genfs_do_putpages() at netbsd:genfs_do_putpages+0xa88
VOP_PUTPAGES() at netbsd:VOP_PUTPAGES+0xcc
vinvalbuf() at netbsd:vinvalbuf+0x70
ffs_reload() at netbsd:ffs_reload+0x640
ffs_mount() at netbsd:ffs_mount+0x640
VFS_MOUNT() at netbsd:VFS_MOUNT+0x64
do_sys_mount() at netbsd:do_sys_mount+0x2ec
sys___mount50() at netbsd:sys___mount50+0x38
syscall_plain() at netbsd:syscall_plain+0x1c4
XentSys() at netbsd:XentSys+0x60
--- syscall (410) ---
--- user mode ---
db{0}> x/x 0xfffffc0000b97940
netbsd:pmap_pvh_locks+0x240: 6f2d9860
db{0}> reboot 0c
pmap_page_protect() has the lock, and by calling pmap_remove_mapping(),
eventually ends up in pmap_physpage_delref() which tries to get the same
lock.
--
Michael L. Hitch mhitch%montana.edu@localhost
Computer Consultant
Information Technology Center
Montana State University Bozeman, MT USA
Home |
Main Index |
Thread Index |
Old Index