Skip to content
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

Closed
ankursharma234 opened this issue Oct 12, 2018 · 7 comments
Closed

Out of memory issue #6229

ankursharma234 opened this issue Oct 12, 2018 · 7 comments

Comments

@ankursharma234
Copy link

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

@Zhuinden
Copy link
Contributor

Does it make sense for your Realm file to be 6 GB? Do you store that much data?

@mehulsutariya
Copy link

@Zhuinden It is about 640MB and yes our realm files do go up to 1GB in certain cases. Can that be a problem?

@Zhuinden
Copy link
Contributor

Actually it really does say 640 MB.

Is this on a device that has less than 1 GB RAM?

@mehulsutariya
Copy link

Here are couple of the devices on which we have seen the error:

Samsung J7: 3 GB RAM
Samsung Galaxy A9: 4GB RAM (https://www.samsung.com/in/smartphones/galaxy-a9-a910f/)

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)
  | io.realm.internal.OsSharedRealm.getInstance (OsSharedRealm.java:241)
  | io.realm.internal.OsSharedRealm.getInstance (OsSharedRealm.java:231)
  | io.realm.RealmCache.doCreateRealmOrGetFromCache (RealmCache.java:319)
  | io.realm.RealmCache.createRealmOrGetFromCache (RealmCache.java:282)
  | io.realm.Realm.getInstance (Realm.java:378)

@cmelchior
Copy link
Contributor

This is two different errors.

Caused by io.realm.exceptions.RealmError: Unrecoverable error. mmap() failed: Out of memory size: 671088640

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).

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

Is a different error that we are currently tracking here: #6239

@realm-probot
Copy link

realm-probot bot commented Nov 5, 2018

Hey - looks like you forgot to add a T:* label - could you please add one?

@mehulsutariya
Copy link

@cmelchior The devices that are facing out of memory issues on 64-bit devices as well (Samsung Galaxy A9).

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants