[Bug]: Guru Meditation VERR_SVM_UNKNOWN_EXIT when a nested KVM guest (crosvm/Cuttlefish) starts in an AMD-V nested-virtualization guest

Ouverte
#920 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 6 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
42/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
c

Piste de recherche

Start in the VMM AMD-V/SVM handling, using the reported VERR_SVM_UNKNOWN_EXIT and nested-guest VMCB cache log entries as search terms; the issue does not name source files or tests. Reproduce by starting a KVM guest inside the Debian VM with nested virtualization enabled, then inspect the VM log around the SVM exit and the repeated catch-up messages. Done means the nested guest can run without the host VM entering Guru Meditation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug
Version

7.2.20

Host OS Type

Windows

Host OS name + version

Windows 11 Pro 10.0.26200.9711 (Hyper-V/VBS disabled)

Host Architecture

x86

Guest OS Type

Linux

Guest Architecture

x86

Guest OS name + version

Debian 13 (Trixie)

Component

VMM

What happened?

The whole VM stops with VCPU6: Guru Meditation -4060 (VERR_SVM_UNKNOWN_EXIT) (state GURU_MEDITATION, rcLastExitToR3 = VERR_SVM_UNKNOWN_EXIT) when a nested KVM guest is started inside a Debian guest with Nested VT-x/AMD-V enabled. The nested guest is Android Cuttlefish (crosvm using /dev/kvm).

The log shows fNestedPaging = false in the nested-guest VMCB cache on all CPUs, and repeated TM: Giving up catch-up attempt messages before the crash.

Host: AMD Ryzen 7 5700G (Zen 3), 32 GB RAM, Windows 11 Pro 10.0.26200.9711. Hyper-V, Virtual Machine Platform and VBS are disabled; VBoxManage list hostinfo reports Processor supports nested HW virtualization: yes.

Guest: Debian 13 x86_64, 8 vCPUs, 16 GB RAM, VBoxManage modifyvm --nested-hw-virt on, Guest Additions installed, /dev/kvm present in the guest.

Likely reproducible with any KVM guest (QEMU or crosvm) started inside the VM; not specific to Cuttlefish. The attached VBox.log has usernames and the VM name scrubbed.

Relevant VBox.log excerpt
00:26:35.411126 Changing the VM state from 'RUNNING' to 'GURU_MEDITATION'
00:26:35.411191 Console: Machine state changed to 'Stuck'
00:26:35.411812 !!         VCPU6: Guru Meditation -4060 (VERR_SVM_UNKNOWN_EXIT)
...
00:26:35.424161 CPU[5]: AMD-V info:
00:26:35.424162   HM error           = 0x0 (0)
00:26:35.424162   rcLastExitToR3     = VINF_EM_HALT
00:26:35.424168 CPU[6]: AMD-V info:
00:26:35.424168   HM error           = 0xa2 (162)
00:26:35.424169   rcLastExitToR3     = VERR_SVM_UNKNOWN_EXIT
...
00:26:35.429086 CPU[0]: HM SVM nested-guest VMCB cache
00:26:35.429099   fNestedPaging           = false
How can we reproduce this?
  1. On a Windows 11 host with an AMD CPU (Hyper-V/VBS disabled), create a Debian 13 x86_64 VM, 8 vCPUs, 16 GB RAM, and enable Nested VT-x/AMD-V (VBoxManage modifyvm <vm> --nested-hw-virt on). Confirm /dev/kvm exists in the guest.
  2. In the guest, install Android Cuttlefish 1.57.0 (cuttlefish-base and cuttlefish-user from the google/android-cuttlefish apt repo) and add your user to the kvm, cvdnetwork and render groups. Reboot.
  3. mkdir ~/cf && cd ~/cf && cvd fetch --default_build=aosp-android-latest-release/aosp_cf_x86_64_only_phone-userdebug
  4. cvd create --host_path=$HOME/cf --product_path=$HOME/cf --cpus=4 --memory_mb=6144
  5. Wait about a minute while the nested guest boots. The VM then enters Guru Meditation with VERR_SVM_UNKNOWN_EXIT.
Did you upload all of your necessary log files, screenshots, etc.?
  • Yes, I've uploaded all pertinent files to this issue.
Langage dominant
C
Étoiles
1.4k
Forks
219
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de VirtualBox/virtualbox

Toutes les issues de VirtualBox/virtualbox

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.