Being too eager, as I generally am, I went straight ahead and updated to OSX Mavericks when it launched yesterday, and it broke my development environment.
So how do you go about fixing Vagrant after an OSX Mavericks update?
Updated: 30th October – issues with starting VM on computer restart
Updated: 5th November – changes to VirtualBox in version 4.3
After updating to OSX Mavericks, I was getting the following error message:
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["hostonlyif", "create"]Stderr: 0%...Progress state: NS_ERROR_FAILURE VBoxManage: error: Failed to create the host-only adapter VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 68 of file VBoxManageHostonly.cpp
After trying to update VirtualBox (didn’t work), refresh Vagrant (didn’t work), review permissions on the Vagrant folders (didn’t work), I stumbled across the following command, which seemed to do the trick in fixing Vagrant after the OSX Mavericks update.
sudo /Library/StartupItems/VirtualBox/VirtualBox restart
Update: If you’re running the latest 4.3 version of Virtual box the restart command has changed – it’s now;
sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist
The next ‘vagrant up’ command I ran worked, and my dev environment is back in action.
Update: If you’re still having problems with virtual machine being broken on computer restart..
I know a lot of people are having a similar problem – even if you perform a graceful shutdown of your VM before turning off your mac, on restart your VM is broken again.
Last night I uninstalled and updated VirtualBox to 4.3, did the same to Vagrant, and made sure I had the latest version of Varying Vagrant Vagrants. I then killed my existing virtual machine with ‘vagrant destroy’ which has the effect of downloading a new VM on next ‘vagrant up’. After downloading and installing everything my VM was back up and running.
I then shut down my mac, and restarted. This time a ‘vagrant up’ worked. Or at least it seemed to until I discovered that no sites on the VM responded when I tried to visit them in my brower. I logged into the VM on SSH and checked NGINX – it hadn’t started for some reason, so I restarted the service with ‘service nginx reload’, which worked.
Problem is, still no sites respond.
At present the only way I can get my VM working again after a reboot is to run:
vagrant up --provision
Adding this extra parameter forces vagrant to re-run provisioning of the box which in turn forces all services to start up from scratch. This takes longer than a normal ‘vagrant up’ but it works, so for now it seems to be the best solution!
Update: People are saying that upgrading VirtualBox to the very latest 4.3.2 version has fixed the problem
It hasn’t for me, sadly. I can now start the VM with no issues, but I can’t access any sites on it as NGINX refuses to start properly. Not a VBox problem, more an issue with something in my Varying Vagrant Vagrants config, I suspect. I’m still having to run a ‘vagrant up –provision’ to get going again after a restart.
Let me know in the comments if you’ve found a better way.
Hi this works great. But have you found out a solution, that this haven’t to be done again after restart?
Hi Ibrahim,
Not yet – my intention is to install the latest version of VirtualBox and Vagrant and see if that cures the issue – will let you know if it does.
Stu
Hi,
I have the same problem. I think the maverick installation has removed some virtialbox files like the same that after maverick install the dns zone files are missing on the system.
After new install the virtual box, i get always the same problem.
I don’t found /Library/StartupItems/VirtualBox on this location after reinstall virtual box.
Restore /Library/StartupItems/VirtualBox/ from time capsule and restart the services are running well then. With this steps the network problem is solved.
Now i get a next problem “Failed to load VMMR0.r0 (VERR_SYMBOL_NOT_FOUND)” if a start cents 6.4
Need to search again on google..
Thomas
Hi Thomas – I’ve updated the post with instructions on how to fix after a restart – hope this helps.
Hi Ibrahim – I’ve updated the post with instructions on how to fix after a restart – hope this helps.
it works! Thanks much Stu
VirtualBox 4.3 also fixed a longstanding issue in OS X ( https://www.virtualbox.org/ticket/8940 ) as startup items have been deprecated in favour of launch daemons. There’s some discussion at the end of that ticket about how to get VirtualBox working again via launch daemons that also works through restarts too.
And fwiw, I got things working temporarily by running “sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist”.
Cheers!
Awesome reply, this worked for me! Thank you.
I”think” it works for me too. uninstall, reboot, install.
There are some kernel module messages in the console during the installation of vb 4.3. hope this is not a problem.
29.10.13 22:28:40.918 com.apple.kextd[19]: WARNING – Invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext “/Library/Application Support/VirtualBox/VBoxUSB.kext”
29.10.13 22:28:41.437 com.apple.kextd[19]: WARNING – Invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext “/Library/Application Support/VirtualBox/VBoxNetFlt.kext”
29.10.13 22:28:41.000 kernel[0]: VBoxFltDrv: version 4.3.0 r89960
29.10.13 22:28:41.609 com.apple.kextd[19]: WARNING – Invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext “/Library/Application Support/VirtualBox/VBoxNetAdp.kext”
29.10.13 22:28:41.000 kernel[0]: VBoxAdpDrv: version 4.3.0 r89960
If i check the modules, they are running:
macbookpro:~ $ kextstat |grep virtualbox
140 3 0xffffff7f81c27000 0x45000 0x45000 org.virtualbox.kext.VBoxDrv (4.3.0)
142 0 0xffffff7f81c71000 0x8000 0x8000 org.virtualbox.kext.VBoxUSB (4.3.0)
146 0 0xffffff7f81c8d000 0x5000 0x5000 org.virtualbox.kext.VBoxNetFlt (4.3.0)
147 0 0xffffff7f81c92000 0x6000 0x6000 org.virtualbox.kext.VBoxNetAdp (4.3.0)
What i not unterstand, with vb i’m not able to connect to the internet from the vm, i get have there “syn_sent” connections o port 80 with “curl http://www.ix.de“. But there is no firewall for outgoing traffic. The same test with vmware on the same osx can connect success to the internet.
Are this maybe osx virtual box kernel module related because of not trusted modules?
Something like SElinux on redhat.
but anyway, thanks for your information.
Thomas
it works! thank you.
Hey, thanks for posting. The thing about having to run vagrant up with –provision is due to a change in vagrant which you must have received when upgrading vagrant to the newest release.
Vagrant no longer provisions on each ‘vagrant up’ without being explicitly told to do so. You can either add –provision or run ‘vagrant provision’ after ‘vagrant up’ finishes. I believe a provisioning is performed by default on the first boot of a vagrant guest but not after that.
After a power outage, I start getting the same problems.
Just to let you know I tried all the solutions without success. In a last attempt before start crying I downloaded the most recent VirtualBox binary – the 4.3.2 build 90405 (though the 4.3.0 was downloaded and installed immediately after Maverick install – and that has solved all problems.
sudo /Library/StartupItems/VirtualBox/VirtualBox restart
worked brilliantly. Thank you.Installing VirtualBox 4.2.3 fixes this issue **permanently**.
Working fine after reboot with Mac OS X 10.9 Mavericks (13A603), Vagrant 1.3.5 and VirtualBox 4.2.3.
Not for me, sadly. Though my virtual machine will seem to work after a ‘vagrant up’, I can’t access any of the sites on the virtual machine in a browser unless I run a ‘vagrant up –provision’ instead. I don’t think it’s Vbox related, though. Possibly something in Varying Vagrant Vagrants, but need to get some more time to look into it.
Initially, upgrading to Vagrant 1.3.5 and VirtualBox 4.3 (which we had to download manually – the auto-updater never detected it), we stopped having this issue on Mavericks. Then, today, it all came back suddenly after a restart.
To further complicate it, `sudo /Library/StartupItems/VirtualBox/VirtualBox restart` no longer exists, and even destroying and re-upping the box doesn’t fix it.
Hi Mike,
The Vbox restart command has changed in 4.3 – it’s now;
sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist
Have you downloaded 4.3.2 – the very latest release? Others say it has fixed the issue completely for them, although I’m still having issues. And have you tried running a ‘vagrant up –provision’ instead of just a standard up?
Hi Stu,
First off, sorry for the late reply, and thanks for the posting the updated command. Our team’s used it many times now, so cheers.
Upgrading to 4.3.2 seems to have alleviated the quirks we were experiencing, but I believe there was still an issue when sharing folders via NFS. When we disabled that we were able to get the box to boot properly, but still had mysterious permission issues that weren’t present before. The following is what we ended up adding to the affected box to get around that, at least for the time being:
config.vm.synced_folder "./www", "/var/www", id: "vagrant-root", :create => true, :owner => "www-data", :group => "www-data", :mount_options => ["dmode=777","fmode=666"]
The fact you need to add –provision on each vagrant up is because vagrant 1.3 altered the way provision scripts are launched without documenting it. Now the provision scripts are only run on first up, and not on every up operation. Workarounds and issue here: https://github.com/mitchellh/vagrant/issues/2310
Had a lot of problems with this my self, often the simples solutions are the best. Fideling about in folders was no good. Just run the script that is in the .dmg. Thx oracle.
we had a crazier version of the same issue, described at http://stackoverflow.com/questions/20325325/vagrant-sync-folder-not-working-after-osx-mavericks-upgrade, maybe some of the solution i have tried can fix your case.
Just what I was looking for, Thanks!!! =D
Strangely, I started to suffer from similiar issue on my vagrant environment on ML (I have two Macs still running and one with Mavericks) :/ I suppose it’s virtualbox issue…
I got tired of using the `restart` command and upgraded VirtualBox. So far two `vagrant up`s without a hitch. Hopefully this issue doesn’t come back.
Hello Stu.
Thanks a lot for you wp-page, I tried it but in may environment, it does not help at all.
Environment:
Virtual Box Version: 4.3.6
OSX: 10.8.5
System: mac mini ic7 2,3 ghz 4GB RAM
I have tried all the hints in your page, without any sucess.
At the moment I’m desperate about vb, I wait for a new release may it works then.
It anybody have some hints, please let me know.
Agian Thanks a lot.
Willy
Try this:
sudo chmod +x /Library/StartupItems/VirtualBox/StartupParameters.plist