2017-11-17 17 views
0

Android用GNSDKサンプルアプリケーションは、x86 AVDで実行するとシグナル4(SIGILL)、コード2(ILL_ILLOPN)でクラッシュします。私は、APIレベル22と25でNexus 5 AVDとPixel XL AVDの両方を試しました。サンプルアプリケーションがonCreate()でネイティブGNSDKライブラリを使用しようとすると、同じSIGILLクラッシュが両方で発生します。 libgnsdk_storage_sqlite.3.12.1.soのように見えますが、特に、バックトレースから判断すると、原因が考えられます。同じクラッシュが私自身のアプリケーションで、GNSDKのネイティブlibs(x86用)を使用している場合に発生します。そのため、問題はサンプルアプリケーション固有のものではありません。これを引き起こす原因は何ですか?Android用GNSDKがx86上でクラッシュするAVD

サンプルアプリケーションがアームハードウェアとアームAVDで動作することを確認しました。私はx86ハードウェアを持っていないので、本当にx86 ABIの問題であるのか、AVDと実際のハードウェアの問題かを確認することはできません。あなたがサンプルアプリケーションが行う

GnStorageSqlite.enable(); 
GnLookupLocalStream.enable(); 

への呼び出しをコメントする場合

--------- 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/[email protected]@[email protected]@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

ない良い答えおそらく、しかし、クラッシュが消えるとオンライン検索はまだ動作します。これらの呼び出しは、x86との互換性がないネイティブライブラリに関わる必要があると思います。

関連する問題