Sorry, you need to enable JavaScript to visit this website.

Crash when running emulator64-x86

2 posts / 0 new
Harri Pasanen's picture
Starter
Harri Pasanen

Feb 07, 2016 - 03:12am

  • Hi there,

     

    Trying to run Android 1.5.1 emulator on Kubuntu 15.10 x86_64:

     

    Android/Sdk/tools/emulator -avd Nexus_5_API_23_x86 -qemu -m 1024 -enable-kvm

     

    results in a crash few seconds into the launch, with the stack trace:

     

    Core was generated by `Android/Sdk/tools/emulator64-x86 -avd Nexus_5_API_23_x86 -qemu -m 1024 -enable-'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  0x00007f52e4efcb26 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    [Current thread is 1 (Thread 0x7f523f7fe700 (LWP 10190))]
    (gdb) bt
    #0  0x00007f52e4efcb26 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #1  0x00007f52e4efcc38 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #2  0x00007f52e4ef517b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #3  0x00007f52e4ef4b36 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #4  0x00007f52e4ef4c97 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #5  0x00007f52e4ef4b36 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #6  0x00007f52e4ef4d0e in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #7  0x00007f52e4ef4b36 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #8  0x00007f52e4efd0ed in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #9  0x00007f52e4f06833 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #10 0x00007f52e4e619c3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #11 0x00007f52e4d7a39a in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #12 0x00007f52e963cc51 in glLinkProgram (program=<optimized out>) at distrib/android-emugl//host/libs/Translator/GLES_V2//GLESv2Imp.cpp:1717
    #13 0x00007f52e96cbe88 in gles2_decoder_context_t::decode (this=this@entry=0x7f523f7fd6f0, buf=<optimized out>, len=92, stream=0x7f5278001780)
        at /usr/local/google/buildbot/repo_clients/https___android.googlesource.com_a_platform_manifest.git/emu-1.4-release/out/build/emulator/build/default/intermediates/lib64GLESv2_dec/gles2_dec.cpp:1014
    #14 0x00007f52e96bdbda in RenderThread::main (this=0x7f5278004be0) at distrib/android-emugl//host/libs/libOpenglRender//RenderThread.cpp:123
    #15 0x00007f52e96dff01 in emugl::Thread::thread_main (arg=0x7f5278004be0) at distrib/android-emugl//shared/emugl/common//thread_pthread.cpp:124
    #16 0x00007f52e8e006aa in start_thread (arg=0x7f523f7fe700) at pthread_create.c:333
    #17 0x00007f52e8191eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
    (gdb)
     

    This is with 24.4.0 version of the emulator, with Intel graphics installer 1.2.1.

     

    As the stack trace points to the graphics stack, I figured something is wrong there.   I have yet to test if AMD Radeon or NVidia would work.

     

    Info about this laptop:

     

    $ lspci
    00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
    00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
    00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
    00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
    00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
    00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
    00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
    00:1c.1 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #2 (rev e3)
    00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
    00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)
    00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)
    00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
    00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
    07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
    08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
    09:00.0 Network controller: Broadcom Corporation BCM43225 802.11b/g/n (rev 01)

     

    The laptop has 8 Gb of memory.

     

    Let me know if there is any other information that I can provide to narrow this down.

     

    Regards,

    Harri

     

     

    Feb 07, 2016 - 03:12am
  • Hm - not sure if this is a bug in the dri part of the stack or if the emulator is calling it wrong, but try installing libgl1-mesa-dri-dbg and then triggering the backtrace - that should show you the actual call path inside the i965 module.

    Feb 09, 2016 - 08:43am
  • Ok, I'll give it a go when I have a chance.   However, creating a new virtual device without HostGPU support makes the emulator work.  I also managed to run it fine on a desktop Kubuntu 15.10 amd64 box with NVidia graphics.   So at this point something in the Intel graphics stack looks culpable.

     

     

    Feb 09, 2016 - 01:20pm