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

"Assertion failed: ndx != realm::npos" when deleting all objects that are links within a Set

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None

      Create an Object (call it Dog), add it to a Set<Dog> type and persist the data. Then for the second step remove all of the 'Dog' Objects in the Realm. This should throw an exception as there were links to the Dog objects in the Set.

      * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
          frame #0: 0x00007fff7201a33a libsystem_kernel.dylib`__pthread_kill + 10
          frame #1: 0x00007fff720d6e60 libsystem_pthread.dylib`pthread_kill + 430
          frame #2: 0x00007fff71fa1808 libsystem_c.dylib`abort + 120
          frame #3: 0x000000010ce1b8d9 RealmTests`::please_report_this_error_to_help_at_realm_dot_io() at terminate.cpp:50:5
        * frame #4: 0x000000010ce1bca5 RealmTests`realm::util::terminate_internal(ss=0x00007ffeefbf9b38) at terminate.cpp:124:5
          frame #5: 0x000000010ce1bdc3 RealmTests`realm::util::terminate(message="Assertion failed: ndx != realm::npos", file="/Users/lee.maguire/Projects/realm-core/src/realm/obj.cpp", line=1706, values=0x00007ffeefbf9cf8) at terminate.cpp:141:5
          frame #6: 0x000000010cafb966 RealmTests`void realm::(anonymous namespace)::nullify_set<realm::ObjKey>(obj=0x00007ffeefbfab10, origin_col_key=(value = 113280548865), target=(value = 6)) at obj.cpp:1706:5
          frame #7: 0x000000010cafa84e RealmTests`realm::Obj::nullify_link(this=0x00007ffeefbfab10, origin_col_key=(value = 113280548865), target_link=ObjLink @ 0x00007ffeefbfa628) at obj.cpp:1747:13
          frame #8: 0x000000010c948b6c RealmTests`realm::CascadeState::enqueue_for_nullification(this=0x00007ffeefbfb428, src_table=0x000000010481ec00, src_col_key=(value = 113280548865), origin_key=(value = 0), target_link=ObjLink @ 0x00007ffeefbfab60) at group.hpp:1327:17
          frame #9: 0x000000010c9488c3 RealmTests`realm::ArrayBacklink::nullify_fwd_links(this=0x00007ffeefbfae18, ndx=0, state=0x00007ffeefbfb428) at array_backlink.cpp:54:15
          frame #10: 0x000000010cd90724 RealmTests`realm::TableClusterTree::remove_all_links(this=0x00007ffeefbfb1d0, col_key=(value = 114891292680))::$_3::operator()(realm::Cluster const*) const::'lambda'(realm::ColKey)::operator()(realm::ColKey) const at table_cluster_tree.cpp:205:28
          frame #11: 0x000000010cd8ffb2 RealmTests`bool realm::Table::for_each_and_every_column<realm::TableClusterTree::remove_all_links(realm::CascadeState&)::$_3::operator()(realm::Cluster const*) const::'lambda'(realm::ColKey)>(this=0x000000010103b600, func=(anonymous class) @ 0x00007ffeefbfb1d0)::$_3::operator()(realm::Cluster const*) const::'lambda'(realm::ColKey)) const at table.hpp:454:17
          frame #12: 0x000000010cd8ff05 RealmTests`realm::TableClusterTree::remove_all_links(this=0x00007ffeefbfb360, cluster=0x0000000100e5e780)::$_3::operator()(realm::Cluster const*) const at table_cluster_tree.cpp:210:18
          frame #13: 0x000000010cd8fe71 RealmTests`realm::util::FunctionRef<bool (realm::Cluster const*)>::FunctionRef<realm::TableClusterTree::remove_all_links(this=0x00007ffeefbfb360, obj=0x00007ffeefbfb360, args=0x0000000100e5e780)::$_3&>(realm::TableClusterTree::remove_all_links(realm::CascadeState&)::$_3&)::'lambda'(void*, realm::Cluster const*)::operator()(void*, realm::Cluster const*) const at function_ref.hpp:104:20
          frame #14: 0x000000010cd8fe2d RealmTests`realm::util::FunctionRef<bool (realm::Cluster const*)>::FunctionRef<realm::TableClusterTree::remove_all_links(obj=0x00007ffeefbfb360, args=0x0000000100e5e780)::$_3&>(realm::TableClusterTree::remove_all_links(realm::CascadeState&)::$_3&)::'lambda'(void*, realm::Cluster const*)::__invoke(void*, realm::Cluster const*) at function_ref.hpp:103:22
          frame #15: 0x000000010c9bcedc RealmTests`realm::util::FunctionRef<bool (realm::Cluster const*)>::operator(this=0x00007ffeefbfb350, args=0x0000000100e5e780)(realm::Cluster const*) const at function_ref.hpp:117:16
          frame #16: 0x000000010c9bf2be RealmTests`realm::ClusterTree::traverse(this=0x000000010103b9d0, func=realm::ClusterTree::TraverseFunction @ 0x00007ffeefbfb350)>) const at cluster_tree.cpp:928:16
          frame #17: 0x000000010cd8eb9d RealmTests`realm::TableClusterTree::remove_all_links(this=0x000000010103b9d0, state=0x00007ffeefbfb428) at table_cluster_tree.cpp:216:5
          frame #18: 0x000000010cd8eadd RealmTests`realm::TableClusterTree::clear(this=0x000000010103b9d0, state=0x00007ffeefbfb428) at table_cluster_tree.cpp:60:9
          frame #19: 0x000000010cd4917a RealmTests`realm::Table::clear(this=0x000000010103b600) at table.cpp:1981:16
          frame #20: 0x000000010c3fcc14 RealmTests`realm::Results::clear(this=0x00007ffeefbfb7b0) at results.cpp:856:42
          frame #21: 0x000000010d53f9b1 RealmTests`RLMClearTable(objectSchema=0x0000000100e35dd8) at RLMObservation.mm:315:67
          frame #22: 0x000000010d664133 RealmTests`-[RLMResults deleteObjectsFromRealm]::$_20::operator(this=0x00007ffeefbfbcc8)() const at RLMResults.mm:467:13
          frame #23: 0x000000010d65a666 RealmTests`auto translateRLMResultsErrors<-[RLMResults deleteObjectsFromRealm]::$_20>(f=0x00007ffeefbfbcc8, aggregateMethod=0x0000000000000000) at RLMResults_Private.hpp:60:16
          frame #24: 0x000000010d65a46c RealmTests`-[RLMResults deleteObjectsFromRealm](self=0x0000000100e61d10, _cmd="deleteObjectsFromRealm") at RLMResults.mm:464:12
          frame #25: 0x000000010d62dca6 RealmTests`-[RLMRealm deleteObjects:](self=0x0000000100c87520, _cmd="deleteObjects:", objects=0x0000000100e61d10) at RLMRealm.mm:807:9
          frame #26: 0x000000010c05cc1b RealmTests`-[RealmTests testRealmBatchRemoveObjects](self=0x0000000103747590, _cmd="testRealmBatchRemoveObjects") at RealmTests.mm:485:5
      

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

              Created:
              Updated:
              Resolved: