On Wed, Jul 29, 2026 at 04:05:43AM -0700, Kevin Bowling wrote: > Hi Mark, > > This is resulting in relatively easy to trigger panic with 'syncthing' > running under INVARIANTS: > panic: kqueue_scan: knote 0xfffffe018aeab930 not on kqueue 0xfffff80010aa2400 > > The panic occurs at the new KASSERT in KQ_FLUX_SLEEP_WMESG(), called > from kqueue_scan() line 2197. Two Syncthing threads were concurrently > scanning the same kqueue. > > kgdb showed that the knote named in the panic was exactly the other > scanning thread’s local marker: > > &marker = 0xfffffe018aeab930 > marker.kn_status = KN_MARKER > marker.kn_kq = NULL > kq = 0xfffff80010aa2400
I just committed a change which should address this: https://cgit.freebsd.org/src/commit/?id=9a9349ea1da2d80e979fa87b430551d8f6dac7f4
