laravel / homestead

MIT License
3.86k stars 1.44k forks source link

rcu_sched detected stalls, guest will not start without entering GUI #1700

Closed ethanclevenger91 closed 3 years ago

ethanclevenger91 commented 3 years ago

Versions

Host operating system

Windows 10 Pro 21H1 19043.1202

Homestead.yaml

---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
  - map: ~/code/phpmyadmin
    to: /home/vagrant/code/phpmyadmin
  - map: 'C:/Users/Ethan/code/oregon-truffle-festival'
    to: /home/vagrant/code/oregon-truffle-festival
  - map: 'C:/Users/Ethan/code/eugene-school-of-karate'
    to: /home/vagrant/code/eugene-school-of-karate
  - map: 'C:/Users/Ethan/code/american-inkjet-systems'
    to: /home/vagrant/code/american-inkjet-systems
... so on and so forth
  - map: 'C:/Users/Ethan/code/mckenzie-chamber'
    to: /home/vagrant/code/mckenzie-chamber
  - map: 'C:/Users/Ethan/code/principle-accounting'
    to: /home/vagrant/code/principle-accounting

sites:
  - map: homestead.test
    to: /home/vagrant/dev
  - map: heliportlighting.test
    to: /home/vagrant/code/heliport-lighting/web
... so on and so forth
  - map: eugeneyoga.test
    to: /home/vagrant/code/eugene-yoga/web
  - map: packagepeak.test
    to: /home/vagrant/code/package-peak/public
  # - map: earlymilestones.test
  #   to: /home/vagrant/code/early-milestones
  - map: oregoncprtraining.test
    to: /home/vagrant/code/oregon-cpr/web
  - map: mckenziechamber.test
    to: /home/vagrant/code/mckenzie-chamber/web
  - map: myoregoncpa.test
    to: /home/vagrant/code/principle-accounting/web

databases:
  - american_inkjet_systems
  - apislabs_wp
  - asyoulikeit
  - barncraft_wp
  ... et al
  - earlymilestones_wp
  - mckenziechamber_wp
  - principleaccounting_wp

features:
    - mysql: false
    - mariadb: true
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false

services:
#    - enabled:
#        - "postgresql@12-main"
   - disabled:
       - "postgresql@11-main"

#ports:
#    - send: 33060 # MySQL/MariaDB
#      to: 3306
#    - send: 4040
#      to: 4040
#    - send: 54320 # PostgreSQL
#      to: 5432
#    - send: 8025 # Mailhog
#      to: 8025
#    - send: 9600
#      to: 9600
#    - send: 27017
#      to: 27017

Vagrant destroy & up output

Gist

Expected behavior

vagrant up and vagrant reload --provision should both successfully start the guest.

Actual behavior

After a few days of regular use, the box will eventually stop starting successfully on the above commands. The guest interface shows:

rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
rcu: 1-...!: (2 ticks this GP) idle=...
      (detected by 0, t=31487 jiffies, g=-523, q=203)
Sending NMI from CPU 0 to CPUs 1:
rcu: rcu_sched kthread starved for 31483 jiffies! g-523 f0x0 RCU...
rcu: RCU grace-period kthread stack dump:
...

And this will kind of loop, so far as I can tell, until the vagrant up process times out. I say "so far as I can tell" because if I open VirtualBox and enter the guest GUI, it will proceed to start, showing:

Failed to mount /vagrant
[FAILED] Dependency failed for remote file systems

Before moving to the login interface.

Once I've entered the guest GUI to break up whatever is stopping successful startup, if I halt and up again, it'll do so without issue until, eventually, the issue manifests again.

My best guess is perhaps Windows tries to install updates and restarts the computer without halting the box, causing the issue, but that's simply a guess.

Steps to reproduce

  1. Follow Laravel Homestead install instructions
  2. Run vagrant halt after initial up
  3. Run vagrant up again.
  4. Run vagrant halt
  5. (use regularly for a few days?)
  6. Run vagrant up
  7. Above error manifests
svpernova09 commented 3 years ago

The answer here is to vagrant destroy,vagrant upto get back to a known working state.vagrant reload --provision` isn't idempotent and can certainly fail over time. Sounds like something is causing the default vagrant share to disconnect, this indicates the issue is farther down the toolchain (specifically the Virtualbox provider in this case) than what Homestead can affect.