-
Notifications
You must be signed in to change notification settings - Fork 308
Application is crashing with SIGABRT signal from libobjectbox-jni.so on ANDROID 14 #1154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@greenrobot-team please look into this. I'm facing the same issues. |
Thanks for reporting. It looks like the crash trace is for ObjectBox 3.4.0. Does anyone of you have one for the latest 3.7.0 release? It also looks like the crash is happening as part of creating a query. Can you share any code related to that? Symbolized crash dump********** Crash dump: **********
#00 0x00000000000599e4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
#01 0x0000000000047c4c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8)
#02 0x0000000000048508 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32)
#03 0x00000000000489d8 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportInvalidChunkState(scudo::AllocatorAction, void*)+116)
#04 0x000000000004a3c4 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+308)
#05 0x00000000000dbde8 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*> > >::destroy(std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, void*>*)
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__tree:1830:9
#06 0x00000000000dbde8 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*> > >::destroy(std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, void*>*)
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__tree:1830:9
#07 0x00000000000dbde8 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*> > >::destroy(std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, void*>*)
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__tree:1830:9
#08 0x00000000000dbde8 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*> > >::destroy(std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, void*>*)
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__tree:1830:9
#09 0x00000000000dbde8 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*> > >::destroy(std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, void*>*)
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__tree:1830:9
#10 0x00000000000db530 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*> > >::~__tree()
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__tree:1821:3
std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, objectbox::Entity const*, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, objectbox::Entity const*> > >::~map()
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/map:1090:0
objectbox::Schema::~Schema()
/builds/objectbox/objectbox/objectbox/.cxx/RelWithDebInfo/3f5ul3wu/arm64-v8a/../../../../src/main/cpp/schema/Schema.h:25:0
#11 0x000000000004ec04 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (Java_io_objectbox_query_QueryBuilder_nativeCreate+712) (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
std::__ndk1::__shared_count::__release_shared()
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/memory:3415:9
std::__ndk1::__shared_weak_count::__release_shared()
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/memory:3457:0
std::__ndk1::shared_ptr<objectbox::Schema>::~shared_ptr()
/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/memory:4393:0
Java_io_objectbox_query_QueryBuilder_nativeCreate
/builds/objectbox/objectbox/objectbox/.cxx/RelWithDebInfo/3f5ul3wu/arm64-v8a/../../../../src/main/cpp/jni/QueryBuilderJniBinding.cpp:46:0
#12 0x00000000002bb064 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (art_jni_trampoline+132)
#13 0x0000000000b4aa20 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (io.objectbox.query.QueryBuilder.<init>+128)
#14 0x0000000000b44178 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (io.objectbox.a.r+184)
#15 0x0000000000ace8d0 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (com.tripactions.alpha.koin.modules.AppModuleKt$appModule$1$1.invoke+1552)
#16 0x0000000000aced24 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (com.tripactions.alpha.koin.modules.AppModuleKt$appModule$1$1.invoke+132)
#17 0x0000000000ae1cac /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (j50.c.a+796)
#18 0x0000000000ae3a88 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (o50.a.b+744)
#19 0x0000000000adea9c /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (f50.a.a+412)
#20 0x00000000009f7290 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (com.navan.app.BaseApplication.onCreate+1792)
#21 0x0000000000a21d38 /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (lp.o.onCreate+56)
#22 0x000000000066f8c0 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.Instrumentation.callApplicationOnCreate+48)
#23 0x0000000000751ba4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.handleBindApplication+5940)
#24 0x0000000000745d80 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread$H.handleMessage+8912)
#25 0x00000000009e66f8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+168)
#26 0x00000000009ea4fc /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1036)
#27 0x00000000009ea048 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+1112)
#28 0x000000000075da6c /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2316)
#29 0x0000000000337480 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
#30 0x000000000038a568 /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1588)
#31 0x0000000000389f24 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
#32 0x00000000003206a8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)
#33 0x0000000000bf9f64 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+132)
#34 0x0000000000c055cc /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3356)
#35 0x0000000000337480 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
#36 0x00000000004eaa3c /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+728)
#37 0x0000000000591e50 /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)
#38 0x00000000000d9ab4 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104)
#39 0x00000000000e57c4 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+840)
#40 0x000000000000252c /system/bin/app_process64 (main+1240)
#41 0x0000000000052610 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104) |
Never mind, I managed to reproduce the crash! This occurs when creating a query fails, e.g. if the boxStore.close()
boxStore.boxFor(Note::class.java).query() // SIGABRT In that case an exception should be thrown. However, due to a bug a crash occurs. We are looking into this. |
@greenrobot-team This happened on both 3.4.0 and 3.7.0. Also, i am curious why this is manifesting on OS 14. We do have some code which was trying to access the object box before it was initialized but for that we see a exception being logged. Are you saying this crash is related to that |
@avarughese-tripactions Yes. Typically ObjectBox has checks for that which throw an exception. But in the case of As for why this happens more frequently on Android 14 I can't say. I was able to reproduce this on other platforms as well, so it shouldn't be the determining factor. Maybe in your case e.g. threading works differently on Android 14, making it more likely that the Query API is used on a closed store? |
We have released |
@greenrobot-team We have released our app with the updated lib. Will share some info once i have more updates |
I can confirm that we are not seeing the SIGABRT rather exceptions that are thrown due to access of the boxstore in closed state. We are fixing those as per the info in the stacktrace |
@avarughese-tripactions Thanks! Closing this then. |
Uh oh!
There was an error while loading. Please reload this page.
Build info
Steps to reproduce
Seeing this issue on our production app. Based on our breadcrumb info we can conclude that this seems to be happening right at the app startup.
All the crashes are happening on google pixel devices having OS 14.
Expected behavior
App shouldn't crash
Actual behavior
The app is crashing at startup.
Logs, stack traces
Logs
The text was updated successfully, but these errors were encountered: