realm / realm-java

Realm is a mobile database: a replacement for SQLite & ORMs
http://realm.io
Apache License 2.0
11.45k stars 1.75k forks source link

Native crash Fatal signal 11 #7731

Closed rafalwan closed 1 year ago

rafalwan commented 1 year ago

How frequently does the bug occur?

Sometimes

Description

Hello, I am facing an issue with native crash: A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 14984 (DefaultDispatch), pid 14667 It happens when two subsequent updates to the same object are made. In my application I show a list of items (essential data is fetched from the backend, saved to DB and presented to the user). When user clicks on an item, a bottom sheet is shown and details of the item are fetched, saved and presented. Sometimes when user clicks "refresh" button to fetch fresh data and instantly clicks on an item the crash I mentioned above happens (there are two data updates in a very very short period of time).

I tried to fix it by making requests to be as sequential as possible, I used SingleThreadExecutor so the operations happened one after the other (instead of in parallel) but the issue still happened.

I use: 'io.realm:realm-gradle-plugin:10.12.0' 'io.realm:android-adapters:4.0.0'

Stacktrace & log output

A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 14984 (DefaultDispatch), pid 14667

Can you reproduce the bug?

Yes, sometimes

Reproduction Steps

  1. Clicks "refresh" button to fetch fresh data
  2. Instantly clicks on an item to fetch details
  3. the crash I happens

Version

10.12.0

What SDK flavour are you using?

Local Database only

Are you using encryption?

Yes, using encryption

Platform OS and version(s)

Android 10, 11, 12

Build environment

Android Studio version: Chipmunk | 021.2.1 Android Build Tools version: 31.0.0 Gradle version: 7.0.4

sync-by-unito[bot] commented 1 year ago

➤ Nabil Hachicha commented:

Hi,

Can you please share the entire Logcat crash so we can investigate the root cause (symbolicate  the crash) 

Thanks

rafalwan commented 1 year ago

Hello, Stacktrace below is all I have at the moment. Please let me know if you need anything more.

2022-10-07 14:16:40.264 12883-13401/? A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 13401 (DefaultDispatch), pid 12883 (myapp.uat) 2022-10-07 14:16:41.033 13438-13438/? A/DEBUG: 2022-10-07 14:16:41.033 13438-13438/? A/DEBUG: Build fingerprint: 'samsung/r9qxeea/r9q:12/SP1A.210812.016/G990BXXU2CVG7:user/release-keys' 2022-10-07 14:16:41.033 13438-13438/? A/DEBUG: Revision: '10' 2022-10-07 14:16:41.033 13438-13438/? A/DEBUG: ABI: 'arm64' 2022-10-07 14:16:41.033 13438-13438/? A/DEBUG: Processor: '4' 2022-10-07 14:16:41.033 13438-13438/? A/DEBUG: Timestamp: 2022-10-07 14:16:40.404130329+0200 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: Process uptime: 100s 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: Cmdline: com.my.package.uat 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: pid: 12883, tid: 13401, name: DefaultDispatch >>> com.my.package.uat <<< 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: uid: 10342 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: Cause: null pointer dereference 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x0 0000000000000000 x1 0000000000000000 x2 0000000000000000 x3 0000001234567890 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x4 0000000000000000 x5 000000000000223b x6 00000000142b6ec8 x7 0000000000000018 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x8 000000760be98a50 x9 ea5a6fdfca8c4bfa x10 0000000000000006 x11 0000007493a24cf0 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x12 000000000000000b x13 00000000552dc6c1 x14 000000743cf31ec0 x15 0000000000000002 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x16 0000007493ba8b68 x17 00000077ef199d5c x18 000000743c4ce000 x19 00000075dc0b3c28 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x20 000000760be98a50 x21 00000075dc0b3c38 x22 000000743cf33000 x23 00000000142b6eb0 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x24 00000000142b6d90 x25 00000000140b5800 x26 0000000014283e58 x27 0000000014283e70 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: x28 0000000014282ca8 x29 000000743cf31d70 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: lr 0000007493a935e0 sp 000000743cf31d60 pc 0000007493889398 pst 0000000060001000 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: backtrace: 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #00 pc 0000000000375398 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #01 pc 000000000057f5dc /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #02 pc 000000000057f4c8 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #03 pc 000000000036a5e4 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #04 pc 000000000036ae98 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (Java_io_realm_internal_OsList_nativeSize+20) (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #05 pc 00000000001c40a0 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (art_jni_trampoline+96) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #06 pc 00000000008ba5c0 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (io.realm.internal.OsList.size+48) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #07 pc 000000000095b494 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (io.realm.RealmList.size+196) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #08 pc 0000000000206ca8 /apex/com.android.art/javalib/arm64/boot.oat ([DEDUPED]+40) (BuildId: ad9ee401645a5135206a62ff86fc2ef5cdc29120) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #09 pc 0000000000a72d4c /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (lf.b0.Y+140) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #10 pc 00000000006696f4 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (z9.d.getLastGps+68) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #11 pc 000000000200b298 /memfd:jit-cache (deleted) (xd.c$a.a+3736) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #12 pc 00000000009f27fc /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (xd.c$a.Q+124) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #13 pc 000000000020aec4 /apex/com.android.art/lib64/libart.so (nterp_helper+7636) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #14 pc 0000000000940d9e /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (xd.k$a$a.l+166) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #15 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #16 pc 0000000000940cea /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (xd.k$a$a.o+30) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #17 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #18 pc 0000000000940cbe /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (xd.k$a$a.E+16) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #19 pc 000000000020ae64 /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #20 pc 00000000008e584c /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (jg.t$f$a.l+94) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #21 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #22 pc 00000000008e57e0 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (jg.t$f$a.o+26) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #23 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #24 pc 00000000008e57b8 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (jg.t$f$a.w+12) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #25 pc 0000000000a2e02c /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (kg.i$a.l+2860) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #26 pc 00000000008ebe18 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (pf.a.v+296) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #27 pc 00000000008939f4 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (gg.z0.run+1492) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #28 pc 00000000007e1c24 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (ng.a.x+68) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #29 pc 00000000007dd798 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (ng.a$c.n+1080) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #30 pc 00000000007ddfc8 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (ng.a$c.run+40) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #31 pc 00000000002ca764 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #32 pc 000000000030e980 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread, unsigned int, unsigned int, art::JValue, char const)+156) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #33 pc 00000000003c1db4 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject, art::ArtMethod, jvalue const)+380) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #34 pc 00000000004578ec /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void)+992) (BuildId: 46df93bc978921840e5b428398c66a57) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #35 pc 00000000000b6d54 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void)+264) (BuildId: 5df338f27370a6fedaf36a8e8c973d1f) 2022-10-07 14:16:41.034 13438-13438/? A/DEBUG: #36 pc 0000000000053370 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 5df338f27370a6fedaf36a8e8c973d1f) 2022-10-07 14:16:41.071 821-821/? E/tombstoned: Tombstone written to: tombstone_03

clementetb commented 1 year ago

Realm SDK 10.9.0 Base flavor arm64-v8a

Unrolled stacktrace

Build fingerprint: 'samsung/r9qxeea/r9q:12/SP1A.210812.016/G990BXXU2CVG7:user/release-keys'
#00 0x0000000000375398 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e)
                                                                                                                                  realm::BPlusTreeBase::init_from_parent()
                                                                                                                                  /tmp/realm-java/realm/realm-library/src/main/cpp/realm-core/src/realm/bplustree.hpp:186:34
#1 0x000000000057f5dc /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e)
                                                                                                                                 realm::Lst<realm::ObjKey>::init_from_parent(bool) const
                                                                                                                                 /tmp/realm-java/realm/realm-library/src/main/cpp/realm-core/src/realm/list.hpp:239:21
#2 0x000000000057f4c8 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e)
                                                                                                                                 realm::Lst<realm::ObjKey>::update_if_needed() const
                                                                                                                                 /tmp/realm-java/realm/realm-library/src/main/cpp/realm-core/src/realm/list.hpp:173:33
#3 0x000000000036a5e4 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e)
                                                                                                                                 realm::Lst<realm::ObjKey>::update() const
                                                                                                                                 /tmp/realm-java/realm/realm-library/src/main/cpp/realm-core/src/realm/list.hpp:207:16
                                                                                                                                 realm::Lst<realm::ObjKey>::size() const
                                                                                                                                 /tmp/realm-java/realm/realm-library/src/main/cpp/realm-core/src/realm/list.hpp:557:12
                                                                                                                                 realm::LnkLst::size() const
                                                                                                                                 /tmp/realm-java/realm/realm-library/src/main/cpp/realm-core/src/realm/list.hpp:892:19
#4 0x000000000036ae98 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/base.apk!librealm-jni.so (Java_io_realm_internal_OsList_nativeSize+20) (BuildId: 9dec3713d9a47b404a31a57c3c82d771d45b946e)
                                                                                                                                 Java_io_realm_internal_OsList_nativeSize
                                                                                                                                 /tmp/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsList.cpp:192:37
#5 0x00000000001c40a0 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (art_jni_trampoline+96)
#6 0x00000000008ba5c0 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (io.realm.internal.OsList.size+48)
#7 0x000000000095b494 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (io.realm.RealmList.size+196)
#8 0x0000000000206ca8 /apex/com.android.art/javalib/arm64/boot.oat ([DEDUPED]+40) (BuildId: ad9ee401645a5135206a62ff86fc2ef5cdc29120)
#9 0x0000000000a72d4c /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (lf.b0.Y+140)
#10 0x00000000006696f4 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (z9.d.getLastGps+68)
#11 0x000000000200b298 /memfd:jit-cache (deleted) (xd.c$a.a+3736)
#12 0x00000000009f27fc /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (xd.c$a.Q+124)
#13 0x000000000020aec4 /apex/com.android.art/lib64/libart.so (nterp_helper+7636) (BuildId: 46df93bc978921840e5b428398c66a57)
#14 0x0000000000940d9e /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (xd.k$a$a.l+166)
#15 0x000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57)
#16 0x0000000000940cea /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (xd.k$a$a.o+30)
#17 0x000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57)
#18 0x0000000000940cbe /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (xd.k$a$a.E+16)
#19 0x000000000020ae64 /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: 46df93bc978921840e5b428398c66a57)
#20 0x00000000008e584c /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (jg.t$f$a.l+94)
#21 0x000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57)
#22 0x00000000008e57e0 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (jg.t$f$a.o+26)
#23 0x000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 46df93bc978921840e5b428398c66a57)
#24 0x00000000008e57b8 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.vdex (jg.t$f$a.w+12)
#25 0x0000000000a2e02c /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (kg.i$a.l+2860)
#26 0x00000000008ebe18 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (pf.a.v+296)
#27 0x00000000008939f4 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (gg.z0.run+1492)
#28 0x00000000007e1c24 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (ng.a.x+68)
#29 0x00000000007dd798 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (ng.a$c.n+1080)
#30 0x00000000007ddfc8 /data/app/~~z-hC-qm7F5fxrHllXoTyGw==/com.my.package.uat-vdDhvv1p5TiiEFEd_YRxyQ==/oat/arm64/base.odex (ng.a$c.run+40)
#31 0x00000000002ca764 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 46df93bc978921840e5b428398c66a57)
#32 0x000000000030e980 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+156) (BuildId: 46df93bc978921840e5b428398c66a57)
#33 0x00000000003c1db4 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValuesart::ArtMethod*(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+380) (BuildId: 46df93bc978921840e5b428398c66a57)
#34 0x00000000004578ec /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+992) (BuildId: 46df93bc978921840e5b428398c66a57)
#35 0x00000000000b6d54 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 5df338f27370a6fedaf36a8e8c973d1f)
#36 0x0000000000053370 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 5df338f27370a6fedaf36a8e8c973d1f)
clementetb commented 1 year ago

The logs show that it fails while fetching a Realm list size, but it is not enough information to assess whats going on. Would you be able to share some code, or even better a project that reproduces the issue?

rafalwan commented 1 year ago

@clementetb I believe I found the line of code where the crash originates

We've got class some class let's call it "ARealmModel":

class ARealmModel: RealmObject() {
    var gps = RealmList<GpsRealmModel>()
        set(newGps) {
            gps.replaceAll(newGps)
        }

    var lastGps: GpsRealmModel?
        get() = gps.lastOrNull()
        set(newLastGps) {
            newLastGps?.apply { gps.add(0, this) }
        }
}

And class GpsRealmModel:

class GpsRealmModel: RealmObject() {
    //Some simple values like latitute (Double), longitute (Double), type (ENUM).
}

The issue is with getLastGps() function when we read data right after it was saved to the database. Is it possible that Kotlin's extension function lastOrNull() may be causing this problem?

rorbech commented 1 year ago

Hi @rafalwan. We are rewiring the getters and setters in the realm objects, so I will assume that we somehow ends up with a mix of your getters/setters and our internal generated ones and we then end up working with a version of the underlying list that is somehow not tied correctly to the parent object. I have not been able to reproduce, but could you try to implement the same behavior without custom accessors and put the logic of those in separate methods instead?

bmunkholm commented 1 year ago

@rafalwan Is this still an issue for you?

Rafal-Wanjas commented 1 year ago

@bmunkholm Thank you for help! Removing all custom getters and setters fixed the problem.

bmunkholm commented 1 year ago

@Rafal-Wanjas That's great to hear - thanks for the feedback!