Wie behebe ich den Fehler "vcpu reg konnte nicht synchronisiert werden"?


156

Ich versuche, den Intel HAX x86-Emulator für Windows zu verwenden (8, wenn das wichtig ist). Ich habe alles installiert und eine AVD für die Android-Version erstellt, und alles scheint korrekt zu sein, aber wenn ich es ausführe, erhalte ich folgende Ausgabe:

Starting emulator for AVD 'x86_QVGA_Level10'
emulator: device fd:1044
HAX is working and emulator runs in fast virt mode
emulator: Failed to sync vcpu reg
emulator: Failed to sync HAX vcpu context

und der Emulator läuft nicht. Der wesentliche Teil dieses Fehlers (Failed to sync vcpu reg)wird nirgendwo online erwähnt, außer im Quellcode für die HAX selbst , aber ich kann nicht herausfinden, wie ich das verstehen kann.

Kann jemand raten, wie man diesen Fehler überwindet? Ich muss das wirklich zum Laufen bringen, da das Debuggen auf dem Gerät und in den Standardemulatoren schmerzhaft langsam ist.


3
Ich wollte nur erwähnen, dass ich direkt nach dem Stellen dieser Frage von diesem Projekt abgezogen wurde und nie die Gelegenheit hatte, eine dieser Lösungen auszuprobieren, daher weiß ich nicht, wie die richtige Antwort lautet! Sollte ich die am besten gewählte Antwort auswählen und sie einfach akzeptieren?
Joshua Frank

3
@ JoshuaFrank: Nein, lass es einfach so wie es ist. Traurig.
Leichtigkeitsrennen im Orbit

Antworten:


372

Stellen Sie sicher, dass keine virtuellen Maschinen ausgeführt werden. In meinem Fall lief Genymotion, was diesen Fehler verursachte.


5
Dies war genau mein Problem und meine Lösung. Vielen Dank!
Heath Borders

72
Oder sogar Virtualbox öffnen zu lassen, ohne dass eine VM für mich läuft
David Santiago Turiño

7
Habe dieses Problem auf dem Mac. Nach dem Ausschalten der VBox begann es zu funktionieren.
0x8BADF00D

6
Genau mein Problem, ich habe vergessen, dass eine VirtualBox-VM läuft
Bobby

32
Ich musste alle mu docker maschinen stoppen :(docker-machine stop <machine>
jtblin

67

Ich hatte Virtualbox ausgeführt. Durch das Beenden der zulässigen VM konnte der Emulator ausgeführt werden.


6
Danke, hätte nie daran gedacht. Hatte eine Vagrant-Schachtel.
Ben Kane

4
Gleich hier lief Docker-Maschine (boot2docker / virtualbox).
TVial

Nur eine weitere Bestätigung. Ich habe meine Virtual Box-Instanz gestoppt und mein Emulator wurde sofort gestartet. Zu Ihrer Information, mein virtuelles Gerät verwendete CPU / ABI = x86 und ich lief auf einem MacBook Pro.
guyland123

3
Das ist wirklich ein Problem für mich. Ich verwende eine PHP-App, die eine API in einer virtuellen Box auf meinem MacBook bereitstellt, und ich kann keine Android-App entwickeln, die eine Verbindung zu dieser API herstellen muss. Ich denke, ich muss die PHP bereitstellen App auf einem Server und entwickeln Sie darauf, na
ja

Das hat funktioniert, meine Virtualbox lief im Hintergrund, jetzt möchte ich wirklich, dass beide funktionieren
Irfan Ahmad

61

Wenn Sie Docker ausführen, müssen Sie die virtuelle Maschine herunterfahren

docker-machine stop default

Dies setzt voraus, dass Ihre Docker-Maschine aufgerufen wird default. Wenn Sie den Namen überprüfen möchten, verwenden Sie docker-machine ls

Eine einfachere Lösung; öffne virtuabox und stoppe die vm :-)


Wow das war es für mich. Verrückt. Wie haben Sie das herausgefunden?
Constantine

1
Recherchieren Sie für das Problem auf Google :-) und fügen Sie ein wenig mehr Erklärung hinzu

Wenn Sie auf einem Mac arbeiten und die Docker-App in der Taskleiste ausgeführt wird, schließen Sie sie ebenfalls, auch wenn die Docker-Maschine Ihnen nichts bietet
Theodoros80

14

Ich hatte dieses Problem. Für mich war es die HAXM-Version.

Wenn Sie über den SDK-Manager eine neue Version von HAMX erhalten, wird Ihnen mitgeteilt, dass diese installiert ist. Es ist nicht. Sie müssen in diesen Ordner gehen:

<Android SDK> \ extras \ intel \ Hardware_Accelerated_Execution_Manager \

und führen Sie intelhaxm-android.exe manuell aus. In meinem Fall hatte ich 1.0.6 und ein Upgrade auf 1.1.

Ich denke, dass der Fehler in erster Linie dadurch verursacht wurde, dass ein anderer Teil des SDK, den ich aktualisiert hatte, 1.1 benötigte.


14

Stellen Sie, wie in anderen Antworten erwähnt, sicher, dass auf dem Mac kein VirtualBox- und Docker-Dienst mit dem folgenden Befehl ausgeführt wird. ( systemctlunter Linux)

$ launchctl list | grep 'VirtualBox\|docker'
-       0   com.docker.helper
640     0   com.docker.docker.2032
31736   0   org.virtualbox.app.VirtualBox.948

Wenn ja, töten Sie die VBoxund dockerService.

launchctl stop org.virtualbox.app.VirtualBox.948
launchctl stop com.docker.docker.2032

13
  1. Stoppen Sie GENYMOTION (öffnen Sie die VirtualBox-Instanz, wenn eine Instanz ausgeführt wird, stoppen Sie sie).
  2. Öffnen Sie AndroidStudio -> Führen Sie den AVD Manager aus -> führen Sie das virtuelle AndroidStudio-Gerät aus.

Die neuesten Android-Emulatoren können nicht parallel zu GENYMOTION ausgeführt werden


Oder stoppen Sie auch Docker
nnhthuan

9

"vcpu reg" sind "Virtual CPU REGisters", die auf vielen Prozessoren vorhanden sind, die über mehrere Kerne, Hyperthreading oder andere Funktionen verfügen, die es höheren Schichten ermöglichen, zu glauben, dass mehr als eine CPU vorhanden ist, wenn keine vorhanden sind - wie z die heutigen x86s. Kein Grund, ins Detail zu gehen - Sie können sich vorstellen, dass für die Art der Hardware-Virtualisierung, die HAX bietet, ein kohärenter, einzelner "virtueller CPU-Kontext" erforderlich ist.

Normalerweise ist es kein Problem, mehrere virtuelle Maschinen verschiedener Art gleichzeitig auszuführen. Aber wenn einer von ihnen abstürzt oder sich schlecht benimmt oder sich nur dafür entscheidet, ein Schwein zu sein, kann HAX feststellen, dass es keine kohärente virtuelle Maschine zusammenstellen kann, weil es einen virtuellen CPU-Kontext nicht für sich selbst synchronisieren kann. Es wäre, als würde man versuchen, eine echte Maschine ohne CPU zu betreiben.

Fazit ist ein offener Task-Manager, der Dinge tötet, die Sie nicht benötigen und die möglicherweise Ressourcen für virtuelle Maschinen enthalten. Im schlimmsten Fall ist ein Neustart fast sicher, um das Problem zu beheben.


5

Schnelle Schritte:

  1. Stoppen Sie alle VirtualBox Virtual Machines (dh vagabundierende Stopps) und beenden Sie VirtualBox.
  2. Alle Docker-Maschinen sollten ebenfalls gestoppt werden. Beenden Sie Docker.

5

Dies passierte mir auch, als ich versuchte, sowohl VirtualBox als auch Android Emulator auf einem MacOS-Computer auszuführen. Wie bereits erwähnt, ist es derzeit nicht möglich, beide (dh VirtualBox- und X86-Intel-basierten Emulator) unter MacOS auszuführen und sich über die anderen Plattformen nicht sicher zu sein. Wenn wir beide ausführen müssen, können wir einen ARM-basierten Emulator wählen. (Armbasierte Emulatoren sind normalerweise langsam)


4

Ich habe den gleichen Fehler bekommen. Ich vermute, es gibt verschiedene Gründe für diesen Fehler, aber in meinem Fall lag es an einem Dienst namens ".NCG". Der Dienst ist Network Content Guard von Inka Entworks und scheint eine Art DRM-Lösung zu sein. Nach der Deinstallation funktionierte der Emulator mit HAX einwandfrei.


1
Ich habe diese Software nicht, aber es ist ein guter Hinweis auf andere, ähnliche Programme. Wie um alles in der Welt haben Sie entdeckt, dass dies das Problem ist?
Joshua Frank

4

In meinem Fall stellte sich heraus, dass dieses Problem dadurch verursacht wurde, dass in den Einstellungen für die AVD eine Webcam als "Frontkamera" ausgewählt wurde. Das Setzen auf "Emuliert" hat dieses Problem für mich behoben.


4

Ich war mit diesem Problem konfrontiert, weil meine virtuelle Box mit Ubuntu ausgeführt wurde. Als ich meine virtuelle Box herunterfuhr, war dieses Problem nicht aufgetreten.


3

Ich habe den gleichen Fehler bei meiner Windows 8-Installation erhalten.

Dinge, die Sie versuchen könnten:

  • Verringern Sie den Speicherplatz für das emulierte Gerät (und / oder schließen Sie andere Anwendungen).
  • Deaktivieren Sie die GPU-Emulation
  • Entfernen Sie die Pass-Through-Webcam

Bei mir tritt der Fehler auf, wenn ich versuche, eine physische Webcam an die emulierte Android-Instanz anzuhängen.


Ich werde es versuchen und mich zurückmelden. Vielen Dank!
Joshua Frank

Lustig für mich war die Lösung, um die GPU-Emulation zu aktivieren.
rekire

3

Dies schlug so lange fehl, bis ich es in [x] Host-GPU verwenden änderte (siehe Abbildung).

AVD einrichten


2
Ja - das gleiche für mich. In der config.ini der AVD (alte?) Wurde die Eigenschaft auf Folgendes gesetzt: hw.gpu.enabled = no. nach dem ändern auf ja - alles funktioniert :)
icyerasor

3

Ich verwende boot2docker vm, nur das Problem wurde behoben.

boot2docker down


2

Stellen Sie sicher, dass keine virtuellen Maschinen ausgeführt werden. In meinem Fall lief Genymotion, was diesen Fehler verursachte. Wenn ich den Prozess von genymotion töte und alle Oracle VM VirtualBox-bezogenen Prozesse töte, dann funktioniert es durch Wangshiming. Danke mir nicht


2

Ja, ich hatte eine virtuelle Box am Laufen und bekam diesen Fehler. Durch Herunterfahren wurde der Fehler behoben.


2

Ich war auf einem Mac und hatte dieses Problem. Ich dachte nicht, dass ich eine VM laufen lasse (ich habe eine vbox, aber sie läuft nicht). Ich habe meinen Computer neu gestartet und bevor ich andere Apps gestartet habe, habe ich den Emulator ausprobiert und er funktioniert einwandfrei.


Genau, ich hatte vbox laufen. Wenn ich abschalte, beginnt der Emulator wieder zu arbeiten.
Ricardo


2

Ja, VirtualBox-VMs müssen gestoppt werden. Ich musste auch Docker für Mac stoppen. In der Fehlermeldung wird nur VirtualBox erwähnt, was mich ein wenig verwirrte, bis mir klar wurde, dass Docker für Mac xhyve ausführt.


1

Wenn Ihre CPU Drosselung unterstützt (wie Intels SpeedStep ), versuchen Sie, diese Funktion in Ihrem BIOS zu deaktivieren. Es ist eine Art Quickfix, aber zumindest hat es funktioniert.


3
Es scheint, dass die CPU-Drosselung nicht für diesen Fehler verantwortlich ist. Der Fehler tritt in meinem Fall auf, wenn gerade eine VirtualBox-VM ausgeführt wird.
Johannes Ewald

1

Ich denke, es muss eine Vielzahl von Gründen geben, die diesen Fehler verursachen. In meinem Fall wurde seit der Installation der Google-Eingabemethodensoftware "vcpu reg konnte nicht synchronisiert werden" angezeigt. Dies war die einzige Änderung vor dem normalen Arbeiten. Nach der Deinstallation der Google Input-Software wurde sie wiederhergestellt. Nur eine kleine Referenz, obwohl ich diese Lösung auch lange nicht glauben kann.


1

Ich hatte den Windows Virtual PC ausgeführt (natürlich unter Windows). Nach dem Ausschalten ging der Emulator in Ordnung.

Hoffe das hilft.


1

Ich habe versucht, einen Gingerbread 2.3.3 x86-Emulator zu starten, der jedoch nicht gestartet werden konnte. Durch den Wechsel von x86 zu Arm wurde das Problem behoben.


Das hat es für mich behoben. Einfach auf ARM umsteigen. Vielen Dank!
Hand

1

Für mich war das einzige, was mit adv auf MacOs Yosemite funktioniert hat, die Einstellung des Prozessors auf ARM(native CPU des Geräts - Standard 4 "Nexus).


1

Wenn virtuelle Maschinen ausgeführt werden, halten Sie sie an und versuchen Sie es erneut.


1

Für mich war die Antwort, Enable keyboard inputunter den erweiterten Einstellungen des virtuellen Geräts auf true zu setzen .

Dies war die erste Option, die ich auf dem Gerät geändert habe. Daher ist es möglich, dass durch das Ändern einer Option der Fehler ebenfalls behoben wird, basierend auf der Vielzahl der oben genannten Antworten.

Hinweis: Ich habe zuvor bestätigt, dass keine VMs ausgeführt werden.


1

Das Problem wurde behoben, indem die aktuelle Version von Java in Windows von Java 8 x64 auf Java 7 x86 geändert wurde.


0

Schließlich fand ich die Antwort auf diese Frage. Ich hatte genau das gleiche Problem und es wurde vollständig gelöst.

Virtuelles Gerät oder Webcam ist selten die Ursache Ihres Problems.

Installieren Sie einfach den Mainboard-Chipsatz-Treiber.

Ich empfehle Ihnen, den Autoinstaller für 3DP-Chipsätze zu verwenden.

Viel Glück!


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.