Сбой Java с Kotlin при доступе к @LinkingObjects - требуется помощь - PullRequest
0 голосов
/ 20 февраля 2020

Я использую Realm Java на Android с Kotlin. У нас есть объекты с обратной связью с аннотацией @LinkingObjects

Проблема в том, что если я использую это поле как часть запроса (скажем, я проверяю, все ли списки на связанных объектах пусты, все ли работает хорошо), но если я Пытаюсь к реальным значениям Realm падает в нативном коде

@LinkingObjects странно - val, который инициируется в null, но это единственный способ сделать это в Kotlin, и это то, что я найдено в Realm проблемах с github

объект:

open class LabelModel(
        @PrimaryKey
        @Required
        @RealmField(name = "id" var id: String? = null
) : RealmObject() {

    /**
     * Not Fully working. It works if part of query - eq check if not empty
     * but it crashes app on any read operation on returned object.
     */
    @LinkingObjects("labelModels")
    val documents: RealmResults<CorporateDocumentModel>? = null
}

cra sh:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone_x86/generic_x86:8.0.0/OSR1.170901.043/4456315:user/release-keys'
Revision: '0'
ABI: 'x86'
pid: 12944, tid: 12990, name: pool-5-thread-1  >>> xxx.xxxxxxx.xxxxxxxxxxx <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10028
    eax 00010010  ebx 8ffbed70  ecx 8f7f3d94  edx ffffffff
    esi 8f7f3d74  edi 8a696700
    xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
    eip 8fd6ea3a  ebp 8f7f3d18  esp 8f7f3ce0  flags 00010282
backtrace:
    #00 pc 00268a3a  /data/app/ch.sherpany.boardroom-nVXL2LAyDIJeJb6-V8NLdg==/lib/x86/librealm-jni.so
    #01 pc 00085426  /data/app/ch.sherpany.boardroom-nVXL2LAyDIJeJb6-V8NLdg==/lib/x86/librealm-jni.so (Java_io_realm_internal_OsResults_nativeCreateResultsFromBacklinks+134)
    #02 pc 000bd195  /data/app/ch.sherpany.boardroom-nVXL2LAyDIJeJb6-V8NLdg==/oat/x86/base.odex (offset 0x78000)
    #03 pc 00038dff  [anon:libc_malloc:add00000]
    #04 pc fffffffe  <unknown>
    #05 pc 00db883f  [anon:libc_malloc:89980000]
    #06 pc 00db883f  [anon:libc_malloc:89980000]

, поэтому единственный след - https://github.com/realm/realm-java/blob/master/realm/realm-library/src/main/cpp/io_realm_internal_OsResults.cpp method: Java_io_realm_internal_OsResults_nativeCreateResultsFromBacklinks

есть идеи, что может быть проблемой и как ее исправить?

...