Làm cách nào để khắc phục lỗi Lỗi không đồng bộ hóa vcpu reg lỗi?


156

Tôi đang cố gắng sử dụng trình giả lập Intel HAX x86 cho Windows (8, nếu có vấn đề). Tôi đã cài đặt mọi thứ và tạo AVD cho phiên bản Android và mọi thứ có vẻ chính xác, nhưng khi tôi chạy nó, tôi nhận được kết quả này:

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

và trình giả lập sẽ không chạy. Phần quan trọng của lỗi (Failed to sync vcpu reg)này không được đề cập BẤT CỨ LÚC NÀO trực tuyến, ngoại trừ trong mã nguồn cho chính HAX , nhưng tôi không thể tìm ra cách hiểu bất kỳ ý nghĩa nào về điều này.

Bất cứ ai có thể tư vấn về cách vượt qua lỗi này? Tôi thực sự cần phải làm việc này, vì việc gỡ lỗi trên thiết bị và trong trình giả lập mặc định rất chậm.


3
Chỉ muốn lưu ý rằng tôi đã rút khỏi dự án này ngay sau khi đặt câu hỏi này và không bao giờ có cơ hội thử bất kỳ giải pháp nào trong số này, vì vậy tôi không biết câu trả lời chính xác là gì! Tôi có nên chọn câu trả lời bình chọn hàng đầu và chỉ chấp nhận nó?
Joshua Frank

3
@JoshuaFrank: Không cần phải như vậy. Thật đáng buồn.
Các cuộc đua nhẹ nhàng trong quỹ đạo

Câu trả lời:


372

Hãy chắc chắn rằng bạn không có bất kỳ máy ảo nào đang chạy. Trong trường hợp của tôi, tôi đã chạy genymotion gây ra lỗi này.


5
Đây chính xác là vấn đề và giải pháp của tôi. Cảm ơn!
Heath

72
Hoặc thậm chí mở hộp ảo mà không có máy ảo nào chạy cho tôi
David Santiago Turiño

7
Có vấn đề này trên Mac. Sau khi tắt VBox, nó bắt đầu hoạt động.
0x8BADF00D

6
Chính xác là vấn đề của tôi, quên rằng tôi đã chạy VirtualBox VM
Bobby

32
Tôi đã phải dừng tất cả các máy docker-machine stop <machine>
docker

67

Tôi đã có hộp ảo chạy. Giết VM cho phép trình giả lập chạy.


6
Cảm ơn, sẽ không bao giờ nghĩ về điều đó. Có một hộp Vagrant lên.
Ben Kane

4
Tương tự ở đây, docker-machine (boot2docker / virtualbox) đã chạy.
tvial

Chỉ cần một xác nhận khác. Tôi đã dừng cá thể hộp ảo của mình và trình giả lập của tôi bắt đầu ngay. FYI thiết bị ảo của tôi đang sử dụng CPU / ABI = x86 và tôi đang chạy trên macbook pro.
Guyland123

3
Đây thực sự là một vấn đề đối với tôi .. Tôi đang chạy một ứng dụng php cung cấp api trong hộp ảo trên macbook của tôi và tôi không thể phát triển ứng dụng Android cần kết nối với api đó ... Tôi đoán tôi sẽ cần triển khai php ứng dụng trên một số máy chủ và phát triển trên đó, ồ tốt
Tomáš Tibenský

Điều này đã hoạt động, hộp ảo của tôi đang chạy trong nền, bây giờ tôi thực sự muốn cả hai hoạt động
Irfan Ahmad

61

Nếu bạn đang chạy Docker, bạn sẽ phải tắt máy ảo

docker-machine stop default

Điều này giả định máy docker của bạn được gọi default. Nếu bạn muốn kiểm tra tên sử dụng docker-machine ls

Một giải pháp đơn giản hơn; mở virtuabox và dừng vm :-)


Wow đây là nó cho tôi. Khùng. Sao bạn tìm hiểu ra được?
Constantine

1
nghiên cứu về vấn đề này trên google :-) và thêm một chút giải thích cho nó

Nếu bạn đang sử dụng ứng dụng Mac và Docker đang chạy trên thanh tác vụ, hãy đóng nó lại, ngay cả khi docker-machine ls không cho bạn gì
Theodoros80

14

Tôi đã có vấn đề này. Đối với tôi đó là phiên bản HAXM.

Khi bạn nhận được một phiên bản HAMX mới thông qua Trình quản lý SDK, nó sẽ cho bạn biết rằng nó đã được cài đặt. Không phải vậy. Bạn phải vào thư mục này:

<SDK Android> \ ngoại hạng \ intel \ Phần cứng_Accelerated_Execut_Manager \

và chạy intelhaxm-android.exe bằng tay. Trong trường hợp của tôi, tôi đã có 1.0.6 và nâng cấp lên 1.1.

Tôi nghĩ rằng điều gây ra lỗi ở nơi đầu tiên là một số phần khác của SDK mà tôi đã cập nhật cần 1.1.


14

Như đã đề cập bởi các câu trả lời khác, đảm bảo không có dịch vụ VirtualBox và docker nào đang chạy với lệnh sau trong mac. ( systemctltrong Linux)

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

Nếu vậy, giết VBoxdockerdịch vụ.

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

13
  1. Dừng GENYMOTION (mở phiên bản VirtualBox nếu có bất kỳ phiên bản nào đang chạy, dừng nó).
  2. Mở AndroidStudio -> Chạy Trình quản lý AVD-> chạy thiết bị ảo AndroidStudio.

Trình giả lập Android mới nhất không thể chạy song song với GENYMOTION


Hoặc dừng
docker

9

"vcpu reg" là "Đăng ký CPU ảo" tồn tại trên nhiều bộ xử lý có nhiều thứ như nhiều lõi, siêu phân luồng hoặc các tính năng khác cho phép các lớp cao hơn tin rằng có nhiều hơn một CPU khi không có - chẳng hạn như - x86s ngày nay. Không có lý do để đi vào chi tiết - bạn có thể tưởng tượng rằng việc có được một "bối cảnh CPU ảo" mạch lạc, duy nhất là cần thiết cho loại ảo hóa phần cứng mà HAX cung cấp.

Thông thường, không phải là vấn đề khi chạy nhiều máy ảo cùng loại. Nhưng nếu một trong số chúng gặp sự cố hoặc hoạt động sai hoặc chỉ quyết định là một con heo, HAX có thể thấy rằng nó không thể kết hợp một máy ảo kết hợp với nhau, vì nó không thể đồng bộ hóa bối cảnh CPU ảo cho chính nó. Nó giống như cố gắng chạy một máy thật không có CPU.

Điểm mấu chốt là trình quản lý tác vụ mở và tiêu diệt những thứ bạn không cần và có vẻ như chúng có thể đang nắm giữ tài nguyên máy ảo. Trong trường hợp xấu nhất, khởi động lại gần như chắc chắn để khắc phục vấn đề.


5

Bước nhanh:

  1. Dừng tất cả các máy ảo VirtualBox (tức là tạm dừng), thoát VirtualBox.
  2. Tất cả các máy docker cũng nên được dừng lại. Thoát khỏi Docker.

5

Điều này cũng xảy ra với tôi khi tôi đang cố gắng chạy cả trình giả lập VirtualBox và Android trong máy MacOS. Như những người khác đã đề cập ở trên hiện tại, không thể chạy cả hai (ví dụ như trình giả lập dựa trên VirtualBox và X86 -Intel) trong MacOS và không chắc chắn về các nền tảng khác. Nếu chúng ta cần chạy cả hai, chúng ta có thể chọn trình giả lập dựa trên ARM. (trình giả lập dựa trên cánh tay thường chậm)


4

Tôi đã nhận được cùng một lỗi. Tôi đoán có nhiều lý do cho lỗi này, nhưng trong trường hợp của tôi, đó là do một dịch vụ có tên ".NCG". Dịch vụ này là Network Content Guard của Inka Entworks và dường như là một loại giải pháp DRM. Sau khi gỡ cài đặt, trình giả lập hoạt động tốt khi sử dụng HAX.


1
Tôi không có phần mềm đó, nhưng nó là đầu mối tốt về các chương trình tương tự khác. Làm thế nào trên trái đất bạn đã phát hiện ra rằng đây là vấn đề?
Joshua Frank

4

Trong trường hợp của tôi, hóa ra vấn đề này là do webcam được chọn là "Camera trước" trong cài đặt cho AVD. Đặt nó thành "Giả lập" đã khắc phục sự cố này cho tôi.


4

Tôi gặp phải vấn đề này vì tôi có hộp ảo chạy trên Ubuntu. Khi tôi tắt hộp ảo, tôi không gặp phải vấn đề này.


3

Tôi đã gặp lỗi tương tự khi cài đặt windows 8.

Những điều bạn có thể thử:

  • giảm dung lượng bộ nhớ cho thiết bị mô phỏng (và / hoặc đóng các ứng dụng khác)
  • vô hiệu hóa mô phỏng GPU
  • xóa webcam đi qua

Đối với tôi, lỗi xảy ra khi tôi cố gắn webcam vật lý vào phiên bản Android giả lập.


Tôi sẽ thử lại và báo cáo lại. Cảm ơn!
Joshua Frank

Buồn cười đối với tôi là giải pháp cho phép mô phỏng GPU.
thiệu lại

3

Điều này tiếp tục thất bại cho đến khi tôi thay đổi nó thành [x] Sử dụng GPU máy chủ như trong hình.

Thiết lập AVD


2
Đúng - tương tự đối với tôi. Trong config.ini của AVD (cái cũ?) Thuộc tính được đặt thành: hw.gpu.enables = no. sau khi thay đổi thành có - mọi thứ đều hoạt động :)
icyerasor

3

Tôi đang chạy boot2docker vm, chỉ cần nó giải quyết vấn đề.

boot2docker down


2

Hãy chắc chắn rằng bạn không có bất kỳ máy ảo nào đang chạy. Trong trường hợp của tôi, tôi đã chạy genymotion gây ra lỗi này. Khi tôi giết tiến trình của genymotion và giết tất cả quy trình liên quan đến Oracle VM VirtualBox thì nó hoạt động bằng cách wangshiming không cảm ơn tôi


2

Ya, tôi đã chạy hộp ảo và gặp lỗi này, tắt nó đi đã sửa lỗi.


2

Tôi đã ở trên máy mac và gặp vấn đề này. Tôi không nghĩ mình đang chạy VM (tôi có vbox nhưng nó không chạy). Tôi đã khởi động lại máy tính của mình và trước khi bắt đầu bất kỳ ứng dụng nào khác, tôi đã thử trình giả lập và nó hoạt động tốt.


Chính xác, tôi đã chạy vbox. Khi tôi điều chỉnh thì trình giả lập bắt đầu hoạt động trở lại.
Ricardo


2

Có, các VirtualBox VM phải được dừng lại. Tôi cũng đã phải dừng Docker cho Mac. Thông báo lỗi chỉ đề cập đến VirtualBox, điều này làm tôi bối rối một chút cho đến khi tôi nhận ra Docker cho Mac đang chạy xhyve.


1

Nếu CPU của bạn hỗ trợ điều chỉnh (như SpeedStep của Intel ), hãy thử tắt tính năng đó trong BIOS của bạn. Đó là một loại tiền tố nhưng ít nhất nó đã hoạt động.


3
Có vẻ như điều chỉnh CPU không chịu trách nhiệm cho lỗi này. Lỗi xuất hiện trong trường hợp của tôi nếu VirtualBox VM hiện đang chạy.
Julian Ewald

1

Tôi nghĩ rằng nó phải là một loạt các lý do gây ra sự thất bại này. Trong trường hợp của tôi, vì tôi đã cài đặt phần mềm phương thức nhập liệu của Google, "Không thể đồng bộ hóa vcpu reg" đã xuất hiện. Đây là một và chỉ thay đổi trước khi làm việc bình thường. Vì vậy, sau khi gỡ cài đặt phần mềm Google Input, nó đã được khôi phục. Chỉ cần tham khảo một chút, mặc dù tôi cũng không thể tin giải pháp này trong một thời gian dài.


1

Tôi đã có Windows Virtual PC đang chạy (tất nhiên trên Windows). Khi tôi tắt, trình giả lập đã hoạt động tốt.

Hi vọng điêu nay co ich.


1

Tôi đã cố gắng khởi chạy trình giả lập Gingerbread 2.3.3 x86 và nó sẽ không khởi chạy. Thay đổi từ x86 sang cánh tay đã khiến vấn đề biến mất.


CÁi này đã sửa nó giúp tôi. Chỉ cần chuyển sang ARM. Cảm ơn!
rhand

1

Đối với tôi, điều duy nhất hoạt động khi sử dụng adv trên MacOs Yosemite, là cài đặt bộ xử lý thành ARM(CPU gốc của thiết bị - Nexus 4 "tiêu chuẩn).


1

Nếu bạn đang có bất kỳ máy ảo nào đang chạy, hãy tạm dừng chúng và thử lại.


1

Đối với tôi, câu trả lời là được đặt Enable keyboard inputthành đúng theo cài đặt nâng cao của thiết bị ảo.

Đây là tùy chọn đầu tiên tôi thay đổi trên thiết bị, vì vậy có thể hành động thay đổi tùy chọn cũng sửa lỗi dựa trên một loạt các câu trả lời ở trên.

Lưu ý: Trước đây tôi đã xác nhận rằng không có máy ảo nào đang chạy.


1

Đã khắc phục sự cố bằng cách thay đổi phiên bản Java hiện tại trong Windows từ Java 8 x64 sang Java 7 x86.


0

Cuối cùng, tôi tìm thấy anwer cho câu hỏi này. Tôi đã có chính xác cùng một vấn đề và nó đã được giải quyết hoàn toàn.

Thiết bị ảo hoặc webcam hiếm khi là nguyên nhân của vấn đề của bạn.

Chỉ cần cài đặt trình điều khiển chipset mainboard.

Tôi khuyên bạn nên sử dụng trình cài đặt tự động chipset 3DP.

Chúc may mắn!


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.