Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TSAN data race in LangBindHelper_HandoverBetweenThreads on stack ArrayInteger::find #6624

Closed
finnschiermer opened this issue May 15, 2023 · 2 comments
Assignees

Comments

@finnschiermer
Copy link
Contributor

Just capturing a stack trace from the CI for later investigation

[2023/05/12 19:27:07.460] 1: ==================
[2023/05/12 19:27:07.460] 1: WARNING: ThreadSanitizer: data race (pid=103659)
[2023/05/12 19:27:07.460] 1:   Read of size 8 at 0x7f59695144a0 by thread T76:
[2023/05/12 19:27:07.460] 1:     #0 bool realm::ArrayWithFind::find_sse_intern<realm::Greater, 8ul, decltype(nullptr)>(long long __vector(2)*, long long __vector(2)*, unsigned long, realm::QueryStateBase*, unsigned long, decltype(nullptr)) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/array_with_find.hpp:779 (realm-tests+0x142ec35)
[2023/05/12 19:27:07.460] 1:     #1 bool realm::ArrayWithFind::find_sse<realm::Greater, 8ul, decltype(nullptr)>(long, long long __vector(2)*, unsigned long, realm::QueryStateBase*, unsigned long, decltype(nullptr)) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/array_with_find.hpp:747 (realm-tests+0x142ec35)
[2023/05/12 19:27:07.461] 1:     #2 bool realm::ArrayWithFind::find_optimized<realm::Greater, 8ul, decltype(nullptr)>(long, unsigned long, unsigned long, unsigned long, realm::QueryStateBase*, decltype(nullptr)) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/array_with_find.hpp:392 (realm-tests+0x142ec35)
[2023/05/12 19:27:07.461] 1:     #3 bool realm::ArrayWithFind::find<realm::Greater, decltype(nullptr)>(long, unsigned long, unsigned long, unsigned long, realm::QueryStateBase*, decltype(nullptr)) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/array_with_find.hpp:721 (realm-tests+0x142d5d8)
[2023/05/12 19:27:07.461] 1:     #4 bool realm::ArrayInteger::find<realm::Greater, decltype(nullptr)>(long, unsigned long, unsigned long, realm::QueryStateBase*, decltype(nullptr)) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/array_integer_tpl.hpp:30 (realm-tests+0x151aa66)
[2023/05/12 19:27:07.461] 1:     #5 unsigned long realm::IntegerNodeBase<realm::ArrayInteger>::find_all_local<realm::Greater>(unsigned long, unsigned long) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/query_engine.hpp:442 (realm-tests+0x151aa66)
[2023/05/12 19:27:07.461] 1:     #6 realm::IntegerNode<realm::ArrayInteger, realm::Greater>::find_all_local(unsigned long, unsigned long) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/query_engine.hpp:498 (realm-tests+0x151a815)
[2023/05/12 19:27:07.461] 1:     #7 realm::ParentNode::aggregate_local(realm::QueryStateBase*, unsigned long, unsigned long, unsigned long, realm::ArrayPayload*) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/query_engine.cpp:104 (realm-tests+0x16dce48)
[2023/05/12 19:27:07.461] 1:     #8 realm::Query::aggregate_internal(realm::ParentNode*, realm::QueryStateBase*, unsigned long, unsigned long, realm::ArrayPayload*) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/query.cpp:1065 (realm-tests+0x14d82cb)
[2023/05/12 19:27:07.461] 1:     #9 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/query.cpp:1359 (realm-tests+0x14dcae7)
[2023/05/12 19:27:07.461] 1:     #10 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/function_ref.hpp:106 (realm-tests+0x14dcae7)
[2023/05/12 19:27:07.461] 1:     #11 __invoke /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/function_ref.hpp:105 (realm-tests+0x14dcae7)
[2023/05/12 19:27:07.461] 1:     #12 realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>::operator()(realm::Cluster const*) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/function_ref.hpp:119 (realm-tests+0x15adb84)
[2023/05/12 19:27:07.461] 1:     #13 realm::ClusterNodeInner::traverse(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>, long) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/cluster_tree.cpp:699 (realm-tests+0x15adb84)
[2023/05/12 19:27:07.461] 1:     #14 realm::ClusterTree::traverse(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/cluster_tree.cpp:1067 (realm-tests+0x15af464)
[2023/05/12 19:27:07.461] 1:     #15 realm::Table::traverse_clusters(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/table.hpp:327 (realm-tests+0x14d9c87)
[2023/05/12 19:27:07.461] 1:     #16 realm::Query::do_find_all(realm::TableView&, unsigned long) const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/query.cpp:1364 (realm-tests+0x14d9c87)
[2023/05/12 19:27:07.461] 1:     #17 realm::TableView::do_sync() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/table_view.cpp:493 (realm-tests+0x174eae8)
[2023/05/12 19:27:07.461] 1:     #18 realm::TableView::sync_if_needed() const /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/table_view.cpp:365 (realm-tests+0x174e6e1)
[2023/05/12 19:27:07.461] 1:     #19 (anonymous namespace)::handover_querier((anonymous namespace)::HandoverControl<(anonymous namespace)::Work>*, realm::test_util::unit_test::TestContext&, std::shared_ptr<realm::DB>) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/test_lang_bind_helper.cpp:3841 (realm-tests+0xd0628d)
[2023/05/12 19:27:07.461] 1:     #20 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/test_lang_bind_helper.cpp:3962 (realm-tests+0xd0628d)
[2023/05/12 19:27:07.461] 1:     #21 void* realm::util::Thread::entry_point<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16>(void*) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0xd0628d)
[2023/05/12 19:27:07.462] 1:
[2023/05/12 19:27:07.462] 1:   Previous write of size 8 at 0x7f59695144a0 by thread T79:
[2023/05/12 19:27:07.462] 1:     [failed to restore the stack]
[2023/05/12 19:27:07.462] 1:
[2023/05/12 19:27:07.462] 1:   Thread T76 (tid=103876, running) created by thread T15 at:
[2023/05/12 19:27:07.462] 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+0x78994b)
[2023/05/12 19:27:07.462] 1:     #1 realm::util::Thread::start(void* (*)(void*), void*) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:472 (realm-tests+0xcb197b)
[2023/05/12 19:27:07.462] 1:     #2 void realm::util::Thread::start<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16>(Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:450 (realm-tests+0xcb197b)
[2023/05/12 19:27:07.462] 1:     #3 Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/test_lang_bind_helper.cpp:3961 (realm-tests+0xcb197b)
[2023/05/12 19:27:07.462] 1:     #4 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads>::run_test(realm::test_util::unit_test::TestContext&) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.hpp:640 (realm-tests+0xd0de90)
[2023/05/12 19:27:07.462] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:728 (realm-tests+0x14487de)
[2023/05/12 19:27:07.462] 1:     #6 realm::test_util::unit_test::TestList::ThreadContextImpl::run() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:682 (realm-tests+0x14481a3)
[2023/05/12 19:27:07.462] 1:     #7 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:641 (realm-tests+0x144d7ba)
[2023/05/12 19:27:07.462] 1:     #8 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:645 (realm-tests+0x144d7ba)
[2023/05/12 19:27:07.462] 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/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0x144d7ba)
[2023/05/12 19:27:07.462] 1:
[2023/05/12 19:27:07.462] 1:   Thread T79 (tid=103877, running) created by thread T15 at:
[2023/05/12 19:27:07.462] 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+0x78994b)
[2023/05/12 19:27:07.462] 1:     #1 realm::util::Thread::start(void* (*)(void*), void*) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:472 (realm-tests+0xcb19d5)
[2023/05/12 19:27:07.462] 1:     #2 void realm::util::Thread::start<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_17>(Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_17) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:450 (realm-tests+0xcb19d5)
[2023/05/12 19:27:07.462] 1:     #3 Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/test_lang_bind_helper.cpp:3964 (realm-tests+0xcb19d5)
[2023/05/12 19:27:07.462] 1:     #4 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads>::run_test(realm::test_util::unit_test::TestContext&) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.hpp:640 (realm-tests+0xd0de90)
[2023/05/12 19:27:07.462] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:728 (realm-tests+0x14487de)
[2023/05/12 19:27:07.462] 1:     #6 realm::test_util::unit_test::TestList::ThreadContextImpl::run() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:682 (realm-tests+0x14481a3)
[2023/05/12 19:27:07.462] 1:     #7 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:641 (realm-tests+0x144d7ba)
[2023/05/12 19:27:07.463] 1:     #8 operator() /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../test/util/unit_test.cpp:645 (realm-tests+0x144d7ba)
[2023/05/12 19:27:07.463] 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/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0x144d7ba)
[2023/05/12 19:27:07.463] 1:
[2023/05/12 19:27:07.463] 1: SUMMARY: ThreadSanitizer: data race /data/mci/63024f932e70faf62d309316edb21515/realm-core/build/../src/realm/array_with_find.hpp:779 in bool realm::ArrayWithFind::find_sse_intern<realm::Greater, 8ul, decltype(nullptr)>(long long __vector(2)*, long long __vector(2)*, unsigned long, realm::QueryStateBase*, unsigned long, decltype(nullptr)) const
@ironage
Copy link
Contributor

ironage commented Aug 31, 2023

Another report by TSAN of the race in this test LangBindHelper_HandoverBetweenThreads, on Build Variant:
Ubuntu 20.04 x86_64 (Clang 11 Encryption Enabled w/TSAN):

[2023/08/31 18:14:26.656] 1: ==================
[2023/08/31 18:14:26.656] 1: WARNING: ThreadSanitizer: data race (pid=6208)
[2023/08/31 18:14:26.656] 1:   Read of size 2 at 0x7fa1d63a0a8e by thread T382:
[2023/08/31 18:14:26.656] 1:     #0 long realm::Array::get_universal<16ul>(char const*, unsigned long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/array.hpp:695 (realm-tests+0x150fb49)
[2023/08/31 18:14:26.656] 1:     #1 long realm::Array::get<16ul>(unsigned long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/array.hpp:714 (realm-tests+0x150fb49)
[2023/08/31 18:14:26.656] 1:     #2 realm::Array::get(unsigned long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/array.hpp:721 (realm-tests+0x8d355b)
[2023/08/31 18:14:26.656] 1:     #3 realm::Array::get_as_ref(unsigned long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/array.hpp:754 (realm-tests+0x8d355b)
[2023/08/31 18:14:26.656] 1:     #4 realm::ClusterNodeInner::_get_child_ref(unsigned long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/cluster_tree.cpp:167 (realm-tests+0x15615f2)
[2023/08/31 18:14:26.656] 1:     #5 realm::ClusterNodeInner::traverse(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>, long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/cluster_tree.cpp:691 (realm-tests+0x15615f2)
[2023/08/31 18:14:26.656] 1:     #6 realm::ClusterTree::traverse(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/cluster_tree.cpp:1042 (realm-tests+0x1562df4)
[2023/08/31 18:14:26.656] 1:     #7 realm::Table::traverse_clusters(realm::util::FunctionRef<realm::IteratorControl (realm::Cluster const*)>) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/table.hpp:327 (realm-tests+0x148e6ae)
[2023/08/31 18:14:26.656] 1:     #8 realm::Query::do_count(unsigned long) const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/query.cpp:1498 (realm-tests+0x148e6ae)
[2023/08/31 18:14:26.656] 1:     #9 realm::Query::count() const /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/query.cpp:1520 (realm-tests+0x148eaac)
[2023/08/31 18:14:26.656] 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/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/test_lang_bind_helper.cpp:3854 (realm-tests+0xcac042)
[2023/08/31 18:14:26.656] 1:     #11 operator() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/test_lang_bind_helper.cpp:3962 (realm-tests+0xcac042)
[2023/08/31 18:14:26.656] 1:     #12 void* realm::util::Thread::entry_point<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16>(void*) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0xcac042)
[2023/08/31 18:14:26.656] 1:
[2023/08/31 18:14:26.656] 1:   Previous write of size 8 at 0x7fa1d63a0a88 by thread T384:
[2023/08/31 18:14:26.656] 1:     [failed to restore the stack]
[2023/08/31 18:14:26.656] 1:
[2023/08/31 18:14:26.656] 1:   Thread T382 (tid=7167, running) created by thread T18 at:
[2023/08/31 18:14:26.656] 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+0x77a94b)
[2023/08/31 18:14:26.656] 1:     #1 realm::util::Thread::start(void* (*)(void*), void*) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:472 (realm-tests+0xc584fb)
[2023/08/31 18:14:26.656] 1:     #2 void realm::util::Thread::start<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16>(Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_16) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:450 (realm-tests+0xc584fb)
[2023/08/31 18:14:26.656] 1:     #3 Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/test_lang_bind_helper.cpp:3961 (realm-tests+0xc584fb)
[2023/08/31 18:14:26.656] 1:     #4 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads>::run_test(realm::test_util::unit_test::TestContext&) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.hpp:640 (realm-tests+0xcb3940)
[2023/08/31 18:14:26.656] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:728 (realm-tests+0x13fb3ce)
[2023/08/31 18:14:26.656] 1:     #6 realm::test_util::unit_test::TestList::ThreadContextImpl::run() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:682 (realm-tests+0x13fad93)
[2023/08/31 18:14:26.656] 1:     #7 operator() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:641 (realm-tests+0x14003ea)
[2023/08/31 18:14:26.656] 1:     #8 operator() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:645 (realm-tests+0x14003ea)
[2023/08/31 18:14:26.656] 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/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0x14003ea)
[2023/08/31 18:14:26.657] 1:
[2023/08/31 18:14:26.657] 1:   Thread T384 (tid=7169, running) created by thread T18 at:
[2023/08/31 18:14:26.657] 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+0x77a94b)
[2023/08/31 18:14:26.660] 1:     #1 realm::util::Thread::start(void* (*)(void*), void*) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:472 (realm-tests+0xc58555)
[2023/08/31 18:14:26.662] 1:     #2 void realm::util::Thread::start<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_17>(Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run()::$_17) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:450 (realm-tests+0xc58555)
[2023/08/31 18:14:26.667] 1:     #3 Realm_UnitTest__LangBindHelper_HandoverBetweenThreads::test_run() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/test_lang_bind_helper.cpp:3964 (realm-tests+0xc58555)
[2023/08/31 18:14:26.667] 1:     #4 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__LangBindHelper_HandoverBetweenThreads>::run_test(realm::test_util::unit_test::TestContext&) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.hpp:640 (realm-tests+0xcb3940)
[2023/08/31 18:14:26.670] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:728 (realm-tests+0x13fb3ce)
[2023/08/31 18:14:26.670] 1:     #6 realm::test_util::unit_test::TestList::ThreadContextImpl::run() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:682 (realm-tests+0x13fad93)
[2023/08/31 18:14:26.671] 1:     #7 operator() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:641 (realm-tests+0x14003ea)
[2023/08/31 18:14:26.672] 1:     #8 operator() /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../test/util/unit_test.cpp:645 (realm-tests+0x14003ea)
[2023/08/31 18:14:26.673] 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/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/util/thread.hpp:483 (realm-tests+0x14003ea)
[2023/08/31 18:14:26.674] 1:
[2023/08/31 18:14:26.674] 1: SUMMARY: ThreadSanitizer: data race /data/mci/b439bce6052c384d1322197f0ea69a8c/realm-core/build/../src/realm/array.hpp:695 in long realm::Array::get_universal<16ul>(char const*, unsigned long) const
[2023/08/31 18:14:27.225] 1: ==================

@kiburtse kiburtse changed the title Data race reported in LangBindHelper_HandoverBetweenThreads TSAB Data Race in LangBindHelper_HandoverBetweenThreads on stack ArrayInteger::find Oct 11, 2023
@kiburtse
Copy link
Contributor

Duplicate of #6474

ok, i close it for now and track all relevant failures under original issue for this test. Stacktraces mentioned here are essentially coming from the same code path, must the same issue. Also, the second stack trace (is the only one we still constantly see) is what we still see after the fix for freelist - last occurrence was recorded under other ticket a few weeks ago.

@kiburtse kiburtse closed this as not planned Won't fix, can't repro, duplicate, stale Oct 12, 2023
@kiburtse kiburtse changed the title TSAB Data Race in LangBindHelper_HandoverBetweenThreads on stack ArrayInteger::find TSAN data race in LangBindHelper_HandoverBetweenThreads on stack ArrayInteger::find Oct 12, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants