On Sun, Feb 18, 2018 at 04:23:39PM +0100, Aham Brahmasmi wrote:
> Hi,
>
> I have a simple installation of OpenBSD 6.2 with latest patches
> installed on an amd64 machine.
>
> I am unable to reboot an Alpine Linux 3.7.0 guest.
>
> 1) I have installed an Alpine Linux guest and it works fine on vmd. The
> entry in "vmctl status" properly lists the guest after host boot.
>
> $ vmctl status
> ID PID VCPUS MAXMEM CURMEM TTY OWNER NAME
> 1 #### 1 1.0G ###M ttyp0 root vmname
>
> 2) Now when I run "reboot" within the Alpine guest, one CPU on the
> host machine starts hitting 100%. Later the screen displays a blue
> background error message.
>
> Tailing the /var/log/messages lists the following error messages:
>
> /bsd: vmx_fault_page: uvm_fault returns 14, GPA=0xffffa148, rip=0xf7d8a
> vmd: vcpu_run_loop: vm 1 / vcpu 0 run ioctl failed: Bad address
>
> At this point, the 100% CPU returns to normal load.
>
> 3) A subsequent "vmctl status" does not show the vm.
>
> $ vmctl status
> ID PID VCPUS MAXMEM CURMEM TTY OWNER NAME
>
> Trying to start the vm via a "vmctl start vmname" outputs the following
>
> $ doas vmctl start vmname
> vmctl: start vm command failed: Operation already in progress
>
> However, there is no vm listed in the output of "vmctl status".
>
> $ vmctl status
> ID PID VCPUS MAXMEM CURMEM TTY OWNER NAME
> $ doas rcctl check vmd
> vmd(ok)
> $ doas vmctl reload
> vmctl: command failed
>
> After vmctl reload, the tailed log contains:
>
> vmd: /etc/vm.conf:##: vm "vmname" failed: Operation not permitted
>
> I have run "poweroff" within Alpine as well, but it has a similar result
> as above. The vm shuts down, there is no 100% CPU, but it is not visible
> within the vmctl status. Trying to start via vmctl results in the same
> output on commandline.
>
> $ doas vmctl start vmname
> vmctl: start vm command failed: Operation already in progress
>
> The tailed log contains:
>
> vmd: vcpu_run_loop: vm 3 / vcpu 0 run ioctl failed: Input/output error
>
> 4) A "doas vmctl stop #" results in one CPU hitting and staying at 100%.
>
> $ doas vmctl stop #
> $ top
> PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
> #### _vmd 28 0 1027M 102M onproc/0 thrdeat ##.#H 99.02% vmd
> $ vmctl status
> ID PID VCPUS MAXMEM CURMEM TTY OWNER NAME
> 1 #### 1 1.0G ###M ttyp0 root vmname - stoppin
>
> The only way that works right now is to do a "doas rcctl stop vmd",
> "doas rcctl start vmd". However, this results in the entire vmd being
> stopped and started.
>
> The relevant section of /etc/vm.conf
>
> vm vmname {
> disk location/disk.img
> interface tap0 {
> locked lladdr 00:00:00:00:00:01
> switch "local"
> }
> memory 1G
> owner normaluser
> }
>
> switch "local" {
> add vether0
> interface bridge0
> }
>
> I am sorry for the long mail.
>
> Thanks.
>
> Regards,
> ab.
> ---------|---------|---------|---------|---------|---------|---------|--
>
Quite of few bug fixes and enhancements to vmd occurred after 6.2 was released.
Is it possible to run your host with 6.2-current?
+--+
Carlos