lock order reversal RELENG_6 from Aug 8, 8pm HST build

David J. Orman david.orman at corenode.com
Tue Aug 9 18:05:45 GMT 2005


Hi,

I was going through the logs on my test firewall and saw this:

Aug  9 03:01:36 firewall1 kernel: lock order reversal
Aug  9 03:01:36 firewall1 kernel: 1st 0xc09b7e60 UMA lock (UMA lock) @ 
/usr/src/sys/vm/uma_core.c:1494
Aug  9 03:01:36 firewall1 kernel: 2nd 0xc1060144 system map (system map) 
@ /usr/src/sys/vm/vm_kern.c:295
Aug  9 03:01:36 firewall1 kernel: KDB: stack backtrace:
Aug  9 03:01:36 firewall1 kernel: 
kdb_backtrace(0,ffffffff,c096cf18,c096d058,c08f3e44) at 
kdb_backtrace+0x29
Aug  9 03:01:36 firewall1 kernel: 
witness_checkorder(c1060144,9,c08a9f0e,127) at witness_checkorder+0x564
Aug  9 03:01:36 firewall1 kernel: 
_mtx_lock_flags(c1060144,0,c08a9f0e,127) at _mtx_lock_flags+0x5b
Aug  9 03:01:36 firewall1 kernel: _vm_map_lock(c10600c0,c08a9f0e,127) at 
_vm_map_lock+0x26
Aug  9 03:01:36 firewall1 kernel: 
kmem_malloc(c10600c0,1000,1,cf1ccba4,c07b5e15) at kmem_malloc+0x32
Aug  9 03:01:36 firewall1 kernel: 
page_alloc(c104a5a0,1000,cf1ccb97,1,c0685314) at page_alloc+0x1a
Aug  9 03:01:36 firewall1 kernel: 
slab_zalloc(c104a5a0,1,3,c2144cc0,c10492ac) at slab_zalloc+0xa1
Aug  9 03:01:36 firewall1 kernel: uma_zone_slab(c104a5a0,1,1,10,50bf) at 
uma_zone_slab+0xe8
Aug  9 03:01:36 firewall1 kernel: uma_zalloc_bucket(c104a5a0,1) at 
uma_zalloc_bucket+0x12c
Aug  9 03:01:36 firewall1 kernel: uma_zalloc_arg(c104a5a0,0,1) at 
uma_zalloc_arg+0x2dc
Aug  9 03:01:36 firewall1 kernel: malloc(200,c092e900,1,51,c1044a00) at 
malloc+0xae
Aug  9 03:01:36 firewall1 kernel: 
hash_alloc(cf1ccc74,c1044a08,0,c08a91c7,1ab) at hash_alloc+0x29
Aug  9 03:01:36 firewall1 kernel: zone_timeout(c18eb000) at 
zone_timeout+0x7e
Aug  9 03:01:36 firewall1 kernel: 
zone_foreach(c07b564c,cf1ccce8,c066f123,0,c07b5618) at zone_foreach+0x37
Aug  9 03:01:36 firewall1 kernel: uma_timeout(0) at uma_timeout+0x12
Aug  9 03:01:36 firewall1 kernel: softclock(0) at softclock+0x1e7
Aug  9 03:01:36 firewall1 kernel: 
ithread_loop(c1743580,cf1ccd38,c1743580,c0651718,0) at 
ithread_loop+0x11c
Aug  9 03:01:36 firewall1 kernel: fork_exit(c0651718,c1743580,cf1ccd38) 
at fork_exit+0xa0
Aug  9 03:01:36 firewall1 kernel: fork_trampoline() at 
fork_trampoline+0x8
Aug  9 03:01:36 firewall1 kernel: --- trap 0x1, eip = 0, esp = 
0xcf1ccd6c, ebp = 0 ---


Hope it can provide some help.

> uname -a
FreeBSD firewall1.corenode.com 6.0-BETA2 FreeBSD 6.0-BETA2 #0: Mon Aug  
8 18:30:44 HST 2005     
root at firewall1.corenode.com:/usr/obj/usr/src/sys/FIREWALL1  i386
>

It's a relatively basic setup. Three NICs, two bridged using the new 
if_bridge. PF and ALTQ built into kernel, but _no_ rules loaded. Kernel 
is GENERIC + if_bridge, pf, and altq options/devices. /etc/make.conf is 
empty. 

If anymore information is needed that I can provide, please let me know.

Cheers,
David

PS - It might be helpful if the BETA release announcements had a 
link/told where to post bug reports. I had to take a blind stab in the 
dark and try -current. Hope I got the right spot, if not, my apologies.


More information about the freebsd-current mailing list