ฉันจะแก้ไขข้อผิดพลาด“ ไม่สามารถซิงค์ vcpu reg” ได้อย่างไร


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
เพียงแค่ต้องการที่จะทราบว่าฉันถูกดึงออกจากโครงการนี้ทันทีหลังจากถามคำถามนี้และไม่เคยมีโอกาสลองวิธีการแก้ปัญหาใด ๆ เหล่านี้ดังนั้นฉันไม่รู้ว่าคำตอบที่ถูกต้องคืออะไร! ฉันควรเลือกคำตอบที่ได้รับคะแนนสูงสุดและยอมรับมันหรือไม่?
Joshua Frank

3
@JoshuaFrank: ไม่เพียงแค่ปล่อยตามที่เป็น เศร้า.
การแข่งขัน Lightness ใน Orbit

คำตอบ:


372

ตรวจสอบให้แน่ใจว่าคุณไม่มีเครื่องเสมือนใด ๆ ทำงานอยู่ ในกรณีของฉันฉันมีจีโนมทำงานอยู่ซึ่งทำให้เกิดข้อผิดพลาดนี้


5
นี่เป็นปัญหาและแนวทางแก้ไขของฉันเช่นกัน ขอบคุณ!
Heath Borders

72
หรือแม้กระทั่งเปิด
กล่องเสมือน

7
รับทราบปัญหานี้ใน Mac หลังจากปิด VBox แล้วก็เริ่มทำงานได้
0x8BADF00D

6
ปัญหาของฉันเช่นกันฉันลืม VirtualBox VM ที่ใช้งานอยู่
Bobby

32
ฉันต้องหยุดเครื่อง mu docker-machine stop <machine>
docker

67

ฉันมีกล่องเสมือนทำงาน การฆ่า VM อนุญาตให้ emulator รันได้


6
ขอบคุณจะไม่เคยคิดว่า มีกล่องคนจรจัดขึ้น
Ben Kane

4
เหมือนกันที่นี่ docker-machine (boot2docker / virtualbox) กำลังทำงาน
tvial

เพียงแค่การยืนยันอื่น ฉันหยุดอินสแตนซ์บ็อกซ์เสมือนของฉันและโปรแกรมจำลองเริ่มทำงานทันที FYI อุปกรณ์เสมือนของฉันใช้ CPU / ABI = x86 และฉันใช้กับ macbook pro
guyland123

3
นี่เป็นปัญหาสำหรับฉันจริงๆ .. ฉันใช้งานแอพ php ซึ่งให้ api ในกล่องเสมือนบน macbook ของฉันและฉันไม่สามารถพัฒนาแอพ android ที่ต้องเชื่อมต่อกับ api นั้น ... ฉันเดาว่าฉันจะต้องปรับใช้ php ตรวจสอบบนเซิร์ฟเวอร์บางตัวและพัฒนาต่อไปว่าทำได้ดี
TomášTibenský

ใช้งานได้แล้วกล่องเสมือนของฉันทำงานในพื้นหลังตอนนี้ฉันต้องการให้ทั้งคู่ทำงานได้
Irfan Ahmad

61

หากคุณใช้งานนักเทียบท่าคุณจะต้องถอดเครื่องเสมือนออก

docker-machine stop default

defaultเครื่องนี้จะถือว่านักเทียบท่าของคุณเรียกว่า หากคุณต้องการตรวจสอบชื่อใช้งาน docker-machine ls

ทางออกที่ง่ายกว่า เปิด virtuabox และหยุด vm :-)


ว้าวนี่มันสำหรับฉัน บ้า. คุณคิดออกยังไง
Constantine

1
ค้นคว้าหาปัญหาใน google :-) และเพิ่มคำอธิบายเพิ่มเติมอีกนิด

หากคุณใช้แอพ Mac และ Docker กำลังทำงานอยู่ที่ทาสก์บาร์ให้ปิดมันเช่นกันแม้ว่าเครื่องเทียบท่าจะไม่ให้อะไรก็ตามกับคุณ
Theodoros80

14

ฉันมีปัญหานี้ สำหรับฉันมันเป็นรุ่น HAXM

เมื่อคุณได้รับ HAMX รุ่นใหม่ผ่านทาง SDK Manager มันจะบอกคุณว่าได้รับการติดตั้งแล้ว มันไม่ใช่. คุณต้องไปที่โฟลเดอร์นี้:

<Android SDK> \ extras \ intel \ Hardware_Accelerated_Execution_Manager \

และเรียกใช้intelhaxm-android.exeด้วยตนเอง ในกรณีของฉันฉันมี 1.0.6 และอัปเกรดเป็น 1.1

ฉันคิดว่าสิ่งที่ทำให้เกิดข้อผิดพลาดในตอนแรกคือส่วนอื่น ๆ ของ SDK ที่ฉันได้อัพเดตจำเป็นต้องใช้ 1.1


14

ตามที่กล่าวไว้โดยคำตอบอื่น ๆ ตรวจสอบให้แน่ใจว่าไม่มีบริการ VirtualBox และนักเทียบท่าทำงานโดยใช้คำสั่งต่อไปนี้ใน 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 Emulators ล่าสุดไม่สามารถทำงานพร้อมกันกับ GENYMOTION


หรือหยุดนักเทียบท่าเช่นกัน
nnhthuan

9

"vcpu reg" คือ "Virtual CPU Registers" ที่มีอยู่ในโปรเซสเซอร์จำนวนมากที่มีหลายอย่างเช่นหลายคอร์, ไฮเปอร์เธรดหรือคุณสมบัติอื่น ๆ ที่เปิดใช้งานเลเยอร์ที่สูงกว่าเพื่อให้เชื่อว่ามี CPU มากกว่าหนึ่งตัวเมื่อไม่มีเช่น วันนี้ x86 ไม่มีเหตุผลที่จะพูดถึงรายละเอียด - คุณสามารถจินตนาการได้ว่าการได้รับบริบท CPU เสมือน "เดี่ยว ๆ " นั้นจำเป็นสำหรับการจำลองเสมือนฮาร์ดแวร์ที่ HAX นำเสนอ

ตามปกติแล้วจะไม่มีปัญหาในการใช้งานเครื่องเสมือนหลาย ๆ เครื่องพร้อมกัน แต่ถ้าหนึ่งในนั้นเกิดปัญหาหรือทำงานผิดปกติหรือเพิ่งตัดสินใจเป็นหมูตัว HAX อาจพบว่ามันไม่สามารถรวมเครื่องเสมือนที่เชื่อมโยงกันได้เพราะมันไม่สามารถซิงค์บริบท CPU เสมือนสำหรับตัวมันเอง มันเหมือนกับการพยายามใช้งานเครื่องจริงโดยไม่มีซีพียู

บรรทัดล่างคือตัวจัดการงานเปิดและฆ่าสิ่งที่คุณไม่ต้องการและดูเหมือนว่าพวกเขาอาจกำลังถือทรัพยากรเครื่องเสมือน ในกรณีที่เลวร้ายที่สุดการรีบูตเกือบจะแน่นอนเพื่อแก้ไขปัญหา


5

ขั้นตอนด่วน:

  1. หยุด VirtualBox เสมือนทุกเครื่อง (เช่นคนจรจัดหยุด) ออกจาก VirtualBox
  2. เครื่องเทียบท่าทั้งหมดควรจะหยุดเช่นกัน ออกจาก Docker

5

สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันพยายามเรียกใช้ทั้ง VirtualBox และ Android emulator ในเครื่อง MacOS ตามที่คนอื่น ๆ ได้กล่าวไว้ข้างต้นในปัจจุบันมันเป็นไปไม่ได้ที่จะรันทั้ง (เช่น VirtualBox และ X86 -Intel based emulator) ใน MacOS และไม่แน่ใจเกี่ยวกับแพลตฟอร์มอื่น ๆ ถ้าเราจำเป็นต้องรันทั้งสองเราสามารถเลือกตัวจำลอง ARM ได้ (อีมูเลเตอร์ที่ใช้แขนเป็นปกติจะช้า)


4

ฉันได้รับข้อผิดพลาดเดียวกัน ฉันเดาว่ามีสาเหตุหลายประการสำหรับข้อผิดพลาดนี้ แต่ในกรณีของฉันมันเป็นเพราะบริการชื่อ ".NCG" บริการนี้เป็น Network Content Guard โดย Inka Entworks และดูเหมือนจะเป็นโซลูชัน DRM บางประเภท เมื่อถอนการติดตั้งตัวจำลองจะทำงานได้ดีโดยใช้ HAX


1
ฉันไม่มีซอฟต์แวร์นั้น แต่มันก็เป็นสัญญาณที่ดีเกี่ยวกับโปรแกรมอื่น ๆ ที่คล้ายกัน คุณค้นพบว่าปัญหานี้เกิดขึ้นบนโลกได้อย่างไร
Joshua Frank

4

ในกรณีของฉันมันเปิดออกปัญหานี้เกิดจากการเลือกเว็บแคมเป็น "กล้องหน้า" ในการตั้งค่าสำหรับ AVD การตั้งค่าเป็น "จำลอง" แก้ไขปัญหานี้ให้ฉันได้


4

ฉันต้องเผชิญกับปัญหานี้เพราะฉันมีกล่องเสมือนของฉันทำงานกับ Ubuntu บนมัน เมื่อฉันปิดกล่องเสมือนฉันไม่ได้ประสบปัญหานี้


3

ฉันได้รับข้อผิดพลาดเดียวกันในการติดตั้ง windows 8

สิ่งที่คุณสามารถลอง:

  • ลดจำนวนหน่วยความจำสำหรับอุปกรณ์ที่จำลอง (และ / หรือปิดแอปพลิเคชันอื่น ๆ )
  • ปิดใช้งานการจำลอง GPU
  • ลบเว็บแคมแบบพาส - ทรู

สำหรับฉันข้อผิดพลาดเกิดขึ้นเมื่อฉันพยายามที่จะแนบเว็บแคมทางกายภาพกับอินสแตนซ์หุ่นยนต์เลียนแบบ


ฉันจะลองและรายงานกลับมา ขอบคุณ!
Joshua Frank

ตลกสำหรับฉันเป็นวิธีแก้ปัญหาเพื่อเปิดใช้งานการจำลอง GPU
rekire

3

สิ่งนี้ยังคงล้มเหลวจนกว่าฉันจะเปลี่ยนเป็น [x] ใช้โฮสต์ GPU ตามที่แสดงในรูป

ตั้งค่า AVD


2
ใช่ - เหมือนกันสำหรับฉัน ใน config.ini ของ AVD (เก่าหรือไม่) คุณสมบัติถูกตั้งค่าเป็น: hw.gpu.enabled = no หลังจากที่เปลี่ยนไปใช่ - ทำงานทุกอย่าง :)
icyerasor


2

ตรวจสอบให้แน่ใจว่าคุณไม่มีเครื่องเสมือนใด ๆ ทำงานอยู่ ในกรณีของฉันฉันมีจีโนมทำงานอยู่ซึ่งทำให้เกิดข้อผิดพลาดนี้ เมื่อฉันฆ่ากระบวนการของจีโนมและทำลายกระบวนการที่เกี่ยวข้องกับ Oracle VM VirtualBox ทั้งหมดมันทำงานโดย wangshiming ไม่ต้องขอบคุณฉัน


2

ใช่ฉันมีกล่องเสมือนทำงานและได้รับข้อผิดพลาดนี้ปิดมันลงแก้ไขข้อผิดพลาด


2

ฉันใช้ mac และมีปัญหานี้ ฉันไม่คิดว่าฉันใช้ VM (ฉันมี vbox แต่ไม่ได้ทำงาน) ฉันรีสตาร์ทคอมพิวเตอร์และก่อนที่จะเริ่มแอพอื่น ๆ ฉันลองใช้ตัวจำลองและทำงานได้ดี


ตรงฉันมี vbox ทำงานอยู่ เมื่อฉันปรับแล้วอีมูเลเตอร์ก็เริ่มทำงานอีกครั้ง
Ricardo


2

ใช่ VirtualBox VM ต้องหยุดทำงาน ฉันต้องหยุด Docker สำหรับ Mac ด้วย ข้อความแสดงข้อผิดพลาดกล่าวถึง VirtualBox ซึ่งทำให้ฉันสับสนเล็กน้อยจนกว่าฉันจะรู้ว่า Docker for Mac ใช้ xhyve อยู่


1

หาก CPU ของคุณรองรับการควบคุมปริมาณ (เช่นSpeedStepของ Intel ) ให้ลองปิดใช้งานคุณสมบัตินั้นใน BIOS ของคุณ มันเป็นคำสั่งด่วน แต่อย่างน้อยก็ใช้ได้


3
ดูเหมือนว่าการควบคุมปริมาณซีพียูจะไม่รับผิดชอบต่อข้อผิดพลาดนี้ ข้อผิดพลาดปรากฏขึ้นในกรณีของฉันถ้า VirtualBox VM กำลังทำงานอยู่
Johannes Ewald

1

ฉันคิดว่ามันต้องมีหลายสาเหตุที่ทำให้เกิดความล้มเหลวนี้ ในกรณีของฉันเนื่องจากฉันติดตั้งซอฟต์แวร์วิธีการป้อนข้อมูลของ Google ปรากฏ "ไม่สามารถซิงค์ vcpu reg" นี่เป็นการเปลี่ยนแปลงเดียวเท่านั้นก่อนการทำงานปกติ ดังนั้นหลังจากถอนการติดตั้งซอฟต์แวร์ Google Input มันถูกกู้คืนมีการอ้างอิงเพียงเล็กน้อยถึงแม้ว่าฉันจะไม่เชื่อโซลูชันนี้เป็นเวลานานก็ตาม


1

ฉันใช้Windows Virtual PC (บน Windows แน่นอน) เมื่อฉันปิดตัวเลียนแบบก็ทำงานได้ดี

หวังว่านี่จะช่วยได้


1

ฉันพยายามเปิดตัวจำลอง Gingerbread 2.3.3 x86 และมันจะไม่เปิดตัว การเปลี่ยนจาก x86 เป็น arm ทำให้ปัญหาหายไป


สิ่งนี้แก้ไขได้สำหรับฉัน เพียงเปลี่ยนเป็น ARM ขอบคุณ!
rhand

1

สำหรับฉันสิ่งเดียวที่ใช้งานได้กับ adv บน MacOs Yosemite คือการตั้งค่าโปรเซสเซอร์เป็นARM(CPU ดั้งเดิมของอุปกรณ์ - Nexus 4 มาตรฐาน ")



1

สำหรับฉันคำตอบคือการตั้งค่าEnable keyboard inputเป็นจริงภายใต้การตั้งค่าขั้นสูงของอุปกรณ์เสมือน

นี่เป็นตัวเลือกแรกที่ฉันเปลี่ยนบนอุปกรณ์ดังนั้นจึงเป็นไปได้ว่าการกระทำของการเปลี่ยนแปลงตัวเลือกจะแก้ไขข้อผิดพลาดได้เช่นกันโดยขึ้นอยู่กับคำตอบที่หลากหลายด้านบน

หมายเหตุ: ฉันได้รับการยืนยันก่อนหน้านี้ว่าไม่มี VM กำลังทำงานอยู่


1

แก้ไขปัญหาด้วยการเปลี่ยน Java เวอร์ชันปัจจุบันภายใน Windows จาก Java 8 x64 เป็น Java 7 x86


0

ในที่สุดฉันพบ anwer สำหรับคำถามนี้ ฉันมีปัญหาเดียวกันทั้งหมดและได้รับการแก้ไขอย่างสมบูรณ์

อุปกรณ์เสมือนหรือเว็บแคมนั้นเป็นสาเหตุของปัญหาของคุณ

เพียงติดตั้งไดรเวอร์ชิปเซ็ตเมนบอร์ด

ฉันแนะนำให้คุณใช้ตัวควบคุมอัตโนมัติของชิปเซ็ต 3DP

โชคดี!


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.