GNSDK for Android在x86 AVD上崩溃

时间:2017-11-17 19:11:55

标签: android crash x86 arm gracenote

在x86 AVD上运行时,GNSDK for Android示例应用程序在信号4(SIGILL),代码2(ILL_ILLOPN)上崩溃。我在API级别22和25上尝试了Nexus 5 AVD和Pixel XL AVD,并且一旦示例应用程序尝试使用onCreate()中的本机GNSDK库,就会发生相同的SIGILL崩溃。看起来像libgnsdk_storage_sqlite.3.12.1.so可能是罪魁祸首,从回溯来看。当我使用x86的GNSDK本机库时,在我自己的应用程序中发生同样的崩溃,因此问题不是示例应用程序所特有的。可能导致这种情况的原因是什么?

我已经确认示例应用程序适用于手臂硬件和手臂AVD。我没有任何x86硬件,所以我无法确认这是否真的是x86 ABI问题或AVD与真实硬件有些奇怪。

    --------- beginning of crash
11-17 14:07:43.446 3019-3043/? A/libc: Fatal signal 4 (SIGILL), code 2, fault addr 0xa2e70276 in tid 3043 (Thread-174)
11-17 14:07:43.450 3019-3047/? D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
11-17 14:07:43.450 1184-3049/? I/AudioFlinger: AudioFlinger's thread 0xb551b000 ready to run

                                               [ 11-17 14:07:43.451  3019: 3019 D/         ]
                                               HostConnection::get() New Host Connection established 0xb43fc600, tid 3019


                                               [ 11-17 14:07:43.452  3019: 3019 W/         ]
                                               Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
11-17 14:07:43.452 3019-3019/? D/Atlas: Validating map...
11-17 14:07:43.453 1550-2750/system_process V/WindowManager: Adding window Window{3e690683 u0 com.customer.example/com.customer.example.GracenoteMusicID} at 2 of 8 (before Window{2bf1a8da u0 Starting com.customer.example})

                                                             [ 11-17 14:07:43.475  3019: 3047 D/         ]
                                                             HostConnection::get() New Host Connection established 0xae90f380, tid 3047


                                                             [ 11-17 14:07:43.476  3019: 3047 W/         ]
                                                             Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
11-17 14:07:43.478 3019-3047/? I/OpenGLRenderer: Initialized EGL, version 1.4
11-17 14:07:43.481 3019-3047/? W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
11-17 14:07:43.544 3019-3047/? D/EGL_emulation: eglCreateContext: 0xae90e460: maj 2 min 0 rcv 2
11-17 14:07:43.546 1178-1178/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-17 14:07:43.546 1178-1178/? I/DEBUG: Build fingerprint: 'Android/sdk_google_phone_x86/generic_x86:5.1.1/LMY48X/4409265:userdebug/test-keys'
11-17 14:07:43.546 1178-1178/? I/DEBUG: Revision: '0'
11-17 14:07:43.546 1178-1178/? I/DEBUG: ABI: 'x86'
11-17 14:07:43.547 1178-1178/? I/DEBUG: pid: 3019, tid: 3043, name: Thread-174  >>> com.customer.example <<<
11-17 14:07:43.547 1178-1178/? I/DEBUG: signal 4 (SIGILL), code 2 (ILL_ILLOPN), fault addr 0xa2e70276
11-17 14:07:43.551 1178-1178/? I/DEBUG:     eax a40519ec  ebx a2ef3e2c  ecx a4051e34  edx 00000000
11-17 14:07:43.552 1178-1178/? I/DEBUG:     esi b438684c  edi b437866c
11-17 14:07:43.552 1178-1178/? I/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000077  xss 0000007b
11-17 14:07:43.552 1178-1178/? I/DEBUG:     eip a2e70276  ebp 00000000  esp a2c67f70  flags 00210246
11-17 14:07:43.552 1178-1178/? I/DEBUG: backtrace:
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #00 pc 00058276  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #01 pc 000816de  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #02 pc 0008189f  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #03 pc 00081952  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #04 pc 0008babb  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #05 pc 0008da49  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #06 pc 00093842  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #07 pc 00093f93  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #08 pc 0009465d  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #09 pc 00080df4  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so (sqlite3_exec+164)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #10 pc 00015567  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #11 pc 00015f65  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so (_sqlite_storage_connection_get+485)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #12 pc 0000f9d3  /data/app/com.customer.example-2/lib/x86/libgnsdk_storage_sqlite.3.12.1.so (_sqlite_storage_provider_storage_open+483)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #13 pc 0010627d  /data/app/com.customer.example-2/lib/x86/libgnsdk_manager.3.12.1.so (_sdkmgr_storage_open+365)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #14 pc 0001ce56  /data/app/com.customer.example-2/lib/x86/libgnsdk_lookup_localstream.3.12.1.so (localstream2_storage_gdb_create+870)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #15 pc 0001a7d9  /data/app/com.customer.example-2/lib/x86/libgnsdk_lookup_localstream.3.12.1.so (localstream2_storage_create+233)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #16 pc 00011a7e  /data/app/com.customer.example-2/lib/x86/libgnsdk_lookup_localstream.3.12.1.so (gnsdk_lookup_localstream_ingest_create+414)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #17 pc 0004bb52  /data/app/com.customer.example-2/lib/x86/libgnsdk_java_marshal.1.3.1.so (gnsdk_lookup_localstream_ingest_create+146)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #18 pc 0005cdc4  /data/app/com.customer.example-2/lib/x86/libgnsdk_java_marshal.1.3.1.so (gracenote::lookup_localstream::GnLookupLocalStreamIngest::create()+68)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #19 pc 0005d015  /data/app/com.customer.example-2/lib/x86/libgnsdk_java_marshal.1.3.1.so (gracenote::lookup_localstream::GnLookupLocalStreamIngest::GnLookupLocalStreamIngest(gracenote::lookup_localstream::IGnLookupLocalStreamIngestEvents*)+101)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #20 pc 000bb2a2  /data/app/com.customer.example-2/lib/x86/libgnsdk_java_marshal.1.3.1.so (Java_com_gracenote_gnsdk_gnsdk_1javaJNI_new_1GnLookupLocalStreamIngest+82)
11-17 14:07:43.552 1178-1178/? I/DEBUG:     #21 pc 00052bd2  /data/dalvik-cache/x86/data@app@com.customer.example-2@base.apk@classes.dex
11-17 14:07:43.614 1184-3049/? W/AudioFlinger: RecordThread: buffer overflow
11-17 14:07:43.670 1178-1178/? I/DEBUG: Tombstone written to: /data/tombstones/tombstone_03
11-17 14:07:43.670 1550-1574/system_process I/BootReceiver: Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
11-17 14:07:43.675 1550-1603/system_process W/InputDispatcher: channel '3e690683 com.customer.example/com.customer.example.GracenoteMusicID (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
11-17 14:07:43.675 1550-1603/system_process E/InputDispatcher: channel '3e690683 com.customer.example/com.customer.example.GracenoteMusicID (server)' ~ Channel is unrecoverably broken and will be disposed!
11-17 14:07:43.675 1187-1187/? I/Zygote: Process 3019 exited due to signal (4)
11-17 14:07:43.689 1550-2746/system_process I/WindowState: WIN DEATH: Window{3e690683 u0 com.customer.example/com.customer.example.GracenoteMusicID}

1 个答案:

答案 0 :(得分:0)

也许不是一个好的答案,但如果你对

的电话进行评论
GnStorageSqlite.enable();   
GnLookupLocalStream.enable();
示例应用程序所做的

,崩溃消失,在线查找仍然有效。我想这些调用必须使用与x86不兼容的本机库。