-
Type: Task
-
Resolution: Done
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
Describe the bug
When I try to open up my Realm file in the realm studio (regardless from the simulator or my desktop I receive this error:
Unable to open a realm at path '/Users/osiansmith/Desktop/default.realm': Invalid top array (ref: 5968, size: 11)
Exception backtrace:
0 .io.realm.realm-studio.z6HHyp 0x0000000116ee6271 _ZN5realm15InvalidDatabaseC2ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_ + 49
1 .io.realm.realm-studio.z6HHyp 0x0000000116ed4660 _ZN5realm5Group18validate_top_arrayERKNS_5ArrayERKNS_9SlabAllocE + 1632
2 .io.realm.realm-studio.z6HHyp 0x0000000116ede710 _ZN5realm11SharedGroup7do_openERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEbbNS_18SharedGroupOptionsE + 5136
3 .io.realm.realm-studio.z6HHyp 0x0000000116be1a1c _ZN5realm11SharedGroup4openERNS_11ReplicationENS_18SharedGroupOptionsE + 236
4 .io.realm.realm-studio.z6HHyp 0x0000000116be1403 _ZN5realm11SharedGroupC2ERNS_11ReplicationENS_18SharedGroupOptionsE + 1587
5 .io.realm.realm-studio.z6HHyp 0x0000000116b4bff1 _ZN5realm5Realm16open_with_configERKNS0_6ConfigERNSt3__110unique_ptrINS_11ReplicationENS4_14default_deleteIS6_EEEERNS5_INS_11SharedGroupENS7_ISB_EEEERNS5_INS_5GroupENS7_ISF_EEEEPS0_ + 1145
6 .io.realm.realm-studio.z6HHyp 0x0000000116b4b926 _ZN5realm5RealmC2ENS0_6ConfigENSt3__110shared_ptrINS_5_impl16RealmCoordinatorEEE + 278
7 .io.realm.realm-studio.z6HHyp 0x0000000116b5227e _ZZN5realm5Realm17make_shared_realmENS0_6ConfigENSt3__110shared_ptrINS_5_impl16RealmCoordinatorEEEEN19make_shared_enablerC2ES1_S6_ + 84
8 .io.realm.realm-studio.z6HHyp 0x0000000116b6bda8 _ZNSt3__110shared_ptrIZN5realm5Realm17make_shared_realmENS2_6ConfigENS0_INS1_5_impl16RealmCoordinatorEEEE19make_shared_enablerE11make_sharedIJS3_S6_EEES8_DpOT_ + 136
9 .io.realm.realm-studio.z6HHyp 0x0000000116b66f7c _ZN5realm5_impl16RealmCoordinator12do_get_realmENS_5Realm6ConfigERNSt3__110shared_ptrIS2_EERNS4_11unique_lockINS4_5mutexEEEb + 260
10 .io.realm.realm-studio.z6HHyp 0x0000000116b66dea _ZN5realm5_impl16RealmCoordinator9get_realmENS_5Realm6ConfigE + 352
11 .io.realm.realm-studio.z6HHyp 0x0000000116b4dc9b _ZN5realm5Realm16get_shared_realmENS0_6ConfigE + 113
12 .io.realm.realm-studio.z6HHyp 0x0000000116ab2cab _ZN5realm2js10RealmClassINS_4node5TypesEE19create_shared_realmEPN2v87IsolateENS_5Realm6ConfigEbONSt3__13mapINSA_12basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEENSB_ISH_NS0_9ProtectedINS5_5LocalINS5_5ValueEEEEENSA_4lessISH_EENSF_INSA_4pairIKSH_SM_EEEEEESO_NSF_INSP_ISQ_ST_EEEEEEONSB_ISH_NSI_INSJ_INS5_8FunctionEEEEESO_NSF_INSP_ISQ_S10_EEEEEE + 127
13 .io.realm.realm-studio.z6HHyp 0x0000000116ab10a6 _ZN5realm2js10RealmClassINS_4node5TypesEE11constructorEPN2v87IsolateENS5_5LocalINS5_6ObjectEEERNS0_9ArgumentsIS3_EE + 402
14 .io.realm.realm-studio.z6HHyp 0x0000000116ab03fb _ZN5realm4node10ObjectWrapINS_2js10RealmClassINS0_5TypesEEEE9constructERKN3Nan20FunctionCallbackInfoIN2v85ValueEEE + 333
15 .io.realm.realm-studio.z6HHyp 0x0000000116ab0df2 _ZN3Nan3impL23FunctionCallbackWrapperERKN2v820FunctionCallbackInfoINS1_5ValueEEE + 166
16 Electron Framework 0x000000010c29b4a8 _ZN2v88internallsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_18BasicBlockProfilerE + 350504
17 Electron Framework 0x000000010c264ada _ZN2v88internallsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_18BasicBlockProfilerE + 126810
18 Electron Framework 0x000000010c2643a7 _ZN2v88internallsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_18BasicBlockProfilerE + 124967
19 Electron Framework 0x000000010cbabdce _ZN2v88internal6Parser31BuildIteratorCloseForCompletionEPNS0_8ZoneListIPNS0_9StatementEEEPNS0_8VariableEPNS0_10ExpressionENS0_12IteratorTypeE + 1450046 Path:Exception backtrace:
0 .io.realm.realm-studio.z6HHyp 0x0000000116ee6271 _ZN5realm15InvalidDatabaseC2ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_ + 49
1 .io.realm.realm-studio.z6HHyp 0x0000000116ee0253 _ZN5realm11SharedGroup7do_openERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEbbNS_18SharedGroupOptionsE + 12115
2 .io.realm.realm-studio.z6HHyp 0x0000000116be1a1c _ZN5realm11SharedGroup4openERNS_11ReplicationENS_18SharedGroupOptionsE + 236
3 .io.realm.realm-studio.z6HHyp 0x0000000116be1403 _ZN5realm11SharedGroupC2ERNS_11ReplicationENS_18SharedGroupOptionsE + 1587
4 .io.realm.realm-studio.z6HHyp 0x0000000116b4bff1 _ZN5realm5Realm16open_with_configERKNS0_6ConfigERNSt3__110unique_ptrINS_11ReplicationENS4_14default_deleteIS6_EEEERNS5_INS_11SharedGroupENS7_ISB_EEEERNS5_INS_5GroupENS7_ISF_EEEEPS0_ + 1145
5 .io.realm.realm-studio.z6HHyp 0x0000000116b4b926 _ZN5realm5RealmC2ENS0_6ConfigENSt3__110shared_ptrINS_5_impl16RealmCoordinatorEEE + 278
6 .io.realm.realm-studio.z6HHyp 0x0000000116b5227e _ZZN5realm5Realm17make_shared_realmENS0_6ConfigENSt3__110shared_ptrINS_5_impl16RealmCoordinatorEEEEN19make_shared_enablerC2ES1_S6_ + 84
7 .io.realm.realm-studio.z6HHyp 0x0000000116b6bda8 _ZNSt3__110shared_ptrIZN5realm5Realm17make_shared_realmENS2_6ConfigENS0_INS1_5_impl16RealmCoordinatorEEEE19make_shared_enablerE11make_sharedIJS3_S6_EEES8_DpOT_ + 136
8 .io.realm.realm-studio.z6HHyp 0x0000000116b66f7c _ZN5realm5_impl16RealmCoordinator12do_get_realmENS_5Realm6ConfigERNSt3__110shared_ptrIS2_EERNS4_11unique_lockINS4_5mutexEEEb + 260
9 .io.realm.realm-studio.z6HHyp 0x0000000116b66dea _ZN5realm5_impl16RealmCoordinator9get_realmENS_5Realm6ConfigE + 352
10 .io.realm.realm-studio.z6HHyp 0x0000000116b4dc9b _ZN5realm5Realm16get_shared_realmENS0_6ConfigE + 113
11 .io.realm.realm-studio.z6HHyp 0x0000000116ab2cab _ZN5realm2js10RealmClassINS_4node5TypesEE19create_shared_realmEPN2v87IsolateENS_5Realm6ConfigEbONSt3__13mapINSA_12basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEENSB_ISH_NS0_9ProtectedINS5_5LocalINS5_5ValueEEEEENSA_4lessISH_EENSF_INSA_4pairIKSH_SM_EEEEEESO_NSF_INSP_ISQ_ST_EEEEEEONSB_ISH_NSI_INSJ_INS5_8FunctionEEEEESO_NSF_INSP_ISQ_S10_EEEEEE + 127
12 .io.realm.realm-studio.z6HHyp 0x0000000116ab10a6 _ZN5realm2js10RealmClassINS_4node5TypesEE11constructorEPN2v87IsolateENS5_5LocalINS5_6ObjectEEERNS0_9ArgumentsIS3_EE + 402
13 .io.realm.realm-studio.z6HHyp 0x0000000116ab03fb _ZN5realm4node10ObjectWrapINS_2js10RealmClassINS0_5TypesEEEE9constructERKN3Nan20FunctionCallbackInfoIN2v85ValueEEE + 333
14 .io.realm.realm-studio.z6HHyp 0x0000000116ab0df2 _ZN3Nan3impL23FunctionCallbackWrapperERKN2v820FunctionCallbackInfoINS1_5ValueEEE + 166
15 Electron Framework 0x000000010c29b4a8 _ZN2v88internallsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_18BasicBlockProfilerE + 350504
16 Electron Framework 0x000000010c264ada _ZN2v88internallsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_18BasicBlockProfilerE + 126810
17 Electron Framework 0x000000010c2643a7 _ZN2v88internallsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_18BasicBlockProfilerE + 124967
18 Electron Framework 0x000000010cbabdce _ZN2v88internal6Parser31BuildIteratorCloseForCompletionEPNS0_8ZoneListIPNS0_9StatementEEEPNS0_8VariableEPNS0_10ExpressionENS0_12IteratorTypeE + 1450046.
Here is the code to save to my database. As you can see that there is no encryption:
/// Commits obeject to the realm persistant data set /// /// - Parameter Object: Object to be stored that is inherited from the realm object private func commit(Object : Object){ print("Commiting object to realm ") autoreleasepool{ let realmObject = try! getRealmAccess() do { print("Writing to Realm ") try realmObject.write { realmObject.add(Object) print("Successfull Commit") } } catch let error as NSError { fatalError("Could not Commit to realm database. \nReason: \n \(error)\nIndepth Info: \n\(error.userInfo)") } } } /// Returns Realm Database with the Encryption Keys set up for Realm /// /// - Returns: Realm Data Obejct to Read, Save and Read from private func getRealmAccess() throws-> Realm { print("Getting Realm Access") let config = Realm.Configuration( ) let realmdb = try! Realm(configuration: config) print("Returning Realm Access") return realmdb ```` Here is my only object:
class Bike: Object {
@objc dynamic var bikeName = "" // this is what the user can set the name of the bike to
@objc dynamic var milage = 0.0 // this is the milage or odnimeteer var tires = List<Tire>() var bikeType : BikeType { get { return BikeType(rawValue: self.bikeType_)! } set { bikeType_ = newValue.rawValue } } var lubeUsed : LubeType { get { return LubeType(rawValue: self.lubeUsed_)! } set { lubeUsed_ = newValue.rawValue } }
var intededUse : IntednedUse { get { return IntednedUse(rawValue: self.intendedUse_)! } set { intendedUse_ = newValue.rawValue } } var breakType : BreakType { get { return BreakType(rawValue: self.breakType_)! } set { breakType_ = newValue.rawValue } } ///Mark: Saver methods for Realm @objc dynamic var bikeType_ = BikeType.Road.rawValue @objc dynamic var lubeUsed_ = LubeType.wet.rawValue @objc dynamic var intendedUse_ = IntednedUse.lesure.rawValue @objc dynamic var breakType_ = BreakType.RimBreak.rawValue
}
````
To Reproduce
Just double-clicking the Realm file or trying to open it in app throws the bug
Expected behavior
To see the tables
Versions:
- MacOS 10.15.4
- Studio Version Version 3.10.0 (3.10.0.696)
- iOS 13.4
- The latest version of Realm from CocoaPods