Skip to content
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

6.1.0 to 7.0.0 file format upgrade crashes is very slow or can corrupt the file if aborted #6875

Closed
SimonSchubert opened this issue May 25, 2020 · 24 comments

Comments

@SimonSchubert
Copy link

SimonSchubert commented May 25, 2020

Goal

I upgraded realm from 6.1.0 to 7.0.0 and released it via .aab to the Play Store. And got these crashes which only seams to appear on Huawei devices.

Actual Results

#00 pc 000000000006f06c /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
#1 pc 00000000002b21b4 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#2 pc 00000000002b2234 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#3 pc 00000000002b2358 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#4 pc 000000000023bd74 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#5 pc 000000000023bc38 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#6 pc 0000000000253a98 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#7 pc 00000000001e974c /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#8 pc 00000000001e9690 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#9 pc 00000000001e2d04 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#10 pc 000000000028dfe4 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#11 pc 00000000002514a8 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#12 pc 0000000000255f88 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#13 pc 0000000000255118 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#14 pc 0000000000256140 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#15 pc 0000000000258420 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#16 pc 000000000018a2b0 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#17 pc 0000000000189df0 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#18 pc 0000000000189d74 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#19 pc 0000000000176040 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000)
#20 pc 000000000011f07c /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0xde000) (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+132)
#21 pc 0000000000047324 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.odex (art_jni_trampoline+196)
#22 pc 00000000001445b8 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
#23 pc 00000000001531c4 /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+284)
#24 pc 00000000002eed0c /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
#25 pc 00000000002eb070 /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+656)
#26 pc 00000000005c08c0 /apex/com.android.runtime/lib64/libart.so (MterpInvokeStaticRange+236)
#27 pc 000000000013ec94 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static_range+20)
#28 pc 00000000005bbb2c /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.+108)
#29 pc 00000000005bd55c /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#30 pc 000000000013e914 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#31 pc 00000000005bb8f6 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+26)
#32 pc 00000000005bdd68 /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1136)
#33 pc 000000000013e994 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#34 pc 000000000055d4b4 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (iw2.+176)
#35 pc 00000000005bd55c /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#36 pc 000000000013e914 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#37 pc 000000000055d3e8 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (iw2.+8)
#38 pc 00000000005bd55c /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#39 pc 000000000013e914 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#40 pc 000000000056bf6c /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (hx2.+24)
#41 pc 00000000005bd55c /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#42 pc 000000000013e914 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#43 pc 000000000056b9e8 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (hx2.a+4)
#44 pc 00000000005bdd68 /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1136)
#45 pc 000000000013e994 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#46 pc 0000000000566c08 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (ix2.a+8)
#47 pc 00000000005c13d8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368)
#48 pc 0000000000142594 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20)
#49 pc 00000000005667ce /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (ix2.a+234)
#50 pc 00000000005c13d8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368)
#51 pc 0000000000142594 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20)
#52 pc 000000000056669e /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (ix2.a+22)
#53 pc 00000000002bf948 /apex/com.android.runtime/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8053280095303785888)+240)
#54 pc 00000000005a609c /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012)
#55 pc 000000000014d468 /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
#56 pc 00000000001445b8 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
#57 pc 00000000001531c4 /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+284)
#58 pc 00000000002eed0c /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
#59 pc 00000000002e9fdc /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912)
#60 pc 00000000005bda68 /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368)
#61 pc 000000000013e994 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#62 pc 000000000056ba88 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (hx2.A+56)
#63 pc 00000000005bdd68 /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1136)
#64 pc 000000000013e994 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#65 pc 0000000000489df2 /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (com.kptncook.app.kptncook.MyApp.initRealm+74)
#66 pc 00000000005bd55c /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#67 pc 000000000013e914 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#68 pc 000000000048a1da /data/app/com.kptncook.app.kptncook-vBUTjChUoqQX0NEcL2Qkgw==/oat/arm64/base.vdex (com.kptncook.app.kptncook.MyApp.onCreate+18)
#69 pc 00000000002bf948 /apex/com.android.runtime/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8053280095303785888)+240)
#70 pc 00000000005a609c /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012)
#71 pc 000000000014d468 /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
#72 pc 000000000042df7c /system/framework/arm64/boot-framework.oat (android.app.Instrumentation.callApplicationOnCreate+124)
#73 pc 000000000057c5fc /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.handleBindApplication+7644)
#74 pc 0000000000571ea0 /system/framework/arm64/boot-framework.oat (android.app.ActivityThread$H.handleMessage+9056)
#75 pc 00000000008a5ff4 /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+180)
#76 pc 00000000008a95e0 /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+1456)
#77 pc 00000000005859f4 /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.main+1668)
#78 pc 00000000001445b8 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
#79 pc 00000000001531c4 /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+284)
#80 pc 00000000004c6b6c /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#81 pc 00000000004c8594 /apex/com.android.runtime/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1476)
#82 pc 00000000004557fc /apex/com.android.runtime/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52)
#83 pc 00000000000f7c34 /system/framework/arm64/boot.oat (art_jni_trampoline+180)
#84 pc 0000000000b135f8 /system/framework/arm64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136)
#85 pc 0000000000b1b6c4 /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2596)
#86 pc 00000000001445b8 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
#87 pc 00000000001531c4 /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+284)
#88 pc 00000000004c6b6c /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#89 pc 00000000004c67d8 /apex/com.android.runtime/lib64/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+408)
#90 pc 00000000003c60fc /apex/com.android.runtime/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+636)
#91 pc 00000000000e25c4 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+116)
#92 pc 00000000000e5aa4 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+828)
#93 pc 00000000000034e0 /system/bin/app_process64 (main+1168)
#94 pc 000000000006a050 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108)

Version of Realm and tooling

Realm version(s): 7.0.0

Realm Sync feature enabled: No

Android Studio version: 3.6.3

Android Build Tools version: 3.6.3

Gradle version: 6.4.1

Which Android version and device(s): HUAWEI P30, HUAWEI P30 lite, P30 Pro, Mate 20 lite, Mate 20 Pro, Mate 20, HUAWEI P smart 2019

@cmelchior
Copy link
Contributor

Hmm, that looks really weird. All the offsets (offset 0xde000) are the same. I'm not 100% sure what to make of it, but to me, it indicates some sort of broken aab file 🤔

Can you produce it locally?

@SimonSchubert
Copy link
Author

Thanks for the quick reply. I couldn't reproduce it locally. A broken aab would be an easy fix. If nothing else comes in your mind I will release an update later today with a freshly build aab. And let you know if it fixed the crashes.

@SimonSchubert
Copy link
Author

I made a fresh install of Android Studio and all the build dependencies etc. And released a new version but the same crash happens on Huawei devices. I also saw another crash which might have to do something with it?

#00 pc 0000000000022988 /system/lib64/libc.so (abort+116)#1 pc 00000000002b21b4 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#2 pc 00000000002b2234 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#3 pc 00000000002b2358 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#4 pc 000000000023bd74 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#5 pc 000000000023bc38 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#6 pc 0000000000253a98 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#7 pc 00000000001e974c /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#8 pc 00000000001e9690 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#9 pc 00000000001e2d04 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#10 pc 000000000028dfe4 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#11 pc 00000000002514a8 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#12 pc 0000000000255f88 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#13 pc 0000000000255118 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#14 pc 0000000000256140 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#15 pc 0000000000258420 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#16 pc 000000000018a2b0 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#17 pc 0000000000189df0 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#18 pc 0000000000189d74 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#19 pc 0000000000176040 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000)
#20 pc 000000000011f07c /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/split_config.arm64_v8a.apk (offset 0xde000) (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+132)
#21 pc 0000000000047604 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.odex (offset 0x44000) (io.realm.internal.OsObject.nativeCreateNewObjectWithStringPrimaryKey [DEDUPED]+196)
#22 pc 000000000057204c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
#23 pc 00000000000d4d4c /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
#24 pc 000000000028810c /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
#25 pc 0000000000283238 /system/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+748)
#26 pc 0000000000544514 /system/lib64/libart.so (MterpInvokeStaticRange+148)
#27 pc 0000000000564814 /system/lib64/libart.so (ExecuteMterpImpl+15380)
#28 pc 00000000005bc1f4 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.+108)
#29 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#30 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#31 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#32 pc 0000000000542b40 /system/lib64/libart.so (MterpInvokeDirect+296)
#33 pc 0000000000564494 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#34 pc 00000000005bbfbe /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+26)
#35 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#36 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#37 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#38 pc 0000000000542d04 /system/lib64/libart.so (MterpInvokeStatic+204)
#39 pc 0000000000564514 /system/lib64/libart.so (ExecuteMterpImpl+14612)
#40 pc 000000000055db7c /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (iw2.+176)
#41 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#42 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#43 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#44 pc 0000000000542b40 /system/lib64/libart.so (MterpInvokeDirect+296)
#45 pc 0000000000564494 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#46 pc 000000000055dab0 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (iw2.+8)
#47 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#48 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#49 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#50 pc 0000000000542b40 /system/lib64/libart.so (MterpInvokeDirect+296)
#51 pc 0000000000564494 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#52 pc 000000000056c634 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (hx2.+24)
#53 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#54 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#55 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#56 pc 0000000000542b40 /system/lib64/libart.so (MterpInvokeDirect+296)
#57 pc 0000000000564494 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#58 pc 000000000056c0b0 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (hx2.a+4)
#59 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#60 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#61 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#62 pc 0000000000542d04 /system/lib64/libart.so (MterpInvokeStatic+204)
#63 pc 0000000000564514 /system/lib64/libart.so (ExecuteMterpImpl+14612)
#64 pc 00000000005672d0 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (ix2.a+8)
#65 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#66 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#67 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#68 pc 0000000000544844 /system/lib64/libart.so (MterpInvokeVirtualQuick+584)
#69 pc 0000000000568114 /system/lib64/libart.so (ExecuteMterpImpl+29972)
#70 pc 0000000000566e96 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (ix2.a+234)
#71 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#72 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#73 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#74 pc 0000000000544844 /system/lib64/libart.so (MterpInvokeVirtualQuick+584)
#75 pc 0000000000568114 /system/lib64/libart.so (ExecuteMterpImpl+29972)
#76 pc 0000000000566d66 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (ix2.a+22)
#77 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#78 pc 000000000052d7f0 /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
#79 pc 000000000057aefc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
#80 pc 000000000057204c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
#81 pc 00000000000d4d4c /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
#82 pc 000000000028810c /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
#83 pc 0000000000282114 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
#84 pc 0000000000542d04 /system/lib64/libart.so (MterpInvokeStatic+204)
#85 pc 0000000000564514 /system/lib64/libart.so (ExecuteMterpImpl+14612)
#86 pc 000000000056c150 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (hx2.A+56)
#87 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#88 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#89 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#90 pc 0000000000542d04 /system/lib64/libart.so (MterpInvokeStatic+204)
#91 pc 0000000000564514 /system/lib64/libart.so (ExecuteMterpImpl+14612)
#92 pc 000000000048a08a /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (com.kptncook.app.kptncook.MyApp.initRealm+74)
#93 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#94 pc 000000000026190c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#95 pc 00000000002820f8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#96 pc 0000000000542b40 /system/lib64/libart.so (MterpInvokeDirect+296)
#97 pc 0000000000564494 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#98 pc 000000000048a472 /data/app/com.kptncook.app.kptncook-rAaYapy4SiGBFxjtDb5blQ==/oat/arm64/base.vdex (com.kptncook.app.kptncook.MyApp.onCreate+18)
#99 pc 000000000025be18 /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.883957294)+488)
#100 pc 000000000052d7f0 /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
#101 pc 000000000057aefc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
#102 pc 000000000081a13c /system/framework/arm64/boot-framework.oat (offset 0x415000) (android.app.Instrumentation.callApplicationOnCreate+92)
#103 pc 000000000093d11c /system/framework/arm64/boot-framework.oat (offset 0x415000) (android.app.ActivityThread.handleBindApplication+7724)
#104 pc 00000000009367f8 /system/framework/arm64/boot-framework.oat (offset 0x415000) (android.app.ActivityThread$H.handleMessage+7848)
#105 pc 0000000000baf9e4 /system/framework/arm64/boot-framework.oat (offset 0x415000) (android.os.Handler.dispatchMessage+180)
#106 pc 0000000000bb2e50 /system/framework/arm64/boot-framework.oat (offset 0x415000) (android.os.Looper.loop+1472)
#107 pc 0000000000945e34 /system/framework/arm64/boot-framework.oat (offset 0x415000) (android.app.ActivityThread.main+1236)
#108 pc 000000000057204c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
#109 pc 00000000000d4d4c /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
#110 pc 0000000000475d3c /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#111 pc 0000000000477790 /system/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1440)
#112 pc 0000000000407114 /system/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52)
#113 pc 00000000001456d4 /system/framework/arm64/boot.oat (offset 0x13b000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+180)
#114 pc 0000000000edcf48 /system/framework/arm64/boot-framework.oat (offset 0x415000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136)
#115 pc 0000000000ee3f6c /system/framework/arm64/boot-framework.oat (offset 0x415000) (com.android.internal.os.ZygoteInit.main+2540)
#116 pc 000000000057204c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
#117 pc 00000000000d4d4c /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
#118 pc 0000000000475d3c /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#119 pc 000000000047599c /system/lib64/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+424)
#120 pc 000000000036b3d0 /system/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+652)
#121 pc 00000000000b9b7c /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120)#122 pc 00000000000bc8f4 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+780)
#123 pc 0000000000002368 /system/bin/app_process64 (main+1444)124 pc 00000000000ae7e4 /system/lib64/libc.so (__libc_init+88)

I call MyApp.initRealm+74 which calls OsSharedRealm.getInstance which calls io.realm.internal.OsObject.nativeCreateNewObjectWithStringPrimaryKey and crashes? Is that correct? What surprises me is that this crash also appears only on Huawei devices.

@jpmcosta
Copy link

jpmcosta commented May 29, 2020

I had a similar crash. Here's what happened:

  • I had a 100+MB database file on my application
  • I updated to Realm 7.0.0 and launched the application
  • on first launch, the application hanged for a long time (1 minute+)
  • in the process, I got the Android dialog App isn't responding.
    • I chose Wait a few times
    • eventually, I chose Close app
  • once I chose Close app the file probably became corrupted
  • after that, whenever I launched the app, it would crash and throw a report similar to the one in this issue

Once I restored the file and waited (and waited) eventually it resumed my app.

I'm kind of concerned this might be an issue to some users.

@cmelchior
Copy link
Contributor

Hi @jpmcosta

We are rewriting the file as part of the upgrade. I suspect it could take a while on some devices 😢, but it is a bit weird if this is only happening on Huawei devices.

If it is just the rewrite taking time on Huawei devices a work-around would be to use Realm.getInstanceAsync(...) that would force the upgrade to run on a background thread, but I do realize that is most likely an architectural change.

@jpmcosta
Copy link

I understand. Still, I feel that we should have some way of preventing the user from destroying the database if they lose patience. A backup file maybe?

I was able to replicate the issue on my device (not Huawei) and on the emulator (API 29). It took almost 3 minutes to update the file on the emulator. I can confirm that closing the app will corrupt the file on the emulator as well.

Maybe some Huawei devices will force close an app automatically if it freezes for a long time.

I would say I'm always using Realm.getInstanceAsync() or Realm.getInstance() in a background thread. However, instead of opening the app and showing no data, it completely freezes it. I will investigate this further, to make sure I'm not calling Realm.getInstance() in the UI thread.

@cmelchior
Copy link
Contributor

Can you share the file with us?
You can send information to christian.melchior@mongodb.com

@jpmcosta
Copy link

Unfortunately, I really can't, I'm sorry. All the information stored is potentially sensitive and personal. That's just the nature of the app.

@bmunkholm
Copy link
Contributor

@jpmcosta If you can reproduce locally, would it be possible to basically overwrite the actual data with rubbish? We don't care and the actual content. It's more the structure that matters.
It will help us tremendously in fixing this if we can replicate the issue - somehow.

@cmelchior
Copy link
Contributor

cmelchior commented May 29, 2020

Fair enough, I'll try to create a sample file myself. Can you tell me roughly the number of classes and how many objects that are in them?

If you can share the schema that might also be helpful

@jpmcosta
Copy link

I was going to investigate if I was calling Realm.getInstance() in the UI thread. However, I'll postpone that and try to create a sample project now based on the part of the schema that has more data. Please give me a few hours. If I can't reproduce it, I'll try to help you reproduce it.

jpmcosta added a commit to jpmcosta/RealmTestProject that referenced this issue May 29, 2020
@jpmcosta
Copy link

jpmcosta commented May 29, 2020

@cmelchior @bmunkholm so I just finished a test project:
https://github.com/jpmcosta/RealmTestProject/tree/e48dec9e70f83b7fee5957faf949e3db48ecada5

Where I stand right now:

  • while I believe the project shows an issue, it's not necessarily the same issue reported here

Issues I noticed:

  • despite using Realm.getInstanceAsync() the app can still freeze while Realm is being updated
  • if the app is force closed during the freeze, the file becomes corrupted and the app will always crash on launch after that

A few notes on how to reproduce the issues:

  • install the app
  • place the default.realm inside its files folder. This file was generated by the same project (see InitialData), but with Realm 6.1.0
  • reinstall/relaunch the app
    • the first the time app is launched, everything seems to be working fine and the app will not freeze
    • closing (back button) an reopening the app will cause the app to freeze. This might be due to some issue with my workflow, I'm not sure.
  • while the app is frozen, it didn't show an ANR dialog as easily as my app (I only got it to be shown once). Still, if you reinstall the app or force close it while it is frozen, the file becomes corrupted
  • the app should crash on launch every time after that

@jpmcosta
Copy link

After further investigation I can also confirm that my app is freezing on Realm.getInstanceAsync().

As I said before, I either use Realm.getInstanceAsync() in the UI thread or Realm.getInstance() in a background thread. However, if I call Realm.getInstance() in a background thread, before calling Realm.getInstanceAsync(), Realm.getInstanceAsync() won't return instantly and, instead, will freeze the UI thread. When I remove all instances of Realm.getInstance(), Realm.getInstanceAsync() returns instantly.

@cmelchior
Copy link
Contributor

We found one bug during the upgrade process: realm/realm-core#3751, but that still doesn't explain why the upgrade is so slow.

@cmelchior cmelchior changed the title 6.1.0 to 7.0.0 upgrade crashes on some Huawei decives 6.1.0 to 7.0.0 file format upgrade crashes is very slow or can corrupt the file if aborted Jun 2, 2020
@cmelchior
Copy link
Contributor

We can reproduce the issue with your example project. Thank you very much for that. It takes 130 seconds to open the old file using an x86 emulator, while it only takes 1-2 seconds using Realm Studio.

It is a bit unclear exactly what is causing this, but we are looking into it.

Right now there are two issues:

  1. The upgrade takes much longer that it should.
  2. If the upgrade is interrupted, it might result in the file being corrupted. We believe this is fixed by Fix potential issue with interrupted upgrade realm-core#3751

Unfortunately, right now there is no really good way around 1) except using the Realm.getInstanceAsync(...) API. It will not improve the speed, but will at least not block the UI thread which otherwise would result in an ANR exception crashing the app.

@jpmcosta
Copy link

jpmcosta commented Jun 2, 2020

@cmelchior thank you for looking into this.

Unfortunately, I'm also having issues with Realm.getInstanceAsync(...): when I call Realm.getInstance() on a different thread it makes Realm.getInstanceAsync(...) freeze as well.

@cmelchior
Copy link
Contributor

I'll need to look closer into that. At least the example repo you created doesn't seem to have that behaviour, e.g. the FAB continues to be responsive during the upgrade.

@jpmcosta
Copy link

jpmcosta commented Jun 2, 2020

@cmelchior at least in my testing, if I close (back button) and reopen the app, the app will freeze (it won't even show the FAB). Maybe because it is trying to open a new instance (?); I didn't investigate any further.

@jpmcosta
Copy link

jpmcosta commented Jun 3, 2020

I'm getting reports similar to the initially reported crashes (with constant offset), but still on Realm 6.1.0, after my latest update which had some migrations. These reports are all from the same user in a Pixel device.

#00  pc 0000000000081f74  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
#01  pc 0000000000285ce8  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#02  pc 0000000000285d4c  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#03  pc 0000000000285e94  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#04  pc 0000000000194274  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#05  pc 0000000000194bc0  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#06  pc 0000000000193b04  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#07  pc 00000000001fc618  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#08  pc 000000000009d418  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#09  pc 000000000009d778  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#10  pc 0000000000218138  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#11  pc 000000000021aba4  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#12  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#13  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#14  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#15  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#16  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#17  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#18  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#19  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#20  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#21  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#22  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#23  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#24  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#25  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#26  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#27  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#28  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#29  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#30  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#31  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#32  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#33  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#34  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#35  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#36  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#37  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#38  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#39  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#40  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#41  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#42  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#43  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#44  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#45  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#46  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#47  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#48  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#49  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#50  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#51  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#52  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#53  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#54  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#55  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#56  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#57  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#58  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#59  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#60  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#61  pc 000000000021ab08  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#62  pc 000000000021aa88  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#63  pc 0000000000273638  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#64  pc 0000000000265a90  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#65  pc 0000000000265adc  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#66  pc 00000000001403bc  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#67  pc 0000000000140620  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#68  pc 00000000001461e8  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#69  pc 000000000015c91c  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#70  pc 0000000000179384  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#71  pc 0000000000179c80  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#72  pc 0000000000158308  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000)
#73  pc 00000000000cb02c  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/split_config.arm64_v8a.apk!librealm-jni.so (offset 0x1000) (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+540)
#74  pc 000000000001f0a4  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.odex (art_jni_trampoline+180)
#75  pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
#76  pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276)
#77  pc 00000000002df738  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
#78  pc 00000000002daa18  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912)
#79  pc 000000000059a948  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368)
#80  pc 0000000000130994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#81  pc 000000000028e7d6  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.<init>+90)
#82  pc 000000000059a43c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#83  pc 0000000000130914  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#84  pc 000000000028e5d8  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+24)
#85  pc 000000000059ac48  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1136)
#86  pc 0000000000130994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#87  pc 0000000000280b3c  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.c.a.<init>+164)
#88  pc 000000000059a43c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#89  pc 0000000000130914  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#90  pc 000000000028a73e  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.c.z.<init>+34)
#91  pc 000000000059a43c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168)
#92  pc 0000000000130914  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20)
#93  pc 0000000000285e2a  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.c.c0.a+270)
#94  pc 000000000059e2cc  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368)
#95  pc 0000000000134594  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20)
#96  pc 0000000000285d02  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.c.c0.b+14)
#97  pc 00000000002b0384  /apex/com.android.runtime/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.1271440803783865717)+240)
#98  pc 00000000005893e4  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012)
#99  pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
#100  pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
#101  pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276)
#102  pc 00000000002df738  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
#103  pc 00000000002daa18  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912)
#104  pc 000000000059a948  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368)
#105  pc 0000000000130994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#106  pc 000000000028a430  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.c.z.c+8)
#107  pc 000000000059ac48  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1136)
#108  pc 0000000000130994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
#109  pc 000000000024a69a  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.a.a.a0.s.e.c+10)
#110  pc 000000000059e2cc  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368)
#111  pc 0000000000134594  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20)
#112  pc 000000000024a666  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.a.a.a0.s.e.a+14)
#113  pc 000000000059e2cc  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368)
#114  pc 0000000000134594  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20)
#115  pc 0000000000242a30  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (h.a.a.u.a.c+352)
#116  pc 000000000059e2cc  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368)
#117  pc 0000000000134594  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20)
#118  pc 00000000002a98ea  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (u.n.j.a.a.a+10)
#119  pc 00000000005998a0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1740)
#120  pc 0000000000130a14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20)
#121  pc 00000000002ae93a  /data/app/<package_name>-XRRXNclqcA_n0zFCc32ltw==/oat/arm64/base.vdex (o.a.j0.run+178)
#122  pc 00000000002b0384  /apex/com.android.runtime/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.1271440803783865717)+240)
#123  pc 00000000005893e4  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012)
#124  pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
#125  pc 000000000073353c  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+76)
#126  pc 0000000000736b50  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+1440)
#127  pc 0000000000735590  /system/framework/arm64/boot-framework.oat (android.os.HandlerThread.run+544)
#128  pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
#129  pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
#130  pc 00000000004a9668  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#131  pc 00000000004aa6fc  /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+416)
#132  pc 00000000004ea494  /apex/com.android.runtime/lib64/libart.so (art::Thread::CreateCallback(void*)+1176)
#133  pc 00000000000e10a0  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
#134  pc 0000000000083ab0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

@edualonso edualonso unpinned this issue Jun 4, 2020
@cmelchior cmelchior pinned this issue Jun 4, 2020
@Jonty800
Copy link

Jonty800 commented Jun 5, 2020

I'm receiving a similar report, after changing to 7.0.0 from 6.0.2. Affecting:

  • Motorola Moto G (5S) Plus (sanders_n), 3840MB RAM, Android 7.1
  • LGE LG Stylo3 (sf317), 2048MB RAM, Android 7.0

Currently on 10% rollout.

Is this the same issue?

Motorola Moto G (5S) Plus (sanders_n), 3840MB RAM, Android 7.1
Report 1 of 5

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> io.fusetech.stackademia <<<

backtrace:
  #00  pc 0000000000049c74  /system/lib/libc.so (tgkill+12)
  #01  pc 0000000000047413  /system/lib/libc.so (pthread_kill+34)
  #02  pc 000000000001d565  /system/lib/libc.so (raise+10)
  #03  pc 00000000000190b1  /system/lib/libc.so (__libc_android_abort+34)
  #04  pc 0000000000017114  /system/lib/libc.so (abort+4)
  #05  pc 0000000000375707  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #06  pc 000000000037575d  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #07  pc 0000000000375857  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #08  pc 0000000000320b1b  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #09  pc 00000000003209d1  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #10  pc 0000000000331b89  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #11  pc 000000000014b81b  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #12  pc 000000000014b783  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #13  pc 000000000014b741  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #14  pc 000000000035afa3  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #15  pc 000000000032fe15  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #16  pc 0000000000333741  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #17  pc 00000000003329df  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #18  pc 000000000033391d  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #19  pc 0000000000335743  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #20  pc 000000000011f5a5  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #21  pc 000000000011f05b  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #22  pc 000000000011f00f  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #23  pc 000000000010feb5  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #24  pc 00000000000d0b8b  /data/app/io.fusetech.stackademia-2/split_config.armeabi_v7a.apk (offset 0x1000)
  #25  pc 00000000018469a9  /data/app/io.fusetech.stackademia-2/oat/arm/base.odex (offset 0x1732000)

Edit: I'm new to these kind of stacktraces. Looks like this one doesn't give much insight into what's going on.

My next step is to re-release as an APK instead of a bundle. Hopefully this will help.

@SimonSchubert
Copy link
Author

My company's app also stucks at 10% rollout. Please let us know about any kind of update and workaround until it's patched @cmelchior and if the apk release fixed it for you @Jonty800 . Thanks

@Jonty800
Copy link

Jonty800 commented Jun 9, 2020

The bad news is, it's still happening on the APK rollout.

2 crashes so far, one contained a crash report with more details:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> io.fusetech.stackademia <<<

backtrace:
  #00  pc 00000000000224f0  /system/lib64/libc.so (abort+112)
  #01  pc 000000000048ee4c  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #02  pc 000000000048eecc  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #03  pc 000000000048eff0  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #04  pc 00000000004182a4  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #05  pc 0000000000418168  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #06  pc 000000000042fcc0  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #07  pc 000000000020e828  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #08  pc 000000000046a224  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #09  pc 000000000042d658  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #10  pc 00000000004321a8  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #11  pc 0000000000431338  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #12  pc 00000000004323ec  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #13  pc 0000000000434774  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #14  pc 00000000001c6da8  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #15  pc 00000000001c670c  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #16  pc 00000000001c669c  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #17  pc 00000000001b1b50  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so
  #18  pc 0000000000159000  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/lib/arm64/librealm-jni.so (Java_io_realm_internal_OsSharedRealm_nativeGetSharedRealm+132)
  #19  pc 0000000000075844  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.odex (offset 0x72000) (io.realm.internal.OsObject.nativeCreateNewObjectWithStringPrimaryKey [DEDUPED]+196)
  #20  pc 000000000056144c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
  #21  pc 00000000000cf6d8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
  #22  pc 0000000000282b00  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
  #23  pc 000000000027dca8  /system/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+772)
  #24  pc 0000000000532fa4  /system/lib64/libart.so (MterpInvokeStaticRange+148)
  #25  pc 0000000000553d14  /system/lib64/libart.so (ExecuteMterpImpl+15380)
  #26  pc 0000000000c2b7f8  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.<init>+108)
  #27  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #28  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #29  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #30  pc 0000000000531618  /system/lib64/libart.so (MterpInvokeDirect+284)
  #31  pc 0000000000553994  /system/lib64/libart.so (ExecuteMterpImpl+14484)
  #32  pc 0000000000c2b5c2  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.internal.OsSharedRealm.getInstance+26)
  #33  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #34  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #35  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #36  pc 00000000005317d8  /system/lib64/libart.so (MterpInvokeStatic+200)
  #37  pc 0000000000553a14  /system/lib64/libart.so (ExecuteMterpImpl+14612)
  #38  pc 0000000000c052a2  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.BaseRealm.<init>+186)
  #39  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #40  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #41  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #42  pc 0000000000531618  /system/lib64/libart.so (MterpInvokeDirect+284)
  #43  pc 0000000000553994  /system/lib64/libart.so (ExecuteMterpImpl+14484)
  #44  pc 0000000000c051cc  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.BaseRealm.<init>+8)
  #45  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #46  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #47  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #48  pc 0000000000531618  /system/lib64/libart.so (MterpInvokeDirect+284)
  #49  pc 0000000000553994  /system/lib64/libart.so (ExecuteMterpImpl+14484)
  #50  pc 0000000000c1f064  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.Realm.<init>+24)
  #51  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #52  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #53  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #54  pc 0000000000531618  /system/lib64/libart.so (MterpInvokeDirect+284)
  #55  pc 0000000000553994  /system/lib64/libart.so (ExecuteMterpImpl+14484)
  #56  pc 0000000000c1e0f8  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.Realm.createInstance+4)
  #57  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #58  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #59  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #60  pc 00000000005317d8  /system/lib64/libart.so (MterpInvokeStatic+200)
  #61  pc 0000000000553a14  /system/lib64/libart.so (ExecuteMterpImpl+14612)
  #62  pc 0000000000c14b1c  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.RealmCache.createInstance+8)
  #63  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #64  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #65  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #66  pc 0000000000531618  /system/lib64/libart.so (MterpInvokeDirect+284)
  #67  pc 0000000000553994  /system/lib64/libart.so (ExecuteMterpImpl+14484)
  #68  pc 0000000000c1461a  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.RealmCache.doCreateRealmOrGetFromCache+234)
  #69  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #70  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #71  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #72  pc 0000000000531618  /system/lib64/libart.so (MterpInvokeDirect+284)
  #73  pc 0000000000553994  /system/lib64/libart.so (ExecuteMterpImpl+14484)
  #74  pc 0000000000c144ea  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.RealmCache.createRealmOrGetFromCache+22)
  #75  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #76  pc 0000000000520ad8  /system/lib64/libart.so (artQuickToInterpreterBridge+944)
  #77  pc 000000000056a2fc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
  #78  pc 000000000056144c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
  #79  pc 00000000000cf6d8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
  #80  pc 0000000000282b00  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
  #81  pc 000000000027cbb0  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+960)
  #82  pc 00000000005317d8  /system/lib64/libart.so (MterpInvokeStatic+200)
  #83  pc 0000000000553a14  /system/lib64/libart.so (ExecuteMterpImpl+14612)
  #84  pc 0000000000c1e1c0  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.realm.Realm.getInstance+8)
  #85  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #86  pc 000000000025c8c0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
  #87  pc 000000000027cb94  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+932)
  #88  pc 00000000005317d8  /system/lib64/libart.so (MterpInvokeStatic+200)
  #89  pc 0000000000553a14  /system/lib64/libart.so (ExecuteMterpImpl+14612)
  #90  pc 0000000000acf5e2  /data/app/io.fusetech.stackademia-ozEPGFUiPbu0lzhRrWi8cg==/oat/arm64/base.vdex (io.fusetech.stackademia.Stackademia.onCreate+326)
  #91  pc 0000000000256d10  /system/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.3399805955)+488)
  #92  pc 0000000000520ad8  /system/lib64/libart.so (artQuickToInterpreterBridge+944)
  #93  pc 000000000056a2fc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
  #94  pc 0000000000771be4  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (android.app.Instrumentation.callApplicationOnCreate+260)
  #95  pc 000000000088b304  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (android.app.ActivityThread.handleBindApplication+7684)
  #96  pc 0000000000885f08  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (android.app.ActivityThread$H.handleMessage+6392)
  #97  pc 0000000000ac8584  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (android.os.Handler.dispatchMessage+180)
  #98  pc 0000000000acb680  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (android.os.Looper.loop+1264)
  #99  pc 0000000000892d38  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (android.app.ActivityThread.main+664)
  #100  pc 000000000056144c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
  #101  pc 00000000000cf6d8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
  #102  pc 0000000000466690  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
  #103  pc 00000000004681e4  /system/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1440)
  #104  pc 00000000003f6af0  /system/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52)
  #105  pc 000000000011f6d4  /system/framework/arm64/boot-core-oj.oat (offset 0x115000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+180)
  #106  pc 0000000000c05238  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136)
  #107  pc 0000000000c0c420  /system/framework/arm64/boot-framework.oat (offset 0x3d7000) (com.android.internal.os.ZygoteInit.main+3088)
  #108  pc 000000000056144c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
  #109  pc 00000000000cf6d8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
  #110  pc 0000000000466690  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
  #111  pc 0000000000466294  /system/lib64/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+424)
  #112  pc 0000000000368498  /system/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+652)
  #113  pc 00000000000b2d4c  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+128)
  #114  pc 00000000000b583c  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+952)
  #115  pc 000000000000252c  /system/bin/app_process64 (main+2016)
  #116  pc 00000000000d4e58  /system/lib64/libc.so (__libc_init+88)

It feels like this only happens on arm and arm64 devices.

I notice other users reporting the Huawei P30 Pro experiences this issue, however, I use the P30 Pro as my primary development device and have not experienced the issue.

@RealmBot
Copy link
Collaborator

➤ Brian Munkholm commented:

Now fixed in Core. Will be included in next Java release soon.

@cmelchior
Copy link
Contributor

7.0.1 has been released which should fix this.

@cmelchior cmelchior unpinned this issue Jul 1, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants