Quoting Ted Unangst (2017-07-19 05:38:41)
> Max Parmer wrote:
> >
> > >Synopsis: OpenBSD guest hangs in vmd on -current host
> > >Category: system
> > >Environment:
> > System : OpenBSD 6.1
> > Details : OpenBSD 6.1-current (GENERIC.MP) #99: Mon Jul 17
> > 16:53:49 MDT 2017
> >
> > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >
> > Architecture: OpenBSD.amd64
> > Machine : amd64
> > >Description:
> > When running an OpenBSD guest under vmd after a short time the guest
> > will hang, the
> > corresponding vmd process will hit and stay at 99.9% CPU usage.
> >
> > Examination with ktrace shows a pattern similar to the past reports
> > from tedu@[1] and
> > Gregor Best[2] with the process spinning on kevent and gettime,
> > excerpt:
> > 15607 vmd RET kevent 1
> > 15607 vmd CALL clock_gettime(CLOCK_MONOTONIC,0x121dae4dbd20)
> >
> > 15607 vmd STRU struct timespec { 20180.643241450 }
> >
> > 15607 vmd RET clock_gettime 0
> > 15607 vmd CALL kevent(5,0,0,0x121da5f22000,64,0x121dae4dbcf0)
> >
> > 15607 vmd STRU struct timespec { 0.002255000 }
> >
> > I first encountered this issue on the snapshot from Jul 15th and was
> > able to reproduce
> > several times under that snapshot and the subsequent snapshots from
> > the 16th and 17th.
>
> i didn't dig into vmd to see where it's spinning, but if you run vmd with env
> EVENT_NOKQUEUE=1 then I haven't observed the problem.
This definitely stopped the hangs for me too, although it yields a lot of these
log messages:
vmd[63411]: unexpected read return value on com device
These messages are logged prolificly 'til I connect to the VM's console,
which seems to implicate usr.sbin/vmd/ns8250.c