android 挂起 检测,Android Studio模拟器:错误:检测到挂起线程QEMU2主循环

在Ubuntu 16.04上使用Android Studio 3.0.1时,用户报告了更新Android Studio后,AVD启动时显示15秒黑色屏幕然后崩溃的问题,错误信息涉及'QEMU2mainloop'挂起。尝试了包括启用IPv6在内的多种解决方案后,问题仍然存在。最后,发现通过禁用IPv6可以作为临时解决办法。
摘要由CSDN通过智能技术生成

I use Android Studio 3.0.1 on Ubuntu 16.04.

Yesterday, Android Studio popped up a message saying that there's an update available, and I always click those. It then notified me that it had successfully updated the emulator.

My AVD worked perfectly before, but after the update finished, now when I launch it, it shows a black screen in the emulator window for 15 seconds and then crashes with the following error message:

ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

I tried the solutions suggested in all the threads describing similar emulator problems. (I verified that the emulator is still installed via the SDK Manager, I tried switching between the software and the hardware graphics settings of the AVD, I tried replacing libstdc++ with a newer version 6.0.24, I tried instead to ln -sf my /usr/lib.. libstdc++ 6.0.21 into the SDK emulator lib64/libstdc++ folder, I even downloaded Android Studio and ran a fresh installation with its own new SDK folder with freshly downloaded SDKs, I tried creating new AVDs with different architectures (arm) and different API levels (24, 27), I tried restarting ADB, and even restarting the computer. Nothing helped.

My SDK tools menu doesn't have an entry for emulator accelerator (HAXM), though my PC has an Intel CPU: I shouldn't have to change this since my AVD worked just yesterday! What broke?

What's causing the 'QEMU2 main loop' to hang, and how can I fix it?

解决方案

I found an interim workaround - make sure IPv6 is enabled.

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0

If you see 1 above, edit your /etc/sysctl.conf file and comment out all the IPv6 disable directives:

# net.ipv6.conf.all.disable_ipv6 = 1

# net.ipv6.conf.default.disable_ipv6 = 1

# net.ipv6.conf.lo.disable_ipv6 = 1

Update Jan 5, '18: At least one user reports that disabling a previously enabled IPv6 has resolved the problem on his system. In that case, you may want to try to reverse the steps above if IPv6 is already enabled on your system and the emulator does not start.

I started experiencing the exact same problem after the most recent update of the Android SDK on my Ubuntu 16.04. The executable doesn't have symbols so I'm not sure how to point the original developer to the root cause, but here is the threads state:

(gdb) info threads

Id Target Id Frame

1 Thread 0x7f6d20428700 (LWP 14472) 0x00000000014e8baf in ?? ()

2 Thread 0x7f6d20c29700 (LWP 14471) syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38

* 3 Thread 0x7f6d20c2ad00 (LWP 14470) 0x00007f6d258a27d1 in __GI_ppoll (fds=0x3842bf8, nfds=1, timeout=, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50

4 Thread 0x7f6d1d427700 (LWP 14479) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

5 Thread 0x7f6d1649b700 (LWP 14483) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

6 Thread 0x7f6d05fe4700 (LWP 14487) __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135

7 Thread 0x7f6d16c9c700 (LWP 14482) __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135

8 Thread 0x7f6d1cc26700 (LWP 14480) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

9 Thread 0x7f6d1eda9700 (LWP 14478) 0x00007f6d258a270d in poll () at ../sysdeps/unix/syscall-template.S:84

10 Thread 0x7f6d067e5700 (LWP 14486) 0x00007f6d280107cd in connect () at ../sysdeps/unix/syscall-template.S:84

11 Thread 0x7f6d15c9a700 (LWP 14484) 0x00007f6d258a27d1 in __GI_ppoll (fds=0x7f6d10000aa0, nfds=5, timeout=, sigmask=0x0)

at ../sysdeps/unix/sysv/linux/ppoll.c:50

12 Thread 0x7f6cff7fe700 (LWP 14489) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

13 Thread 0x7f6cfffff700 (LWP 14488) 0x00007f6d258a270d in poll () at ../sysdeps/unix/syscall-template.S:84

14 Thread 0x7f6cfeffd700 (LWP 14490) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

15 Thread 0x7f6cfe7fc700 (LWP 14492) 0x00007f6d280107cd in connect () at ../sysdeps/unix/syscall-template.S:84

16 Thread 0x7f6cfdffb700 (LWP 14493) 0x00007f6d258a27d1 in __GI_ppoll (fds=0x7f6c78012818, nfds=3, timeout=, sigmask=0x0)

at ../sysdeps/unix/sysv/linux/ppoll.c:50

17 Thread 0x7f6c93dfe700 (LWP 14498) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

6XZoM.png

Log output:

emulator:Android emulator version 26.0.3.0 (build_id 3965150)

emulator:Found AVD name 'Nexus_5X_API_25'

emulator:Found AVD target architecture: x86_64

emulator:argv[0]: './emulator'; program directory: '/home/sl/opt/android-sdk/tools'

emulator: Found directory: /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64/

emulator:Probing for /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu: file exists

emulator:Auto-config: -engine qemu2 (based on configuration)

emulator: Found directory: /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64/

emulator:try dir /home/sl/opt/android-sdk/tools

emulator:try dir ./

emulator:try dir ../emulator

emulator:Found target-specific 64-bit emulator binary: /home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64

emulator:Adding library search path: '../emulator/lib64'

emulator:Adding library search path: '../emulator/lib64/gles_swiftshader'

emulator:Adding library search path: '../emulator/lib64/gles_angle'

emulator:Adding library search path: '../emulator/lib64/gles_angle9'

emulator:Adding library search path: '../emulator/lib64/gles_angle11'

emulator:Adding library search path: '../emulator/lib64/libstdc++'

emulator: Adding library search path for Qt: '../emulator/lib64/qt/lib'

emulator: Setting Qt plugin search path: QT_QPA_PLATFORM_PLUGIN_PATH=../emulator/lib64/qt/plugins

emulator: Running :/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64

emulator: qemu backend: argv[00] = "/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64"

emulator: qemu backend: argv[01] = "-avd"

emulator: qemu backend: argv[02] = "Nexus_5X_API_25"

emulator: qemu backend: argv[03] = "-verbose"

emulator: Concatenated backend parameters:

/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64 -avd Nexus_5X_API_25 -verbose

emulator: Android virtual device file at: /home/sl/.android/avd/Nexus_5X_API_25.ini

emulator: virtual device content at /home/sl/.android/avd/Nexus_5X_API_25.avd

emulator: virtual device config file: /home/sl/.android/avd/Nexus_5X_API_25.avd/config.ini

emulator: using core hw config path: /home/sl/.android/avd/Nexus_5X_API_25.avd/hardware-qemu.ini

emulator: using snapshot lock path: /home/sl/.android/avd/Nexus_5X_API_25.avd/snapshot.lock

emulator: Found AVD target API level: 25

emulator: Read property file at /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//build.prop

emulator: No boot.prop property file found.

emulator: Warning: config.ini contains invalid skin.path entry: _no_skin

emulator: autoconfig: -skin 1080x1920

emulator: autoconfig: -skindir (null)

emulator: autoconfig: -kernel /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu

emulator: Target arch = 'x86_64'

emulator: Auto-detect: Kernel image requires new device naming scheme.

emulator: Auto-detect: Kernel does not support YAFFS2 partitions.

emulator: autoconfig: -ramdisk /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img

emulator: Using initial system image: /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img

emulator: No vendor image

emulator: autoconfig: -data /home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img

emulator: autoconfig: -initdata /home/sl/.android/avd/Nexus_5X_API_25.avd/userdata.img

emulator: autoconfig: -cache /home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img

emulator: Physical RAM size: 1536MB

emulator: VM heap size 256MB is below hardware specified minimum of 384MB,setting it to that value

emulator: System image is read only

emulator: Found 1 DNS servers: 127.0.1.1

emulator: found magic skin width=1080 height=1920 bpp=16

emulator: CPU Acceleration: working

emulator: CPU Acceleration status: KVM (version 12) is installed and usable.

emulator: GPU emulation enabled using 'host' mode

emulator: Initializing hardware OpenGLES emulation support

emulator: Found 1 DNS servers: 127.0.1.1

Content of hardware configuration file:

hw.cpu.arch = x86_64

hw.cpu.ncore = 2

hw.ramSize = 1536

hw.screen = multi-touch

hw.mainKeys = false

hw.trackBall = false

hw.keyboard = true

hw.keyboard.lid = false

hw.keyboard.charmap = qwerty2

hw.dPad = false

hw.rotaryInput = false

hw.gsmModem = true

hw.gps = true

hw.battery = true

hw.accelerometer = true

hw.gyroscope = true

hw.audioInput = true

hw.audioOutput = true

hw.sdCard = false

disk.cachePartition = true

disk.cachePartition.path = /home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img

disk.cachePartition.size = 66m

hw.lcd.width = 1080

hw.lcd.height = 1920

hw.lcd.depth = 16

hw.lcd.density = 420

hw.lcd.backlight = true

hw.gpu.enabled = true

hw.gpu.mode = host

hw.gpu.blacklisted = no

hw.initialOrientation = Portrait

hw.camera.back = none

hw.camera.front = none

vm.heapSize = 384

hw.sensors.light = true

hw.sensors.pressure = true

hw.sensors.humidity = true

hw.sensors.proximity = true

hw.sensors.magnetic_field = true

hw.sensors.magnetic_field_uncalibrated = true

hw.sensors.gyroscope_uncalibrated = true

hw.sensors.orientation = true

hw.sensors.temperature = true

hw.useext4 = true

hw.arc = false

hw.arc.autologin = false

kernel.path = /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu

kernel.newDeviceNaming = yes

kernel.supportsYaffs2 = no

disk.ramdisk.path = /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img

disk.systemPartition.initPath = /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img

disk.systemPartition.size = 2765m

disk.vendorPartition.size = 0

disk.dataPartition.path = /home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img

disk.dataPartition.size = 800m

disk.encryptionKeyPartition.path = /home/sl/.android/avd/Nexus_5X_API_25.avd/encryptionkey.img

PlayStore.enabled = false

avd.name = Nexus_5X_API_25

fastboot.forceColdBoot = false

.

QEMU options list:

emulator: argv[00] = "/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64"

emulator: argv[01] = "-dns-server"

emulator: argv[02] = "127.0.1.1"

emulator: argv[03] = "-serial"

emulator: argv[04] = "null"

emulator: argv[05] = "-device"

emulator: argv[06] = "goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/data/misc/pstore/pstore.bin"

emulator: argv[07] = "-cpu"

emulator: argv[08] = "android64"

emulator: argv[09] = "-enable-kvm"

emulator: argv[10] = "-smp"

emulator: argv[11] = "cores=2"

emulator: argv[12] = "-m"

emulator: argv[13] = "1536"

emulator: argv[14] = "-lcd-density"

emulator: argv[15] = "420"

emulator: argv[16] = "-object"

emulator: argv[17] = "iothread,id=disk-iothread"

emulator: argv[18] = "-nodefaults"

emulator: argv[19] = "-kernel"

emulator: argv[20] = "/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu"

emulator: argv[21] = "-initrd"

emulator: argv[22] = "/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img"

emulator: argv[23] = "-drive"

emulator: argv[24] = "if=none,index=0,id=system,file=/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img,read-only"

emulator: argv[25] = "-device"

emulator: argv[26] = "virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify"

emulator: argv[27] = "-drive"

emulator: argv[28] = "if=none,index=1,id=cache,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"

emulator: argv[29] = "-device"

emulator: argv[30] = "virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify"

emulator: argv[31] = "-drive"

emulator: argv[32] = "if=none,index=2,id=userdata,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"

emulator: argv[33] = "-device"

emulator: argv[34] = "virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify"

emulator: argv[35] = "-drive"

emulator: argv[36] = "if=none,index=3,id=encrypt,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"

emulator: argv[37] = "-device"

emulator: argv[38] = "virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify"

emulator: argv[39] = "-netdev"

emulator: argv[40] = "user,id=mynet"

emulator: argv[41] = "-device"

emulator: argv[42] = "virtio-net-pci,netdev=mynet"

emulator: argv[43] = "-show-cursor"

emulator: argv[44] = "-L"

emulator: argv[45] = "/home/sl/opt/android-sdk/emulator/lib/pc-bios"

emulator: argv[46] = "-soundhw"

emulator: argv[47] = "hda"

emulator: argv[48] = "-vga"

emulator: argv[49] = "none"

emulator: argv[50] = "-append"

emulator: argv[51] = "qemu=1 androidboot.hardware=ranchu clocksource=pit android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.encrypt=1 qemu.opengles.version=131072 cma=288M qemu.wifi=1 mac80211_hwsim.channels=2 androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000"

emulator: argv[52] = "-android-hw"

emulator: argv[53] = "/home/sl/.android/avd/Nexus_5X_API_25.avd/hardware-qemu.ini"

Concatenated QEMU options:

/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64 -dns-server 127.0.1.1 -serial null -device goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/data/misc/pstore/pstore.bin -cpu android64 -enable-kvm -smp cores=2 -m 1536 -lcd-density 420 -object iothread,id=disk-iothread -nodefaults -kernel /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu -initrd /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img -drive if=none,index=0,id=system,file=/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img,read-only -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify -drive if=none,index=1,id=cache,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify -drive if=none,index=2,id=userdata,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify -drive if=none,index=3,id=encrypt,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify -netdev user,id=mynet -device virtio-net-pci,netdev=mynet -show-cursor -L /home/sl/opt/android-sdk/emulator/lib/pc-bios -soundhw hda -vga none -append 'qemu=1 androidboot.hardware=ranchu clocksource=pit android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.encrypt=1 qemu.opengles.version=131072 cma=288M qemu.wifi=1 mac80211_hwsim.channels=2 androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000' -android-hw /home/sl/.android/avd/Nexus_5X_API_25.avd/hardware-qemu.ini

emulator: Android qemu version 27.0.2.0 (build_id 4498654) (CL:f388734068bae38c6115263feea33c68eed531fe)

emulator: Starting QEMU main loop

emulator: registered 'boot-properties' qemud service

emulator: Adding boot property: 'ro.opengles.version' = '131072'

emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'

emulator: Adding boot property: 'dalvik.vm.heapsize' = '384m'

emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'

emulator: Adding boot property: 'qemu.sf.lcd_density' = '420'

emulator: goldfish_events.have-dpad: false

emulator: goldfish_events.have-trackball: false

emulator: goldfish_events.have-camera: false

emulator: goldfish_events.have-keyboard: true

emulator: goldfish_events.have-lidswitch: false

emulator: goldfish_events.have-tabletmode: false

emulator: goldfish_events.have-touch: false

emulator: goldfish_events.have-multitouch: true

emulator: control console listening on port 5554, ADB on port 5555

Not using any http proxy

emulator: android_hw_fingerprint_init: fingerprint qemud listen service initialized

emulator: Warning: config.ini contains invalid skin.path entry: _no_skin

emulator: ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值