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

Internal crash while trying to build a synced config

      How frequently does the bug occur?

      Sometimes

      Description

      An existing crash has been intensified after we upgraded our Realm Java SDK version from 10.14.0 to 10.16.1, it consists of the realm java SDK crashing internally while trying to build a synced config. I don't really know how to reproduce this but from our crashlitics reports it is happening a lot more since we upgraded the SDK.

      Stacktrace & log output

      Unable to find source-code formatter for language: shell. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'byte io.realm.internal.objectstore.OsSyncUser.getState()' on a null object reference
             at io.realm.mongodb.User.getState(User.java:207)
             at io.realm.mongodb.User.isLoggedIn(User.java:266)
             at io.realm.mongodb.sync.SyncConfiguration$Builder.validateAndSet(SyncConfiguration.java:742)
             at io.realm.mongodb.sync.SyncConfiguration$Builder.<init>(SyncConfiguration.java:726)
             at io.realm.mongodb.sync.SyncConfiguration$Builder.<init>(SyncConfiguration.java:664)
             at ai.caper.catalog_sync.realm.RealmCatalogHelper.createSyncRealmConfig(RealmCatalogHelper.kt:137)
             at ai.caper.catalog_sync.realm.RealmCatalogHelper.getOrCreateRealmConfig(RealmCatalogHelper.kt:92)
             at ai.caper.catalog_sync.realm.RealmCatalogHelper.configureAndSynchronizeMaybe$lambda$1(RealmCatalogHelper.kt:54)
             at ai.caper.catalog_sync.realm.RealmCatalogHelper.$r8$lambda$EmQmbldCp3DackRkSXl2A8wwTig()
             at ai.caper.catalog_sync.realm.RealmCatalogHelper$$ExternalSyntheticLambda3.run(:4)
             at io.reactivex.internal.operators.completable.CompletableFromAction.subscribeActual(CompletableFromAction.java:35)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletableToFlowable.subscribeActual(CompletableToFlowable.java:32)
             at io.reactivex.Flowable.subscribe(Flowable.java:14935)
             at io.reactivex.Flowable.subscribe(Flowable.java:14882)
             at io.reactivex.internal.operators.flowable.FlowableRetryPredicate$RetrySubscriber.subscribeNext(FlowableRetryPredicate.java:124)
             at io.reactivex.internal.operators.flowable.FlowableRetryPredicate.subscribeActual(FlowableRetryPredicate.java:42)
             at io.reactivex.Flowable.subscribe(Flowable.java:14935)
             at io.reactivex.Flowable.subscribe(Flowable.java:14882)
             at io.reactivex.internal.operators.completable.CompletableFromPublisher.subscribeActual(CompletableFromPublisher.java:32)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletableResumeNext.subscribeActual(CompletableResumeNext.java:41)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletablePeek.subscribeActual(CompletablePeek.java:51)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletablePeek.subscribeActual(CompletablePeek.java:51)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletablePeek.subscribeActual(CompletablePeek.java:51)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletableAndThenCompletable.subscribeActual(CompletableAndThenCompletable.java:35)
             at io.reactivex.Completable.subscribe(Completable.java:2309)
             at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run(CompletableSubscribeOn.java:64)
             at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:608)
             at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
             at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
             at java.util.concurrent.FutureTask.run(FutureTask.java:266)
             at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
             at java.lang.Thread.run(Thread.java:919)
      

      Can you reproduce the bug?

      No

      Reproduction Steps

      No response

      Version

      10.16.1

      What Atlas App Services are you using?

      Atlas Device Sync

      Are you using encryption?

      No

      Platform OS and version(s)

      Android 7.1.1 and Android 10

      Build environment

      Android Studio version: Android Studio Hedgehog | 2023.1.1 Canary 15
      Android Build Tools version: 33.0.2
      Gradle version: 7.6.2

            Assignee:
            christian.melchior@mongodb.com Christian Melchior (Inactive)
            Reporter:
            unitosyncbot Unito Sync Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: