qemu-system-i386:无法为qcow2标头和refcount表分配集群:地址错误

时间:2018-02-16 03:47:07

标签: android emulation qemu

无法在Mac 10.12.6上启动Android模拟器。我注意到一个输出可能是原因: qemu-system-i386:无法为qcow2标头和refcount表分配集群:地址错误

下面是使用-verbose和-debug all选项的更多输出:

emulator: Starting QT main loop

emulator: Android qemu version 27.1.7.0 (build_id 4581633) (CL:b5ec07662db0f9d8644e5fbda7040053a8741bfd)

emulator: Starting QEMU main loop
emulator: android_qemud_init
qemu-system-i386: Could not allocate clusters for qcow2 header and refcount table: Bad address
emulator: Done with QEMU main loop
emulator: found skin 'nexus_6' in directory: /Users/dzhang/Library/Android/sdk/skins/
emulator: (metrics::NullMetricsWriter) created
emulator: (metrics::NullMetricsReporter) created
emulator: (metrics::reportConditional) ignoring
emulator: skin_winsys_get_window_pos
emulator: skin_winsys_get_window_pos: x=0 y=0
emulator: Finished QT main loop

我用Google搜索并没有发现任何相关信息。每个代码在这里:https://github.com/qemu/qemu/blob/master/block/qcow2.c 似乎无法打开图像。

更新:创建了一个新图像并得到了相同的错误消息。模拟器此时崩溃,下面是问题报告:

Operating system: Mac OS X
                  10.12.6 16G1212
CPU: amd64
     family 6 model 70 stepping 1
     8 CPUs

Crash reason:  EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0xd0
Process uptime: 1 seconds

Thread 10 (crashed)
 0  qemu-system-i386 + 0x354677
    rax = 0x00000000000000d0   rdx = 0x0000000000000000
    rcx = 0x00007fb1ea8007c0   rbx = 0x0000700001029000
    rsi = 0x0000000000000000   rdi = 0x000000010eeb8db0
    rbp = 0x0000700001028ef0   rsp = 0x0000700001028ed0
     r8 = 0x0000700000fa8000    r9 = 0x0000000000083000
    r10 = 0x0000000000000001   r11 = 0x0000000000000206
    r12 = 0x000000010d34a660   r13 = 0x0000000000009a17
    r14 = 0x00000000180008ff   r15 = 0x00007fb1ea8007c0
    rip = 0x000000010d34a677
    Found by: given as instruction pointer in context

好像是qemu问题?

2 个答案:

答案 0 :(得分:6)

事实证明qemu被我们的合作安全软件Cylance阻止,因为它检测到敏感的内存读取操作。需要与IT团队讨论更改策略以解除阻止。

答案 1 :(得分:0)

我的第一个猜测是您的QCOW2来宾磁盘映像已损坏。尝试使用已知良好的磁盘映像?