Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android emulator segmentation fault

Running it from the command line resulted in a segmentation fault:

$ emulator -avd nexus_s Segmentation fault (core dumped) 

However, running emulator-arm directly as follows, works fine.

$ emulator-arm -avd nexus_s 

I suspect it's trying to run the mips or x86 version of the emulator. Is there a way to configure the emulator which executable to start?

All this started after updating to android sdk 17.

Adding the -verbose flag gives the following output (which I don't think adds any info):

$ emulator -verbose -avd nexus_s emulator: found SDK root at /opt/sdk emulator: Android virtual device file at: /home/grebulon/.android/avd/nexus_s.ini emulator: virtual device content at /home/grebulon/.android/avd/nexus_s.avd emulator: virtual device config file: /home/grebulon/.android/avd/nexus_s.avd/config.ini emulator: using core hw config path: /home/grebulon/.android/avd/nexus_s.avd/hardware-qemu.ini emulator: Found AVD target API level: 17 emulator: 'magic' skin format detected: 480x800 emulator: autoconfig: -skin 480x800 emulator: autoconfig: -skindir (null) emulator: keyset loaded from: /home/grebulon/.android/default.keyset emulator: found magic skin width=480 height=800 bpp=16  emulator: autoconfig: -kernel /opt/sdk/system-images/android-17/armeabi-v7a//kernel-qemu emulator: autoconfig: -ramdisk /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//ramdisk.img emulator: Using initial system image: /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//system.img emulator: autoconfig: -data /home/grebulon/.android/avd/nexus_s.avd/userdata-qemu.img emulator: autoconfig: -initdata /home/grebulon/.android/avd/nexus_s.avd/userdata.img emulator: autoconfig: -cache /home/grebulon/.android/avd/nexus_s.avd/cache.img emulator: Physical RAM size: 343MB  Content of hardware configuration file:   hw.cpu.arch = arm   hw.cpu.model = cortex-a8   hw.ramSize = 343   hw.screen = touch   hw.mainKeys = yes   hw.trackBall = no   hw.keyboard = no   hw.keyboard.lid = no   hw.keyboard.charmap = qwerty2   hw.dPad = no   hw.gsmModem = yes   hw.gps = yes   hw.battery = no   hw.accelerometer = yes   hw.audioInput = yes   hw.audioOutput = yes   hw.sdCard = yes   disk.cachePartition = yes   disk.cachePartition.path = /home/grebulon/.android/avd/nexus_s.avd/cache.img   disk.cachePartition.size = 66m   hw.lcd.width = 480   hw.lcd.height = 800   hw.lcd.depth = 16   hw.lcd.density = 240   hw.lcd.backlight = yes   hw.gpu.enabled = yes   hw.camera.back = none   hw.camera.front = none   vm.heapSize = 32   hw.sensors.proximity = yes   hw.sensors.magnetic_field = yes   hw.sensors.orientation = yes   hw.sensors.temperature = yes   kernel.path = /opt/sdk/system-images/android-17/armeabi-v7a//kernel-qemu   kernel.parameters =  android.checkjni=1   disk.ramdisk.path = /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//ramdisk.img   disk.systemPartition.initPath = /opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//system.img   disk.systemPartition.size = 200m   disk.dataPartition.path = /home/grebulon/.android/avd/nexus_s.avd/userdata-qemu.img   disk.dataPartition.size = 209m   avd.name = nexus_s . QEMU options list: emulator: argv[00] = "/opt/sdk/tools/emulator64-arm" emulator: argv[01] = "-android-hw" emulator: argv[02] = "/home/grebulon/.android/avd/nexus_s.avd/hardware-qemu.ini" Concatenated QEMU options:  /opt/sdk/tools/emulator64-arm -android-hw /home/grebulon/.android/avd/nexus_s.avd    /hardware-qemu.ini emulator: registered 'boot-properties' qemud service emulator: nand_add_dev: system,size=0xc800000,initfile=/opt/sdk/add-ons/addon-google_apis-google-17/images/armeabi-v7a//system.img emulator: mapping 'system' NAND image to /tmp/android-grebulon/emulator-RSuUtb emulator: rounding devsize up to a full eraseunit, now c810000  emulator: nand_add_dev: userdata,size=0xd100000,file=/home/grebulon/.android/avd/nexus_s.avd/userdata-qemu.img emulator: rounding devsize up to a full eraseunit, now d116000  emulator: registered 'boot-properties' qemud service emulator: Adding boot property: 'dalvik.vm.heapsize' = '32m' emulator: Adding boot property: 'qemu.sf.lcd_density' = '240' emulator: Adding boot property: 'qemu.hw.mainkeys' = '1' emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none' emulator: nand_add_dev: cache,size=0x4200000,file=/home/grebulon/.android/avd/nexus_s.avd/cache.img emulator: Initializing hardware OpenGLES emulation support Segmentation fault (core dumped) 
like image 649
grebulon Avatar asked Dec 21 '12 22:12

grebulon


People also ask

How do I fix Android Emulator not working?

If the emulator fails to launch due to the error vulkan-1. dll cannot be found , you probably need to update the emulator. To update the emulator in Android Studio, go to Tools > SDK Manager and install the latest stable version of Android platform.

What causes a Segfault?

A segfault occurs when a reference to a variable falls outside the segment where that variable resides, or when a write is attempted to a location that is in a read-only segment.

Why do I get segmentation fault core dumped?

Core Dump/Segmentation fault is a specific kind of error caused by accessing memory that “does not belong to you.” When a piece of code tries to do read and write operation in a read only location in memory or freed block of memory, it is known as core dump. It is an error indicating memory corruption.


1 Answers

I finally found a solution after following CommonsWare's tip. Renaming libOpenglRender.so made the problem go away.

mv tools/lib/libOpenglRender.so tools/lib/libOpenglRender.so.xxx 
like image 94
grebulon Avatar answered Oct 19 '22 10:10

grebulon