witness: lock order reversal: 1st 0xffffffff82cc8bd0 &sched_lock (&sched_lock) 2nd 0xffff800029b94558 &pr->ps_mtx (&pr->ps_mtx) lock order "&pr->ps_mtx"(mutex) -> "&sched_lock"(sched_lock) first seen at: #0 __mp_lock+0xa2 read_rflags machine/cpufunc.h:195 [inline] #0 __mp_lock+0xa2 intr_disable machine/cpufunc.h:216 [inline] #0 __mp_lock+0xa2 sys/kern/kern_lock.c:142 #1 donice+0x178 sys/kern/kern_resource.c:218 #2 syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline] #2 syscall+0x5e2 sys/arch/amd64/amd64/trap.c:623 #3 Xsyscall+0x128 lock order "&sched_lock"(sched_lock) -> "&pr->ps_mtx"(mutex) first seen at: #0 mtx_enter+0x3e sys/kern/kern_lock.c:265 #1 single_thread_set+0x35a single_thread_wait sys/kern/kern_sig.c:2172 [inline] #1 single_thread_set+0x35a sys/kern/kern_sig.c:2155 #2 sigexit+0x90 sys/kern/kern_sig.c:1562 #3 postsig+0x4a9 sys/kern/kern_sig.c:1494 #4 userret+0x16e sys/kern/kern_sig.c:1987 #5 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #5 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #6 Xsyscall+0x128 Stopped at db_enter+0x1c: 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+0x1c sys/arch/amd64/amd64/db_interface.c:437 witness_checkorder(ffff800029b94558,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2510 [inline] witness_checkorder(ffff800029b94558,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1110 mtx_enter(ffff800029b94548) at mtx_enter+0x3e sys/kern/kern_lock.c:265 single_thread_set(ffff80002126a2a8,0,1) at single_thread_set+0x35a single_thread_wait sys/kern/kern_sig.c:2172 [inline] single_thread_set(ffff80002126a2a8,0,1) at single_thread_set+0x35a sys/kern/kern_sig.c:2155 sigexit(ffff80002126a2a8,6) at sigexit+0x90 sys/kern/kern_sig.c:1562 postsig(ffff80002126a2a8,6,ffff8000212d32a8) at postsig+0x4a9 sys/kern/kern_sig.c:1494 userret(ffff80002126a2a8) at userret+0x16e sys/kern/kern_sig.c:1987 syscall(ffff8000212d33e0) at syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] syscall(ffff8000212d33e0) at syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xf0c57187ac0, count: -9 ddb{1}> show registers rdi 0x3 rsi 0x40000 acpi_pdirpa+0x2be63 rbp 0xffff8000212d2fb0 rbx 0x3 rdx 0xffff800000d65e40 rcx 0xffff80002126a2a8 rax 0x3ffff acpi_pdirpa+0x2be62 r8 0xffff8000212d2f20 r9 0x8080808080808080 r10 0x87ec3efd0065e6c r11 0xecd20ad38d73b893 r12 0xfffffd8003a0a850 r13 0 r14 0xfffffd80039f93f0 r15 0xfffffd80031c7bc0 rip 0xffffffff81b6e27c db_enter+0x1c cs 0x8 rflags 0x246 rsp 0xffff8000212d2fa0 ss 0x10 db_enter+0x1c: addq $0x8,%rsp ddb{1}> show proc PROC (syz-executor.2) pid=11925 stat=onproc flags process=500010 proc=4002000 pri=32, usrpri=71, nice=20 forw=0xffffffffffffffff, list=0xffff800021272ac0,0xffffffff82c90e98 process=0xffff800029b94448 user=0xffff8000212ce000, vmspace=0xfffffd807142b3c8 estcpu=36, cpticks=0, pctcpu=0.0 user=0, sys=0, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 50368 36764 99754 32767 4 0x582010 syz-executor.2 *50368 11925 99754 32767 7 0x4502010 syz-executor.2 62470 400552 43762 32767 3 0x90 nanoslp syz-executor.4 62470 284902 43762 32767 3 0x4000090 pipewr syz-executor.4 62470 350540 43762 32767 3 0x4000090 fsleep syz-executor.4 62470 207553 43762 32767 3 0x4000090 fsleep syz-executor.4 22131 286512 46931 32767 2 0x10 syz-executor.1 22131 440944 46931 32767 3 0x4000090 pipewr syz-executor.1 22131 51894 46931 32767 3 0x4000090 pipewr syz-executor.1 22131 121160 46931 32767 3 0x4000090 fsleep syz-executor.1 82676 430049 87267 32767 3 0x90 nanoslp syz-executor.5 82676 366686 87267 32767 3 0x4000090 fsleep syz-executor.5 82676 17513 87267 32767 3 0x4000090 pipewr syz-executor.5 82676 383544 87267 32767 3 0x4000090 fsleep syz-executor.5 83671 196535 81335 32767 3 0x90 nanoslp syz-executor.6 83671 416682 81335 32767 3 0x4000090 pipewr syz-executor.6 83671 176339 81335 32767 3 0x4000090 fsleep syz-executor.6 83671 298234 81335 32767 3 0x4000090 fsleep syz-executor.6 87267 175289 80409 32767 3 0x90 nanoslp syz-executor.5 80409 128559 51967 0 3 0x82 wait syz-executor.5 42782 268590 47136 32767 3 0x90 piperd syz-executor.7 47136 352115 51967 0 3 0x82 wait syz-executor.7 99754 389270 54211 32767 3 0x90 nanoslp syz-executor.2 54211 31575 51967 0 3 0x82 wait syz-executor.2 16488 311196 69892 32767 7 0x10 syz-executor.0 69892 49797 51967 0 3 0x82 wait syz-executor.0 92034 114888 0 0 3 0x14200 bored sosplice 81335 328674 16978 32767 3 0x90 nanoslp syz-executor.6 43762 234717 46469 32767 3 0x90 nanoslp syz-executor.4 16978 67104 51967 0 3 0x82 wait syz-executor.6 46931 425927 56347 32767 3 0x90 nanoslp syz-executor.1 46469 296086 51967 0 3 0x82 wait syz-executor.4 56347 273167 51967 0 3 0x82 wait syz-executor.1 86025 273889 44645 32767 3 0x90 piperd syz-executor.3 44645 458832 51967 0 3 0x82 wait syz-executor.3 51967 474110 21018 0 3 0x2000082 wait syz-fuzzer 51967 495727 21018 0 3 0x6000082 nanoslp syz-fuzzer 51967 180438 21018 0 3 0x6000082 wait syz-fuzzer 51967 53008 21018 0 3 0x6000082 thrsleep syz-fuzzer 51967 183077 21018 0 3 0x6000082 kqread syz-fuzzer 51967 64008 21018 0 3 0x6000082 thrsleep syz-fuzzer 51967 217338 21018 0 3 0x6000082 wait syz-fuzzer 51967 338416 21018 0 3 0x6000082 thrsleep syz-fuzzer 51967 301234 21018 0 3 0x6000082 thrsleep syz-fuzzer 51967 326212 21018 0 3 0x6000082 wait syz-fuzzer 51967 253421 21018 0 3 0x6000082 thrsleep syz-fuzzer 51967 294437 21018 0 3 0x6000082 thrsleep syz-fuzzer 51967 286629 21018 0 3 0x6000082 wait syz-fuzzer 51967 220195 21018 0 3 0x6000082 wait syz-fuzzer 51967 360476 21018 0 3 0x6000082 wait syz-fuzzer 51967 279976 21018 0 3 0x6000082 wait syz-fuzzer 21018 279399 80504 0 3 0x10008a sigsusp ksh 80504 175055 51117 0 3 0x9a kqread sshd 60160 307143 1 0 3 0x100083 ttyin getty 51117 89741 1 0 3 0x88 kqread sshd 62452 495938 98543 73 3 0x1100090 kqread syslogd 98543 382015 1 0 3 0x100082 netio syslogd 47520 157511 1 0 3 0x100080 kqread resolvd 43002 297534 98516 77 3 0x100092 kqread dhcpleased 37745 266693 98516 77 3 0x100092 kqread dhcpleased 98516 397237 1 0 3 0x80 kqread dhcpleased 77610 1833 0 0 3 0x14200 bored smr 18169 414281 0 0 2 0x14200 zerothread 57824 64567 0 0 3 0x14200 aiodoned aiodoned 97295 503085 0 0 3 0x14200 syncer update 6689 174335 0 0 3 0x14200 cleaner cleaner 4309 47134 0 0 3 0x14200 reaper reaper 7293 465789 0 0 3 0x14200 pgdaemon pagedaemon 80477 169617 0 0 3 0x14200 bored viomb 94531 131880 0 0 3 0x40014200 acpi0 acpi0 70871 349108 0 0 3 0x40014200 idle1 50406 173871 0 0 3 0x14200 bored softnet3 91 171214 0 0 3 0x14200 bored softnet2 89719 441037 0 0 3 0x14200 bored softnet1 76611 320915 0 0 3 0x14200 bored softnet0 71124 399230 0 0 3 0x14200 bored systqmp 74357 326853 0 0 3 0x14200 bored systq 65206 332168 0 0 3 0x40014200 bored softclock 9250 285010 0 0 3 0x40014200 idle0 1 45073 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> show all locks CPU 1: exclusive sched_lock &sched_lock r = 0 (0xffffffff82cc8bd0) #0 witness_lock+0x447 #1 single_thread_set+0x179 sys/kern/kern_sig.c:2113 #2 sigexit+0x90 sys/kern/kern_sig.c:1562 #3 postsig+0x4a9 sys/kern/kern_sig.c:1494 #4 userret+0x16e sys/kern/kern_sig.c:1987 #5 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #5 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #6 Xsyscall+0x128 Process 50368 (syz-executor.2) thread 0xffff80002126a2a8 (11925) exclusive kernel_lock &kernel_lock r = 0 (0xffffffff82ca0228) #0 witness_lock+0x447 #1 postsig+0x49e sys/kern/kern_sig.c:1500 #2 userret+0x16e sys/kern/kern_sig.c:1987 #3 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #3 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #4 Xsyscall+0x128 exclusive sched_lock &sched_lock r = 0 (0xffffffff82cc8bd0) #0 witness_lock+0x447 #1 single_thread_set+0x179 sys/kern/kern_sig.c:2113 #2 sigexit+0x90 sys/kern/kern_sig.c:1562 #3 postsig+0x4a9 sys/kern/kern_sig.c:1494 #4 userret+0x16e sys/kern/kern_sig.c:1987 #5 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #5 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #6 Xsyscall+0x128 ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10189 6408K 6420K 78643K 11297 0 pcb 13 10K 12K 78643K 15 0 rtable 236 6K 7K 78643K 753 0 pf 29 8K 8K 78643K 49 0 ifaddr 44 15K 15K 78643K 88 0 ifgroup 50 2K 2K 78643K 90 0 sysctl 3 1K 1K 78643K 3 0 counters 60 35K 35K 78643K 80 0 ioctlops 0 0K 2K 78643K 111 0 iov 0 0K 16K 78643K 540 0 mount 1 1K 1K 78643K 1 0 log 0 0K 0K 78643K 4 0 vnodes 1279 80K 80K 78643K 1808 0 UFS quota 1 32K 32K 78643K 1 0 UFS mount 5 36K 36K 78643K 5 0 shm 2 1K 5K 78643K 39 0 VM map 2 1K 1K 78643K 2 0 sem 11 0K 0K 78643K 14 0 dirhash 12 2K 2K 78643K 12 0 ACPI 1697 195K 286K 78643K 12548 0 file desc 23 85K 117K 78643K 4564 0 sigio 0 0K 0K 78643K 99 0 proc 56 78K 115K 78643K 995 0 subproc 104 6K 6K 78643K 234 0 NFS srvsock 1 0K 0K 78643K 1 0 NFS daemon 1 16K 16K 78643K 1 0 ip_moptions 0 0K 0K 78643K 1420 0 in_multi 99 7K 7K 78643K 261 0 ether_multi 1 0K 0K 78643K 7 0 mrt 1 0K 0K 78643K 1 0 ISOFS mount 1 32K 32K 78643K 1 0 MSDOSFS mount 1 16K 16K 78643K 1 0 ttys 73 334K 334K 78643K 73 0 exec 0 0K 1K 78643K 1070 0 tdb 3 0K 0K 78643K 3 0 pagedep 1 8K 8K 78643K 1 0 inodedep 1 32K 32K 78643K 1 0 newblk 1 0K 0K 78643K 1 0 VM swap 8 62K 64K 78643K 10 0 UVM amap 413 91K 104K 78643K 47989 0 UVM aobj 80 5K 7K 78643K 86 0 memdesc 1 4K 4K 78643K 1 0 crypto data 1 1K 1K 78643K 1 0 ip6_options 0 0K 0K 78643K 105 0 NDP 11 0K 2K 78643K 57 0 temp 74 5920K 5986K 78643K 14872 0 kqueue 13 20K 34K 78643K 367 0 SYN cache 2 16K 16K 78643K 2 0 ddb{1}> show all pools Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle plcache 128 22 0 0 1 0 1 1 0 8 0 rtpcb 120 284 0 281 5 4 1 5 0 8 0 rtentry 112 228 0 117 4 0 4 4 0 8 0 unpcb 144 2297 0 2213 24 20 4 6 0 8 0 syncache 304 52 0 52 11 11 0 1 0 8 0 tcpqe 32 618 0 618 7 7 0 2 0 8 0 tcpcb 808 1588 0 1582 43 39 4 11 0 8 3 arp 120 39 0 21 1 0 1 1 0 8 0 ipq 40 7 0 6 3 2 1 1 0 8 0 ipqe 40 25 0 21 3 2 1 1 0 8 0 inpcb 368 2912 0 2903 42 38 4 11 0 8 3 nd6 136 60 0 35 1 0 1 1 0 8 0 kcovpl 48 18 0 10 1 0 1 1 0 8 0 art_heap8 4096 1 0 0 1 0 1 1 0 8 0 art_heap4 256 921 0 459 29 0 29 29 0 8 0 art_table 32 922 0 459 4 0 4 4 0 8 0 art_node 16 227 0 126 1 0 1 1 0 8 0 semupl 112 6 0 6 1 1 0 1 0 8 0 semapl 112 9 0 0 1 0 1 1 0 8 0 shmpl 112 83 0 6 3 0 3 3 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 6821 0 5375 91 0 91 91 0 8 0 ffsino 272 6821 0 5375 97 0 97 97 0 8 0 nchpl 144 12719 0 11075 63 0 63 63 0 8 0 uvmvnodes 80 5926 0 0 121 0 121 121 0 8 0 vnodes 216 5926 0 0 330 0 330 330 0 8 0 namei 1024 41382 0 41382 3 2 1 2 0 8 1 percpumem 16 53 0 10 1 0 1 1 0 8 0 kstatmem 264 42 0 20 2 0 2 2 0 8 0 scxspl 216 45553 0 45553 23 22 1 8 1 8 1 plimitpl 152 481 0 458 6 5 1 2 0 8 0 sigapl 424 4840 0 4788 7 0 7 7 0 8 0 futexpl 64 29799 0 29792 3 2 1 1 0 8 0 knotepl 120 444 0 0 12 1 11 11 0 8 0 kqueuepl 216 966 0 925 15 12 3 5 0 8 0 pipepl 320 4675 0 4642 73 64 9 14 0 8 5 fdescpl 496 4822 0 4788 7 2 5 6 0 8 0 filepl 152 30910 0 30560 77 59 18 20 0 8 4 lockfpl 104 638 0 635 1 0 1 1 0 8 0 lockfspl 48 170 0 167 1 0 1 1 0 8 0 sessionpl 144 33 0 17 1 0 1 1 0 8 0 pgrppl 48 49 0 33 1 0 1 1 0 8 0 ucredpl 104 2787 0 2769 1 0 1 1 0 8 0 zombiepl 144 4788 0 4788 1 0 1 1 0 8 1 processpl 1072 4840 0 4788 4 0 4 4 0 8 0 procpl 680 13541 0 13461 11 3 8 8 0 8 0 sosppl 168 56 0 56 7 6 1 1 0 8 1 sockpl 488 5697 0 5601 114 101 13 22 0 8 1 mcl64k 65536 17 0 0 3 0 3 3 0 8 0 mcl16k 16384 17 0 0 3 0 3 3 0 8 0 mcl12k 12288 10 0 0 1 0 1 1 0 8 0 mcl9k 9216 22 0 0 2 0 2 2 0 8 0 mcl8k 8192 29 0 0 4 2 2 3 0 8 0 mcl4k 4096 30 0 0 3 0 3 3 0 8 0 mcl2k2 2112 6 0 0 1 0 1 1 0 8 0 mcl2k 2048 355 0 0 44 3 41 44 0 8 1 mtagpl 96 5 0 0 1 0 1 1 0 8 0 mbufpl 256 1047 0 0 58 0 58 58 0 8 0 bufpl 288 10640 0 4314 452 0 452 452 0 8 0 anonpl 24 621982 0 610562 162 80 82 98 0 186 0 amapchunkpl 152 152214 0 151272 86 46 40 56 0 158 1 amappl16 200 14148 0 13869 71 56 15 29 0 8 0 amappl15 192 12 0 12 1 1 0 1 0 8 0 amappl14 184 184 0 172 2 1 1 2 0 8 0 amappl13 176 13 0 12 1 0 1 1 0 8 0 amappl12 168 5621 0 5579 3 0 3 3 0 8 0 amappl11 160 53 0 42 1 0 1 1 0 8 0 amappl10 152 40 0 29 1 0 1 1 0 8 0 amappl9 144 260 0 258 1 0 1 1 0 8 0 amappl8 136 403 0 295 4 0 4 4 0 8 0 amappl7 128 167 0 152 2 0 2 2 0 8 0 amappl6 120 359 0 337 2 1 1 2 0 8 0 amappl5 112 320 0 311 1 0 1 1 0 8 0 amappl4 104 717 0 680 2 0 2 2 0 8 0 amappl3 96 29793 0 29687 9 5 4 4 0 8 1 amappl2 88 5255 0 5179 3 1 2 3 0 8 0 amappl1 80 25611 0 25082 22 10 12 22 0 8 0 amappl 88 47237 0 46968 7 0 7 7 0 92 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 253 0 253 1 1 0 1 0 8 0 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 85 0 6 2 0 2 2 0 8 0 uaddrrnd 24 4822 0 4788 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 4822 0 4788 1 0 1 1 0 8 0 vmmpekpl 168 58412 0 58345 4 0 4 4 0 8 0 vmmpepl 168 301051 0 298667 172 60 112 122 0 357 1 vmsppl 464 4821 0 4788 7 2 5 6 0 8 0 rwobjpl 56 87428 0 80047 109 4 105 106 0 8 0 pdppl 4096 9652 0 9576 246 164 82 92 0 8 6 pvpl 32 1665126 0 1647260 442 255 187 364 0 265 27 pmappl 248 4821 0 4788 4 1 3 3 0 8 0 extentpl 40 56 0 38 1 0 1 1 0 8 0 phpool 112 1136 0 253 26 0 26 26 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x1e: addq $0x8,%rsp ddb{0}> trace x86_ipi_db(ffffffff82c05ff0) at x86_ipi_db+0x1e sys/arch/amd64/amd64/db_interface.c:393 x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27 __mp_lock(ffffffff82ca0020) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff82ca0020) at __mp_lock+0x122 sys/kern/kern_lock.c:147 intr_handler(ffff80002e451880,ffff800000069c00) at intr_handler+0x62 sys/arch/amd64/amd64/intr.c:532 Xintr_ioapic_edge16_untramp() at Xintr_ioapic_edge16_untramp+0x18f __mp_lock(ffffffff82ca0020) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff82ca0020) at __mp_lock+0x122 sys/kern/kern_lock.c:147 softintr_dispatch(0) at softintr_dispatch+0x52 sys/arch/amd64/amd64/softintr.c:88 Xsoftclock() at Xsoftclock+0x27 __sanitizer_cov_trace_pc() at __sanitizer_cov_trace_pc syscall(ffff80002e451bc0) at syscall+0x5cd mi_syscall sys/sys/syscall_mi.h:110 [inline] syscall(ffff80002e451bc0) at syscall+0x5cd sys/arch/amd64/amd64/trap.c:623 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x72d3ffae7330, count: -12 ddb{0}> machine ddbcpu 1 Stopped at db_enter+0x1c: addq $0x8,%rsp ddb{1}> trace db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437 witness_checkorder(ffff800029b94558,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2510 [inline] witness_checkorder(ffff800029b94558,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1110 mtx_enter(ffff800029b94548) at mtx_enter+0x3e sys/kern/kern_lock.c:265 single_thread_set(ffff80002126a2a8,0,1) at single_thread_set+0x35a single_thread_wait sys/kern/kern_sig.c:2172 [inline] single_thread_set(ffff80002126a2a8,0,1) at single_thread_set+0x35a sys/kern/kern_sig.c:2155 sigexit(ffff80002126a2a8,6) at sigexit+0x90 sys/kern/kern_sig.c:1562 postsig(ffff80002126a2a8,6,ffff8000212d32a8) at postsig+0x4a9 sys/kern/kern_sig.c:1494 userret(ffff80002126a2a8) at userret+0x16e sys/kern/kern_sig.c:1987 syscall(ffff8000212d33e0) at syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] syscall(ffff8000212d33e0) at syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xf0c57187ac0, count: -9