Closed cmelchior closed 7 years ago
Our latest release included an upgrade of Realm Core. As @diegomontoya notices, some changes in allocations is in that version. But that did not solve the issue (I know that @diegomontoya suggested to revert it but the crash happens with and without that particular commit).
Swapping the order of how the two metadata tables are created might solve the issue now. But I fear that it is masking the real bug - and I want to find it!
I take a draft analysis base on the log provide by LPFinch as below:
A. Logs analysis
12-28 18:29:30.179 19417-19417/com.myapp D/dalvikvm: DexOpt: couldn't find static field Landroid/os/Build;.SUPPORTED_ABIS
12-28 18:29:30.179 19417-19417/com.myapp I/dalvikvm: DexOpt: unable to optimize static field ref 0x009e at 0x0d in Lcom/getkeepsafe/relinker/SystemLibraryLoader;.supportedAbis
12-28 18:29:30.179 19417-19417/com.myapp D/dalvikvm: Trying to load lib /data/app-lib/com.myapp-2/librealm-jni.so 0x42a71650
12-28 18:29:30.179 19417-19417/com.myapp D/dalvikvm: Added shared lib /data/app-lib/com.myapp-2/librealm-jni.so 0x42a71650
12-28 18:29:30.312 19417-19421/com.myapp D/dalvikvm: GC_CONCURRENT freed 379K, 16% free 9540K/11300K, paused 2ms+12ms, total 42ms
12-28 18:29:30.312 19417-19417/com.myapp D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 2ms
12-28 18:29:30.375 19417-19421/com.myapp D/dalvikvm: GC_CONCURRENT freed 241K, 15% free 9802K/11428K, paused 3ms+2ms, total 30ms
12-28 18:29:30.375 19417-19449/com.myapp D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 14ms
12-28 18:29:30.375 19417-19455/com.myapp D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 13ms
12-28 18:29:30.375 19417-19417/com.myapp D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 5ms
12-28 18:29:30.375 19417-19454/com.myapp D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 15ms
That seem on low-end device, heap memory under heavy load:
12-28 18:29:30.375 19417-19421/com.myapp D/dalvikvm: GC_CONCURRENT freed 241K, **15% free 9802K/11428K**, paused 3ms+2ms, total 30ms
-> System try to reclaim memory when heap is fill-up, free memory at this time is 15% ~ 1626K remaining free in heap
System continue waiting for allocation memory:
12-28 18:29:30.375 19417-19454/com.myapp D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 15ms
-> It guest that our app try to allocate trunk of memory in heap but it doesn't fit. So it continously explicit request garbage collection to reclaim memory but it failed. That mean system can not allocate enough memory for our request.
Example: We want execute copy-on-write trunk of object with size around 200K as mention by diegomontoya and currently free memory in heap around 1626K but this issue possible to happened due to free memory are split in trunk of pieces.
=> I guest because of allocation memory failed BUT after that Realm continue using that dangling pointer it will cause SIGSEGV 11 when access to fault memory location.
B. Solution: I think it is difficult to handle this kind of issue without deeply understand specific device (T111 and I8200N ...) to optimize memory usage of our app and Android 4.2.2 so it seem this is long term issue.
For temporary solution would like to recommend some options: 1. For client using Realm like me: Try to optimize memory as possible to reduce potential this issue happened. ( I tried but failed on my app, so Lucky you ^^). Otherwise i don't prefer downgrade libs version
2. From Realm side: By initialize step could you please consider to return some value (example null if failed) to client side if something wrong: at least that will help client side handle by display proper message to our lovely user.
つ ༽つ #RealmTeam TAKE MY ENERGY ༼ つ ༽つ Lucky debugging !
I update backtrace in my FC case: Samsung device T111, Android 4.2.2, Realm version 2.2.0, Chipset: Marvell PXA986, ISA Supported: ARMv7, CPU Structure: RISC
01-10 13:53:34.550 103 103 I DEBUG : backtrace:
01-10 13:53:34.550 103 103 I DEBUG : #00 pc 00086598 /data/app-lib/com.project-1/librealm-jni.so
01-10 13:53:34.550 103 103 I DEBUG : #01 pc 000a9d37 /data/app-lib/com.project-1/librealm-jni.so
01-10 13:53:34.550 103 103 I DEBUG : #02 pc 0005ec8d /data/app-lib/com.project-1/librealm-jni.so
After using addr2line tool to revert backtrace:
std::system_error::system_error(int, std::error_category const&)
??:?
std::system_error::system_error(int, std::error_category const&)
??:?
realm::ObjectSchemaValidationException* std::__uninitialized_copy<false>::__uninit_copy<realm::ObjectSchemaValidationException*, realm::ObjectSchemaValidationException*>(realm::ObjectSchemaValidationException*, realm::ObjectSchemaValidationException*, realm::ObjectSchemaValidationException*)
??:?
I will post later if have any update.
Hi. I am also experiencing the same problem but device is Nexus 6p Emulate.
01-12 14:42:02.276 27529-27529/com.autoschedule.proto A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xfffffffc in tid 27529 (oschedule.proto)
01-12 14:42:02.378 2333-2454/com.google.android.gms I/Icing: Indexing EC9C2E4DCA826B5F8CFE2DCA5FE5F0C6E08B34DD from com.google.android.gms
01-12 14:42:02.382 1259-1259/? A/DEBUG:
01-12 14:42:02.382 1259-1259/? A/DEBUG: Build fingerprint: 'Android/sdk_google_phone_x86/generic_x86:6.0/MASTER/2872745:userdebug/test-keys'
01-12 14:42:02.383 1259-1259/? A/DEBUG: Revision: '0'
01-12 14:42:02.383 1259-1259/? A/DEBUG: ABI: 'x86'
01-12 14:42:02.383 1259-1259/? A/DEBUG: pid: 27529, tid: 27529, name: oschedule.proto >>> com.autoschedule.proto <<<
01-12 14:42:02.384 1259-1259/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffffc
01-12 14:42:02.392 1259-1259/? A/DEBUG: eax 00000000 ebx 9e0f9dd4 ecx b4086100 edx ffffffff
01-12 14:42:02.392 1259-1259/? A/DEBUG: esi b4086100 edi b4086100
01-12 14:42:02.392 1259-1259/? A/DEBUG: xcs 00000073 xds 0000007b xes 0000007b xfs 00000007 xss 0000007b
01-12 14:42:02.392 1259-1259/? A/DEBUG: eip 9df440e8 ebp b4085e80 esp bfe56140 flags 00010282
01-12 14:42:02.400 1259-1259/? A/DEBUG: backtrace:
01-12 14:42:02.402 1259-1259/? A/DEBUG: #00 pc 001770e8 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.402 1259-1259/? A/DEBUG: #01 pc 00179998 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.403 1259-1259/? A/DEBUG: #02 pc 00187de3 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.403 1259-1259/? A/DEBUG: #03 pc 00126790 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.403 1259-1259/? A/DEBUG: #04 pc 000ab57d /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.403 1259-1259/? A/DEBUG: #05 pc 000b0259 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.404 1259-1259/? A/DEBUG: #06 pc 000be06d /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.404 1259-1259/? A/DEBUG: #07 pc 000ca059 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.404 1259-1259/? A/DEBUG: #08 pc 000ba921 /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so
01-12 14:42:02.405 1259-1259/? A/DEBUG: #09 pc 0003c19b /data/app/com.autoschedule.proto-2/lib/x86/librealm-jni.so (Java_io_realm_internal_SharedRealmnativeGetSharedRealm+411)
01-12 14:42:02.405 1259-1259/? A/DEBUG: #10 pc 03c70546 /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (long io.realm.internal.SharedRealm.nativeGetSharedRealm(long, io.realm.internal.RealmNotifier)+154)
01-12 14:42:02.405 1259-1259/? A/DEBUG: #11 pc 03c6f72d /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (io.realm.internal.SharedRealm io.realm.internal.SharedRealm.getInstance(io.realm.RealmConfiguration, io.realm.internal.RealmNotifier, io.realm.internal.SharedRealm$SchemaVersionListener, boolean)+753)
01-12 14:42:02.406 1259-1259/? A/DEBUG: #12 pc 03c6f3fe /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (io.realm.internal.SharedRealm io.realm.internal.SharedRealm.getInstance(io.realm.RealmConfiguration)+82)
01-12 14:42:02.406 1259-1259/? A/DEBUG: #13 pc 03ada0d7 /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (io.realm.BaseRealm io.realm.RealmCache.createRealmOrGetFromCache(io.realm.RealmConfiguration, java.lang.Class)+571)
01-12 14:42:02.406 1259-1259/? A/DEBUG: #14 pc 02605357 /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (io.realm.Realm io.realm.Realm.getDefaultInstance()+235)
01-12 14:42:02.406 1259-1259/? A/DEBUG: #15 pc 022aaa64 /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (io.realm.Realm com.todait.android.application.database.realm.TodaitRealm.todait()+840)
01-12 14:42:02.406 1259-1259/? A/DEBUG: #16 pc 0255ff0a /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (void com.todait.application.mvc.controller.TodaitApplication.onCreate()+1118)
01-12 14:42:02.407 1259-1259/? A/DEBUG: #17 pc 025608b3 /data/app/com.autoschedule.proto-2/oat/x86/base.odex (offset 0x17fe000) (void com.todait.application.mvc.controller.TodaitApplication.onCreate()+135)
01-12 14:42:02.407 1259-1259/? A/DEBUG: #18 pc 7241ef5f /data/dalvik-cache/x86/system@framework@boot.oat (offset 0x1eb2000)
01-12 14:42:02.407 1259-1259/? A/DEBUG: #19 pc 85c9b5de
@omjoonkim Can you provide a little more information? For example, version, your configuration, can it be easily reproduced.
@cmelchior guys, it's been 3 months and this bug is rather extreme from an enterprise standpoint, I think inverting the two lines of code isn't such a bad idea after all
Swapping the order of how the two metadata tables are created might solve the issue now. But I fear that it is masking the real bug - and I want to find it!
I appreciate wanting to find the source of the bug, but I'm with @Zhuinden on this one. Patching it for everyone in a release and continuing to investigate would be ideal from my perspective.
I have created https://github.com/realm/realm-java/pull/4067 which is a temporarily solution. Once merged, it should be available as a snapshot release. Please give it a try and report back. I am sure that this is not the proper fix but if other crashes surface from this solution, we might use that information to build a better hypothesis of that the root cause is.
Thanks @kneth for the temporary solution. However, this didn't fix the crash on Samsung GT-I8200 (Android 4.2.2). Did this snapshot release work for anyone? Thanks.
@vianairan trying with the newly released 2.3.0 right?
@Zhuinden Actually, I tried with "2.4.0-SNAPSHOT" according to the version.txt. This is part of gradle file. Please let me know if Im doing something wrong. FYI: it works on Google Pixel. Thanks
buildscript {
repositories {
maven {
url 'http://oss.jfrog.org/artifactory/oss-snapshot-local'
}
}
dependencies {
classpath "io.realm:realm-gradle-plugin:2.4.0-SNAPSHOT"
}
}
apply plugin: 'realm-android'
Yes, the work-around is included in 2.3.0.
@vianairan Thanks for the feedback. Can you post the stacktrace?
I don't think we have merged anything into master
after the release so no snapshot yet.
@kneth I just tried using 2.3.0. Still it crashes. This is the stacktrace:
01-19 14:25:54.117 9412-9412/com.blacks.findme D/dalvikvm: Trying to load lib /data/app-lib/com.blacks.findme-3/librealm-jni.so 0x428776c0
01-19 14:25:54.125 9412-9412/com.blacks.findme D/dalvikvm: Added shared lib /data/app-lib/com.blacks.findme-3/librealm-jni.so 0x428776c0
01-19 14:25:55.523 9393-9393/? I/DEBUG: #00 pc 00081fe2 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.523 9393-9393/? I/DEBUG: #01 pc 000a4f77 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.523 9393-9393/? I/DEBUG: #02 pc 0005a6cd /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.523 9393-9393/? I/DEBUG: beb472e8 5f5891fb /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.523 9393-9393/? I/DEBUG: beb472ec 5f590e15 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.523 9393-9393/? I/DEBUG: beb472f4 5f6c4170 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: #00 beb47318 5f589c71 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb47328 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb4734c 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb47354 5f5b3f7b /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb47378 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb47384 5f5cb0b5 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb47388 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb473c4 5f5b0aff /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb473d8 5f6afa64 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb473e0 5f6af884 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:55.531 9393-9393/? I/DEBUG: beb473e8 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
01-19 14:25:56.226 541-588/? D/CrashAnrDetector: Build: samsung/goldenvess3gxx/goldenvess3g:4.2.2/JDQ39/I8200XXUANJ3:user/release-keys
Hardware: PXA986
Revision: 3
Bootloader: I8200XXUANJ3
Radio: unknown
Kernel: Linux version 3.4.5-2794522 (se.infra@SWDA2607) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #2 SMP PREEMPT Thu Oct 23 12:24:56 KST 2014
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/goldenvess3gxx/goldenvess3g:4.2.2/JDQ39/I8200XXUANJ3:user/release-keys'
Revision: '3'
pid: 9412, tid: 9412, name: blacks.findme >>> com.blacks.findme <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 60870ffd
r0 6088674b r1 60870ffd r2 60886867 r3 60870ffd
r4 00000000 r5 6087100d r6 608868c8 r7 60886700
r8 00000010 r9 00000010 sl 5f6af6e8 fp 00000010
ip 00000000 sp beb47318 lr 00000000 pc 5f590fe2 cpsr 20000030
d0 65706f72705f6b70 d1 6165526465726100
d2 7262696c203a2900 d3 62696c2220797202
d4 2f6c616e7265746e d5 6a4c3b656c626154
d6 6c6974752f617661 d7 0056293b70614d2f
d8 0000000000000000 d9 0000000000000000
d10 0000000000000000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 403a000000000000 d17 7e37e43c8800759c
d18 3ff0000000000000 d19 4018000000000000
d20 4000000000000000 d21 402a000000000000
d22 3fa4e644860834c5 d23 3fe921fb54442d18
d24 3fd99a27ad32ddf5 d25 3fe555b0aaeac752
d26 0000000000000000 d27 0000000000000000
d28 0000000000000000 d29 0000000000000000
d30 0000000000000000 d31 0000000000000000
scr 20000010
backtrace:
#00 pc 00081fe2 /data/app-lib/com.blacks.findme-3/librealm-jni.so
#01 pc 000a4f77 /data/app-lib/com.blacks.findme-3/librealm-jni.so
#02 pc 0005a6cd /data/app-lib/com.blacks.findme-3/librealm-jni.so
stack:
beb472d8 60886ec0
beb472dc 00001680
beb472e0 60887140
beb472e4 00001900
beb472e8 5f5891fb /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb472ec 5f590e15 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb472f0 00000000
beb472f4 5f6c4170 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb472f8 60886ec8
beb472fc 00000000
beb47300 beb47330 [stack]
beb47304 00000000
beb47308 60886700
beb4730c 60886700
beb47310 df0027ad
beb47314 00000000
#00 beb47318 5f589c71 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb4731c 00000001
beb47320 0000000f
beb47324 00000008
beb47328 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb4732c 00000008
beb47330 608868d0
beb47334 ffffffff
beb47338 00000000
beb4733c 60886700
beb47340 00000001
beb47344 00000001
beb47348 00000000
beb4734c 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb47350 608859e8
beb47354 5f5b3f7b /data/app-lib/com.blacks.findme-3/librealm-jni.so
#01 beb47358 ffffffff
beb4735c 00000000
beb47360 00000000
beb47364 00000008
beb47368 5fc0e170
beb4736c 00000000
beb47370 5fc56958
beb47374 5fc0e2e0
beb47378 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb4737c 00000008
beb47380 00000001
beb47384 5f5cb0b5 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb47388 5f6af6e8 /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb4738c 00000008
beb47390 00000000
beb47394 5fc0e170
........ ........
#02 beb473b8 00000000
beb473bc 00000000
beb473c0 60886700
beb473c4 5f5b0aff /data/app-lib/com.blacks.findme-3/librealm-jni.so
beb473c8 00000000
01-19 14:26:02.773 9508-9508/com.blacks.findme D/dalvikvm: Trying to load lib /data/app-lib/com.blacks.findme-3/librealm-jni.so 0x428785f8
01-19 14:26:02.773 9508-9508/com.blacks.findme D/dalvikvm: Added shared lib /data/app-lib/com.blacks.findme-3/librealm-jni.so 0x428785f8
01-19 14:26:04.117 9558-9558/com.blacks.findme D/dalvikvm: Trying to load lib /data/app-lib/com.blacks.findme-3/librealm-jni.so 0x42879540
01-19 14:26:04.117 9558-9558/com.blacks.findme D/dalvikvm: Added shared lib /data/app-lib/com.blacks.findme-3/librealm-jni.so 0x42879540
@vianairan have you added RealmLog.setLevel(LogLevel.ALL);
to see if there is anything more to know?
Realm Java's intro example doesn't crash with 2.3.0 on SM-T111. But as I have said previously, I think the bug wasn't solved by swapping those two table creations. So I will be back the the debugging lab next week.
@vianairan If you have the time, I would be happy if you can set the log level as suggested above.
I using Samsung Galaxy Tab 3 (SM-T111M) android 4.2.2. Still it crashes. This is the stacktrace:
D/dalvikvm: threadid=13: still suspended after undo (sc=1 dc=1)
D/dalvikvm: GC_CONCURRENT freed 265K, 18% free 5958K/7216K, paused 7ms+7ms, total 44ms
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeCreateConfig
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetSharedRealm 1523064104
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeCloseConfig 1523064104
V/REALM_JNI: --> Java_io_realm_internal_Table_nativeGetFinalizerPtr
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeHasTable 1522699208
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeCloseSharedRealm 1522699208
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeCreateConfig
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetSharedRealm 1539806640
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetVersion 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeCloseConfig 1539806640
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetVersion 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeIsClosed 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeBeginTransaction 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetVersion 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetVersion 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeSetVersion 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeHasTable 1523385600
V/REALM_JNI: --> Java_io_realm_internal_SharedRealm_nativeGetTable 1523385600
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 30171 (om.br.xxxxxx)
Debug class Realm.Java in method private static void initializeRealm(Realm realm)
Error in line mediator.createTable
:
for (Class<? extends RealmModel> modelClass : modelClasses) {
// Create and validate table
if (unversioned) {
mediator.createTable(modelClass, realm.sharedRealm);
}
columnInfoMap.put(modelClass, mediator.validateTable(modelClass, realm.sharedRealm, false));
}
@rodriguesmarcelo could you please your native backtrace here? Also, were you testing with v2.3.0
(not the snapshot)?
Hey guys, could you please give me a short status update? Is there a fix in sight? I need to decide whether to go back to 1.x, replace Realm completely or wait for the fix in order to being able to rollout again. Thanks!
@Konsumierer personally I'd recommend Realm 1.2.0, but that cannot open a Realm version created by 2.x
@Zhuinden, thanks, there is no database currently, so that's not a problem. We have just not tested with Realm 1.2.0 and it is very late for that change. Can you say anything about the stability of 1.2.0? And I haven't checked the API changes. Any big changes between 1.x and 2.x?
@Konsumierer well there weren't changes in things that I've been using.
I think stability of 1.2.0 is better than that of 2.x at the moment. But you must make sure that you don't open Realm in multiple processes by accident (typically happens if you "open Realm in application subclass". Don't do that.)
Differences are pretty much this:
1.) there is no Realm.init()
call in Realm 1.2.0, instead you do new RealmConfiguration.Builder(appContext)
2.) in 1.2.0, createOrUpdateAllFromJson()
is bugged if your RealmObjects have primary key (fixed in 2.0.x)
3.) default RealmObject variables set in constructor were added in 2.0.x, previously constructors couldn't be accessed by the RealmTransformer. I haven't had a need for this feature so far.
4.) Realm 1.2.0 allowed changing primary key value, Realm 2.x doesn't allow it anymore. So there's that.
5.) The only other oddity I found in Realm 1.2.0 is that using realm.executeTransactionAsync()
doesn't seem to notify looper threads (like HandlerThread
) that aren't the UI thread. This was fixed in 2.0.x
On the bright side, asynchronous queries are kinda unreliable lately in Realm 2.x (up to 2.3.0), but it worked perfectly fine in Realm 1.2.0.
The big change in 2.x is the Realm Object Server support, but if you're not using that, then it's not really relevant.
I have been debugging most days this week without coming to a conclusion. The crash happens in the following instruction: STRB r4, [r1], #1
. The register r1
contains an invalid address. My experiments this week indicate that we are talking about a race condition.
By aligning compiler options (https://github.com/realm/realm-core/pull/2428), I have not been able to reproduce the crash.
This has to be the strangest bug of the century.
@kneth is this "fix" a part of today's release Realm 2.3.1 for Android?
@PiotrWpl Unfortunately Realm Core + Realm Sync were not released prior to Realm Java 2.3.1. It's likely to hit Realm Java soon (at least as a snapshot release).
I'll send a bottle of whisky 🥃
2.3.2-SNAPSHOT ought to have it.. soon?
I have merged the update to the releases
and master
branches so snapshots are being build currently.
The 2.4.0-SNAPSHOT is ready. Please try it out, and provide feedback. You can see in README.md
how to use a snapshot release.
Integrated the snapshot as
classpath "io.realm:realm-gradle-plugin:2.4.0-SNAPSHOT"
Unfortunately the app still crashes on a Galaxy S3 mini:
02-10 16:15:02.593 10641-10641/link.thismo.app A/libc: Fatal signal 11 (SIGSEGV) at 0x5ab96ff6 (code=2), thread 10641 (link.thismo.app) 02-10 16:15:02.601 10641-10713/link.thismo.app I/dalvikvm: JNI ERROR (app bug): accessed deleted local reference 0x23400005 02-10 16:15:02.601 10641-10713/link.thismo.app E/dalvikvm: VM aborting 02-10 16:15:02.601 10641-10713/link.thismo.app A/libc: Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 10713 (AnalyticsWorker) 02-10 16:15:10.054 10641-10647/link.thismo.app A/libc: @@@ ABORTING: LIBC: HEAP MEMORY CORRUPTION IN dlmalloc
@jonasbark Thanks for the feedback. It looks like a different error, and HEAP MEMORY CORRUPTION IN dlmalloc
sounds a bit alarming.
Is your device an I8190 or I8200?
@kneth I8200. The crash only happens with Realm 2, which is why I thought it could be a similar problem. Should I open up a new ticket?
@jonasbark Yes please. I think we have an I8200 at the office so I can try to reproduce it.
@kneth, just ordered an I8200N on ebay. Will report back as soon as it gets here.
And I remembered wrong: it's an I8190, we have at the office.
@Konsumierer Thanks!
@kneth @Konsumierer created the issue: https://github.com/realm/realm-java/issues/4177
Also bad news from my side: still crashes on an I8200N with 2.4.0-SNAPSHOT.
02-15 09:31:57.000 19648-19648/com.package A/libc: Fatal signal 11 (SIGSEGV) at 0x5f8b1fed (code=2), thread 19648 (i.android.local)
02-15 09:31:57.007 19648-19651/com.package A/libc: @@@ ABORTING: LIBC: HEAP MEMORY CORRUPTION IN dlmalloc
02-15 09:31:57.007 19648-19651/com.package A/libc: Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 19651 (GC)
02-15 09:31:57.101 19034-19034/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-15 09:31:57.101 19034-19034/? I/DEBUG: Build fingerprint: 'samsung/goldenve3gxx/goldenve3g:4.2.2/JDQ39/I8200NXXUAOC1:user/release-keys'
02-15 09:31:57.101 19034-19034/? I/DEBUG: Revision: '3'
02-15 09:31:57.101 19034-19034/? I/DEBUG: pid: 19648, tid: 19648, name: i.android.local >>> com.package <<<
02-15 09:31:57.101 19034-19034/? I/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 5f8b1fed
@Konsumierer Can you post the complete stack trace?
@kneth, sure:
02-15 13:54:29.289 22288-22288/com.package A/libc: Fatal signal 11 (SIGSEGV) at 0x5f711ff3 (code=2), thread 22288 (i.android.local)
02-15 13:54:29.343 19873-19873/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-15 13:54:29.343 19873-19873/? I/DEBUG: Build fingerprint: 'samsung/goldenve3gxx/goldenve3g:4.2.2/JDQ39/I8200NXXUAOC1:user/release-keys'
02-15 13:54:29.343 19873-19873/? I/DEBUG: Revision: '3'
02-15 13:54:29.343 19873-19873/? I/DEBUG: pid: 22288, tid: 22288, name: i.android.local >>> com.package <<<
02-15 13:54:29.343 19873-19873/? I/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 5f711ff3
02-15 13:54:29.453 534-622/? D/CustomFrequencyManagerService: releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT frequency : 1248000 uid : 1000 pid : 534 tag : ACTIVITY_RESUME_BOOSTER@5
02-15 13:54:29.453 534-622/? W/ActivityManager: mDVFSHelper.release()
02-15 13:54:29.453 1167-1802/? I/EventRelay: Send intent to cmd socket: Intent { act=com.sec.android.intent.action.CPU_BOOSTER_MIN flg=0x10 (has extras) }
02-15 13:54:29.453 1167-1802/? I/EventRelay: Send intent to cmd socket: Intent { act=com.sec.android.intent.action.CPU_BOOSTER_MIN flg=0x10 (has extras) }
02-15 13:54:29.453 534-622/? D/CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT frequency : 1248000 uid : 1000 pid : 534 pkgName : ACTIVITY_RESUME_BOOSTER@8
02-15 13:54:29.578 534-622/? W/ProcessStats: Skipping unknown process pid 22389
02-15 13:54:29.585 747-747/? D/STATUSBAR-NetworkController: onReceive() - RSSI_CHANGED_ACTION, WIFI_STATE, NETWORK_STATE
02-15 13:54:29.585 747-747/? D/STATUSBAR-NetworkController: refreshSignalCluster: data=0 bt=false
02-15 13:54:29.585 747-747/? D/SignalClusterView: wifi: VISIBLE sig=2130837853 act=2130837827
02-15 13:54:29.585 747-747/? D/SignalClusterView: mobile: VISIBLE sig=2130837814 act=0 typ=0
02-15 13:54:29.585 747-747/? D/STATUSBAR-SignalClusterView: mSeparateMobileGroup=8
02-15 13:54:29.585 747-747/? D/SignalClusterView: wifi: VISIBLE sig=2130837853 act=2130837827
02-15 13:54:29.585 747-747/? D/SignalClusterView: mobile: VISIBLE sig=2130837814 act=0 typ=0
02-15 13:54:29.585 747-747/? D/STATUSBAR-SignalClusterView: mSeparateMobileGroup=8
02-15 13:54:29.585 747-747/? D/SignalClusterView: wifi: VISIBLE sig=2130837853 act=2130837827
02-15 13:54:29.585 747-747/? D/SignalClusterView: mobile: VISIBLE sig=2130837814 act=0 typ=0
02-15 13:54:29.585 747-747/? D/STATUSBAR-SignalClusterView: mSeparateMobileGroup=8
02-15 13:54:29.585 747-747/? D/SignalClusterView: wifi: VISIBLE sig=2130837853 act=2130837827
02-15 13:54:29.585 747-747/? D/SignalClusterView: mobile: VISIBLE sig=2130837814 act=0 typ=0
02-15 13:54:29.585 747-747/? D/STATUSBAR-SignalClusterView: mSeparateMobileGroup=8
02-15 13:54:29.601 747-747/? D/STATUSBAR-IconMerger: checkOverflow(216), More:false, Req:false Child:3
02-15 13:54:29.617 19873-19873/? I/DEBUG: r0 5f712013 r1 5f711ff3 r2 5f82011f r3 5f711ff3
02-15 13:54:29.617 19873-19873/? I/DEBUG: r4 5f81fdf8 r5 5f820120 r6 00000002 r7 00000020
02-15 13:54:29.617 19873-19873/? I/DEBUG: r8 5f820410 r9 00000000 sl 411a3048 fp beeef51c
02-15 13:54:29.625 19873-19873/? I/DEBUG: ip 00000010 sp beeef340 lr 00000020 pc 5faee776 cpsr 80000030
02-15 13:54:29.625 19873-19873/? I/DEBUG: d0 0000000000000000 d1 532f6c616e726500
02-15 13:54:29.625 19873-19873/? I/DEBUG: d2 4b2f726573656400 d3 6972657365447900
02-15 13:54:29.625 19873-19873/? I/DEBUG: d4 424300d842430050 d5 424301f042430168
02-15 13:54:29.625 19873-19873/? I/DEBUG: d6 4243031842430280 d7 424303c842430338
02-15 13:54:29.625 19873-19873/? I/DEBUG: d8 0000000000000000 d9 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d10 0000000000000000 d11 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d12 0000000000000000 d13 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d14 0000000000000000 d15 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d16 0000000000000000 d17 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d18 0000000000000000 d19 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d20 4008000000000000 d21 3fbc71c71c71c71c
02-15 13:54:29.625 19873-19873/? I/DEBUG: d22 3fcc7288e957b53b d23 3fd24998d6307188
02-15 13:54:29.625 19873-19873/? I/DEBUG: d24 3fd99a27ad32ddf5 d25 3fe555b0aaeac752
02-15 13:54:29.625 19873-19873/? I/DEBUG: d26 0000000000000000 d27 0000000000000007
02-15 13:54:29.625 19873-19873/? I/DEBUG: d28 000000000000000c d29 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: d30 0000000000000000 d31 0000000000000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: scr 20000010
02-15 13:54:29.625 19873-19873/? I/DEBUG: backtrace:
02-15 13:54:29.625 19873-19873/? I/DEBUG: #00 pc 000d5776 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: #01 pc 000e2247 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: #02 pc 000e2323 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: #03 pc 000e2381 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: #04 pc 00028d11 /data/app-lib/com.package-1/librealm-jni.so (Java_io_realm_internal_SharedRealm_nativeGetTable+172)
02-15 13:54:29.625 19873-19873/? I/DEBUG: stack:
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef300 00000000
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef304 5f81f0e8
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef308 5faee647 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef30c 5faa4259 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef310 5fbb4508 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef314 5f81fdb0
02-15 13:54:29.625 19873-19873/? I/DEBUG: beeef318 5f82041f
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef31c 5f81fdf8
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef320 5f820410
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef324 00000002
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef328 00000020
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef32c 5f820410
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef330 00000000
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef334 411a3048 [heap]
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef338 df0027ad
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef33c 00000000
02-15 13:54:29.632 19873-19873/? I/DEBUG: #00 beeef340 5f815dd8
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef344 0000001a
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef348 5f820440
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef34c 5faee85d /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef350 5f815dd8
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef354 5f81f0e0
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef358 0000001a
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef35c beeef374 [stack]
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef360 00000002
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef364 00000000
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef368 5f821f00
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef36c 5fafb24b /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.632 19873-19873/? I/DEBUG: #01 beeef370 9ca0001d
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef374 5f815dd8
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef378 0000001a
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef37c 00000002
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef380 beeef501 [stack]
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef384 40124f31 /system/lib/libc.so (malloc+12)
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef388 5f815df2
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef38c beeef41c [stack]
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef390 411a3048 [heap]
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef394 42480720 /dev/ashmem/dalvik-heap (deleted)
02-15 13:54:29.632 19873-19873/? I/DEBUG: beeef398 beeef3d8 [stack]
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef39c 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3a0 00000002
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3a4 5f81f0e0
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3a8 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3ac 5fafb327 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.640 19873-19873/? I/DEBUG: #02 beeef3b0 5f815dd8
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3b4 0000001a
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3b8 5f815dd8
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3bc beeef3d8 [stack]
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3c0 ffffffff
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3c4 5f81f0e0
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3c8 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: beeef3cc 5fafb385 /data/app-lib/com.package-1/librealm-jni.so
02-15 13:54:29.640 19873-19873/? I/DEBUG: memory near r0:
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f711ff0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712000 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712010 20000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712020 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712030 00000000 00000020 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712040 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712050 00000000 00002000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712060 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712070 00000000 00200000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712080 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712090 00000000 20000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f7120a0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f7120b0 00000000 00000000 00000020 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f7120c0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f7120d0 00000000 00000000 00002000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f7120e0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: memory near r1:
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f711fd0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f711fe0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f711ff0 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712000 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712010 20000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712020 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712030 00000000 00000020 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712040 00000000 00000000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712050 00000000 00002000 00000000 00000000
02-15 13:54:29.640 19873-19873/? I/DEBUG: 5f712060 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712070 00000000 00200000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712080 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712090 00000000 20000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f7120a0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f7120b0 00000000 00000000 00000020 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f7120c0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: memory near r2:
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f8200fc 00100000 00000000 00000000 00100000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82010c 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82011c 00100000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82012c 00001000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82013c 00100000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82014c 00000010 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82015c 00100000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82016c 00001000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82017c 00100000 00000000 00000000 10000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82018c 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f82019c 00100000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f8201ac 00001000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f8201bc 00100000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f8201cc 00000010 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f8201dc 00100000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f8201ec 00001000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: memory near r3:
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f711fd0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f711fe0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f711ff0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712000 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712010 20000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712020 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712030 00000000 00000020 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712040 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712050 00000000 00002000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712060 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712070 00000000 00200000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712080 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f712090 00000000 20000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f7120a0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f7120b0 00000000 00000000 00000020 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f7120c0 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: memory near r4:
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f81fdd8 00000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f81fde8 20000000 00000000 00000000 00000000
02-15 13:54:29.648 19873-19873/? I/DEBUG: 5f81fdf8 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe08 00000000 00000020 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe18 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe28 00000000 00002000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe38 00000000 00100000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe48 00000000 00000010 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe58 00000000 00100000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe68 00000000 00001000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe78 00000000 00100000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe88 10000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fe98 00000000 00100000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fea8 00000000 00001000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81feb8 00000000 00100000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f81fec8 00000000 00000010 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: memory near r5:
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820100 00000000 00000000 00100000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820110 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820120 00000000 00000000 00000000 00001000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820130 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820140 00000000 00000000 00000000 00000010
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820150 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820160 00000000 00000000 00000000 00001000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820170 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820180 00000000 00000000 10000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820190 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8201a0 00000000 00000000 00000000 00001000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8201b0 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8201c0 00000000 00000000 00000000 00000010
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8201d0 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8201e0 00000000 00000000 00000000 00001000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8201f0 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: memory near r8:
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8203f0 00000000 00000000 00000000 00100000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820400 00000000 00000000 0e008000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820410 00000000 00000000 00000000 00130000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820420 00000000 00000000 00000000 17000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820430 00006b70 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820440 00000000 00000000 00000000 1d000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820450 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820460 00000000 00000000 00000000 10000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820470 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820480 00000000 00000000 00800000 03000045
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f820490 15001180 00001a00 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8204a0 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8204b0 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8204c0 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8204d0 00000000 00000000 00000000 00000000
02-15 13:54:29.656 19873-19873/? I/DEBUG: 5f8204e0 00000000 00000000 00000000 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: memory near sl:
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3028 64696f72 0000001b 411bcde8 40162c6c
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3038 41194708 40162c64 00000018 00000023
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3048 40ac9eb4 40aca328 00000001 411a3450
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3058 00000000 581c6fd0 00000000 00000013
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3068 503c002e 79786f72 20200a3e 000001ab
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3078 7379732f 2f6d6574 6d617266 726f7765
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3088 6f632f6b 6a2e6572 2f3a7261 74737973
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3098 662f6d65 656d6172 6b726f77 726f632f
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a30a8 756a2d65 2e74696e 3a72616a 7379732f
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a30b8 2f6d6574 6d617266 726f7765 6f622f6b
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a30c8 79636e75 74736163 6a2e656c 2f3a7261
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a30d8 74737973 662f6d65 656d6172 6b726f77
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a30e8 7478652f 72616a2e 79732f3a 6d657473
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a30f8 6172662f 6f77656d 662f6b72 656d6172
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3108 6b726f77 72616a2e 79732f3a 6d657473
02-15 13:54:29.664 19873-19873/? I/DEBUG: 411a3118 6172662f 6f77656d 662f6b72 656d6172
02-15 13:54:29.664 19873-19873/? I/DEBUG: memory near fp:
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef4fc 40a412d4 9ca0001d 40a6bdcb 4119a68c
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef50c 00000001 423a12e0 5f284482 41b61c2c
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef51c 40a70455 4119a68c 5f28447f 5fa41c65
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef52c 411a3460 be600019 00000000 c0000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef53c 40163228 5bcbcbb0 5bcb5ce8 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef54c 40129843 00000000 5bcbcbb0 5bcb5ce8
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef55c 00000000 5f812fa0 40124f45 40106034
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef56c 40a72807 411a37bc 42480710 00000003
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef57c 411a3450 00000044 42480710 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef58c 40a77e65 42480710 00000000 40ad11b0
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef59c 00000044 beeef60c 570f7694 00000001
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef5ac 423a12e0 00000001 570f7680 000003b8
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef5bc 5f361ae2 00000010 00000001 beeef60c
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef5cc 40a8df25 5f361ae2 423a12e0 5f361ae2
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef5dc 00003f13 5f590000 00000002 5ee72fdc
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef5ec 40163228 5acdb7e0 807e7def 41194f70
02-15 13:54:29.664 19873-19873/? I/DEBUG: memory near sp:
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef320 5f820410 00000002 00000020 5f820410
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef330 00000000 411a3048 df0027ad 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef340 5f815dd8 0000001a 5f820440 5faee85d
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef350 5f815dd8 5f81f0e0 0000001a beeef374
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef360 00000002 00000000 5f821f00 5fafb24b
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef370 9ca0001d 5f815dd8 0000001a 00000002
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef380 beeef501 40124f31 5f815df2 beeef41c
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef390 411a3048 42480720 beeef3d8 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef3a0 00000002 5f81f0e0 00000000 5fafb327
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef3b0 5f815dd8 0000001a 5f815dd8 beeef3d8
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef3c0 ffffffff 5f81f0e0 00000000 5fafb385
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef3d0 00000000 5f815dd8 5f815dd8 0000001a
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef3e0 00000000 ffffffff 00000003 4119a698
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef3f0 5fbb7dfc 5fa41d15 00000000 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef400 00000010 00000010 40ad1518 42480710
02-15 13:54:29.664 19873-19873/? I/DEBUG: beeef410 00000000 5f815dd8 0000001a 00000000
02-15 13:54:29.664 19873-19873/? I/DEBUG: code around pc:
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee754 1e581040 ebc11e6a f8150e07 44711c01
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee764 1c01f803 3040f894 44031bdb 42814619
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee774 f801d002 e7fa9b01 1040f894 0501f1c1
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee784 1b524415 d2e0428a 2a001a9b 4618d0dd
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee794 f7464629 4603ed80 f884e7d7 e01f7040
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee7a4 d0fa4543 f8031e59 1bdb7c01 428a461a
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee7b4 f802d0f6 e7fa5b01 6b626b23 429a685b
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee7c4 af02d20e 46324621 f7554638 4629f88d
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee7d4 f7ff4638 4601ff47 4620bb18 fb22f7b5
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee7e4 3040f894 f8dd6925 fb038000 9d015606
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee7f4 18f73b01 4630b125 462a4641 ed4af746
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee804 22004435 42bb462b f803d002 e7fa2b01
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee814 0f00f1b8 f894d103 701a2040 1b5de001
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee824 b005701d 83f0e8bd 460eb5f7 46046a81
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee834 000ce88d f8903101 f7b52040 f894fc92
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5faee844 6aa23040 fb066921 1b923003 1ac7435a
02-15 13:54:29.664 19873-19873/? I/DEBUG: code around lr:
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000000 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000010 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000020 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000030 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000040 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000050 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000060 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000070 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000080 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 00000090 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 000000a0 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 000000b0 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 000000c0 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 000000d0 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 000000e0 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: 000000f0 ffffffff ffffffff ffffffff ffffffff
02-15 13:54:29.664 19873-19873/? I/DEBUG: memory map around fault addr 5f711ff3:
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5f70d000-5f711000
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5f711000-5f712000
02-15 13:54:29.664 19873-19873/? I/DEBUG: 5f712000-5f811000 [stack:22361]
@Konsumierer Thanks. I have resolved it to:
Stack frame #00 pc 000d5776 /data/app-lib/com.package-1/librealm-jni.so: Routine realm::ArrayString::set(unsigned int, realm::StringData) at libgcc2.c:?
Stack frame #01 pc 000e2247 /data/app-lib/com.package-1/librealm-jni.so: Routine realm::Group::create_and_insert_table(unsigned int, realm::StringData) at libgcc2.c:?
Stack frame #02 pc 000e2323 /data/app-lib/com.package-1/librealm-jni.so: Routine realm::Group::do_insert_table(unsigned int, realm::StringData, void (*)(realm::Table&)) at libgcc2.c:?
Stack frame #03 pc 000e2381 /data/app-lib/com.package-1/librealm-jni.so: Routine realm::Group::do_get_or_add_table(realm::StringData, bool (*)(realm::Spec const&), void (*)(realm::Table&), bool*) at libgcc2.c:?
Stack frame #04 pc 00028d11 /data/app-lib/com.package-1/librealm-jni.so (Java_io_realm_internal_SharedRealm_nativeGetTable+172): Routine Java_io_realm_internal_SharedRealm_nativeGetTable at libgcc2.c:?
Looks like the same crash - which is really strange to me. I will try to locate a I8200 for testing.
It's interesting because I've checked the source for ArrayString
but there were no commits of any kind that could have altered this behavior at the release between core 1.5.1 and 2.0.0.
Only white spaces and comments... So this is probably some very intricate locking issue, maybe? I am not a Realm person, I have zero clue.
@Zhuinden the version we still have to use which works on the I8200 is: io.realm:realm-gradle-plugin:0.90.1
. We didn't try to use 1.5.1 so far.
@jonasbark Realm Core 1.5.1 was in Realm-Java 1.2.0.
Just now, I have tried to build from master
(almost identical to 2.4.0-SNAPSHOT) and run our introExample on Samsung Galaxy Tab 3 (SM-T111) and Samsung Galaxy S 3 mini (I8200). I have no crashes.
@jonasbark @Konsumierer Can you share either an apk
or source code so I can try myself? If you don't wish to share it in public, please send it to help@realm.io.
Sorry, I am not allowed to do so.
Same problem Device : Samsung S3 Mini GT-I8200 Android version : 4.2.2 Realm Version : 2.3.1
is there any solution ??
@jehad-suliman are you tried the Snapshot version?
With #3834 just merged, we are interested in feedback on the SNAPSHOT version.
Same problem :/ Devices: Samsung Galaxy S3 Slim (wilcoxds), Samsung Galaxy S3 Mini Value Edition (goldenve3g), Android Version: Android 4.2 Realm Version: 2.3.1
I got a splash screen for many seconds and then the app finishes.
I going to try the snapshot version now..
A Samsung Galaxy Tab 3 Lite 7 (SM-T111) crashes on startup with the below error (Android 4.2.2) Has been confirmed working on Nexus 5, Nexus 4 and emulators 15, 19, 21, 22, 23, 24.
I'm working on getting a sample project. /cc @beeender