Bagaimana cara memperbaiki kesalahan "Gagal menyinkronkan vcpu reg"?

156

Saya mencoba menggunakan emulator Intel HAX x86 untuk Windows (8, jika itu penting). Saya menginstal semuanya dan membuat AVD untuk versi android, dan semuanya tampak benar, tetapi ketika saya menjalankannya, saya mendapatkan output ini:

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

dan emulator tidak akan berjalan. Bagian penting dari kesalahan (Failed to sync vcpu reg)ini tidak disebutkan di MANA SAJA online, kecuali dalam kode sumber untuk HAX itu sendiri , tetapi saya tidak tahu bagaimana cara memahami hal ini.

Adakah yang bisa memberi saran tentang cara mengatasi kesalahan ini? Saya benar-benar perlu menjalankannya, karena debugging pada perangkat dan emulator standar sangat lambat.

Joshua Frank
sumber
3
Hanya ingin mencatat bahwa saya ditarik dari proyek ini tepat setelah mengajukan pertanyaan ini dan tidak pernah memiliki kesempatan untuk mencoba solusi ini, jadi saya tidak tahu apa jawaban yang benar! Haruskah saya memilih jawaban terpilih dan hanya menerimanya?
Joshua Frank
3
@ JoshuaFrank: Tidak hanya pergi apa adanya. Dengan sedih.
Lightness Races in Orbit

Jawaban:

372

Pastikan Anda tidak memiliki mesin virtual yang berjalan. Dalam kasus saya, saya menjalankan genymotion yang menyebabkan kesalahan ini.

JP2014
sumber
5
Ini persis masalah dan solusi saya juga. Terima kasih!
Perbatasan Heath
72
Atau bahkan membuka virtualbox tanpa VM berjalan untuk saya
David Santiago Turiño
7
Mendapat masalah ini di Mac. Setelah mematikan VBox mulai berfungsi.
0x8BADF00D
6
Persis masalah saya juga, lupa saya menjalankan VM VirtualBox
Bobby
32
Saya harus menghentikan semua mesin buruh pelabuhan :(docker-machine stop <machine>
jtblin
67

Saya menjalankan virtualbox. Membunuh VM diizinkan memungkinkan emulator untuk menjalankan.

Jerome Anthony
sumber
6
Terima kasih, tidak akan pernah memikirkan itu. Punya kotak Vagrant.
Ben Kane
4
Sama di sini, mesin docker (boot2docker / virtualbox) sedang berjalan.
tvial
Hanya konfirmasi lain. Saya menghentikan instance kotak Virtual saya, dan emulator saya mulai tepat. FYI perangkat virtual saya menggunakan CPU / ABI = x86, dan saya berjalan di macbook pro.
guyland123
3
ini benar-benar masalah bagi saya .. Saya menjalankan aplikasi php yang menyediakan api dalam kotak virtual di macbook saya dan saya tidak dapat mengembangkan aplikasi android yang perlu terhubung ke api itu ... Saya kira saya perlu menggunakan php aplikasi pada beberapa server dan mengembangkannya, oh well
Tomáš Tibenský
ini berhasil, virtualbox saya berjalan di latar belakang, sekarang saya benar-benar ingin keduanya bekerja
Irfan Ahmad
61

Jika Anda menjalankan Docker, Anda harus menurunkan mesin virtual

docker-machine stop default

Ini mengasumsikan mesin buruh pelabuhan Anda disebut default. Jika Anda ingin memeriksa penggunaan nama docker-machine ls

Solusi yang lebih sederhana; buka virtuabox dan hentikan vm :-)


sumber
Wow ini untukku. Gila. Bagaimana Anda mengetahui hal itu?
Constantine
1
meneliti masalah ini di google :-) dan menambahkan sedikit penjelasan lebih lanjut
Jika Anda menggunakan aplikasi Mac dan Docker berjalan di taskbar, tutup juga, bahkan jika mesin docker tidak memberi Anda apa
Theodoros80
14

Saya punya masalah ini. Bagi saya itu adalah versi HAXM.

Ketika Anda mendapatkan versi baru HAMX melalui SDK Manager, itu memberitahu Anda bahwa itu diinstal. Bukan itu. Anda harus masuk ke folder ini:

<Android SDK> \ ekstra \ intel \ Hardware_Accelerated_Execution_Manager \

dan jalankan intelhaxm-android.exe secara manual. Dalam kasus saya, saya memiliki 1.0.6 dan ditingkatkan ke 1.1.

Saya pikir apa yang menyebabkan kesalahan di tempat pertama adalah bahwa beberapa bagian lain dari SDK yang saya perbarui membutuhkan 1.1.

John Delaney
sumber
14

Seperti disebutkan oleh jawaban lain, pastikan tidak ada layanan VirtualBox dan buruh pelabuhan berjalan dengan mengikuti perintah di mac. ( systemctlDi Linux)

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

Jika demikian, bunuh VBoxdan dockerlayani.

launchctl stop org.virtualbox.app.VirtualBox.948
launchctl stop com.docker.docker.2032
prayagupd
sumber
13
  1. Hentikan GENYMOTION (buka instance VirtualBox jika ada instance yang berjalan, hentikan).
  2. Buka AndroidStudio -> Jalankan AVD Manager-> jalankan perangkat virtual AndroidStudio.

Emulator Android terbaru tidak dapat berjalan secara paralel dengan GENYMOTION

MANISH PATHAK
sumber
Atau hentikan buruh pelabuhan juga
nnhthuan
9

"vcpu reg" adalah "Virtual CPU REGisters" yang ada pada banyak prosesor yang memiliki hal-hal seperti multiple core, hyperthreading, atau fitur lain yang memungkinkan lapisan yang lebih tinggi untuk percaya bahwa ada lebih dari satu CPU yang hadir ketika tidak ada - seperti x86 hari ini. Tidak ada alasan untuk masuk ke detail - Anda dapat membayangkan bahwa mendapatkan "konteks CPU virtual" yang koheren diperlukan untuk jenis virtualisasi perangkat keras yang ditawarkan HAX.

Biasanya, ini bukan masalah untuk menjalankan beberapa mesin virtual dari berbagai jenis secara bersamaan. Tetapi jika salah satu dari mereka crash, atau bertingkah buruk, atau hanya memutuskan untuk menjadi babi, HAX mungkin menemukan bahwa itu tidak dapat menyatukan mesin virtual yang koheren, karena tidak dapat menyinkronkan konteks CPU virtual untuk dirinya sendiri. Ini seperti mencoba menjalankan mesin nyata tanpa CPU.

Intinya adalah manajer tugas terbuka dan membunuh hal-hal yang tidak Anda butuhkan dan yang terlihat seperti mereka mungkin memegang sumber daya mesin virtual. Dalam kasus terburuk, reboot hampir pasti untuk memperbaiki masalah.

Scott Petrack
sumber
5

Langkah cepat:

  1. Hentikan semua Mesin VirtualBox Virtual (mis. Gelandangan berhenti), keluar dari VirtualBox.
  2. Semua mesin buruh pelabuhan harus dihentikan juga. Keluar dari Docker.
Jucke
sumber
5

Ini terjadi pada saya juga ketika saya mencoba menjalankan emulator VirtualBox dan Android di mesin MacOS. Seperti yang orang lain sebutkan di atas saat ini, tidak dimungkinkan untuk menjalankan keduanya (mis. Emulator berbasis VirtualBox dan X86) di MacOS dan tidak yakin tentang platform lain. Jika kita perlu menjalankan keduanya, kita dapat memilih emulator berbasis ARM. (Emulator berbasis lengan biasanya lambat)

Dias Rukmal
sumber
4

Saya mendapatkan kesalahan yang sama. Saya menduga ada berbagai alasan untuk kesalahan ini, tetapi dalam kasus saya itu karena layanan bernama ".NCG". Layanan ini adalah Network Content Guard oleh Inka Entworks, dan tampaknya merupakan beberapa jenis solusi DRM. Setelah dihapus, emulator bekerja dengan baik menggunakan HAX.

Taman Albert
sumber
1
Saya tidak memiliki perangkat lunak itu, tetapi ini adalah petunjuk yang baik tentang program lain yang serupa. Bagaimana Anda menemukan bahwa ini adalah masalahnya?
Joshua Frank
4

Dalam kasus saya, ternyata masalah ini disebabkan oleh webcam yang dipilih sebagai "Kamera Depan" di pengaturan untuk AVD. Mengaturnya ke "Ditiru" memperbaiki masalah ini untuk saya.

Roy de Jong
sumber
4

Saya menghadapi masalah ini karena saya menjalankan kotak virtual saya dengan Ubuntu di atasnya. Ketika saya mematikan kotak virtual saya, saya tidak menghadapi masalah ini.

Pdt
sumber
3

Saya mendapat kesalahan yang sama pada menginstal windows 8 saya.

Hal yang dapat Anda coba:

  • menurunkan jumlah memori untuk perangkat yang ditiru (dan / atau menutup aplikasi lain)
  • nonaktifkan emulasi GPU
  • hapus webcam pass-through

Bagi saya, kesalahan terjadi ketika saya mencoba melampirkan webcam fisik ke instance android yang ditiru.

Terima kasih
sumber
Saya akan mencoba ini dan melaporkannya kembali. Terima kasih!
Joshua Frank
Lucu bagi saya adalah solusi untuk mengaktifkan emulasi GPU.
rekire
3

Ini terus gagal sampai saya mengubahnya menjadi [x] Gunakan Host GPU seperti yang ditunjukkan pada gambar.

Pengaturan AVD

raddevus
sumber
2
Yap - sama untuk saya. Di config.ini dari AVD (yang lama?) Properti diatur ke: hw.gpu.enabled = no. setelah mengubahnya menjadi ya - semuanya berfungsi :)
icyerasor
3

Saya menjalankan boot2docker vm, baru saja menyelesaikan masalah.

boot2docker down

eranga
sumber
2

Pastikan Anda tidak memiliki mesin virtual yang berjalan. Dalam kasus saya, saya menjalankan genymotion yang menyebabkan kesalahan ini. ketika saya membunuh Proses genymotion dan membunuh semua proses terkait Oracle VM VirtualBox maka itu bekerja dengan wangshiming tidak terima kasih saya

pengguna3016205
sumber
2

Ya, saya menjalankan kotak virtual dan mendapatkan kesalahan ini, mematikannya memperbaiki kesalahan.

Adubey
sumber
2

Saya menggunakan mac dan memiliki masalah ini. Saya tidak berpikir saya menjalankan VM (saya punya vbox tetapi tidak berjalan). Saya me-restart komputer saya dan sebelum memulai aplikasi lain saya mencoba emulator dan berfungsi dengan baik.

kenyal
sumber
Tepat, saya menjalankan vbox. Ketika saya men-tuned off maka emulator mulai bekerja kembali.
Ricardo
2

Ya, VM VirtualBox harus dihentikan. Saya juga harus menghentikan Docker untuk Mac. Pesan kesalahan hanya menyebutkan VirtualBox, yang sedikit membingungkan saya sampai saya menyadari Docker untuk Mac menjalankan xhyve.

geowa4
sumber
1

Jika CPU Anda mendukung pelambatan (seperti Intel SpeedStep ), coba nonaktifkan fitur itu di BIOS Anda. Ini semacam perbaikan cepat tapi setidaknya berhasil.

Johannes Ewald
sumber
3
Sepertinya pelambatan CPU tidak bertanggung jawab atas kesalahan ini. Kesalahan muncul dalam kasus saya jika VirtualBox VM sedang berjalan.
Johannes Ewald
1

Saya pikir pasti ada berbagai alasan yang menyebabkan kegagalan ini. Dalam kasus saya, sejak saya menginstal perangkat lunak metode input Google, "Gagal menyinkronkan vcpu reg" muncul. Ini adalah satu-satunya perubahan sebelum bekerja normal. Jadi, setelah menghapus instalan perangkat lunak Input Google, itu pulih. Cukup sedikit referensi, meskipun saya juga tidak percaya solusi ini untuk waktu yang lama.

pengguna2820159
sumber
1

Saya menjalankan Windows Virtual PC (tentu saja di Windows). Begitu saya mematikan, emulator menjadi baik-baik saja.

Semoga ini membantu.

Jorge E. Hernández
sumber
1

Saya mencoba meluncurkan emulator Gingerbread 2.3.3 x86 dan tidak mau diluncurkan. Mengubah dari x86 ke lengan membuat masalah hilang.

Daniel Wilson
sumber
Ini memperbaikinya untuk saya. Hanya beralih ke ARM. Terima kasih!
ulas
1

Bagi saya, satu-satunya hal yang bekerja menggunakan adv pada MacOs Yosemite, adalah mengatur prosesor untuk ARM(CPU asli perangkat - standar 4 "Nexus).

Oleg Belousov
sumber
1

Jika Anda menjalankan mesin virtual, tunda dan coba lagi.

Arun Abraham
sumber
1

Bagi saya jawabannya adalah Enable keyboard inputtrue di bawah pengaturan lanjutan dari perangkat virtual.

Ini adalah opsi pertama yang saya ubah pada perangkat, jadi ada kemungkinan bahwa tindakan mengubah opsi memperbaiki kesalahan juga berdasarkan beragam jawaban di atas.

Catatan: Saya sudah mengkonfirmasi sebelumnya bahwa tidak ada VM yang berjalan.

rlfrahm
sumber
1

Atasi masalah dengan mengubah versi Java saat ini di Windows dari Java 8 x64 ke Java 7 x86.

Ruslangil
sumber
0

Akhirnya, saya menemukan jawaban untuk pertanyaan ini. Saya memiliki masalah yang sama persis dan itu sepenuhnya diselesaikan.

Perangkat virtual atau webcam jarang menjadi penyebab masalah Anda.

Cukup instal driver chipset mainboard.

Saya sarankan Anda untuk menggunakan autoinstaller chipset 3DP.

Semoga berhasil!

Pangkal tenggorokan
sumber
0

Bagi saya itu adalah appengine google yang berjalan secara lokal.

LILkillaBEE
sumber