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

Thread Sanitizer error reported on core 13.22.0 `LangBindHelper_HandoverBetweenThreads::test_run`

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

      Thread[01]: ../test/test_table.cpp:5448: Begin Table_EmbeddedObjectCreateAndDestroyList
      [2023/09/29 15:43:53.106] 1: ==================
      [2023/09/29 15:43:53.106] 1: WARNING: ThreadSanitizer: data race (pid=5931)
      [2023/09/29 15:43:53.106] 1:   Read of size 2 at 0x7fc94d6f9336 by thread T33:
      [2023/09/29 15:43:53.106] 1:     #0 long realm::Array::get_universal<16ul>(char const*, unsigned long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/array.hpp:686 (realm-tests+0x14cbd69)
      [2023/09/29 15:43:53.106] 1:     #1 long realm::Array::get<16ul>(unsigned long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/array.hpp:705 (realm-tests+0x14cbd69)
      [2023/09/29 15:43:53.106] 1:     #2 realm::Array::get(unsigned long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/array.hpp:712 (realm-tests+0x8c0a0b)
      [2023/09/29 15:43:53.107] 1:     #3 realm::Array::get_as_ref(unsigned long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/array.hpp:745 (realm-tests+0x8c0a0b)
      [2023/09/29 15:43:53.107] 1:     #4 realm::ClusterNodeInner::_get_child_ref(unsigned long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/cluster_tree.cpp:167 (realm-tests+0x151d812)
      [2023/09/29 15:43:53.107] 1:     #5 realm::ClusterNodeInner::traverse(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>, long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/cluster_tree.cpp:691 (realm-tests+0x151d812)
      [2023/09/29 15:43:53.107] 1:     #6 realm::ClusterTree::traverse(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/cluster_tree.cpp:1042 (realm-tests+0x151f014)
      [2023/09/29 15:43:53.107] 1:     #7 realm::Table::traverse_clusters(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/table.hpp:324 (realm-tests+0x144aa6e)
      [2023/09/29 15:43:53.107] 1:     #8 realm::Query::do_count(unsigned long) const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/query.cpp:1480 (realm-tests+0x144aa6e)
      [2023/09/29 15:43:53.107] 1:     #9 realm::Query::count() const /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/query.cpp:1499 (realm-tests+0x144ae59)
      [2023/09/29 15:43:53.107] 1:     #10 (anonymous namespace)::handover_querier((anonymous namespace)::HandoverControl<(anonymous namespace)::Work>*, realm::test_util::unit_test::TestContext&, std::shared_ptr<realm::DB>) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/test_lang_bind_helper.cpp:3854 (realm-tests+0xc99772)
      [2023/09/29 15:43:53.107] 1:     #11 operator() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/test_lang_bind_helper.cpp:3962 (realm-tests+0xc99772)
      [2023/09/29 15:43:53.107] 1:     #12 void* realm::util::Thread::entry_point<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16>(void*) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0xc99772)
      [2023/09/29 15:43:53.107] 1:
      [2023/09/29 15:43:53.107] 1:   Previous write of size 8 at 0x7fc94d6f9330 by thread T75:
      [2023/09/29 15:43:53.107] 1:     [failed to restore the stack]
      [2023/09/29 15:43:53.107] 1:
      [2023/09/29 15:43:53.107] 1:   Thread T33 (tid=6013, running) created by thread T14 at:
      [2023/09/29 15:43:53.107] 1:     #0 pthread_create /home/nnelson/Documents/llvm-project/llvm/utils/release/final/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (realm-tests+0x76794b)
      [2023/09/29 15:43:53.108] 1:     #1 realm::util::Thread::start(void* (*)(void*), void*) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:472 (realm-tests+0xc4594b)
      [2023/09/29 15:43:53.108] 1:     #2 void realm::util::Thread::start<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16>(Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:450 (realm-tests+0xc4594b)
      [2023/09/29 15:43:53.108] 1:     #3 Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/test_lang_bind_helper.cpp:3961 (realm-tests+0xc4594b)
      [2023/09/29 15:43:53.108] 1:     #4 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads>::run_test(realm::test_util::unit_test::TestContext&) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.hpp:640 (realm-tests+0xca10c0)
      [2023/09/29 15:43:53.108] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:728 (realm-tests+0x13b81ce)
      [2023/09/29 15:43:53.109] 1:     #6 realm::test_util::unit_test::TestList::ThreadContextImpl::run() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:682 (realm-tests+0x13b7b93)
      [2023/09/29 15:43:53.109] 1:     #7 operator() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:641 (realm-tests+0x13bd1ea)
      [2023/09/29 15:43:53.109] 1:     #8 operator() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:645 (realm-tests+0x13bd1ea)
      [2023/09/29 15:43:53.109] 1:     #9 void* realm::util::Thread::entry_point<realm::test_util::unit_test::TestList::run(realm::test_util::unit_test::TestList::Config)::$_1>(void*) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0x13bd1ea)
      [2023/09/29 15:43:53.109] 1:
      [2023/09/29 15:43:53.109] 1:   Thread T75 (tid=6014, running) created by thread T14 at:
      [2023/09/29 15:43:53.109] 1:     #0 pthread_create /home/nnelson/Documents/llvm-project/llvm/utils/release/final/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (realm-tests+0x76794b)
      [2023/09/29 15:43:53.109] 1:     #1 realm::util::Thread::start(void* (*)(void*), void*) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:472 (realm-tests+0xc459a5)
      [2023/09/29 15:43:53.109] 1:     #2 void realm::util::Thread::start<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_17>(Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_17) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:450 (realm-tests+0xc459a5)
      [2023/09/29 15:43:53.109] 1:     #3 Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/test_lang_bind_helper.cpp:3964 (realm-tests+0xc459a5)
      [2023/09/29 15:43:53.110] 1:     #4 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads>::run_test(realm::test_util::unit_test::TestContext&) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.hpp:640 (realm-tests+0xca10c0)
      [2023/09/29 15:43:53.110] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:728 (realm-tests+0x13b81ce)
      [2023/09/29 15:43:53.134] 1:     #6 realm::test_util::unit_test::TestList::ThreadContextImpl::run() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:682 (realm-tests+0x13b7b93)
      [2023/09/29 15:43:53.152] 1:     #7 operator() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:641 (realm-tests+0x13bd1ea)
      [2023/09/29 15:43:53.152] 1:     #8 operator() /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../test/util/unit_test.cpp:645 (realm-tests+0x13bd1ea)
      [2023/09/29 15:43:53.163] 1:     #9 void* realm::util::Thread::entry_point<realm::test_util::unit_test::TestList::run(realm::test_util::unit_test::TestList::Config)::$_1>(void*) /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0x13bd1ea)
      [2023/09/29 15:43:53.166] 1:
      [2023/09/29 15:43:53.166] 1: SUMMARY: ThreadSanitizer: data race /data/mci/da841f5fe98f0b4b157067903351ff70/realm-core/build/../src/realm/array.hpp:686 in long realm::Array::get_universal<16ul>(char const*, unsigned long) const
      [2023/09/29 15:43:53.232] 1: ==================
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            nicola.cabiddu@mongodb.com Nicola Cabiddu
            AD Core
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: