vCPU thaw triggering VMEXIT_ABORT
In [docker/for-mac#85] the report with diagnostic bundle ID 264231A3-7008-4FAA-9D89-83D089716817/20160817-153827 shows a hyperkit crash on wake: (hostname and username redacted)
Aug 17 14:59:30 Docker[com.docker.driver.amd64-linux][27183] <Notice>: System wants to go to sleep
Aug 17 14:59:30 Docker[com.docker.driver.amd64-linux][27183] <Notice>: Asking com.docker.hyperkit to freeze vcpus
Aug 17 14:59:31 Docker[com.docker.driver.amd64-linux][27183] <Notice>: vcpu 3 waiting for signal to resume
Aug 17 14:59:31 Docker[com.docker.driver.amd64-linux][27183] <Notice>: vcpu 0 waiting for signal to resume
Aug 17 14:59:31 Docker[com.docker.driver.amd64-linux][27183] <Notice>: vcpu freeze complete: allowing sleep
Aug 17 14:59:31 kernel[kern][0] <Notice>: PM response took 105 ms (27183, com.docker.drive)
Aug 17 14:59:31 Docker[com.docker.driver.amd64-linux][27183] <Notice>: vcpu 1 waiting for signal to resume
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: System wants to wake up
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: Asking com.docker.hyperkit to thaw vcpus
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: vcpu 3 received signal, resuming
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: vm exit[3]
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: reason VMX
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: rip 0xffffffff8103b2e4
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: inst_length 3
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: status 0
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: virtio-net-vpnkit: initialising, opts="uuid=...
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: exit_reason 2
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: Interface will have uuid 7916572e-0a15-49fc-93a3-b8bb31c3ed15
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: qualification 0x0000000000000000
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: inst_type 0
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: inst_error 0
Aug 17 15:00:10 Docker[com.docker.driver.amd64-linux][27183] <Notice>: Connection established with MAC=c0:ff:ee:c0:ff:ee and MTU 1500
It looks like it died in vmexit_vmx with VMEXIT_ABORT
I think docker 4 mac has since disabled the freezing/thawing of vcpus over suspend (which itself was a workaround for an older osx Hypervisor framework bug which appears to have been fixed in OSX) by default. Given that I'm inclined to not pursue this issue further.
We should maybe even consider dropping the code from hyperkit altogether, although I think for now it is still something one can opt into in docker4mac in case you trip over the issue (e.g. you are running an older OSX).