Fatal signal 4 (SIGILL), code 1, fault addr 0xa371cba8 in tid 3281 (pool-4-thread-1)

Android 5.1.1
SQLCipher 4.5.3

--------- beginning of crash
04-15 19:43:51.170 F/libc ( 3238): Fatal signal 4 (SIGILL), code 1, fault addr 0xa371cba8 in tid 3281 (pool-4-thread-1)
04-15 19:43:51.181 W/Settings( 3238): Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
04-15 19:43:51.232 W/ActivityManager( 678): Duplicate finish request for ActivityRecord{33da9fec u0 com.ihuman.imath.ott/org.cocos2dx.lua.LaunchActivity t1623 f}
04-15 19:43:51.238 I/art ( 3238): Background partial concurrent mark sweep GC freed 34247(1800KB) AllocSpace objects, 2(32KB) LOS objects, 35% free, 29MB/45MB, paused 2.455ms total 134.338ms
04-15 19:43:51.245 E/CursorWindow( 2423): Failed to read row 0, column -1 from a CursorWindow which has 1 rows, 25 columns.
04-15 19:43:51.273 I/DEBUG ( 164): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-15 19:43:51.273 I/DEBUG ( 164): Build fingerprint: ‘Skyworth/rtd299o_tv001_G7/rtd299o_tv001_G7:5.1.1/LMY47V/www-data11230048:user/test-keys’
04-15 19:43:51.273 I/DEBUG ( 164): Revision: ‘0’
04-15 19:43:51.273 I/DEBUG ( 164): ABI: ‘arm’
04-15 19:43:51.274 I/DEBUG ( 164): pid: 3238, tid: 3281, name: pool-4-thread-1 >>> com.ihuman.imath.ott <<<
04-15 19:43:51.274 I/DEBUG ( 164): signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xa371cba8
04-15 19:43:51.284 I/DEBUG ( 164): r0 7e4cedfd r1 7e4cedfd r2 7e4cedfd r3 a0225dd0
04-15 19:43:51.284 I/DEBUG ( 164): r4 b92dfcd8 r5 b6df8dd4 r6 00000000 r7 00000000
04-15 19:43:51.284 I/DEBUG ( 164): r8 b6df8dd4 r9 b92d1b80 sl b6df8dd4 fp a02234b0
04-15 19:43:51.285 I/DEBUG ( 164): ip b6df46dc sp a0223480 lr a3793994 pc a371cba8 cpsr 600f0010
04-15 19:43:51.285 I/DEBUG ( 164):
04-15 19:43:51.285 I/DEBUG ( 164): backtrace:
04-15 19:43:51.285 I/DEBUG ( 164): #00 pc 0010aba8 /data/app/com.xxxx.ott-1/lib/arm/libsqlcipher.so
04-15 19:43:51.292 D/WifiHW ( 678): send_command : ‘IFNAME=wlan0 SIGNAL_POLL’ in WifiHW.
04-15 19:43:51.292 I/wpa_supplicant( 1195): [CTRL_IFACE] wlan0: ‘SIGNAL_POLL’
04-15 19:43:51.292 D/wpa_supplicant( 1195): wlan0: Control interface command ‘SIGNAL_POLL’

Hi @Weilong_Zhang,

Do you see the same issue if you update SQLCipher for Android to the latest version?

Because our app needs to support systems below 5.0, we have no choice but to use version 4.5.3 of SQLCipher.

Hi @Weilong_Zhang,

Are you using android-database-sqlcipher, or sqlcipher-android as your client library?

We are using net.zetetic:android-database-sqlcipher:4.5.3

Hi @Weilong_Zhang,

We had to bump the min API version in android-database-sqlcipher from 16 to 21 in the 4.5.4 release due to the upstream SQLite API introducing some math function changes which caused linker errors when using API 16. API 16 didn’t include a specific math function within limb which was resolved by moving to API 21.

I suppose you could try an earlier release such as 4.5.2 to see if you still face the same issue in order to support such lower API devices.