Uploaded image for project: 'Realm Core'
  1. Realm Core
  2. RCORE-295

NoSuchTable thrown from import_copy_of()

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Critical - P2 Critical - P2
    • None
    • Affects Version/s: None
    • Component/s: None

      This was originally reported in issue https://github.com/realm/realm-core/issues/3701, but it's a different error.

      Copy of original report (by @ironage ):

      Stack trace:
      ~~~
      Starting test testCreateMultipleEmbeddedObjects
      uncaught exception in notifier thread: N5realm11NoSuchTableE: No such table exists
      Exception backtrace:
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(_ZNK5realm13ConstTableRef5checkEv+0x78) [0x7fc38d854188]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(_ZNK5realm13ConstTableRefptEv+0x9) [0x7fc38d8541d9]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(_ZN5realm11Transaction14import_copy_ofENS_13ConstTableRefE+0x19) [0x7fc38d7bf869]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(_ZN5realm5QueryC2EPKS0_PNS_11TransactionENS_13PayloadPolicyE+0x170) [0x7fc38d65b0c0]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(_ZN5realm11Transaction14import_copy_ofERNS_5QueryENS_13PayloadPolicyE+0x32) [0x7fc38d7bfde2]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0x409db8) [0x7fc38d353db8]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0x3f0542) [0x7fc38d33a542]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0x404963) [0x7fc38d34e963]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0x405275) [0x7fc38d34f275]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0x41b16c) [0x7fc38d36516c]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0x41b210) [0x7fc38d365210]
      /mnt/jenkins/workspace/realm_realm-js_PR-2901/compiled/node-v64_linux_x64/realm.node(+0xb91ce0) [0x7fc38dadbce0]
      /lib64/libpthread.so.0(+0x7ea5) [0x7fc3909acea5]
      /lib64/libc.so.6(clone+0x6d) [0x7fc3906d58dd]
      terminate called after throwing an instance of 'realm::NoSuchTable'
      what(): No such table exists
      ~~~

      Code:
      ~~~
      testCreateMultipleEmbeddedObjects: function() {
      const realm = new Realm(

      {schema: [schemas.HouseOwnerSchema, schemas.AddressSchema]}

      );

          realm.write(() => {
              realm.create(schemas.HouseOwnerSchema.name, { name: "Ib", addresses: [
                  { street: "Algade", city: "Nordby" },
                  { street: "Skolevej", city: "Sydpynten" }
              ]});
              realm.create(schemas.HouseOwnerSchema.name, { name: "Petra", addresses: [
                  { street: "Algade", city: "Nordby" }
              ]});
              realm.create(schemas.HouseOwnerSchema.name, { name: "Hans" });
          });
      
          let owners = realm.objects(schemas.HouseOwnerSchema.name).sorted("name");
          let addresses = realm.objects(schemas.AddressSchema.name).sorted("street");
          TestCase.assertEqual(owners.length, 3);
          TestCase.assertEqual(addresses.length, 3);
      
          const names = ["Hans", "Ib", "Petra"];
          for (let i = 0; i < names.length; i++) {
              TestCase.assertEqual(owners[i]["name"], names[i]);
          }
      
          let streets = ["Algade", "Algade", "Skolevej"];
          for (let i = 0; i < streets.length; i++) {
              TestCase.assertEqual(addresses[i]["street"], streets[i]);
          }
      
          realm.write(() => {
              addresses[0]["street"] = "Strandvejen";
          });
      
          streets = ["Algade", "Skolevej", "Strandvejen"];
          for (let i = 0; i < streets.length; i++) {
              TestCase.assertEqual(addresses[i]["street"], streets[i]);
          }
      
          realm.close();
      }
      

      ~~~

            Assignee:
            thomas.goyne@mongodb.com Thomas Goyne
            Reporter:
            finn.schiermer-andersen@mongodb.com Finn Andersen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: