On Wed, Feb 28, 2024 at 12:26:43PM +0100, Marko Cupać wrote: > Hi, > > thank you for looking into it, and for the advice. > > On Wed, 28 Feb 2024 10:13:06 +0000 > Stuart Henderson <[email protected]> wrote: > > > Please try to re-type at least the most important bits from a > > screenshot so readers can quickly see which subsystems are involved. > > Below is manual transcript of whole screenshot, hopefully no typos. > > If you have any advice on what should I do if it happens again in order > to get as much info for debuggers as possible, please let me know. > > splassert: assertwaitok: want 0 have 4 > panic: kernel diagnostic assertion "p->p_wchan == NULL" failed: file > "/usr/src/sys/kern/kern_sched.c", line 373 > Stopped at db_enter+0x14: popq %rbp > TID PID UID PRFLAGS PFLAGS CPU COMMAND > 199248 36172 577 0x10 0 1 openvpn > 490874 47446 0 0x14000 0x200 2 wg_handshake > 71544 9311 0 0x14000 0x200 3 softnet0 > db_enter() at db_enter+0x14 > panic(ffffffff820a4b9f) at panic+0xc3 > __assert(ffffffff82121fcb,ffffffff8209ae5f,175,ffffffff82092fbf) at > assert+0x29 > sched_chooseproc() at sched_chooseproc+0x26d > mi_switch() at mi_switch+0x17f > sleep_finish(0,1) at sleep_finish+0x107 > rw_enter(ffff800008003cf0,2) at rw_enter+0x1ad > noise_remote_ready(ffff800008003bf0) at noise_remote_ready+0x33 > wg_qstart(fff800000a622a8) at wg_qstart+0x18c > ifq_serialize(ffff800000a622a8,ffff800000a62390) at ifq_serialize+0xfd > hfsc_deferred(ffff800000a62000) at hfsc_deferred+0x68 > softclock_process_tick_timeout(ffff80000115e248,1) at > softclock_process_tick_timeout+0xfb > softclock(0) at softclock+0xb8 > softintr_dispatch(0) at softintr_dispatch+0xeb > end trace frame: 0xffff800020dbc730, count:0 >
WTF! wg(4) is just broken. How the hell should a sleeping rw_lock work when called from inside a timeout aka softclock? This is interrupt context code is not allowed to sleep there. -- :wq Claudio
