Uploaded image for project: 'Realm Studio'
  1. Realm Studio
  2. RSTUDIO-372

Unable to open a realm at path XXX

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Minor - P4 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

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

              Created:
              Updated:
              Resolved: