lor: sctp-create vs. sctp-it

Bruce Cran bruce at cran.org.uk
Thu Dec 17 04:28:59 UTC 2009


lock order reversal:
1st 0xffffff00300c5488 sctp-create (inp_create) @ /usr/src/sys/netinet/sctp_input.c:4897
2nd 0xffffffff80e11df0 sctp-it (iterator) @ /usr/src/sys/netinet/sctp_pcb.c:3102
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
_witness_checkorder() at witness_checkorder+0x81e
_mtx_lock_flags() at _mtx_lock_flags+0x78
sctp_inpcb_free() at sctp_inpcb_free+0x50
sctp_process_cookie_new() at sctp_process_cookie_new+0x646
sctp_process_control() at sctp_process_control+0x5eb2
sctp_common_input_processing() at sctp_common_input_processing+0x1b1
sctp_input_with_port() at sctp_input_with_port+0x388
ip_input() at ip_input+0xbc
swi_net() at swi_net+0x151
intr_event_execute_handlers() at intr_event_execute_handlers+0x66
ithread_loop() at ithread_loop+0xb2
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffff8000047d30, rbp = 0 ---

Afterwards the console wouldn't respond: I could always break into the debugger and see the contents of other ttys once the kernel was stopped, but once I continued the console was frozen.

-- 
Bruce Cran


More information about the freebsd-current mailing list