-
Type: Bug
-
Resolution: Duplicate
-
Priority: Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
In Google Play console I can see a lot of crashes in native code when application creates Realm instance. Issue affects different Android versions and different devices. Once appears on a device, happens many times (persists). Wasn't able to reproduce it locally.
We use Realm Gradle plugin 5.15.1
Configuration:
RealmConfiguration.Builder() .schemaVersion(3) .encryptionKey(XXX) .deleteRealmIfMigrationNeeded() .build()
We open Realm instance from configuration to perform transaction and immediately close it after, for observable queries we use RX and open Realm instance onSubscribe and closing it when subscription disposed.
Some of the issue discussions were suggesting that there strangely might be several application processes running at the same time. Added check for that and haven't detected any.
Human readable stack trace:
Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+480 io.realm.internal.OsObjectSchemaInfo.nativeGetProperty [DEDUPED]+180 io.realm.internal.OsSharedRealm.<init>+98 io.realm.internal.OsSharedRealm.getInstance+18 io.realm.internal.OsSharedRealm.getInstance+10 io.realm.RealmCache.doCreateRealmOrGetFromCache+114 io.realm.RealmCache.createRealmOrGetFromCache+18 io.realm.Realm.getInstance+8 com.stab.extensions.realm.RealmConfigurationExtKt.executeTransaction+28
Complete stack trace as we see it at developer's console:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) split_config.arm64_v8a.apk backtrace: #00 pc 00000000001eef1c /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #01 pc 00000000000d2a5c /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #02 pc 00000000000d0a84 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #03 pc 00000000000d643c /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #04 pc 00000000000e91e4 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #05 pc 00000000000e9184 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #06 pc 00000000000ebe44 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #07 pc 00000000001091f4 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #08 pc 00000000000e9fb0 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk #09 pc 000000000006e88c /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/split_config.arm64_v8a.apk (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+480) #10 pc 0000000000069d24 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.odex (io.realm.internal.OsObjectSchemaInfo.nativeGetProperty [DEDUPED]+180) #11 pc 000000000055544c /system/lib64/libart.so (art_quick_invoke_static_stub+604) #12 pc 00000000000cf6e8 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232) #13 pc 000000000027f2b8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344) #14 pc 00000000002792c0 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968) #15 pc 0000000000526498 /system/lib64/libart.so (MterpInvokeStatic+204) #16 pc 0000000000547a14 /system/lib64/libart.so (ExecuteMterpImpl+14612) #17 pc 0000000000c41b3c /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.<init>+98) #18 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #19 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #20 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #21 pc 00000000005262d4 /system/lib64/libart.so (MterpInvokeDirect+296) #22 pc 0000000000547994 /system/lib64/libart.so (ExecuteMterpImpl+14484) #23 pc 0000000000c41cbe /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+18) #24 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #25 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #26 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #27 pc 0000000000526498 /system/lib64/libart.so (MterpInvokeStatic+204) #28 pc 0000000000547a14 /system/lib64/libart.so (ExecuteMterpImpl+14612) #29 pc 0000000000c41cd4 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+10) #30 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #31 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #32 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #33 pc 0000000000526498 /system/lib64/libart.so (MterpInvokeStatic+204) #34 pc 0000000000547a14 /system/lib64/libart.so (ExecuteMterpImpl+14612) #35 pc 0000000000c4b59e /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (io.realm.v.b+114) #36 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #37 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #38 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #39 pc 00000000005262d4 /system/lib64/libart.so (MterpInvokeDirect+296) #40 pc 0000000000547994 /system/lib64/libart.so (ExecuteMterpImpl+14484) #41 pc 0000000000c4b4ac /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (io.realm.v.a+18) #42 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #43 pc 0000000000515828 /system/lib64/libart.so (artQuickToInterpreterBridge+1020) #44 pc 000000000055e2fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92) #45 pc 000000000055544c /system/lib64/libart.so (art_quick_invoke_static_stub+604) #46 pc 00000000000cf6e8 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232) #47 pc 000000000027f2b8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344) #48 pc 00000000002792c0 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968) #49 pc 0000000000526498 /system/lib64/libart.so (MterpInvokeStatic+204) #50 pc 0000000000547a14 /system/lib64/libart.so (ExecuteMterpImpl+14612) #51 pc 0000000000c4ad3a /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (io.realm.u.d+8) #52 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #53 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #54 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #55 pc 0000000000526498 /system/lib64/libart.so (MterpInvokeStatic+204) #56 pc 0000000000547a14 /system/lib64/libart.so (ExecuteMterpImpl+14612) #57 pc 0000000000a3d0e4 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (com.stab.d.c.c.a+28) #58 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #59 pc 0000000000515828 /system/lib64/libart.so (artQuickToInterpreterBridge+1020) #60 pc 000000000055e2fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92) #61 pc 000000000055544c /system/lib64/libart.so (art_quick_invoke_static_stub+604) #62 pc 00000000000cf6e8 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232) #63 pc 000000000027f2b8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344) #64 pc 00000000002792c0 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968) #65 pc 0000000000526498 /system/lib64/libart.so (MterpInvokeStatic+204) #66 pc 0000000000547a14 /system/lib64/libart.so (ExecuteMterpImpl+14612) #67 pc 0000000000b24bb8 /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (com.stab.support.entity.f.bbR+230) #68 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #69 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #70 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #71 pc 0000000000527fd8 /system/lib64/libart.so (MterpInvokeVirtualQuick+584) #72 pc 000000000054b614 /system/lib64/libart.so (ExecuteMterpImpl+29972) #73 pc 0000000000b2304e /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (com.stab.support.entity.FaqSyncWorker.nn+18) #74 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #75 pc 0000000000258ab8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216) #76 pc 00000000002792a4 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940) #77 pc 0000000000527fd8 /system/lib64/libart.so (MterpInvokeVirtualQuick+584) #78 pc 000000000054b614 /system/lib64/libart.so (ExecuteMterpImpl+29972) #79 pc 000000000046cbda /data/app/com.stab.android-7oYmKSh70eQqasCDfT4CBw==/oat/arm64/base.vdex (androidx.work.Worker$1.run+4) #80 pc 0000000000252fc4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.99565114+488) #81 pc 0000000000515828 /system/lib64/libart.so (artQuickToInterpreterBridge+1020) #82 pc 000000000055e2fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92) #83 pc 00000000003db5f4 /system/framework/arm64/boot-core-oj.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+996) #84 pc 00000000003d8360 /system/framework/arm64/boot-core-oj.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64) #85 pc 000000000025efc8 /system/framework/arm64/boot-core-oj.oat (java.lang.Thread.run+72) #86 pc 0000000000555188 /system/lib64/libart.so (art_quick_invoke_stub+584) #87 pc 00000000000cf6c8 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) #88 pc 000000000045cc50 /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) #89 pc 000000000045dd0c /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424) #90 pc 0000000000488e64 /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120) #91 pc 0000000000081c98 /system/lib64/libc.so (__pthread_start(void*)+36) #92 pc 0000000000023708 /system/lib64/libc.so (__start_thread+68)