-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Out of memory issue #6229
Comments
Does it make sense for your Realm file to be 6 GB? Do you store that much data? |
@Zhuinden It is about 640MB and yes our realm files do go up to 1GB in certain cases. Can that be a problem? |
Actually it really does say 640 MB. Is this on a device that has less than 1 GB RAM? |
Here are couple of the devices on which we have seen the error: Samsung J7: 3 GB RAM Additionally, we have also go an error like this on one of the devices and am not sure if they are related. Unable to open a realm at path '/data/data/': Top ref outside file (size = 268484608). top_ref[0]: FF50828, top_ref[1]: 100473C0, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 1. (Top ref outside file (size = 268484608). top_ref[0]: FF50828, top_ref[1]: 100473C0, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 1) (/data/data/) in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 io.realm.internal.OsSharedRealm.nativeGetSharedRealm (OsSharedRealm.java) | io.realm.internal.OsSharedRealm. (OsSharedRealm.java:171) |
This is two different errors.
Is due to trying to open a 671 MB Realm. On some 32 bit devices that will not be possible due to how memory mapping works. On all 64-bit devices this should be fine (all devices shipped the last 3+ years).
Is a different error that we are currently tracking here: #6239 |
Hey - looks like you forgot to add a T:* label - could you please add one? |
@cmelchior The devices that are facing out of memory issues on 64-bit devices as well (Samsung Galaxy A9). |
Actual Results
Caused by io.realm.exceptions.RealmError: Unrecoverable error. mmap() failed: Out of memory size: 671088640 in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101
at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(OsSharedRealm.java)
at io.realm.internal.OsSharedRealm.(OsSharedRealm.java:171)
at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:241)
at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:231)
at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:319)
at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:282)
at io.realm.Realm.getInstance(Realm.java:378)
at in.bizanalyst.utils.RealmUtils.getRealm(RealmUtils.java:65)
at in.bizanalyst.async.OrderPendingCalculation.doInBackground(OrderPendingCalculation.java:443)
at in.bizanalyst.async.OrderPendingCalculation.doInBackground(OrderPendingCalculation.java:46)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Steps & Code to Reproduce
Not reproducible on my side
Version of Realm and tooling
Realm version(s): 5.4.1
Realm Sync feature enabled: Yes
Android Studio version: Yes
Android Build Tools version: 27.0.3
Gradle version: 3.4.1
Which Android version and device(s): All
The text was updated successfully, but these errors were encountered: