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

Ndk crash in Table.removeColumn. Signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

      Goal

      Running a migration removing objects/tables with thousands of instances with cross reference, where first we remove the cross-referencing fields:

      schema.getOrFail("RAirport")
      .removeField("place")

      schema.getOrFail("RStation")
      .removeField("place")

      schema.getOrFail("RPlace")
      .removeField("airport")
      .removeField("station")

      And then remove the tables themselves:

      schema.remove("RAirport")
      schema.remove("RStation")
      schema.remove("RPlace")
      

      Actual Results

      The first step: removeFields executions are crashing, if occurring then it is hundreds even thousands per user.
      Native crash reported in play console:

      backtrace:
      #00 pc 00000000002fbe86 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000025ee0d /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000035a4cf /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000035c93d /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000035b74d /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000035b645 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000023da83 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000) (Java_io_realm_internal_Table_nativeRemoveColumn+46)
      #00 pc 00000000000a7145 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.odex (offset 0xa7000) (com.google.ar.core.Anchor.nativeDetach [DEDUPED]+100)
      #00 pc 0000000000421775 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
      #00 pc 00000000003fa1c9 /system/lib/libart.so (art_quick_invoke_stub+224)
      #00 pc 00000000000a180d /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread_, unsigned int_, unsigned int, art::JValue_, char const_)+136)
      #00 pc 00000000001ecedb /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread_, art::ArtMethod_, art::ShadowFrame_, unsigned short, art::JValue_)+230)
      #00 pc 00000000001e7b55 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+784)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 0000000001807958 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.internal.Table.removeColumn+40)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f72cb /system/lib/libart.so (MterpInvokeVirtualQuick+434)
      #00 pc 0000000000418294 /system/lib/libart.so (ExecuteMterpImpl+29972)
      #00 pc 00000000017acc7e /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.MutableRealmObjectSchema.removeField+90)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f72cb /system/lib/libart.so (MterpInvokeVirtualQuick+434)
      #00 pc 0000000000418294 /system/lib/libart.so (ExecuteMterpImpl+29972)
      #00 pc 0000000000c07cb2 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (com.kiwi.android.core.helper.MigrationHelper.migrateFrom83To84+50)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 0000000000c03f10 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (com.kiwi.android.core.helper.MigrationHelper.access$migrateFrom83To84)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5e53 /system/lib/libart.so (MterpInvokeStatic+130)
      #00 pc 0000000000414694 /system/lib/libart.so (ExecuteMterpImpl+14612)
      #00 pc 0000000000c015c4 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (com.kiwi.android.core.helper.MigrationHelper$RealmMigrations.migrate+164)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e8a37 /system/lib/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+774)
      #00 pc 00000000003f6ca1 /system/lib/libart.so (MterpInvokeInterfaceRange+1020)
      #00 pc 0000000000414a14 /system/lib/libart.so (ExecuteMterpImpl+15508)
      #00 pc 00000000017a02e4 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.BaseRealm$6.onMigrationNeeded+16)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e8a37 /system/lib/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+774)
      #00 pc 00000000003f6ca1 /system/lib/libart.so (MterpInvokeInterfaceRange+1020)
      #00 pc 0000000000414a14 /system/lib/libart.so (ExecuteMterpImpl+15508)
      #00 pc 0000000001804b82 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.internal.OsSharedRealm.runMigrationCallback+30)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0cdb /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_)+82)
      #00 pc 00000000003e870b /system/lib/libart.so (artQuickToInterpreterBridge+882)
      #00 pc 0000000000425cff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
      #00 pc 0000000000421775 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
      #00 pc 00000000003fa2cb /system/lib/libart.so (art_quick_invoke_static_stub+222)
      #00 pc 00000000000a181f /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread_, unsigned int_, unsigned int, art::JValue_, char const_)+154)
      #00 pc 0000000000358791 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod_, art::(anonymous namespace)::ArgArray_, art::JValue_, char const_)+52)
      #00 pc 00000000003585a5 /system/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, jobject*, _jmethodID*, std::_va_list)+300)
      #00 pc 00000000002992a9 /system/lib/libart.so (art::JNI::CallStaticVoidMethodV(JNIEnv*, _jclass*, _jmethodID*, std::_va_list)+476)
      #00 pc 000000000022472b /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 0000000000224673 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 0000000000257d2b /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 0000000000224375 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 000000000028ad53 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 0000000000268e5d /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 00000000002897db /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 00000000002a11b3 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 00000000002890f7 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000)
      #00 pc 0000000000238e47 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/librealm-jni.so (offset 0x868000) (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+106)
      #00 pc 00000000000ade03 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.odex (offset 0xa7000) (io.realm.internal.OsObject.nativeCreateNewObjectWithObjectIdPrimaryKey [DEDUPED]+162)
      #00 pc 0000000000421775 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
      #00 pc 00000000003fa2cb /system/lib/libart.so (art_quick_invoke_static_stub+222)
      #00 pc 00000000000a181f /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread_, unsigned int_, unsigned int, art::JValue_, char const_)+154)
      #00 pc 00000000001ecedb /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread_, art::ArtMethod_, art::ShadowFrame_, unsigned short, art::JValue_)+230)
      #00 pc 00000000001e8a51 /system/lib/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+800)
      #00 pc 00000000003f7079 /system/lib/libart.so (MterpInvokeStaticRange+100)
      #00 pc 0000000000414994 /system/lib/libart.so (ExecuteMterpImpl+15380)
      #00 pc 000000000180460c /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.internal.OsSharedRealm.<init>+108)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 00000000018043ae /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.internal.OsSharedRealm.getInstance+26)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5e53 /system/lib/libart.so (MterpInvokeStatic+130)
      #00 pc 0000000000414694 /system/lib/libart.so (ExecuteMterpImpl+14612)
      #00 pc 00000000017a0876 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.BaseRealm.<init>+186)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 00000000017a07a0 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.BaseRealm.<init>+8)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 00000000017b8ba8 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.Realm.<init>+24)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 00000000017b85d0 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.Realm.createInstance+4)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5e53 /system/lib/libart.so (MterpInvokeStatic+130)
      #00 pc 0000000000414694 /system/lib/libart.so (ExecuteMterpImpl+14612)
      #00 pc 00000000017b06a0 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.RealmCache.createInstance+8)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 00000000017b029e /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.RealmCache.doCreateRealmOrGetFromCache+142)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 00000000017b01ca /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.RealmCache.createRealmOrGetFromCache+22)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0cdb /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_)+82)
      #00 pc 00000000003e870b /system/lib/libart.so (artQuickToInterpreterBridge+882)
      #00 pc 0000000000425cff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
      #00 pc 0000000000421775 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
      #00 pc 00000000003fa2cb /system/lib/libart.so (art_quick_invoke_static_stub+222)
      #00 pc 00000000000a181f /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread_, unsigned int_, unsigned int, art::JValue_, char const_)+154)
      #00 pc 00000000001ecedb /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread_, art::ArtMethod_, art::ShadowFrame_, unsigned short, art::JValue_)+230)
      #00 pc 00000000001e7b55 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+784)
      #00 pc 00000000003f5e53 /system/lib/libart.so (MterpInvokeStatic+130)
      #00 pc 0000000000414694 /system/lib/libart.so (ExecuteMterpImpl+14612)
      #00 pc 00000000017b8670 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.realm.Realm.getDefaultInstance+56)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5e53 /system/lib/libart.so (MterpInvokeStatic+130)
      #00 pc 0000000000414694 /system/lib/libart.so (ExecuteMterpImpl+14612)
      #00 pc 0000000000c12a36 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (com.kiwi.android.core.helper.RealmHelper.lambda$initializeRealm$41+114)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5d09 /system/lib/libart.so (MterpInvokeDirect+196)
      #00 pc 0000000000414614 /system/lib/libart.so (ExecuteMterpImpl+14484)
      #00 pc 0000000000c11a1c /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (com.kiwi.android.core.helper.RealmHelper.$r8$lambda$e3serIYjhnuTGWYQuBMo9WlLyfs)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5e53 /system/lib/libart.so (MterpInvokeStatic+130)
      #00 pc 0000000000414694 /system/lib/libart.so (ExecuteMterpImpl+14612)
      #00 pc 0000000000c0f2a4 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (com.kiwi.android.core.helper.RealmHelper$$ExternalSyntheticLambda0.run+4)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5a41 /system/lib/libart.so (MterpInvokeInterface+1024)
      #00 pc 0000000000414714 /system/lib/libart.so (ExecuteMterpImpl+14740)
      #00 pc 000000000177ee06 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.reactivex.internal.operators.completable.CompletableFromAction.subscribeActual+18)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f72cb /system/lib/libart.so (MterpInvokeVirtualQuick+434)
      #00 pc 0000000000418294 /system/lib/libart.so (ExecuteMterpImpl+29972)
      #00 pc 0000000001777e50 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.reactivex.Completable.subscribe+28)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5a41 /system/lib/libart.so (MterpInvokeInterface+1024)
      #00 pc 0000000000414714 /system/lib/libart.so (ExecuteMterpImpl+14740)
      #00 pc 000000000177f920 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run+4)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5a41 /system/lib/libart.so (MterpInvokeInterface+1024)
      #00 pc 0000000000414714 /system/lib/libart.so (ExecuteMterpImpl+14740)
      #00 pc 000000000177a87a /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.reactivex.Scheduler$DisposeTask.run+18)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f5a41 /system/lib/libart.so (MterpInvokeInterface+1024)
      #00 pc 0000000000414714 /system/lib/libart.so (ExecuteMterpImpl+14740)
      #00 pc 00000000017972ba /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.reactivex.internal.schedulers.ScheduledRunnable.run+26)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0d8f /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_, art::JValue*)+146)
      #00 pc 00000000001e7b3f /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod_, art::Thread_, art::ShadowFrame&, art::Instruction const_, unsigned short, art::JValue_)+762)
      #00 pc 00000000003f72cb /system/lib/libart.so (MterpInvokeVirtualQuick+434)
      #00 pc 0000000000418294 /system/lib/libart.so (ExecuteMterpImpl+29972)
      #00 pc 0000000001797168 /data/app/com.skypicker.main-y8vT61QA-zre8gmzfHFYag==/oat/arm/base.vdex (io.reactivex.internal.schedulers.ScheduledRunnable.call)
      #00 pc 00000000001cc457 /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3747957748)+354)
      #00 pc 00000000001d0cdb /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread_, art::CodeItemDataAccessor const&, art::ShadowFrame_)+82)
      #00 pc 00000000003e870b /system/lib/libart.so (artQuickToInterpreterBridge+882)
      #00 pc 0000000000425cff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
      #00 pc 00000000002ff141 /system/framework/arm/boot.oat (offset 0x10d000) (java.util.concurrent.FutureTask.run+208)
      #00 pc 000000000039525f /system/framework/arm/boot.oat (offset 0x10d000) (java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run+118)
      #00 pc 0000000000356461 /system/framework/arm/boot.oat (offset 0x10d000) (java.util.concurrent.ThreadPoolExecutor.runWorker+1048)
      #00 pc 0000000000353a1f /system/framework/arm/boot.oat (offset 0x10d000) (java.util.concurrent.ThreadPoolExecutor$Worker.run+54)
      #00 pc 0000000000218059 /system/framework/arm/boot.oat (offset 0x10d000) (java.lang.Thread.run+64)
      #00 pc 0000000000421775 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
      #00 pc 00000000003fa1c9 /system/lib/libart.so (art_quick_invoke_stub+224)
      #00 pc 00000000000a180d /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread_, unsigned int_, unsigned int, art::JValue_, char const_)+136)
      #00 pc 0000000000358791 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod_, art::(anonymous namespace)::ArgArray_, art::JValue_, char const_)+52)
      #00 pc 0000000000359525 /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, jobject, jmethodID, jvalue*)+316)
      #00 pc 000000000037b731 /system/lib/libart.so (art::Thread::CreateCallback(void*)+900)
      #00 pc 0000000000065a5b /system/lib/libc.so (__pthread_start(void*)+154)
      #00 pc 000000000001e4fd /system/lib/libc.so (__start_thread+32)

      Steps & Code to Reproduce

      We can not reproduce it locally, but we got hundreds of reports in play console. It is occurring during a migration to the newest version for some users, usually leading to hundred or thousands of crashes like this per user.

      Place and other classes in example are written in java and contain reference to Airport/Station and vice versa.

      Unable to find source-code formatter for language: kotlin. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      public class Airport extends RealmObject {
        
        @PrimaryKey
        private String id;
      
        @Nullable
        private Place place;
      
         // other stuff
      
      }
      
      Unable to find source-code formatter for language: kotlin. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      public class Place extends RealmObject {
       
        @PrimaryKey
        private String id;
      
        private Airport airport;
        private Station station;
        // ....
      
        // other stuff
      
      }
      

      All this is probably not enough to reproduce, as we're unable to do so locally, but I hope that you'll have some insights or it can help in other investigations.

      Version of Realm and tooling

      Realm version(s): realm-gradle-plugin 10.6.1

      Realm Sync feature enabled: No

      Android Studio version: Arctic Fox, 2020.3.1

      Gradle version: 7.0.2

      Build tools: 7.0.0

      Which Android version and device(s): all API versions ( 23+ ) and various devices

            Assignee:
            jorgen.edelbo@mongodb.com Jørgen Edelbo
            Reporter:
            unitosyncbot Unito Sync Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: