-
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
RealmFileException: Top ref outside file #6239
Comments
@ankursharma234 Are you seeing this on multiple devices? In that case, which ones? Also are you by any chance moving Realm files around yourself? The error indicates that the file is "shorter" than expected. |
@cmelchior No realm file is not moved by any chance. And what do you mean by file is shorter than expected |
@ankursharma234 Do you have similar stack traces from these devices? We would be very interested in knowing the exact values from those exceptions as that can help us narrow down where this might occur. Also if you know the exact device, that would be extremely helpful as well. Especially the device where this is most common. When I say the file appears to "short", it is because the top_refs defines an offset into the file that indicates where it "starts", but that offset is outside the actual size of the file. This should of course not be possible, but we still haven't been able to reproduce this. |
I have a similar issue: Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{....library.LibraryActivity}: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.mycompany/files/librarydb.realm': Top ref outside file (size = 1703936). top_ref[0]: 303150000142A50, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 0. (Top ref outside file (size = 1703936). top_ref[0]: 303150000142A50, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 0) (/data/data/com.mycompany/files/librarydb.realm) in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. Fatal Exception: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.mycompany/files/librarydb.realm': Top ref outside file (size = 1310720). top_ref[0]: 303150000024E60, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 0. (Top ref outside file (size = 1310720). top_ref[0]: 303150000024E60, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 0) (/data/data/com.mycompany/files/librarydb.realm) in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Fatal Exception: java.lang.RuntimeException: Unable to create application com.mycompany.MainApplication: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.mycompany/files/userdb.realm': Top ref outside file (size = 36864). top_ref[0]: 3031500000083E8, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 0. (Top ref outside file (size = 36864). top_ref[0]: 3031500000083E8, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 0) (/data/data/com.mycompany/files/userdb.realm) in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{....library.LibraryActivity}: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.mycompany/files/librarydb.realm': Top ref outside file (size = 1310720). top_ref[0]: 303150000036140, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 1. (Top ref outside file (size = 1310720). top_ref[0]: 303150000036140, top_ref[1]: 46020200, mnemonic: 54 2D 44 42, fmt[0]: 9, fmt[1]: 9, flags: 1) (/data/data/com.mycompany/files/librarydb.realm) in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. |
This is now being tracked in Core here: realm/realm-core#3133. @ankursharma234 Any information you have regarding how the Realms are being opened/manipulated would be very valuable. Especially if you copying Realms from assets, deleting or copying the files. If you can share your RealmConfiguration that would also help. |
From #6304 |
@cmelchior Here is my realm configuration
And no, the files are not moved or copied nor they are deleted |
Got the same stuff here - attached the stack traces. |
I'm also getting similar crashes. I'm using multi process, not sure if it is relevant. Realm version: 5.14.0 |
@jpmcosta Please log all details if it's the same exception. In cases where it's not immediately reproducible, the more details we have the better. |
@bmunkholm unfortunately the bug was already removed from my issue tracker. I didn't share it, because I thought it was irrelevant. I will take that into consideration in future reports. Sorry about that. |
Should be fixed in 6.0.1 (not released yet), but |
@cmelchior below is my tidy-up feedback ago: Help! Help! Help!
After, I fetch the realm file from my android device, and open it use RealmStudio at MacBookPro, it also prompt an Error below:
|
Actual Results
Caused by io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/packageName/files/file': 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/packageName/files/file) 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.utils.RealmUtils.getCurrentRealm(RealmUtils.java:76)
at in.bizanalyst.activity.MainActivity.onCreate(MainActivity.java:201)
at android.app.Activity.performCreate(Activity.java:6955)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
Steps & Code to Reproduce
Not reproducable
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: