On 14.11.2021. 22:50, Alexander Bluhm wrote: > New diff with fix from mvs@. Please continue testing with this one.
Hi, i've applied this diff on sasyncd setup with two ipsec sessions and i'm getting this panic. Box didn't panic instantly but after some time. I will leave ddb console active... r620-1# panic: kernel diagnostic assertion "refcnt != ~0" failed: file "/sys/kern/kern_synch.c", line 824 Stopped at db_enter+0x10: popq %rbp TID PID UID PRFLAGS PFLAGS CPU COMMAND 382266 23173 68 0x10 0x80 3 sasyncd 407096 64559 68 0x10 0x80 1 isakmpd *287846 76389 0 0x14000 0x40000200 0K softclock db_enter() at db_enter+0x10 panic(ffffffff81e52fc8) at panic+0xbf __assert(ffffffff81ebf6f1,ffffffff81e23497,338,ffffffff81e54ff7) at __assert+0x25 refcnt_rele(ffff800001488038) at refcnt_rele+0x6f tdb_free(ffff800001488010) at tdb_free+0x116 tdb_timeout(ffff800001488010) at tdb_timeout+0x39 timeout_run(ffff800001488068) at timeout_run+0x93 softclock_thread(ffff8000fffff260) at softclock_thread+0x11d end trace frame: 0x0, count: 7 https://www.openbsd.org/ddb.html describes the minimum info required in bug reports. Insufficient info makes it difficult to find and fix bugs. ddb{0}> ddb{0}> show locks exclusive rwlock netlock r = 0 (0xffffffff8219c1b8) #0 witness_lock+0x333 #1 tdb_timeout+0x18 #2 timeout_run+0x93 #3 softclock_thread+0x11d #4 proc_trampoline+0x1c shared rwlock timeout r = 0 (0xffffffff82160700) #0 witness_lock+0x333 #1 timeout_run+0x88 #2 softclock_thread+0x11d #3 proc_trampoline+0x1c exclusive kernel_lock &kernel_lock r = 0 (0xffffffff8233cbd0) #0 witness_lock+0x333 #1 __mp_acquire_count+0x38 #2 mi_switch+0x299 #3 sleep_finish+0x11c #4 softclock_thread+0xd4 #5 proc_trampoline+0x1c ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 23173 382266 23482 68 7 0x90 sasyncd 23482 270620 1 0 3 0x80 kqread sasyncd 64559 407096 82882 68 7 0x90 isakmpd 82882 269197 1 0 3 0x80 netio isakmpd 37653 133205 65408 0 3 0x100083 ttyin ksh 65408 289926 97192 1000 3 0x10008b sigsusp ksh 97192 251184 8671 1000 3 0x98 kqread sshd 8671 56983 39827 0 3 0x82 kqread sshd 46017 298252 1 0 3 0x100083 ttyin ksh 1861 295220 1 0 3 0x100098 kqread cron 16854 177115 71819 95 3 0x100092 kqread smtpd 1393 225046 71819 103 3 0x100092 kqread smtpd 64691 272570 71819 95 3 0x100092 kqread smtpd 83230 208366 71819 95 3 0x100092 kqread smtpd 97497 421023 71819 95 3 0x100092 kqread smtpd 88432 457526 71819 95 3 0x100092 kqread smtpd 71819 188076 1 0 3 0x100080 kqread smtpd 39827 214126 1 0 3 0x88 kqread sshd 29655 495924 1 0 3 0x100080 kqread ntpd 36076 376711 37441 83 3 0x100092 kqread ntpd 37441 106087 1 83 3 0x100092 kqread ntpd 68059 409459 2456 74 3 0x100092 bpf pflogd 2456 325385 1 0 3 0x80 netio pflogd 10369 56599 82476 73 3 0x100090 kqread syslogd 82476 4579 1 0 3 0x100082 netio syslogd 40946 324347 0 0 3 0x14200 bored smr 77501 384609 0 0 3 0x14200 pgzero zerothread 78741 290337 0 0 3 0x14200 aiodoned aiodoned 45215 268650 0 0 3 0x14200 syncer update 62355 93014 0 0 3 0x14200 cleaner cleaner 44276 256950 0 0 3 0x14200 reaper reaper 30498 450293 0 0 3 0x14200 pgdaemon pagedaemon 43809 11307 0 0 3 0x14200 usbtsk usbtask 58116 68425 0 0 3 0x14200 usbatsk usbatsk 25415 496397 0 0 3 0x40014200 acpi0 acpi0 9902 65516 0 0 7 0x40014200 idle5 23605 371050 0 0 7 0x40014200 idle4 96607 441776 0 0 3 0x40014200 idle3 5176 230617 0 0 7 0x40014200 idle2 19030 267534 0 0 3 0x40014200 idle1 32317 110469 0 0 3 0x14200 bored sensors 77670 69914 0 0 3 0x14200 bored softnet 76476 412718 0 0 3 0x14200 bored systqmp 2878 385617 0 0 3 0x14200 bored systq *76389 287846 0 0 7 0x40014200 softclock 23236 11183 0 0 3 0x40014200 idle0 1 95380 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> mach ddbcpu 1 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff800022409ff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff8233c9c8) at __mp_lock+0xa7 __mp_acquire_count(ffffffff8233c9c8,3) at __mp_acquire_count+0x38 mi_switch() at mi_switch+0x299 sleep_finish(ffff800022d8d310,1) at sleep_finish+0x11c msleep(fffffd841c7ad0e0,fffffd841c7ad0e0,318,ffffffff81eb639b,76e) at msleep+0x cc kqueue_sleep(fffffd841c7ad0e0,ffff800022d8d810) at kqueue_sleep+0xbe kqueue_scan(ffff800022d8d5c0,8,ffff800022d8d4c0,ffff800022d8d810,ffff800022cec0 08,ffff800022d8d77c) at kqueue_scan+0xfc dopselect(ffff800022cec008,17,d1c4a8b34b0,d1c4a8ac2e0,0,ffff800022d8d810,2fe4ad 0c81ebc82d,ffff800022cec008) at dopselect+0x388 sys_pselect(ffff800022cec008,ffff800022d8d880,ffff800022d8d8e0) at sys_pselect+ 0xdb syscall(ffff800022d8d950) at syscall+0x3a9 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7f7fffff4aa0, count: 1 ddb{1}> ddb{1}> mach ddbcpu 2 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff800022412ff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 acpicpu_idle() at acpicpu_idle+0x281 sched_idle(ffff800022412ff0) at sched_idle+0x27e end trace frame: 0x0, count: 10 ddb{2}> ddb{2}> mach ddbcpu 3 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff80002241bff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff8233c9c8) at __mp_lock+0xa0 __mp_acquire_count(ffffffff8233c9c8,3) at __mp_acquire_count+0x38 mi_switch() at mi_switch+0x299 sleep_finish(ffff800022d33680,1) at sleep_finish+0x11c msleep(fffffd841c7ad1b8,fffffd841c7ad1b8,318,ffffffff81eb639b,19e2) at msleep+0 xcc kqueue_sleep(fffffd841c7ad1b8,ffff800022d33b80) at kqueue_sleep+0xbe kqueue_scan(ffff800022d33930,3,ffff800022d33830,ffff800022d33b80,ffff800022cecd 28,ffff800022d33aec) at kqueue_scan+0xfc dopselect(ffff800022cecd28,6,7eba489b100,7eba489bc70,0,ffff800022d33b80,2fe4ad0 c81ebc82d,ffff800022cecd28) at dopselect+0x388 sys_pselect(ffff800022cecd28,ffff800022d33bf0,ffff800022d33c50) at sys_pselect+ 0xdb syscall(ffff800022d33cc0) at syscall+0x3a9 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7f7ffffd4a10, count: 1 ddb{3}> ddb{3}> mach ddbcpu 4 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff800022424ff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 acpicpu_idle() at acpicpu_idle+0x281 sched_idle(ffff800022424ff0) at sched_idle+0x27e end trace frame: 0x0, count: 10 ddb{4}> mach ddbcpu 5 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff80002242dff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 acpicpu_idle() at acpicpu_idle+0x281 sched_idle(ffff80002242dff0) at sched_idle+0x27e end trace frame: 0x0, count: 10 ddb{5}>