LOR ip_dummynet.c:1138

From: Jiri Mikulas <konfer_at_mikulas.com>
Date: Fri, 31 Oct 2003 17:16:01 +0100
just for info

~~~cur~~~
lock order reversal
 1st 0xc0962ba0 dummynet (dummynet) _at_ 
/usr/src/sys/netinet/ip_dummynet.c:1138
 2nd 0xc2229a90 rtentry (rtentry) _at_ /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 <ithread_loop>, 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
Received on Fri Oct 31 2003 - 07:16:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:27 UTC