On Fri, 2005-10-21 at 03:24 -0400, Kris Kennaway wrote: > On Fri, Oct 21, 2005 at 09:17:29AM +0200, Stefan Ehmann wrote: > > I recently upgraded my 5.4-RELEASE machine to 6.0-RC1. Runs fine so far > > if I disable PREEMPTION. > > > > With PREEMPTION enabled, I still get the same issues as described here: > > http://lists.freebsd.org/pipermail/freebsd-current/2004-September/037949.html > > > > kernel config: > > http://stud4.tuwien.ac.at/~e0125637/fbsd/kernconf-6.0-RC1 > > > > /var/log/messages output: > > http://stud4.tuwien.ac.at/~e0125637/fbsd/messages-6.0-RC1 > > > > Any one else still experiencing these problems or has any idea what > > causes this? > > Turn on WITNESS, INVARIANTS and see if they report anything. Break to > DDB and use the various debugging commands (ps, the various show > commands, ...) to trace things. I should have thought of that myself... Anyway, I might have found the LOR that causes the problem [1]. show allocks output can be seen in [2] It's similar to http://sources.zabbadoz.net/freebsd/lor/016.html (as it also happens in check_uidgid(). There's a nice explaination by rwatson in the linked thread. So I removed the corresponding ipfw rule (I use it together with dummynet for traffic shaping for a spedific user). It seems to run fine so far. If I re-add the rule the system hangs within minutes. I still have to test if the system runs stable over a longer period. I also got another LOR [3] but it hasn't caused any problems so far. [1] lock order reversal 1st 0xc1cef090 inp (divinp) _at_ /usr/src/sys/netinet/ip_divert.c:327 2nd 0xc079794c tcp (tcp) _at_ /usr/src/sys/netinet/ip_fw2.c:1952 KDB: stack backtrace: kdb_backtrace(c06ef8e3,c079794c,c06ef3b7,c06ef3b7,c06f7f50) at kdb_backtrace+0x2e witness_checkorder(c079794c,9,c06f7f50,7a0,c04f7ce4) at witness_checkorder+0x6c3 _mtx_lock_flags(c079794c,0,c06f7f50,7a0,c0548199) at _mtx_lock_flags+0x8a check_uidgid(c1c59ac4,6,c1a6fc00,1809bccd,1446) at check_uidgid+0x111 ipfw_chk(dadf89ec,41ec0d7e,0,0,c1b78000) at ipfw_chk+0xd86 ipfw_check_out(0,dadf8ae4,c1a6fc00,2,0) at ipfw_check_out+0x10c pfil_run_hooks(c07974e0,dadf8b58,c1a6fc00,2,0) at pfil_run_hooks+0x101 ip_output(c1b78000,0,dadf8b24,22,0) at ip_output+0x6f0 div_output(c1c66de8,c1b78000,c1bb7720,0,dadf8c00) at div_output+0x1d3 div_send(c1c66de8,0,c1b78000,c1bb7720,0) at div_send+0x5d sosend(c1c66de8,c1bb7720,dadf8c34,c1b78000,0) at sosend+0x6e1 kern_sendit(c1bd6180,3,dadf8cb4,0,0) at kern_sendit+0x12f sendit(c1bd6180,3,dadf8cb4,0,bfbdebc8) at sendit+0x1ab sendto(c1bd6180,dadf8d04,18,418,6) at sendto+0x5b syscall(3b,3b,3b,bfbdeba0,2) at syscall+0x2a2 Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (133, FreeBSD ELF32, sendto), eip = 0x280d0c3f, esp = 0xbfbdeb0c, ebp = 0xbfbeebb8 --- [2] Process 962 (fetchmail) thread 0xc1bd7480 (100094) exclusive sleep mutex inp (tcpinp) r = 0 (0xc20aed38) locked _at_ /usr/src/sys/netinet/tcp_usrreq.c:646 Process 300 (natd) thread 0xc1bd6180 (100074) exclusive sleep mutex tcp r = 0 (0xc079794c) locked _at_ /usr/src/sys/netinet/ip_fw2.c:1952 exclusive sleep mutex inp (divinp) r = 0 (0xc1cef090) locked _at_ /usr/src/sys/netinet/ip_divert.c:327 exclusive sleep mutex div r = 0 (0xc079652c) locked _at_ /usr/src/sys/netinet/ip_divert.c:325 Process 12 (irq1: atkbd0) thread 0xc198a900 (100004) exclusive sleep mutex Giant r = 0 (0xc0749420) locked _at_ /usr/src/sys/kern/kern_intr.c:546 [3] lock order reversal 1st 0xc1d10090 inp (divinp) _at_ /usr/src/sys/netinet/ip_divert.c:327 2nd 0xc0796440 in_multi_mtx (in_multi_mtx) _at_ /usr/src/sys/netinet/ip_output.c:295 KDB: stack backtrace: kdb_backtrace(c06ef8e3,c0796440,c06ef386,c06ef386,c06f8d28) at kdb_backtrace+0x2e witness_checkorder(c0796440,9,c06f8d28,127,c06f6927) at witness_checkorder+0x6c3 _mtx_lock_flags(c0796440,0,c06f8d28,127,c052d396) at _mtx_lock_flags+0x8a ip_output(c1ca3c00,0,dae0ab24,22,0) at ip_output+0x46c div_output(c1c8bde8,c1ca3c00,c2e4c530,0,dae0ac00) at div_output+0x1d3 div_send(c1c8bde8,0,c1ca3c00,c2e4c530,0) at div_send+0x5d sosend(c1c8bde8,c2e4c530,dae0ac34,c1ca3c00,0) at sosend+0x6e1 kern_sendit(c1bd6a80,3,dae0acb4,0,0) at kern_sendit+0x12f sendit(c1bd6a80,3,dae0acb4,0,bfbdebc0) at sendit+0x1ab sendto(c1bd6a80,dae0ad04,18,418,6) at sendto+0x5b syscall(3b,3b,3b,bfbdeba0,2) at syscall+0x2a2 Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (133, FreeBSD ELF32, sendto), eip = 0x280d0c3f, esp = 0xbfbdeb0c, ebp = 0xbfbeebb8 ---Received on Sat Oct 22 2005 - 08:46:18 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:46 UTC