DF-5749 / run.log
login: [l2uh] l2uh_harness loaded: hw.l2uh_setup, hw.l2uh_once, hw.l2uh_race, hw.l2uh_race3, hw.l2uh_state
[l2uh] sizeof(l2cap_channel)=176 offsetof(lc_state)=8 offsetof(lc_link)=0
[l2uh] sizeof(l2cap_req)=64 sizeof(hci_link)=168 offsetof(hl_refcnt)=38 offsetof(hl_txq)=48
[l2uh] hz=100 l2cap_response_timeout=30s hci_acl_expiry=10s ncpu=6
[l2uh] rtx body: l2cap_rtx() -> l2cap_close() runs on the softclock thread; l2cap_detach() runs on the netisr port (close(2)); no lock serializes them
[l2uh] === control: one unraced round ===
[l2uh] armed chan=0xfffff80118429340 state=2 (WAIT_RECV_CONNECT_RSP=2) -- sleeping 3 ticks for the clean rtx fire
[l2uh] after rtx: state=0 (expect CLOSED=0) lc_link=0 (expect NULL) disconnected callbacks=1 (expect +1)
[l2uh] detached. no panic = control OK
[l2uh] rtx kthread pinned to cpu1 (tid 0xfffff800905fc780)
[l2uh] === DF-5749 race3: 2000 simultaneous l2cap_rtx() vs l2cap_detach() rounds ===
panic: zone: freeing free entry
cpuid = 1
Trace beginning at frame 0xfffff801181b9a20
zerror() at zerror+0x28 0xffffffff809c0f18
zerror() at zerror+0x28 0xffffffff809c0f18
zfree() at zfree+0x232 0xffffffff809c1c52
l2cap_rtx() at l2cap_rtx+0x12 0xffffffff826021a2
r3_rtx_thread() at r3_rtx_thread+0x3c 0xffffffff82600edc
Debugger("panic")
CPU1 stopping CPUs: 0x0000003d
stopped
Stopped at Debugger+0x7c: movb $0,0xbdaf09(%rip)
db>