From owner-freebsd-current@FreeBSD.ORG Fri Oct 31 08:16:20 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9DAF616A4CE for ; Fri, 31 Oct 2003 08:16:20 -0800 (PST) Received: from s1.vhost.cz (s1.vhost.cz [195.39.16.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32B7243FE9 for ; Fri, 31 Oct 2003 08:16:18 -0800 (PST) (envelope-from konfer@mikulas.com) Received: (qmail 94523 invoked by uid 89); 31 Oct 2003 17:16:16 +0100 Received: from unknown (HELO mikulas.com) (jiri@mikulas.com@195.122.204.153) by s1.vhost.cz with AES256-SHA encrypted SMTP; 31 Oct 2003 17:16:16 +0100 Message-ID: <3FA28AC1.6090601@mikulas.com> Date: Fri, 31 Oct 2003 17:16:01 +0100 From: Jiri Mikulas User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; cs-CZ; rv:1.5) Gecko/20031023 X-Accept-Language: cs MIME-Version: 1.0 To: current@freebsd.org Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit Subject: LOR ip_dummynet.c:1138 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Oct 2003 16:16:20 -0000 just for info ~~~cur~~~ lock order reversal 1st 0xc0962ba0 dummynet (dummynet) @ /usr/src/sys/netinet/ip_dummynet.c:1138 2nd 0xc2229a90 rtentry (rtentry) @ /usr/src/sys/netinet/ip_dummynet.c:1200 Stack backtrace: backtrace(c0875f98,c2229a90,c087c023,c087c023,c087d2ec) at backtrace+0x17 witness_lock(c2229a90,8,c087d2ec,4b0,c0667043) at witness_lock+0x672 _mtx_lock_flags(c2229a90,0,c087d2ec,4b0,b3) at _mtx_lock_flags+0xba dummynet_io(c138ee00,399,1,cb620b78,cb620b4c) at dummynet_io+0x2c5 ip_output(c138ee00,0,c220f03c,0,0) at ip_output+0x7b3 tcp_output(c2210590,c1f93450,c2038e40,16b,c1f93450) at tcp_output+0xce6 tcp_usr_connect(c2247550,c1f93450,c2038e40,0,cb620cc4) at tcp_usr_connect+0x114 soconnect(c2247550,c1f93450,c2038e40,0,bfbffbe0) at soconnect+0x61 kern_connect(c2038e40,c,c1f93450,c1f93450,c21d5250) at kern_connect+0x88 connect(c2038e40,cb620d10,c0890579,3f0,3) at connect+0x43 syscall(2f,2f,2f,bfbffbfc,2) at syscall+0x2c0 Xint0x80_syscall() at Xint0x80_syscall+0x1d --- syscall (98), eip = 0x283613af, esp = 0xbfbffbcc, ebp = 0xbfbffc18 --- ~~~cut~~~ and then after kernel panic ~~~cut~~~ (kgdb) bt #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 #1 0xc063febc in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372 #2 0xc0640247 in panic () at /usr/src/sys/kern/kern_shutdown.c:550 #3 0xc063607b in propagate_priority (td=0x0) at /usr/src/sys/kern/kern_mutex.c:124 #4 0xc0636889 in _mtx_lock_sleep (m=0xc0962ba0, opts=0, file=0xc087d2ec "/usr/src/sys/netinet/ip_dummynet.c", line=748) at /usr/src/sys/kern/kern_mutex.c:635 #5 0xc06362d7 in _mtx_lock_flags (m=0xc0962ba0, opts=0, file=0xc087d2ec "/usr/src/sys/netinet/ip_dummynet.c", line=748) at /usr/src/sys/kern/kern_mutex.c:333 #6 0xc06d0312 in dummynet (unused=0x0) at /usr/src/sys/netinet/ip_dummynet.c:748 #7 0xc0650748 in softclock (dummy=0x0) at /usr/src/sys/kern/kern_timeout.c:225 #8 0xc062c0a2 in ithread_loop (arg=0xc137cc80) at /usr/src/sys/kern/kern_intr.c:540 #9 0xc062b0a4 in fork_exit (callout=0xc062bf10 , arg=0x0, frame=0x0) at /usr/src/sys/kern/kern_fork.c:793 (kgdb) up 4 #4 0xc0636889 in _mtx_lock_sleep (m=0xc0962ba0, opts=0, file=0xc087d2ec "/usr/src/sys/netinet/ip_dummynet.c", line=748) at /usr/src/sys/kern/kern_mutex.c:635 635 propagate_priority(td); (kgdb) list 630 * Save who we're blocked on. 631 */ 632 td->td_blocked = m; 633 td->td_lockname = m->mtx_object.lo_name; 634 TD_SET_LOCK(td); 635 propagate_priority(td); 636 637 if (LOCK_LOG_TEST(&m->mtx_object, opts)) 638 CTR3(KTR_LOCK, 639 "_mtx_lock_sleep: p %p blocked on [%p] %s", td, m, ~~~cut~~~ Jiri