Crash on Android 7.1


#1

Hello.

I’m using latest SQLCipher 4.0.1 for Android and in Google play store logs I can see error that happened on one device:

LGE LG Q6 (mhn), Android 7.1
Report 1


pid: 0, tid: 0 >>> .****.******** <<<

backtrace:
#00 pc 000000000004a618 /system/lib/libc.so (tgkill+12)
#01 pc 0000000000047d93 /system/lib/libc.so (pthread_kill+34)
#02 pc 000000000001d899 /system/lib/libc.so (raise+10)
#03 pc 00000000000193d5 /system/lib/libc.so (__libc_android_abort+34)
#04 pc 0000000000017448 /system/lib/libc.so (abort+4)
#05 pc 000000000031ac91 /system/lib/libart.so (_ZN3art7Runtime5AbortEPKc+328)
#06 pc 00000000000b5305 /system/lib/libart.so (_ZN3art10LogMessageD2Ev+1132)
#07 pc 0000000000239d35 /system/lib/libart.so (ZN3art9JavaVMExt8JniAbortEPKcS2+1664)
#08 pc 0000000000239f9b /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+66)
#09 pc 00000000002821ff /system/lib/libart.so (_ZN3art3JNI17GetPrimitiveArrayIP11_jbyteArrayaNS_6mirror14PrimitiveArrayIaEEEEPT0_P7_JNIEnvT_Ph+546)
#10 pc 00000000000da9c3 /data/app/..-1/lib/arm/libsqlcipher.so (_ZN9sqlcipher12native_rekeyEP7_JNIEnvP8_jobjectP11_jbyteArray+42)
#11 pc 00000000008f7f25 /data/app/
.
***.
***-1/oat/arm/base.odex

Any idea why it might happen?


#2

There is not enough information to say why this is crashing. However, I noticed the trace referring to native_rekey. That function should be called very rarely, only to change the key on an existing encrypted database. Can you explain the circumstances under which you are using rekey?


#3

Unfortunately, Google play store does not provide exact error message.

Yes, database encryption key is changed when app upgrades (I mean, it only changes in this latest app version). I only saw that crash on one device. Sorry I can’t provide you more information, that’s all I have.