People, programmers,

I couldn't reproduce this panic I tried twice with all sorts of enabling the
console keyboard, disabling it and pressing the button to turn on/off the
sound card which is included in the KVM switch.

Some people mentioned to me off-list that they never got the backtrace:

https://mainrechner.de/P6160016.png

it was delivered to openbsd.org but held up probably due to large size.

Best Regards,
-peter

On Fri, Jun 16, 2023 at 05:42:26PM +0300, Vitaliy Makkoveev wrote:
> On Fri, Jun 16, 2023 at 02:09:41PM +0000, Visa Hankala wrote:
> > > On Fri, Jun 16, 2023 at 04:06:58PM +0300, Vitaliy Makkoveev wrote:
> > > According your photo, panic occurred in filt_wseventdetach().
> > 
> > The following tweak might help.
> > 
> > This code gets called indirectly through vdevgone() when a ws device
> > is detached. In principle, another thread could register a new event
> > with the device after the klist_invalidate() before the vnode clearing
> > takes effect in full. However, it looks that the callers
> > of wsevent_kqfilter() bail out if me_evp is NULL. The ws device close
> > routines clear this pointer before calling wsevent_fini().
> > 
> > Index: dev/wscons/wsevent.c
> > ===================================================================
> > RCS file: src/sys/dev/wscons/wsevent.c,v
> > retrieving revision 1.26
> > diff -u -p -r1.26 wsevent.c
> > --- dev/wscons/wsevent.c    2 Jul 2022 08:50:42 -0000       1.26
> > +++ dev/wscons/wsevent.c    16 Jun 2023 13:53:52 -0000
> > @@ -134,6 +134,8 @@ wsevent_fini(struct wseventvar *ev)
> >     free(ev->q, M_DEVBUF, WSEVENT_QSIZE * sizeof(struct wscons_event));
> >     ev->q = NULL;
> >  
> > +   klist_invalidate(&ev->sel.si_note);
> > +
> >     sigio_free(&ev->sigio);
> >  }
> >  
> > 
> 
> I suggested this. Makes sense in any case.
> 
> > > On Fri, Jun 16, 2023 at 04:06:58PM +0300, Vitaliy Makkoveev wrote:
> > >        ... To me it seems the reason is the missing klist_invalidate()
> > > call in the ukbd detach sequence.
> 

-- 
Over thirty years experience on Unix-like Operating Systems starting with QNX.

Reply via email to