kern/141720: [sctp] [lor] [hang] sctp-create vs. sctp-it causes system hang

Bruce Cran bruce at
Thu Dec 17 18:50:04 UTC 2009

>Number:         141720
>Category:       kern
>Synopsis:       [sctp] [lor] [hang] sctp-create vs. sctp-it causes system hang
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 17 18:50:03 UTC 2009
>Originator:     Bruce Cran
>Release:        9.0-CURRENT
FreeBSD tau.draftnet 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Mon Dec 14 15:44:18 GMT 2009 brucec at tau.draftnet:/usr/obj/usr/src/sys/GENERIC amd64
When running lots of copies of the SCTP API tester, 'api_tests', the console sometimes hangs, though keypresses are still recognized. Breaking into the debugger shows that a LOR has occurred, but attempting to continue running the system results in the system eventually freezing.

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 ---

Run >100 copies of the api_tests application from sctpCVS/APPS/apitester .


More information about the freebsd-bugs mailing list