Crashes When Running OpenBSD Guests on VmWare Server 1.0.x

I've been running some OpenBSD guests on a Linux VmWare Server host with great success. Performance is great since OpenBSD is a light system packed with all the features you might need and VmWare Server does a great job virtualizing even this unsupported platform.

However I have been suffering from a strange error that ocurred whenever certain processes in the guests were launched. VmWare's logfile (shown below) contained messages about an unrecoverable error, dying threads and a "NOT IMPLEMENTED" error label pointing to the vlance driver (network interface driver). The guest would then suffer a crash and upon reboot fs checks would be needed.

Oct 30 13:45:43: vcpu-0| [msg.log.error.unrecoverable] VMware Server unrecoverable error: (vcpu-0)
Oct 30 13:45:43: vcpu-0| NOT_IMPLEMENTED /build/mts/release/bora-56528/pompeii2005/bora/devices/net/vlance_shared.c:698
Oct 30 13:45:43: vcpu-0| [msg.panic.haveLog] A log file is available in "/var/lib/vmware/Virtual Machines/spampot-fing/vmware.log".  [msg.panic.haveCore] A core file is available in "/var/lib/vmware/Virtual Machines/spampot-fing/core".  [msg.panic.requestSupport.withLogAndCore] Please request support and include the contents of the log file and core file.  [msg.panic.requestSupport.linux]
Oct 30 13:45:43: vcpu-0| To collect files to submit to VMware support, run vm-support.
Oct 30 13:45:43: vcpu-0| [msg.panic.response] We will respond on the basis of your support entitlement.
Oct 30 13:45:43: vcpu-0| ----------------------------------------
Oct 30 13:45:43: vcpu-0| POST(no connection): VMware Server unrecoverable error: (vcpu-0)
Oct 30 13:45:43: vcpu-0| NOT_IMPLEMENTED /build/mts/release/bora-56528/pompeii2005/bora/devices/net/vlance_shared.c:698
Oct 30 13:45:43: vcpu-0| A log file is available in "/var/lib/vmware/Virtual Machines/spampot-fing/vmware.log".  A core file is available in "/var/lib/vmware/Virtual Machines/spampot-fing/core".  Please request support and include the contents of the log file and core file.
Oct 30 13:45:43: vcpu-0| To collect files to submit to VMware support, run vm-support.
Oct 30 13:45:43: vcpu-0| We will respond on the basis of your support entitlement.
Oct 30 13:45:43: vcpu-0|

 

The workaround I found on the Internet was to stop using the vlance driver altogether and move to the vic network driver. "vic" is a VmWare-specific driver developed by the OpenBSD team that first appeared in OpenBSD 3.9 and on my OpenBSD 4.2 guests appears quite stable. I have not suffered any more crashes.

Steps to use the "vic" driver:

  1. Edit your .vmx file, in my case "spampot.vmx" and add the follwing line:
    • ethernet0.VirtualDev = "vmxnet"
      
  2. Boot your OpenBSD guest in single mode by entering "boot -s" in the boot loader prompt and copy your "hostname.XXX0" (where XXX was your network driver's name, pcn in my case) file to "hostname.vic0"
    • You may need to remount your root fs in read-write mode, use "mount -o rw /"
  3. Reboot and voilá!