Re: LOR with rtentry and rl0

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Sat, 12 Mar 2005 11:04:48 -0800
On Sat, Mar 12, 2005 at 05:49:28PM +0000, Robert Watson wrote:
> On Sat, 12 Mar 2005, Steve Kargl wrote:
> 
> > I don't recall seeing this LOR posted.  It may be related to rwatson's
> > recent work in the socket layer. 
> 
> It's not impossible I introduced a bug that results in this.  Is this
> reproduceable?  Is there any chance you could break into DDB, do "show
> witness", and send me the output?
> 

I tried, but I seem to have followed a different code path.

lock order reversal
1st 0xc2efb8a0 rtentry (rtentry) _at_ /usr/src/sys/netinet/if_ether.c:445
2nd 0xc2c33f00 rl0 (network driver) _at_ /usr/src/sys/modules/rl/../../pci/if_rl.c:1444
KDB: stack backtrace:
witness_checkorder(c2c33f00,9,c084cffd,5a4,c2c338fc) at witness_checkorder+0x5e9
_mtx_lock_flags(c2c33f00,0,c084cffd,5a4,c2c33800) at _mtx_lock_flags+0x54
rl_start(c2c33800,0,c06c19af,184,202a94c) at rl_start+0x37
ether_output_frame(c2c33800,c2e6a200,6,e5db59c8,c062f4e4) at ether_output_frame+0x23c
ether_output(c2c33800,c2e6a200,e5db59ec,0,c2e889c8,2,1,c06b2302,32b,c2bc8000,c2bc8074) at ether_output+0x26f
arprequest(e5db5ae4,c2c3d4ab,c06c254d,1bd,c05530a0) at arprequest+0x10b
arpresolve(c2c33800,c2efb840,c2e6a300,e5db5ae0,e5db5a64) at arpresolve+0x30d
ether_output(c2c33800,c2e6a300,e5db5ae0,c2efb840,3) at ether_output+0x32b
ip_output(c2e6a300,0,e5db5adc,1,0) at ip_output+0xa39
icmp_reflect(c2e6a450,c2e6a3c8,14,c2e6a400,c2e6a450) at icmp_reflect+0x312
icmp_error(c2e6a400,3,3,0,0) at icmp_error+0x1ce
udp_input(c2e6a400,14,c07191c0,c2bc8000,e8) at udp_input+0x591
ip_input(c2e6a400,0,c06c20ab,e8,18) at ip_input+0xe5
netisr_processqueue(e5db5cdc,246,c0713f60,2,c2b777c0) at netisr_processqueue+0x15
swi_net(0,0,c06b5c7a,256,0) at swi_net+0x9f
ithread_loop(c2b7c380,e5db5d48,c06b5a5b,30e,c2b7c380) at ithread_loop+0x1ff
fork_exit(c0514450,c2b7c380,e5db5d48) at fork_exit+0xa6
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe5db5d7c, ebp = 0 ---

At this point, I must of entered a wrong db> command, because
I did bad things to my filesystem.  I'll try again later.

-- 
Steve
Received on Sat Mar 12 2005 - 18:04:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:29 UTC