Skip to content

Application is crashing with SIGABRT signal from libobjectbox-jni.so on ANDROID 14 #1154

Description

@avarughese-tripactions

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)

Activity

  1. greenrobot-team commented on Nov 6, 2023

    @greenrobot-team
    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)
  2. greenrobot-team commented on Nov 6, 2023

    @greenrobot-team
    Member

    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.

  3. avarughese-tripactions commented on Nov 6, 2023

    @avarughese-tripactions
    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

  4. greenrobot-team commented on Nov 7, 2023

    @greenrobot-team
    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?

  5. added this to the 3.7.1 milestone on Nov 8, 2023
  6. greenrobot-team commented on Nov 8, 2023

    @greenrobot-team
    Member

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

  7. avarughese-tripactions commented on Nov 20, 2023

    @avarughese-tripactions
    Author

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

  8. avarughese-tripactions commented on Nov 29, 2023

    @avarughese-tripactions
    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

  9. greenrobot-team commented on Dec 4, 2023

    @greenrobot-team
    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

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions