#!‡ witness: lock order reversal: 1st 0xffffffff8395d808 &sched_lock (&sched_lock) 2nd 0xffff8000299dee30 &cq->cq_mtx (&cq->cq_mtx) lock order [1] &sched_lock (&sched_lock) -> [2] &cq->cq_mtx (&cq->cq_mtx) #0 mtx_enter+0x95 sys/kern/kern_lock.c:406 #1 clockintr_cancel+0x2f sys/kern/kern_clockintr.c:323 #2 mi_switch+0x187 sys/kern/sched_bsd.c:376 #3 sleep_finish+0x2d8 sys/kern/kern_synch.c:369 #4 sys_futex+0xb90 futex_wait sys/kern/sys_futex.c:306 [inline] #4 sys_futex+0xb90 sys/kern/sys_futex.c:155 #5 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #5 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:775 #6 Xsyscall+0x128 lock order [2] &cq->cq_mtx (&cq->cq_mtx) -> [1] &sched_lock (&sched_lock) #0 mtx_enter+0x95 sys/kern/kern_lock.c:406 #1 sleep_setup+0xed sys/kern/kern_synch.c:304 #2 msleep_nsec+0x10b sys/kern/kern_synch.c:217 #3 dt_ioctl_record_stop+0xbc sys/dev/dt/dt_dev.c:589 #4 dtclose+0x109 dt_pcb_purge sys/dev/dt/dt_dev.c:-1 [inline] #4 dtclose+0x109 sys/dev/dt/dt_dev.c:239 #5 spec_close+0x466 sys/kern/spec_vnops.c:-1 #6 VOP_CLOSE+0x132 sys/kern/vfs_vops.c:156 #7 vn_closefile+0x12b vn_close sys/kern/vfs_vnops.c:292 [inline] #7 vn_closefile+0x12b sys/kern/vfs_vnops.c:615 #8 fdrop+0x121 sys/kern/kern_descrip.c:1280 #9 closef+0x192 sys/kern/kern_descrip.c:1264 #10 fdfree+0x116 sys/kern/kern_descrip.c:1195 #11 exit1+0x576 sys/kern/kern_exit.c:215 #12 sys_exit+0x1a sys/kern/kern_exit.c:-1 #13 syscall+0xb17 mi_syscall sys/sys/syscall_mi.h:176 [inline] #13 syscall+0xb17 sys/arch/amd64/amd64/trap.c:775 #14 Xsyscall+0x128 Stopped at db_enter+0x25: addq $0x8,%rsp ddb{1}> ddb{1}> set $lines = 0 ddb{1}> set $maxwidth = 0 ddb{1}> show panic the kernel did not panic ddb{1}> trace db_enter() at db_enter+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(ffff8000299dee30,9,0) at witness_checkorder+0x10d1 sys/kern/subr_witness.c:-1 mtx_enter(ffff8000299dee20) at mtx_enter+0x95 sys/kern/kern_lock.c:406 clockintr_cancel(ffff8000299de2f8) at clockintr_cancel+0x2f sys/kern/kern_clockintr.c:323 mi_switch() at mi_switch+0x187 sys/kern/sched_bsd.c:376 sleep_finish(ffffffffffffffff,1) at sleep_finish+0x2d8 sys/kern/kern_synch.c:369 sys_futex(ffff800030fd5780,ffff80003c459d10,ffff80003c459c60) at sys_futex+0xb90 futex_wait sys/kern/sys_futex.c:306 [inline] sys_futex(ffff800030fd5780,ffff80003c459d10,ffff80003c459c60) at sys_futex+0xb90 sys/kern/sys_futex.c:155 syscall(ffff80003c459d10) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80003c459d10) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:775 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xa2d9b16ed30, count: -9 ddb{1}> show registers rdi 0 rsi 0x80000 acpi_pdirpa+0x6be71 rbp 0xffff80003c4598e0 rbx 0 rdx 0xffff800001586800 rcx 0xffff800030fd5780 rax 0x7ffff acpi_pdirpa+0x6be70 r8 0xffff80003c4597c0 r9 0x8080808080808080 r10 0x112f20e1889043f4 r11 0xd0d4310d8c4ad73b r12 0xfffffd8003f4a300 r13 0xfffffd800473ad58 r14 0x3 r15 0xffffffff8342512e substchar+0xa54f rip 0xffffffff811597d5 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80003c4598d0 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{1}> show proc PROC (syz-executor) tid=297818 pid=878 tcnt=2 stat=sleep flags process=4000000 proc=4000080 runpri=50, usrpri=50, slppri=32, nice=20 wchan=0xffff80003c459b80, wmesg=fsleep, ps_single=0x0 scnt=0 ecnt=0 forw=0x0, list=0xffff800030fd4558,0xffffffff839fb6f0 process=0xffff8000fffec4e8 user=0xffff80003c454000, vmspace=0xfffffd805e743d80 estcpu=12, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 96289 230431 50790 0 2 0 syz-executor 96289 523872 50790 0 3 0x4000080 fsleep syz-executor 878 513335 60016 0 7 0x4000000 syz-executor * 878 297818 60016 0 3 0x4000080 fsleep syz-executor 54068 373367 42282 0 2 0 syz-executor 54068 433991 42282 0 2 0x4000000 syz-executor 9877 473809 56430 0 2 0 syz-executor 9877 451880 56430 0 3 0x4000080 fsleep syz-executor 62736 72588 1830 0 2 0 syz-executor 62736 466142 1830 0 3 0x4000080 sbwait syz-executor 62736 130683 1830 0 3 0x4000080 fsleep syz-executor 68141 214310 96737 0 2 0 syz-executor 68141 225171 96737 0 3 0x4000080 fsleep syz-executor 68141 354428 96737 0 3 0x4000080 fsleep syz-executor 12128 265573 97692 0 2 0 syz-executor 12128 132410 97692 0 3 0x4000080 fsleep syz-executor 12128 61273 97692 0 3 0x4000080 fsleep syz-executor 72504 109900 39535 0 2 0 syz-executor 72504 466163 39535 0 3 0x4000080 fsleep syz-executor 72504 91070 39535 0 3 0x4000080 fsleep syz-executor 94503 6603 0 0 3 0x14200 acct acct 39535 423901 39204 0 3 0x82 nanoslp syz-executor 96737 472638 39204 0 3 0x82 nanoslp syz-executor 97692 321237 39204 0 3 0x82 nanoslp syz-executor 1830 400994 39204 0 3 0x82 nanoslp syz-executor 60016 488502 39204 0 3 0x82 nanoslp syz-executor 50790 436902 39204 0 3 0x82 nanoslp syz-executor 42282 128711 39204 0 3 0x82 nanoslp syz-executor 56430 100366 39204 0 3 0x82 nanoslp syz-executor 39204 255242 93695 0 3 0x82 kqread syz-executor 93695 372471 39731 0 3 0x10008a sigsusp ksh 39731 383910 23658 0 3 0x98 kqread sshd-session 23658 283697 6099 0 3 0x92 kqread sshd-session 82330 14743 1 0 3 0x100083 ttyopn getty 6099 467085 1 0 3 0x88 kqread sshd 52071 173352 96976 74 3 0x1100092 bpf pflogd 96976 481988 1 0 3 0x80 sbwait pflogd 85857 455026 59711 73 3 0x1100090 kqread syslogd 59711 209186 1 0 3 0x100082 sbwait syslogd 65537 466412 1 0 3 0x100080 kqread resolvd 73711 335000 59972 77 3 0x100092 kqread dhcpleased 14074 77353 59972 77 3 0x100092 kqread dhcpleased 59972 304994 1 0 3 0x80 kqread dhcpleased 89126 465483 0 0 2 0x40014200 smr 58064 288976 0 0 3 0x14200 pgzero zerothread 85244 427337 0 0 3 0x14200 aiodoned aiodoned 53731 467232 0 0 3 0x14200 syncer update 40969 374613 0 0 3 0x14200 cleaner cleaner 83275 248029 0 0 3 0x14200 reaper reaper 24245 486062 0 0 3 0x14200 pgdaemon pagedaemon 84688 504810 0 0 3 0x14200 bored viomb 24055 299662 0 0 3 0x40014200 acpi0 acpi0 90010 234387 0 0 3 0x40014200 idle1 28532 72131 0 0 3 0x14200 bored softnet1 41300 488008 0 0 3 0x14200 bored softnet0 58238 346226 0 0 3 0x14200 smrbar systqmp 78902 342925 0 0 3 0x14200 bored systq 79602 522154 0 0 3 0x14200 tmoslp softclockmp 5687 77015 0 0 3 0x40014200 tmoslp softclock 94488 393651 0 0 3 0x40014200 idle0 1 65700 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> show all locks CPU 1: exclusive mutex &sched_lock r = 0 (0xffffffff8395d808) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 mtx_enter+0x4b4 sys/kern/kern_lock.c:487 #2 sleep_finish+0x1d6 sys/kern/kern_synch.c:357 #3 sys_futex+0xb90 futex_wait sys/kern/sys_futex.c:306 [inline] #3 sys_futex+0xb90 sys/kern/sys_futex.c:155 #4 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #4 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:775 #5 Xsyscall+0x128 Process 878 (syz-executor) thread 0xffff800030fcc7e8 (513335) exclusive rwlock futexlk r = 0 (0xffffffff83a15168) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 rw_do_enter_write+0x419 sys/kern/kern_rwlock.c:320 #2 futex_wake+0xbc sys/kern/sys_futex.c:467 #3 sys_futex+0x1d9 sys/kern/sys_futex.c:158 #4 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #4 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:775 #5 Xsyscall+0x128 Process 58238 (systqmp) thread 0xffff8000ffffe530 (346226) shared rwlock systqmp r = 0 (0xffffffff8385da18) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 taskq_thread+0x12a sys/kern/kern_task.c:442 #2 proc_trampoline+0x10 ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 11086 12159K 12939K 166960K 13093 0 pcb 18 12K 12K 166960K 130 0 rtable 222 8K 8K 166960K 395 0 pf 34 17K 18K 166960K 74 0 ifaddr 42 7K 8K 166960K 67 0 ifgroup 55 2K 2K 166960K 99 0 sysctl 3 1K 9K 166960K 7 0 counters 70 37K 37K 166960K 114 0 ioctlops 0 0K 4K 166960K 1608 0 iov 1 8K 16K 166960K 36 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1436 90K 91K 166960K 1958 0 UFS quota 1 32K 32K 166960K 1 0 UFS mount 5 36K 36K 166960K 5 0 shm 2 2K 10K 166960K 15 0 VM map 2 1K 1K 166960K 2 0 sem 12 0K 0K 166960K 18 0 dirhash 12 2K 2K 166960K 21 0 ACPI 1692 195K 286K 166960K 12470 0 file desc 18 65K 236K 166960K 652 0 sigio 0 0K 0K 166960K 9 0 proc 73 115K 180K 166960K 594 0 subproc 72 4K 4K 166960K 72 0 NFS srvsock 1 0K 0K 166960K 1 0 NFS daemon 1 16K 16K 166960K 1 0 ip_moptions 0 0K 0K 166960K 60 0 in_multi 98 7K 7K 166960K 125 0 ether_multi 1 0K 0K 166960K 5 0 mrt 0 0K 0K 166960K 5 0 ISOFS mount 1 32K 32K 166960K 1 0 MSDOSFS mount 1 16K 16K 166960K 1 0 ttys 217 970K 970K 166960K 217 0 exec 0 0K 1K 166960K 421 0 fusefs mount 1 32K 32K 166960K 1 0 tdb 3 0K 0K 166960K 3 0 VM swap 8 62K 64K 166960K 10 0 UVM amap 252 168K 185K 166960K 8072 0 UVM aobj 24 5K 5K 166960K 24 0 pinsyscall 43 86K 106K 166960K 1771 0 memdesc 1 4K 4K 166960K 1 0 crypto data 1 1K 1K 166960K 1 0 ip6_options 0 0K 1K 166960K 50 0 NDP 12 0K 2K 166960K 44 0 temp 49 8673K 8739K 166960K 6846 0 kqueue 14 22K 32K 166960K 115 0 SYN cache 2 16K 16K 166960K 2 0 ddb{1}> show all pools Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle plcache 128 26 0 0 1 0 1 1 0 8 0 rtpcb 120 67 0 64 1 0 1 1 0 8 0 rtentry 176 117 0 20 6 0 6 6 0 8 0 unpcb 144 673 0 654 10 1 9 10 0 8 8 syncache 336 4 0 4 2 1 1 1 0 8 1 tcpcb 736 182 0 177 6 2 4 6 0 8 3 arp 136 18 0 2 1 0 1 1 0 8 0 inpcb 328 654 0 645 11 4 7 11 0 8 6 nd6 152 25 0 0 1 0 1 1 0 8 0 pkpcb 40 3 0 3 1 0 1 1 0 8 1 kcovpl 48 8 0 0 1 0 1 1 0 8 0 ppxss 1192 18 0 18 1 0 1 1 0 8 1 pppxif 1504 2 0 2 1 0 1 1 0 8 1 pffrag 232 5 0 0 1 0 1 1 0 482 0 pffrnode 88 5 0 0 1 0 1 1 0 8 0 pffrent 40 6 0 0 1 0 1 1 0 8 0 pfosfp 40 1428 0 1005 5 0 5 5 0 8 0 pfosfpen 112 1428 0 714 21 0 21 21 0 8 0 rttmr 136 1 0 1 1 0 1 1 0 8 1 art_heap8 4096 2 0 0 2 0 2 2 0 8 0 art_heap4 256 497 0 88 31 0 31 31 0 8 3 art_table 40 499 0 88 5 0 5 5 0 8 0 art_node 32 117 0 29 1 0 1 1 0 8 0 sysvmsgpl 40 8 0 5 1 0 1 1 0 8 0 semupl 112 3 0 3 1 0 1 1 0 8 1 semapl 112 15 0 5 1 0 1 1 0 8 0 shmpl 112 20 0 0 1 0 1 1 0 8 0 dirhash 1024 23 0 6 3 0 3 3 0 8 0 dino2pl 256 2581 0 1075 96 0 96 96 0 8 1 ffsino 296 2581 0 1075 118 0 118 118 0 8 1 nchpl 144 3483 0 1784 64 0 64 64 0 8 0 rtmask 32 4 0 4 1 0 1 1 0 8 1 vnodes 216 3025 0 0 169 0 169 169 0 8 0 namei 1024 11420 0 11420 1 0 1 1 0 8 1 percpumem 16 72 0 22 1 0 1 1 0 8 0 vcpupl 3968 1 0 0 1 0 1 1 0 8 0 vmpool 848 1 0 0 1 0 1 1 0 8 0 kstatmem 264 58 0 32 3 0 3 3 0 8 1 scsiplug 72 3 0 3 1 0 1 1 0 8 1 scxspl 216 17600 0 17600 3 1 2 2 1 8 2 plimitpl 152 114 0 97 1 0 1 1 0 8 0 sigapl 424 950 0 901 7 1 6 7 0 8 0 knotepl 120 605 0 0 19 0 19 19 0 8 0 kqueuepl 224 366 0 356 9 0 9 9 0 8 8 pipepl 344 253 0 226 6 0 6 6 0 8 3 fdescpl 528 933 0 901 3 0 3 3 0 8 0 filepl 160 5890 0 5673 20 2 18 20 0 8 8 lockfpl 104 195 0 192 1 0 1 1 0 8 0 lockfspl 48 82 0 79 1 0 1 1 0 8 0 sessionpl 144 23 0 14 1 0 1 1 0 8 0 pgrppl 48 33 0 16 1 0 1 1 0 8 0 ucredpl 104 920 0 907 1 0 1 1 0 8 0 zombiepl 144 901 0 901 1 0 1 1 0 8 1 processpl 1232 950 0 901 5 1 4 5 0 8 0 procpl 664 1824 0 1763 6 0 6 6 0 8 0 sosppl 176 7 0 7 1 0 1 1 0 8 1 sockpl 752 1410 0 1379 32 20 12 27 0 8 8 mcl64k 65536 3 0 0 1 0 1 1 0 8 0 mcl9k 9216 2 0 0 1 0 1 1 0 8 0 mcl8k 8192 3 0 0 1 0 1 1 0 8 0 mcl4k 4096 122 0 0 16 0 16 16 0 8 0 mcl2k2 2112 1 0 0 1 0 1 1 0 8 0 mcl2k 2048 39 0 0 5 0 5 5 0 8 0 mtagpl 96 7 0 0 1 0 1 1 0 8 0 mbufpl 256 192 0 0 12 0 12 12 0 8 0 bufpl 280 6783 0 647 439 0 439 439 0 8 0 anonpl 32 11613 0 0 94 0 94 94 0 246 0 amapchunkpl 152 26521 0 25882 30 0 30 30 0 158 5 amappl16 200 3453 0 3421 28 13 15 27 0 8 8 amappl15 192 3 0 3 1 1 0 1 0 8 0 amappl14 184 3 0 3 2 1 1 1 0 8 1 amappl13 176 429 0 428 1 0 1 1 0 8 0 amappl12 168 1293 0 1250 3 0 3 3 0 8 0 amappl11 160 10 0 10 1 1 0 1 0 8 0 amappl10 152 51 0 37 1 0 1 1 0 8 0 amappl9 144 245 0 245 1 1 0 1 0 8 0 amappl8 136 60 0 58 1 0 1 1 0 8 0 amappl7 128 96 0 95 1 0 1 1 0 8 0 amappl6 120 278 0 265 1 0 1 1 0 8 0 amappl5 112 89 0 77 1 0 1 1 0 8 0 amappl4 104 431 0 400 1 0 1 1 0 8 0 amappl3 96 4284 0 4187 4 1 3 3 0 8 0 amappl2 88 1082 0 999 3 0 3 3 0 8 0 amappl1 80 11304 0 10712 16 2 14 15 0 8 0 amappl 88 7254 0 7080 5 0 5 5 0 92 0 uvmvnodes 80 117 0 0 3 0 3 3 0 8 0 dma4096 4096 1 0 1 1 1 0 1 0 8 0 dma1024 1024 1 0 0 1 0 1 1 0 8 0 dma256 256 6 0 6 1 1 0 1 0 8 0 dma128 128 254 0 254 2 1 1 1 0 8 1 dma64 64 6 0 6 1 1 0 1 0 8 0 dma32 32 7 0 7 1 1 0 1 0 8 0 dma16 16 18 0 17 1 0 1 1 0 8 0 aobjpl 72 23 0 0 1 0 1 1 0 8 0 uaddrrnd 24 933 0 901 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 933 0 901 1 0 1 1 0 8 0 vmmpekpl 168 9445 0 9413 2 0 2 2 0 8 0 vmmpepl 168 66009 0 64036 109 0 109 109 0 357 18 vmsppl 488 932 0 901 6 1 5 5 0 8 1 rwobjpl 80 20584 0 19509 32 0 32 32 0 8 2 pdppl 4096 1875 0 1803 99 25 74 85 0 8 2 pvpl 32 20097 0 0 164 1 163 163 0 265 0 pmappl 256 933 0 901 3 0 3 3 0 8 0 extentpl 40 45 0 27 1 0 1 1 0 8 0 phpool 112 281 0 30 8 0 8 8 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{0}> trace x86_ipi_db(ffffffff83883ff0) at x86_ipi_db+0x27 sys/arch/amd64/amd64/db_interface.c:394 x86_ipi_handler() at x86_ipi_handler+0xd9 sys/arch/amd64/amd64/ipi.c:106 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27 mtx_enter(ffffffff8395d7f8) at mtx_enter+0x377 sys/kern/kern_lock.c:454 futex_wake(ffff800030fcc7e8,a2d90eab330,7fffffff,80,ffff8000357dcc40) at futex_wake+0x245 futex_list_wakeup sys/kern/sys_futex.c:345 [inline] futex_wake(ffff800030fcc7e8,a2d90eab330,7fffffff,80,ffff8000357dcc40) at futex_wake+0x245 sys/kern/sys_futex.c:482 sys_futex(ffff800030fcc7e8,ffff8000357dccf0,ffff8000357dcc40) at sys_futex+0x1d9 sys/kern/sys_futex.c:158 syscall(ffff8000357dccf0) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff8000357dccf0) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:775 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7e5b8c97b6d0, count: -8 ddb{0}> machine ddbcpu 1 Stopped at db_enter+0x25: addq $0x8,%rsp ddb{1}> trace db_enter() at db_enter+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(ffff8000299dee30,9,0) at witness_checkorder+0x10d1 sys/kern/subr_witness.c:-1 mtx_enter(ffff8000299dee20) at mtx_enter+0x95 sys/kern/kern_lock.c:406 clockintr_cancel(ffff8000299de2f8) at clockintr_cancel+0x2f sys/kern/kern_clockintr.c:323 mi_switch() at mi_switch+0x187 sys/kern/sched_bsd.c:376 sleep_finish(ffffffffffffffff,1) at sleep_finish+0x2d8 sys/kern/kern_synch.c:369 sys_futex(ffff800030fd5780,ffff80003c459d10,ffff80003c459c60) at sys_futex+0xb90 futex_wait sys/kern/sys_futex.c:306 [inline] sys_futex(ffff800030fd5780,ffff80003c459d10,ffff80003c459c60) at sys_futex+0xb90 sys/kern/sys_futex.c:155 syscall(ffff80003c459d10) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80003c459d10) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:775 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xa2d9b16ed30, count: -9