在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}
答案 0 :(得分:0)
也许不是一个好的答案,但如果你对
的电话进行评论GnStorageSqlite.enable();
GnLookupLocalStream.enable();
示例应用程序所做的,崩溃消失,在线查找仍然有效。我想这些调用必须使用与x86不兼容的本机库。