Fixing Vagrant after an OSX Mavericks update

OSX MavericksBeing 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.

About Stu Miller

Web consultant and specialist, WordPress developer and PHP developer based in Leeds, UK. 15 years experience in architecting web sites and applications. Co-founder and Technical Director of SmartInsights.com, formerly the same of First 10 Digital

, , , ,

30 Responses to Fixing Vagrant after an OSX Mavericks update

  1. Ibrahim Argun October 29, 2013 at 11:42 am #

    Hi this works great. But have you found out a solution, that this haven’t to be done again after restart?

    • Stu Miller October 29, 2013 at 12:46 pm #

      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

      • Thomas October 29, 2013 at 9:08 pm #

        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

        • Stu Miller October 30, 2013 at 9:11 am #

          Hi Thomas – I’ve updated the post with instructions on how to fix after a restart – hope this helps.

    • Stu Miller October 30, 2013 at 9:11 am #

      Hi Ibrahim – I’ve updated the post with instructions on how to fix after a restart – hope this helps.

  2. Edward October 30, 2013 at 3:04 am #

    it works! Thanks much Stu

  3. Sam October 31, 2013 at 11:30 am #

    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!

  4. Thomas October 31, 2013 at 7:32 pm #

    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

  5. masarufuruya November 1, 2013 at 1:57 am #

    it works! thank you.

  6. Lars Ole Simonsen November 2, 2013 at 7:45 am #

    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.

  7. Andrea Moro November 2, 2013 at 12:10 pm #

    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.

  8. cyberuyi November 4, 2013 at 9:17 pm #

    sudo /Library/StartupItems/VirtualBox/VirtualBox restart worked brilliantly. Thank you.

  9. Casey Fulton November 4, 2013 at 11:18 pm #

    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.

    • Stu Miller November 5, 2013 at 8:50 am #

      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.

  10. Mike Branski November 5, 2013 at 10:37 pm #

    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.

    • Stu Miller November 6, 2013 at 6:54 am #

      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?

      • Mike Branski November 20, 2013 at 4:04 pm #

        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"]

  11. regilero November 12, 2013 at 10:52 am #

    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

  12. Sten November 26, 2013 at 11:56 pm #

    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.

  13. bitinn December 2, 2013 at 10:01 am #

    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.

  14. rafailong December 3, 2013 at 11:54 pm #

    Just what I was looking for, Thanks!!! =D

  15. turgon December 8, 2013 at 10:37 am #

    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…

  16. Amy G January 8, 2014 at 6:47 pm #

    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.

  17. Willy Neudecker January 24, 2014 at 11:55 am #

    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

  18. Zico January 25, 2014 at 6:39 am #

    Try this:
    sudo chmod +x /Library/StartupItems/VirtualBox/StartupParameters.plist

Trackbacks/Pingbacks

  1. Fixing PHPStorm after an OSX Mavericks update - Stu Miller - October 23, 2013

    […] in, and therefore typical that it’s the source of another issue with OSX Mavericks after my previous issue with Vagrant. PHPStorm simply refuses to start after a OSX Mavericks […]

  2. Simple Vagrant config for Laravel updated - The Reluctant Web Developer - October 31, 2013

    […] http://www.stumiller.me/fixing-vagrant-osx-mavericks-update/ var hupso_services_c=new Array("twitter","facebook_like","facebook_send","google","linkedin");var […]

  3. Fixing VirtualBox after an OSX Mavericks update | Nuno @ work - November 21, 2013

    […] Fixing Vagrant after an OSX Mavericks update […]

  4. Erros com vagrant no Mavericks OSX? | Flávio Silveira - January 17, 2014

    […] atrás do que estava acontecendo cheguei no post do Stu Miller http://www.stumiller.me/fixing-vagrant-osx-mavericks-update/ que mostra os comandos para sair desse […]

Leave a Reply