sqlite-android
sqlite-android copied to clipboard
SIGABRT in 3.49.0
Since upgrading from 3.45.0 to 3.49.0 we are getting some crash reports in the wild.
SIGABRT: Abort program
0 libc.so +0x5e8fc abort
1 libart.so +0x933ab8 art::Runtime::Abort(char const*)
2 libbase.so!libbase.so +0x160f8 android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)
3 libbase.so!libbase.so +0x156cc android::base::LogMessage::~LogMessage()
4 libart.so +0x57abf8 art::JavaVMExt::AddGlobalRef(art::Thread*, art::ObjPtr<art::mirror::Object>)
5 libart.so +0x7127e8 art::JNI<false>::NewGlobalRef(_JNIEnv*, _jobject*)
6 libsqlite3x.so +0x49b6c 0x74a7e4bb70
7 boot.oat +0x300848 art_jni_trampoline
Devices all seem to be relatively modern standard builds, e.g. Pixel 9 on Android 15.
This looks like a symptom of JNI global reference exhaustion. In our app we did change to using SQLiteUpdateHook along with the 3.49.0 release and maybe this change in usage is causing exhaustion. I'll continue to investigate, but maybe this isn't something the library can fix.