Skip to content

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

Closed
avarughese-tripactions opened this issue Oct 31, 2023 · 9 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@avarughese-tripactions
Copy link

avarughese-tripactions commented Oct 31, 2023

Build info

  • ObjectBox version: [3.7.0, 3.4.0]
  • OS: [Android 14]
  • Device/ABI/architecture: [Pixel 5 | arm64-v8a, Pixel 5a 5G | arm64-v8a, and Pixel 4a | arm64-v8a]

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
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 17973 >>> com.tripactions.alpha <<<

backtrace:
  #00  pc 0x00000000000599e4  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
  #01  pc 0x0000000000047c4c  /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8)
  #02  pc 0x0000000000048508  /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32)
  #03  pc 0x00000000000489d8  /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportInvalidChunkState(scudo::AllocatorAction, void*)+116)
  #04  pc 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  pc 0x00000000000dbde8  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #06  pc 0x00000000000dbde8  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #07  pc 0x00000000000dbde8  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #08  pc 0x00000000000dbde8  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #09  pc 0x00000000000dbde8  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #10  pc 0x00000000000db530  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #11  pc 0x000000000004ec04  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/lib/arm64/libobjectbox-jni.so (Java_io_objectbox_query_QueryBuilder_nativeCreate+712) (BuildId: 9ef14b6ce8e65b49f29b21c9558d9a3b1eb84f2e)
  #12  pc 0x00000000002bb064  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (art_jni_trampoline+132)
  #13  pc 0x0000000000b4aa20  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (io.objectbox.query.QueryBuilder.<init>+128)
  #14  pc 0x0000000000b44178  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (io.objectbox.a.r+184)
  #15  pc 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  pc 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  pc 0x0000000000ae1cac  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (j50.c.a+796)
  #18  pc 0x0000000000ae3a88  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (o50.a.b+744)
  #19  pc 0x0000000000adea9c  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (f50.a.a+412)
  #20  pc 0x00000000009f7290  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (com.navan.app.BaseApplication.onCreate+1792)
  #21  pc 0x0000000000a21d38  /data/app/~~aVdzXVPfh-FWROU6WoUklA==/com.tripactions.alpha-a9a5zHAj4Pyll-_xOc1rxQ==/oat/arm64/base.odex (lp.o.onCreate+56)
  #22  pc 0x000000000066f8c0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.Instrumentation.callApplicationOnCreate+48)
  #23  pc 0x0000000000751ba4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.handleBindApplication+5940)
  #24  pc 0x0000000000745d80  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread$H.handleMessage+8912)
  #25  pc 0x00000000009e66f8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+168)
  #26  pc 0x00000000009ea4fc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1036)
  #27  pc 0x00000000009ea048  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+1112)
  #28  pc 0x000000000075da6c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2316)
  #29  pc 0x0000000000337480  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #30  pc 0x000000000038a568  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1588)
  #31  pc 0x0000000000389f24  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #32  pc 0x00000000003206a8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)
  #33  pc 0x0000000000bf9f64  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+132)
  #34  pc 0x0000000000c055cc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3356)
  #35  pc 0x0000000000337480  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #36  pc 0x00000000004eaa3c  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+728)
  #37  pc 0x0000000000591e50  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)
  #38  pc 0x00000000000d9ab4  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104)
  #39  pc 0x00000000000e57c4  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+840)
  #40  pc 0x000000000000252c  /system/bin/app_process64 (main+1240)
  #41  pc 0x0000000000052610  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104)
@avarughese-tripactions avarughese-tripactions added the bug Something isn't working label Oct 31, 2023
@sachin-tripactions
Copy link

@greenrobot-team please look into this. I'm facing the same issues.

@greenrobot-team greenrobot-team self-assigned this Nov 6, 2023
@greenrobot-team
Copy link
Member

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)

@greenrobot-team
Copy link
Member

greenrobot-team commented Nov 6, 2023

Never mind, I managed to reproduce the crash! This occurs when creating a query fails, e.g. if the BoxStore is already closed. For example:

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. It appears the bug was introduced with 3.6.0, so it's odd that 3.4.0 is also affected.

We are looking into this.

@avarughese-tripactions
Copy link
Author

@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

@greenrobot-team
Copy link
Member

@avarughese-tripactions Yes. Typically ObjectBox has checks for that which throw an exception. But in the case of .query() that check is currently faulty.

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?

@greenrobot-team greenrobot-team added this to the 3.7.1 milestone Nov 8, 2023
@greenrobot-team
Copy link
Member

We have released 3.7.1 which resolves the native crash, now an exception is thrown as expected.

@greenrobot-team greenrobot-team added the more info required Further information is requested label Nov 8, 2023
@avarughese-tripactions
Copy link
Author

@greenrobot-team We have released our app with the updated lib. Will share some info once i have more updates

@github-actions github-actions bot removed the more info required Further information is requested label Nov 21, 2023
@greenrobot-team greenrobot-team added the more info required Further information is requested label Nov 21, 2023
@avarughese-tripactions
Copy link
Author

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

@github-actions github-actions bot removed the more info required Further information is requested label Nov 30, 2023
@greenrobot-team
Copy link
Member

@avarughese-tripactions Thanks! Closing this then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants