On Thu, Sep 23, 2004 at 10:29:47AM -0400, John Baldwin wrote: > > > > panic: _sx_xlock (user map): xlock already held _at_ > > > > /var/data/5/src/sys/vm/vm_map.c:2997 cpuid = 0 > > > > KDB: stack backtrace: > > > > kdb_backtrace(100,c0f794e0,c0e983c8,1,bb5) at kdb_backtrace+0x29 > > > > panic(c05eaffa,c05d320c,c05fd313,c05fd393,bb5) at panic+0x114 > > > > _sx_xlock(c0e983c8,c05fd393,bb5) at _sx_xlock+0x44 > > > > _vm_map_lock_read(c0e98384,c05fd393,bb5,1f49a0c,c113692c) at _vm_map_lock_read+0x37 > > > > vm_map_lookup(c9f49a64,bfca2000,1,c9f49a68,c9f49a58) at vm_map_lookup+0x28 > > > > vm_fault(c0e98384,bfca2000,1,0,c0f794e0) at vm_fault+0x66 > > > > trap_pfault(c9f49b2c,0,bfca253c) at trap_pfault+0xd2 > > > > trap(18,10,10,c0e98444,c0c95c48) at trap+0x30d > > > > calltrap() at calltrap+0x5 > > > > --- trap 0xc, eip = 0xc05b541c, esp = 0xc9f49b6c, ebp = 0xc9f49b78 --- > > > > pmap_enter_quick(c0e98444,2894f000,c0d7c2e8,0,0) at pmap_enter_quick+0xc8 > > > > > > This is the real bug, can you do 'l *0xc05b541c' from kgdb? > > > > (kgdb) l *0xc05b541c > > 0xc05b541c is in pmap_enter_quick > > (/var/data/5/src/sys/i386/i386/pmap.c:2130). [] > > 2129 pte = vtopte(va); > > 2130 if (*pte) { > > 2131 if (mpte != NULL) { > > 2132 pmap_unwire_pte_hold(pmap, mpte); > > 2133 mpte = NULL; > > 2134 } I've digged a bit... Seems that `if (*pte)' causes a Page Fault. So, is it legal for page to be non-resident here? -- Pavel Gubin TUSC&R / Industrial Electronics dept / System Administrator 2:5005/14_at_fidonet / Phone +7-3822-423067 / ICQ 28835566Received on Fri Sep 24 2004 - 18:15:06 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:13 UTC