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

Crash when calling Realm.getDefaultInstance()

      Goal

      Get a default Realm instance.

      Expected Results

      Realm.getDefaultInstance() returns a Realm instance

      Actual Results

      The app crashes:

      java.lang.RuntimeException: 
        at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2751)
        at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2812)
        at android.app.ActivityThread.-wrap12 (ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1528)
        at android.os.Handler.dispatchMessage (Handler.java:102)
        at android.os.Looper.loop (Looper.java:154)
        at android.app.ActivityThread.main (ActivityThread.java:6314)
        at java.lang.reflect.Method.invoke (Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:872)
        at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)
      Caused by: java.lang.IllegalStateException: 
        at io.realm.Realm.getDefaultInstance (Realm.java:327)
        at com.meisolsson.spotifyalarm.ui.base.BaseActivity.getRealm (BaseActivity.java:151)
        at com.meisolsson.spotifyalarm.ui.MainActivity.populateAdapter (MainActivity.java:119)
        at com.meisolsson.spotifyalarm.ui.MainActivity.setupRecyclerView (MainActivity.java:115)
        at com.meisolsson.spotifyalarm.ui.MainActivity.onCreate (MainActivity.java:56)
        at android.app.Activity.performCreate (Activity.java:6757)
        at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1119)
        at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2704)
      

      Steps & Code to Reproduce

      I've not been able to reproduce.

      Code Sample

      Application.java:

      public class Application extends android.app.Application {
      
          @Override
          public void onCreate() {
              ...
              Realm.init(this);
              RealmConfiguration configuration = new RealmConfiguration.Builder()
                      .schemaVersion(2)
                      .migration(new AlarmifyMigration())
                      .build();
      
              Realm.setDefaultConfiguration(configuration);
              realm = Realm.getDefaultInstance();
              ....
              super.onCreate();
          }
      }
      

      BaseActivity.java:

      public abstract class BaseActivity extends AppCompatActivity {
          private Realm realm;
          ...
          /**
           * @return Instance of {@link Realm}.
           */
          public Realm getRealm() {
              if (realm == null || realm.isClosed()) {
                  realm = Realm.getDefaultInstance();
              }
      
              return realm;
          }
      }
      

      Version of Realm and tooling

      Realm version(s): 4.1.1

      Realm sync feature enabled: no

      Android Studio version: Android Studio 3.0

      Which Android version and device:
      Android version: Android 7.0
      Devices:

      • Galaxy S7 (herolte)
      • Galaxy S8 Active (cruiserlteatt)
      • Galaxy A7(2016) (a7xelte)

            Assignee:
            Unassigned Unassigned
            Reporter:
            unitosyncbot Unito Sync Bot
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: