Як виправити помилку "Не вдалося синхронізувати reg vcpu"?


156

Я намагаюся використовувати емулятор Intel HAX x86 для Windows (8, якщо це має значення). Я все встановив і створив AVD для версії для android, і все здається правильно, але коли я запускаю, я отримую цей вихід:

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

і емулятор не працюватиме. Значна частина цієї помилки (Failed to sync vcpu reg)не згадується БІЛЬШЕ в Інтернеті, за винятком вихідного коду для самого HAX , але я не можу зрозуміти, як це зробити з цього сенсу.

Хтось може порадити, як пройти цю помилку? Мені справді потрібно працювати, тому що налагодження на пристрої та в емуляторах за замовчуванням є болісно повільним.


3
Просто хотів зазначити, що мене зняли з цього проекту відразу після того, як задали це запитання, і ніколи не мали можливості спробувати будь-яке з цих рішень, тому я не знаю, яка правильна відповідь! Чи варто вибрати найкращу відповідь і просто прийняти її?
Джошуа Френк

3
@JoshuaFrank: Ні, просто залишити так, як є. Сумно.
Гонки легкості на орбіті

Відповіді:


372

Переконайтеся, що у вас немає віртуальних машин. У моєму випадку у мене працювала генімоція, яка спричиняла цю помилку.


5
Це була саме моя проблема і рішення. Дякую!
Гейт Межі

72
Або навіть відкрити віртуальну скриньку без будь-якого VM для мене
David Santiago Turiño

7
Отримав цю проблему на Mac. Після вимкнення VBox він почав працювати.
0x8BADF00D

6
Точно і моя проблема, я забув, що у мене працює VirtualBox VM
Боббі,

32
Мені довелося зупинити всі docker-machine stop <machine>
докерські

67

У мене працював віртуальний ящик. Вбивство VM дозволило емулятору запускатися.


6
Дякую, ніколи б про це не думав. Підняли коробку бродячих.
Бен Кейн

4
Тут же працює докер-машина (boot2docker / virtualbox).
твіал

Просто ще одне підтвердження. Я зупинив свій віртуальний екземпляр вікна, і мій емулятор запустився прямо. FYI мій віртуальний пристрій користувався процесором / ABI = x86, і я працював на комп'ютері macbook pro.
guyland123

3
це справді проблема для мене .. Я запускаю програму php, яка забезпечує api у віртуальному вікні на моїй книзі macbook, і я не можу розробити додаток для Android, який повинен підключитися до цього api ... Я думаю, мені знадобиться розгорнути php додаток на якомусь сервері і розвивайтеся на цьому, ну добре
Томаш Тибенський

це спрацювало, мій virtualbox працював у фоновому режимі, тепер я дуже хочу, щоб вони обоє працювали
Ірфан Ахмад

61

Якщо ви працюєте з Docker, вам доведеться зняти віртуальну машину

docker-machine stop default

Це передбачає, що ваша докерна машина викликана default . Якщо ви хочете перевірити використання імені docker-machine ls

Більш просте рішення; відкрити virtuabox і зупинити vm :-)


Ого, це було для мене. Божевільний. Як ви це зрозуміли?
Костянтин

1
досліджуйте проблему в Google :-) та додайте до неї трохи більше пояснень

Якщо ви користуєтесь додатком Mac і Docker на панелі завдань, закрийте його, навіть якщо докер-машина ls не дає нічого
Theodoros80

14

У мене була ця проблема. Для мене це була версія HAXM.

Коли ви отримуєте нову версію HAMX через диспетчер SDK, вона повідомляє, що вона встановлена. Це не. Ви повинні перейти до цієї папки:

<Android SDK> \ додатки \ intel \ Hardware_Accelerated_Execution_Manager \

та запустити intelhaxm-android.exe вручну. У моєму випадку я мав 1.0.6 та оновив до 1.1.

Я вважаю, що причиною помилки, в першу чергу, було те, що якась інша частина SDK, яку я оновив, потребувала 1.1.


14

Як згадуються в інших відповідях, переконайтеся, що жодна програма VirtualBox та docker не працює з наступною командою в mac. ( systemctlв Linux)

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

Якщо так, вбийте VBoxі dockerпослугу.

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

13
  1. Зупиніть GENYMOTION (відкрийте екземпляр VirtualBox, якщо якийсь екземпляр запущений, зупиніть його).
  2. Відкрийте AndroidStudio -> Запустити AVD Manager-> запустити віртуальний пристрій AndroidStudio.

Останні Android-емулятори не можуть працювати паралельно з GENYMOTION


Або зупинити докер також
nnhthuan

9

"vcpu reg" - це "віртуальні регістри процесора", які існують у багатьох процесорах, у яких є такі речі, як декілька ядер, гіперточування чи інші функції, які дозволяють вищим шарам вірити, що присутні більше одного процесора, коли його немає - наприклад, сьогоднішні x86. Немає підстав детально описуватись - ви можете уявити, що отримання цілісного, єдиного "віртуального контексту процесора" необхідне для тієї віртуалізації апаратних засобів, яку пропонує HAX.

Зазвичай це не проблема одночасно запускати кілька віртуальних машин різного роду. Але якщо хтось із них виходить з ладу або погано поводиться, або просто вирішує бути свиней, HAX може виявити, що він просто не може зібрати цілісну віртуальну машину, тому що не може синхронізувати віртуальний контекст процесора для себе. Це було б як спробувати запустити справжню машину без процесора.

Підсумок - це відкритий менеджер завдань і вбиває речі, які вам не потрібні, і схожі на те, що вони можуть містити ресурси віртуальної машини. У гіршому випадку перезавантаження майже певна, щоб усунути проблему.


5

Швидкі кроки:

  1. Зупиніть усі віртуальні машини VirtualBox (тобто, бродячий зупинка), закрийте VirtualBox.
  2. Усі докер-машини теж повинні бути зупинені. Вийдіть з Докера.

5

Це трапилося і зі мною, коли я намагався запустити як VirtualBox, так і Android емулятор на машині MacOS. Як вже згадували інші, в даний час неможливо запустити обидва (тобто VirtualBox та емулятор на базі X86 -Intel) в MacOS, і не впевнені в інших платформах. Якщо нам потрібно запустити обидва, ми можемо вибрати емулятор на основі ARM. (емулятори на основі руки зазвичай повільні)


4

Я отримував таку ж помилку. Я здогадуюсь, що для цієї помилки є різні причини, але в моєму випадку це було через послугу під назвою ".NCG". Послуга захищена мережевим вмістом Inka Entworks і, здається, є деяким типом DRM-рішення. Після видалення емулятор справно працював за допомогою HAX.


1
У мене немає такого програмного забезпечення, але це хороша підказка про інші подібні програми. Як на землі ви виявили, що це проблема?
Джошуа Франк

4

У моєму випадку виявилося, що ця проблема була викликана тим, що веб-камера вибрана як "Передня камера" в налаштуваннях для AVD. Якщо встановити його на "Емуляція", виправили цю проблему для мене.


4

Я зіткнувся з цією проблемою, тому що у мене на моєму віртуальному вікні працює Ubuntu. Коли я закрив свою віртуальну скриньку, я не стикався з цим питанням.


3

Я отримав таку ж помилку в моєму Windows 8 встановити.

Що можна спробувати:

  • зменшити об'єм пам'яті для емульованого пристрою (та / або закрити інші програми)
  • відключити емуляцію GPU
  • видалити прохідну веб-камеру

Для мене помилка виникає, коли я намагаюся приєднати фізичну веб-камеру до емульованого екземпляра Android.


Я спробую цим спробувати і звіту. Дякую!
Джошуа Франк

Смішним для мене було рішення включити емуляцію GPU.
rekire

3

Це не вдавалось, поки я не змінив його на [x] Використовувати Host GPU, як показано на рис.

Налаштування AVD


2
Так - для мене те саме. У config.ini AVD (старий?) Властивість було встановлено на: hw.gpu.enabled = no. після зміни його на так - все працює :)
icyerasor


2

Переконайтеся, що у вас немає віртуальних машин. У моєму випадку у мене працювала генімоція, яка спричиняла цю помилку. коли я вбиваю Процес genymotion і вбиваю всі пов'язані з процесом Oracle VM VirtualBox, то він працює, якщо не вдячний мені


2

Так, у мене була запущена віртуальна скринька, і я отримував цю помилку.


2

Я був на mac і мав цю проблему. Я не думав, що я запускаю VM (у мене є vbox, але він не працює). Я перезапустив комп'ютер і перед запуском будь-яких інших програм я спробував емулятор, і він працює чудово.


Точно, я працював vbox. Коли я відключився, то емулятор знову почне працювати.
Рікардо


2

Так, віртуальну машину VirtualBox потрібно зупинити. Мені також довелося зупинити Докер для Mac. У повідомленні про помилку згадується лише VirtualBox, який мене трохи збентежив, поки я не зрозумів, що Docker для Mac працює з xhyve.


1

Якщо ваш процесор підтримує дроселювання (наприклад, SpeedStep Intel ), спробуйте вимкнути цю функцію у вашому BIOS. Це свого роду швидке виправлення, але принаймні воно спрацювало.


3
Схоже, що затримка процесора не несе відповідальності за цю помилку. Помилка з’являється в моєму випадку, якщо на даний момент запущений VM VirtualBox.
Йоханнес Евальд

1

Я думаю, що це може бути з різних причин, які викликають цю невдачу. У моєму випадку, коли я встановив програмне забезпечення методу введення Google, з'явилося "Не вдалося синхронізувати vcpu reg". Це була єдина зміна перед нормальною роботою. Отже, після видалення програмного забезпечення Google Input це було відновлено. Просто трохи посилання, хоча я давно не можу повірити цьому рішенню.


1

У мене працював віртуальний ПК Windows (звичайно в Windows). Як тільки я вимкнувся, емулятор вийшов нормально.

Сподіваюся, це допомагає.


1

Я намагався запустити емулятор Gingerbread 2.3.3 x86, і він не запускався. Перехід від x86 до arm призвів до усунення проблеми.


Це зафіксувало це для мене. Просто перехід на ARM. Дякую!
rhand

1

Для мене єдине, що працювало з використанням adv на MacOs Yosemite, - це встановлення процесора на ARM(рідний процесор пристрою - стандартний 4 "Nexus).



1

Для мене відповіддю було встановити Enable keyboard inputзначення true у розширених налаштуваннях віртуального пристрою.

Це був перший варіант, який я змінив на пристрої, тому можливо, що змінений варіант виправляє помилку також, виходячи з широкого масиву відповідей вище.

Примітка. Я раніше підтверджував, що жоден VM не працює.


1

Виправлено проблему, змінивши поточну версію Java в Windows з Java 8 x64 на Java 7 x86.


0

Нарешті, я знайшов відповідь до цього питання. У мене була точно така ж проблема, і вона була повністю вирішена.

Віртуальний пристрій або веб-камера рідко є причиною вашої проблеми.

Просто встановіть драйвер чіпсету для материнської плати.

Я рекомендую вам використовувати автоінсталятор чіпсетів 3DP.

Удачі!


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.