Uploaded image for project: 'Realm Java SDK'
  1. Realm Java SDK
  2. RJAVA-407

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) when opening Realm

      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)
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            unitosyncbot Unito Sync Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: