The bhyve(8) exit status indicates how the VM was terminated:
0 rebooted 1 powered off 2 halted 3 triple fault
The problem is when we have wrappers around bhyve that parses the exit error code and gets an exit(1) for an error but inteprets it as "powered off".
So to mitigate this issue and makes it less error prone for third part applications, I have replaced exit(3) with value 1 to err(3) with a proper exit error from sysexits(3).