LOR with divert sockets
Robert Watson
rwatson at FreeBSD.org
Tue Feb 27 22:24:29 UTC 2007
On Sun, 25 Feb 2007, Andrea Venturoli wrote:
> I posted the following message to questions and Kris (which I thank) kindly
> suggested I should ask here wether someone is working on this. I'll also
> forward it for inclusion on the list at
> http://sources.zabbadoz.net/freebsd/lor.html.
>
> BTW, I don't think the hangs I'm experiencing depend on this, but they might
> be important to you anyway.
What versions of ip_fw2.c and ip_divert.c were in use? The line numbers
aren't as useful without matching revision number information. I'm pretty
sure I've fixed this, but it suddenly occurs to me that I may not have
committed the fix. Also, could you let me know if you use any uid/gid rules
in your IPFW rule set?
Thanks,
Robert N M Watson
Computer Laboratory
University of Cambridge
>
> bye & Thanks
> av.
>
>
> ------------------------
> Hello.
> As I have already written to this list, several of my 6.2 servers are
> hanging very frequently.
> I've managed to turn on the following options on one of them:
>
>> options KDB
>> options DDB
>> options KDB_UNATTENDED
>> options INVARIANTS
>> options INVARIANT_SUPPORT
>> options WITNESS
>> options DEBUG_LOCKS
>> options DEBUG_VFS_LOCKS
>> options DIAGNOSTIC
>
> I hope I can do that soon on the others too.
> In the meanwhile I have seen this in the log:
>
>> Feb 24 17:51:53 soth kernel: lock order reversal:
>> Feb 24 17:51:53 soth kernel: 1st 0xc6a37090 inp (divinp) @
>> /usr/src/sys/netinet/ip_divert.c:336
>> Feb 24 17:51:53 soth kernel: 2nd 0xc070a18c tcp (tcp) @
>> /usr/src/sys/netinet/ip_fw2.c:1982
>> Feb 24 17:51:53 soth kernel: KDB: stack backtrace:
>> Feb 24 17:51:53 soth kernel:
>> kdb_backtrace(0,ffffffff,c06c8f10,c06cadb0,c0694084,...) at
>> kdb_backtrace+0x29
>> Feb 24 17:51:53 soth kernel: witness_checkorder(c070a18c,9,c0665b07,7be) at
>> witness_checkorder+0x578
>> Feb 24 17:51:53 soth kernel: _mtx_lock_flags(c070a18c,0,c0665b07,7be) at
>> _mtx_lock_flags+0x78
>> Feb 24 17:51:53 soth kernel:
>> check_uidgid(c6a890b0,6,c6507800,46c046c1,6e,...) at check_uidgid+0xdf
>> Feb 24 17:51:53 soth kernel: ipfw_chk(e6cc49f0,c6cfdb00,c6507800,0,0,...)
>> at ipfw_chk+0xd74
>> Feb 24 17:51:53 soth kernel: ipfw_check_out(0,e6cc4ae8,c6507800,2,0) at
>> ipfw_check_out+0xe0
>> Feb 24 17:51:53 soth kernel:
>> pfil_run_hooks(c0709d40,e6cc4b5c,c6507800,2,0,...) at pfil_run_hooks+0xc9
>> Feb 24 17:51:53 soth kernel: ip_output(c6cfdb00,0,e6cc4b28,22,0,...) at
>> ip_output+0x66a
>> Feb 24 17:51:53 soth kernel:
>> div_output(c67a8000,c6cfdb00,c6b35be0,0,e6cc4c08,...) at div_output+0x185
>> Feb 24 17:51:53 soth kernel: div_send(c67a8000,0,c6cfdb00,c6b35be0,0,...)
>> at div_send+0x3f
>> Feb 24 17:51:53 soth kernel:
>> Feb 24 17:51:53 soth kernel:
>> sosend(c67a8000,c6b35be0,e6cc4c3c,c6cfdb00,0,0,c657aa80) at sosend+0x5eb
>> Feb 24 17:51:53 soth kernel: kern_sendit(c657aa80,3,e6cc4cbc,0,0,0) at
>> kern_sendit+0x104
>> Feb 24 17:51:53 soth kernel: sendit(c657aa80,3,e6cc4cbc,0,bfbdebc4,...) at
>> sendit+0x163
>> Feb 24 17:51:53 soth kernel: sendto(c657aa80,e6cc4d04) at sendto+0x4d
>> Feb 24 17:51:53 soth kernel: syscall(3b,3b,3b,2,34,...) at syscall+0x25b
>> Feb 24 17:51:53 soth kernel: Xint0x80_syscall() at Xint0x80_syscall+0x1f
>> Feb 24 17:51:53 soth kernel: --- syscall (133, FreeBSD ELF32, sendto), eip
>> = 0x2812ef43, esp = 0xbfbdeafc, ebp = 0xbfbeeba8 ---
>> Feb 24 17:51:53 soth kernel: ipfw: 65534 Deny TCP 192.168.0.3:52325
>> 193.70.192.70:110 out via xl0
>
>
> Any comments?
>
> I hope I can provide other, possibly more useful informations, in the
> near future.
>
> bye & Thanks
> av.
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>
More information about the freebsd-net
mailing list