¿Cómo soluciono el error "Error al sincronizar vcpu reg"?

156

Estoy tratando de usar el emulador Intel HAX x86 para Windows (8, si eso importa). Instalé todo y creé un AVD para la versión de Android, y todo parece correcto, pero cuando lo ejecuto, obtengo esta salida:

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

y el emulador no se ejecutará. La parte importante de este error (Failed to sync vcpu reg)no se menciona en NINGÚN LUGAR en línea, excepto en el código fuente del HAX en sí , pero no puedo entender cómo darle sentido.

¿Alguien puede aconsejar sobre cómo superar este error? Realmente necesito que esto funcione, porque la depuración en el dispositivo y en los emuladores predeterminados es muy lenta.

Joshua Frank
fuente
3
Solo quería señalar que me sacaron de este proyecto justo después de hacer esta pregunta y nunca tuve la oportunidad de probar ninguna de estas soluciones, ¡así que no sé cuál es la respuesta correcta! ¿Debo elegir la respuesta más votada y simplemente aceptarla?
Joshua Frank
3
@ JoshuaFrank: No, solo vete como está. Tristemente.
Carreras de ligereza en órbita el

Respuestas:

372

Asegúrese de no tener máquinas virtuales en ejecución. En mi caso, tenía genymotion ejecutándose, lo que estaba causando este error.

JP2014
fuente
55
Este fue exactamente mi problema y solución también. ¡Gracias!
Heath Borders el
72
O incluso tener virtualbox abierto sin ninguna máquina virtual ejecutándose para mí
David Santiago Turiño
77
Tengo este problema en Mac. Después de apagar VBox, comenzó a funcionar.
0x8BADF00D
66
Exactamente mi problema también, olvidé que tenía una VM VirtualBox ejecutándose
Bobby
32
Tuve que detener todas las máquinas docker-machine stop <machine>
Do Docker
67

Tenía virtualbox corriendo. Matar la máquina virtual permitió que se ejecutara el emulador.

Jerome Anthony
fuente
66
Gracias, nunca hubiera pensado en eso. Tenía una caja vagabunda.
Ben Kane
44
Lo mismo aquí, se estaba ejecutando docker-machine (boot2docker / virtualbox).
TVial
Solo otra confirmación. Detuve mi instancia de Virtual box y mi emulador comenzó de inmediato. FYI mi dispositivo virtual estaba usando CPU / ABI = x86, y estaba corriendo en un macbook pro.
guyland123
3
esto es realmente un problema para mí ... Estoy ejecutando una aplicación php que proporciona una API en la caja virtual en mi Macbook y no puedo desarrollar una aplicación de Android que necesite conectarse a esa API ... Supongo que tendré que implementar el php aplicación en algún servidor y desarrollar en eso, oh bien
Tomáš Tibenský
esto funcionó, mi virtualbox se estaba ejecutando en segundo plano, ahora realmente quiero que ambos funcionen
Irfan Ahmad
61

Si está ejecutando Docker, debería desmontar la máquina virtual

docker-machine stop default

Esto supone que se llama a su máquina acoplable default. Si desea verificar el nombre use docker-machine ls

Una solución más simple; abra virtuabox y detenga el vm :-)


fuente
Wow, esto fue para mí. Loco. ¿Cómo te diste cuenta de eso?
Constantine
1
investigando el problema en google :-) y añadiéndole un poco más de explicación
Si está en una Mac y la aplicación Docker se está ejecutando en la barra de tareas, ciérrela también, incluso si docker-machine ls no le da nada
Theodoros80
14

Tuve este problema Para mí fue la versión HAXM.

Cuando obtiene una nueva versión de HAMX a través del SDK Manager, le indica que está instalada. No lo es. Debes ir a esta carpeta:

<Android SDK> \ extras \ intel \ Hardware_Accelerated_Execution_Manager \

y ejecute intelhaxm-android.exe manualmente. En mi caso, tenía 1.0.6 y actualicé a 1.1.

Creo que lo que causó el error en primer lugar fue que alguna otra parte del SDK que había actualizado necesitaba 1.1.

John Delaney
fuente
14

Como se menciona en otras respuestas, asegúrese de que no se esté ejecutando VirtualBox y el servicio docker con el siguiente comando en mac. ( systemctlen Linux)

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

Si es así, elimine el VBoxy el dockerservicio.

launchctl stop org.virtualbox.app.VirtualBox.948
launchctl stop com.docker.docker.2032
prayagupd
fuente
13
  1. Detenga GENYMOTION (abra la instancia de VirtualBox si se está ejecutando alguna instancia, deténgala).
  2. Abra AndroidStudio -> Ejecute AVD Manager-> ejecute el dispositivo virtual AndroidStudio.

Los últimos emuladores de Android no pueden ejecutarse en paralelo con GENYMOTION

MANISH PATHAK
fuente
O pare el
acoplador
9

"vcpu reg" son "registros de CPU virtuales" que existen en muchos procesadores que tienen elementos como núcleos múltiples, hyperthreading u otras características que permiten a las capas superiores creer que hay más de una CPU presente cuando no la hay, como x86 de hoy. No hay razón para entrar en detalles: puede imaginarse que es necesario obtener un "contexto de CPU virtual" único y coherente para el tipo de virtualización de hardware que ofrece HAX.

Normalmente, no es un problema ejecutar múltiples máquinas virtuales de varios tipos simultáneamente. Pero si uno de ellos falla, se porta mal o simplemente decide ser un cerdo, HAX podría descubrir que simplemente no puede armar una máquina virtual coherente, porque no puede sincronizar un contexto de CPU virtual por sí mismo. Sería como tratar de ejecutar una máquina real sin CPU.

La conclusión es un administrador de tareas abierto y matar cosas que no necesita y que parecen tener recursos de máquinas virtuales. En el peor de los casos, es casi seguro que un reinicio arregle el problema.

Scott Petrack
fuente
5

Pasos rápidos:

  1. Detenga todas las máquinas virtuales de VirtualBox (es decir, detención vagabunda), salga de VirtualBox.
  2. Todas las máquinas acoplables también deberían detenerse. Sal de Docker.
Jucke
fuente
5

Esto también me sucedió cuando estaba tratando de ejecutar VirtualBox y el emulador de Android en una máquina MacOS. Como otros han mencionado anteriormente actualmente, no es posible ejecutar ambos (es decir, VirtualBox y el emulador basado en Intel X86) en MacOS y no estoy seguro acerca de las otras plataformas. Si necesitamos ejecutar ambos, podemos elegir un emulador basado en ARM. (los emuladores basados ​​en brazos son normalmente lentos)

Rukmal Dias
fuente
4

Estaba recibiendo el mismo error. Supongo que hay varias razones para este error, pero en mi caso fue por un servicio llamado ".NCG". El servicio es Network Content Guard de Inka Entworks, y parece ser algún tipo de solución DRM. Una vez desinstalado, el emulador funcionó bien con HAX.

Albert Park
fuente
1
No tengo ese software, pero es una buena pista sobre otros programas similares. ¿Cómo demonios descubriste que ese era el problema?
Joshua Frank
4

En mi caso, resultó que este problema fue causado por tener una cámara web seleccionada como "Cámara frontal" en la configuración del AVD. Establecerlo en "Emulado" solucionó este problema para mí.

Roy de Jong
fuente
4

Me enfrenté a este problema porque tenía mi caja virtual ejecutándose con Ubuntu. Cuando cerré mi caja virtual, no me enfrenté a este problema.

Revs
fuente
3

Recibí el mismo error en mi instalación de Windows 8.

Cosas que puedes probar:

  • disminuir la cantidad de memoria para el dispositivo emulado (y / o cerrar otras aplicaciones)
  • deshabilitar la emulación de GPU
  • eliminar la cámara web de paso

Para mí, el error ocurre cuando intento conectar una cámara web física a la instancia de Android emulada.

thijs
fuente
Voy a intentar esto e informar de nuevo. ¡Gracias!
Joshua Frank
Divertido para mí fue la solución para habilitar la emulación de GPU.
rekire
3

Esto siguió fallando hasta que lo cambié a [x] Usar Host GPU como se muestra en la imagen.

Configuración AVD

raddevus
fuente
2
Sí, lo mismo para mí. En el config.ini del AVD (¿antiguo?), La propiedad se estableció en: hw.gpu.enabled = no. después de cambiarlo a sí, todo funciona :)
icyerasor
3

Estoy ejecutando boot2docker vm, solo que abajo resolvió el problema.

boot2docker down

eranga
fuente
2

Asegúrese de no tener máquinas virtuales en ejecución. En mi caso, tenía genymotion ejecutándose, lo que estaba causando este error. cuando mato el proceso de genymotion y mato todo el proceso relacionado con Oracle VM VirtualBox, entonces funciona por wangshiming, no me agradezcas

usuario3016205
fuente
2

Sí, tenía una caja virtual ejecutándose y recibía este error, al apagarlo se solucionó el error.

adubey
fuente
2

Estaba en una Mac y tuve este problema. No pensé que estaba ejecutando una VM (tengo vbox pero no se está ejecutando). Reinicié mi computadora y antes de iniciar cualquier otra aplicación probé el emulador y funciona bien.

chovy
fuente
Exactamente, tenía vbox ejecutándose. Cuando apagué, el emulador comenzó a funcionar nuevamente.
Ricardo
2

Sí, las máquinas virtuales de VirtualBox deben detenerse. También tuve que detener Docker para Mac. El mensaje de error solo menciona VirtualBox, lo que me confundió un poco hasta que me di cuenta de que Docker para Mac está ejecutando xhyve.

geowa4
fuente
1

Si su CPU admite la aceleración (como SpeedStep de Intel ) intente deshabilitar esa característica en su BIOS. Es una especie de solución rápida, pero al menos funcionó.

Johannes Ewald
fuente
3
Parece que la aceleración de la CPU no es responsable de este error. El error aparece en mi caso si una VM VirtualBox se está ejecutando actualmente.
Johannes Ewald
1

Creo que debe ser una variedad de razones que causan este fracaso. En mi caso, desde que instalé el software del método de entrada de Google, apareció "Error al sincronizar vcpu reg". Este fue el único cambio antes del trabajo normal. Entonces, después de desinstalar el software Google Input, se recuperó. Solo una pequeña referencia, aunque tampoco puedo creer esta solución por mucho tiempo.

usuario2820159
fuente
1

Tenía la PC virtual de Windows ejecutándose (en Windows, por supuesto). Una vez que lo apagué, el emulador salió bien.

Espero que esto ayude.

Jorge E. Hernández
fuente
1

Estaba tratando de lanzar un emulador Gingerbread 2.3.3 x86 y no se lanzó. Cambiar de x86 a armar hizo que el problema desapareciera.

Daniel Wilson
fuente
Esto me lo arregló. Simplemente cambiando a ARM. ¡Gracias!
Rhand
1

Para mí, lo único que funcionó con adv en MacOs Yosemite, es configurar el procesador en ARM(CPU nativa del dispositivo - Nexus estándar de 4 ").

Oleg Belousov
fuente
1

Si está ejecutando alguna máquina virtual, suspenda e intente nuevamente.

Arun Abraham
fuente
1

Para mí, la respuesta fue establecer Enable keyboard inputen verdadero en la configuración avanzada del dispositivo virtual.

Esta fue la primera opción que cambié en el dispositivo, por lo que es posible que el hecho de cambiar una opción también corrija el error en función de la amplia gama de respuestas anteriores.

Nota: He confirmado anteriormente que no se están ejecutando máquinas virtuales.

rlfrahm
fuente
1

Se solucionó el problema cambiando la versión actual de Java dentro de Windows de Java 8 x64 a Java 7 x86.

ruslangil
fuente
0

Finalmente, encontré la respuesta para esta pregunta. Tuve exactamente el mismo problema y se resolvió por completo.

El dispositivo virtual o la cámara web rara vez son la causa de su problema.

Simplemente instale el controlador del chipset de la placa base.

Le recomiendo que use el autoinstalador de chipset 3DP.

¡Buena suerte!

Laringe
fuente
0

Para mí fue google appengine ejecutándose localmente.

LILkillaBEE
fuente