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

Improve configurations for sanitized builds #6911

Merged
merged 20 commits into from
Oct 28, 2023

Conversation

kiburtse
Copy link
Contributor

@kiburtse kiburtse commented Aug 18, 2023

What, How & Why?

  • Don't override default cmake configuration with additional flags: allows to build with sanitizers for Debug and MinSizeRel
  • Allow to build with address sanitizer on msvc (works reliably only on msvc 2022, but still catches major errors with 2019)
  • Publish Rel[ATUM]SAN build types as shortcuts for slightly optimized builds with debug info and sanitizers

☑️ ToDos

  • 📝 Changelog update
  • [ ] 🚦 Tests (or not relevant)
  • [ ] C-API, if public C++ API changed.

@cla-bot cla-bot bot added the cla: yes label Aug 18, 2023
@kiburtse kiburtse force-pushed the kb/sanitizer_build_configs_improve branch 3 times, most recently from 9486893 to 5707838 Compare August 22, 2023 11:59
@kiburtse
Copy link
Contributor Author

So all builders with asan do catch an error like this

Query& Query::not_equal(ColKey column_key, int64_t value)
{
#if REALM_ASAN
    auto i = new int64_t(value);
    delete i;
    value = *i;
#endif
    add_condition<NotEqual>(column_key, value);
    return *this;
}

as expected with proper output even on Windows with MSVC 2019:

[2023/08/22 12:13:59.586] 1: ==3156==ERROR: AddressSanitizer: heap-use-after-free on address 0x120c34dbbc30 at pc 0x7ff64d9a2b23 bp 0x00ab8cefacf0 sp 0x00ab8cefacf8
[2023/08/22 12:13:59.645] 1: READ of size 8 at 0x120c34dbbc30 thread T8
[2023/08/22 12:13:59.761] 1:     #0 0x7ff64d9a2b22 in realm::Query::not_equal C:\data\mci\f780ae3cd4d10273c954b5ec6b7e6ca4\realm-core\src\realm\query.cpp:566
[2023/08/22 12:13:59.772] 1:     #1 0x7ff64d9a34d9 in realm::Query::not_equal C:\data\mci\f780ae3cd4d10273c954b5ec6b7e6ca4\realm-core\src\realm\query.cpp:508
[2023/08/22 12:13:59.815] 1:     #2 0x7ff64b0000e2 in Realm_UnitTest__Query_Sort_And_Requery::test_run C:\data\mci\f780ae3cd4d10273c954b5ec6b7e6ca4\realm-core\test\test_query.cpp:5166

Was there any particular reason we only checked with a/tsan under Ubuntu with clang and omitted all other platforms? Seems to me that at least MacOS with arm64 should be covered.

@kiburtse kiburtse force-pushed the kb/sanitizer_build_configs_improve branch from 5707838 to 30e8e14 Compare August 23, 2023 19:55
@kiburtse kiburtse marked this pull request as ready for review August 23, 2023 19:55
Copy link
Contributor

@ironage ironage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there is a TSAN failure on evergreen, can you look into it?

test/fuzz_tester.hpp Show resolved Hide resolved
Jenkinsfile Outdated Show resolved Hide resolved
@kiburtse
Copy link
Contributor Author

Looks like there is a TSAN failure on evergreen, can you look into it?

Yeah, sure. These failures now very consistent from what i can tell. Essentially, now sanitizers apply to real production types builds (Release or RelWithDebInfo) as opposed to before how our sanitizer builds were just Debug builds with -O2 and redundant (-g) flags. So it should be close to real production builds type.

Jenkinsfile Outdated Show resolved Hide resolved
@kiburtse kiburtse force-pushed the kb/sanitizer_build_configs_improve branch from 30e8e14 to 7a6ba86 Compare August 24, 2023 22:11
* Enable address sanitizer for msvc
* Allow to build with sanitizer for diffent optimized build (also Debug)
* Make RelASAN, RelTSAN, RelUSAN, RelUSAN just shortcuts for half-optimized builds
@kiburtse
Copy link
Contributor Author

Interesting asan failure under new windows builder with latest master:

asan stack-use-after-scope report details
[2023/08/24 22:29:39.978] 2: ==1700==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00c3052faaa0 at pc 0x7ff786c216a0 bp 0x00c3052fa3a0 sp 0x00c3052fa3a8
[2023/08/24 22:29:39.980] 2: READ of size 8 at 0x00c3052faaa0 thread T8
[2023/08/24 22:29:40.229] 2:     #0 0x7ff786c2169f in mpark::detail::visitation::variant::,, > const &,realm::sync::InternString const &,realm::sync::InternString const &>::invoke C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:1575
[2023/08/24 22:29:40.229] 2:     #1 0x7ff786c50bef in mpark::lib::cpp17::detail::invoke,, > const &>,mpark::detail::alt<0,realm::sync::InternString> const &,mpark::detail::alt<0,realm::sync::InternString> const &> C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:635
[2023/08/24 22:29:40.230] 2:     #2 0x7ff786c428e5 in mpark::detail::visitation::base::make_fmatrix_impl,, > const &> &&,mpark::detail::base<0,realm::sync::InternString,unsigned int> const &,mpark::detail::base<0,realm::sync::InternString,unsigned int> const &>::dispatch<0,0> C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:1391
[2023/08/24 22:29:40.230] 2:     #3 0x7ff786cbd13a in mpark::detail::visitation::alt::visit_alt,, > const &>,mpark::detail::impl const &,mpark::detail::impl const &> C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:1516
[2023/08/24 22:29:40.230] 2:     #4 0x7ff786cbd4b5 in mpark::detail::visitation::variant::visit_value,, > const &,mpark::variant const &,mpark::variant const &> C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:1616
[2023/08/24 22:29:40.231] 2:     #5 0x7ff786c95acf in mpark::visit,, > const &,mpark::variant const &,mpark::variant const &> C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:2680
[2023/08/24 22:29:40.231] 2:     #6 0x7ff786c1f8a8 in realm::`anonymous namespace'::MergeUtils::same_path_element C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:1013
[2023/08/24 22:29:40.232] 2:     #7 0x7ff786c1fc6d in realm::`anonymous namespace'::MergeUtils::same_path C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:1020
[2023/08/24 22:29:40.232] 2:     #8 0x7ff786c1fdc5 in realm::`anonymous namespace'::MergeUtils::same_path C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:1065
[2023/08/24 22:29:40.232] 2:     #9 0x7ff786d121ad in realm::`anonymous namespace'::Merge::DoMerge::do_merge C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:2250
[2023/08/24 22:29:40.233] 2:     #10 0x7ff786c590eb in realm::_impl::merge_instructions_2 C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:2338
[2023/08/24 22:29:40.233] 2:     #11 0x7ff786caed0d in realm::sync::Instruction::visit< > C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\instructions.hpp:979
[2023/08/24 22:29:40.233] 2:     #12 0x7ff786c29ac0 in ::operator() C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:2387
[2023/08/24 22:29:40.234] 2:     #13 0x7ff786c9dc3b in realm::sync::Instruction::visit< > C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\instructions.hpp:979
[2023/08/24 22:29:40.234] 2:     #14 0x7ff786c1d47f in realm::_impl::TransformerImpl::Transformer::merge_instructions C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:2386
[2023/08/24 22:29:40.234] 2:     #15 0x7ff786d2b08c in realm::_impl::TransformerImpl::Transformer::transform_major C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:842
[2023/08/24 22:29:40.235] 2:     #16 0x7ff786d2ab13 in realm::_impl::TransformerImpl::Transformer::transform C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:630
[2023/08/24 22:29:40.235] 2:     #17 0x7ff786c1a194 in realm::_impl::TransformerImpl::merge_changesets C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:2528
[2023/08/24 22:29:40.244] 2:     #18 0x7ff7861f7a4c in realm::test_util::ShortCircuitHistory::TransformerImpl::merge_changesets C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\peer.hpp:384
[2023/08/24 22:29:40.245] 2:     #19 0x7ff786c185b1 in realm::_impl::TransformerImpl::transform_remote_changesets C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:2598
[2023/08/24 22:29:40.245] 2:     #20 0x7ff7861f5fca in realm::test_util::ShortCircuitHistory::integrate_remote_changesets C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\peer.hpp:495
[2023/08/24 22:29:40.246] 2:     #21 0x7ff7861f50bb in realm::test_util::Peer::integrate_next_changesets_from C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\peer.hpp:639
[2023/08/24 22:29:40.247] 2:     #22 0x7ff78686e742 in `anonymous namespace'::Realm_UnitTest__Transform_SetErase_Clear_same_path::test_run C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\test_transform.cpp:2329
[2023/08/24 22:29:40.254] 2:     #23 0x7ff78686fb6b in realm::test_util::unit_test::RegisterTest<`anonymous namespace'::Realm_UnitTest__Transform_SetErase_Clear_same_path>::run_test C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\util\unit_test.hpp:640
[2023/08/24 22:29:40.255] 2:     #24 0x7ff78741d411 in realm::test_util::unit_test::TestList::ThreadContextImpl::run C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\util\unit_test.cpp:728
[2023/08/24 22:29:40.262] 2:     #25 0x7ff78741c360 in realm::test_util::unit_test::TestList::ThreadContextImpl::run C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\util\unit_test.cpp:682
[2023/08/24 22:29:40.262] 2:     #26 0x7ff78741e14d in ::operator() C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\util\unit_test.cpp:641
[2023/08/24 22:29:40.262] 2:     #27 0x7ff78743c043 in realm::util::Thread::entry_point< > C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\util\thread.hpp:483
[2023/08/24 22:29:40.264] 2:     #28 0x7ff786292f88 in std::thread::_Invoke,0,1> C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\thread:55
[2023/08/24 22:29:40.275] 2:     #29 0x7ff78898a057 in invoke_thread_procedure minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:91
[2023/08/24 22:29:40.275] 2:     #30 0x7ff788989c00 in thread_start minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:115
[2023/08/24 22:29:40.276] 2:     #31 0x7ff786bee339 in __asan::AsanThread::ThreadStart D:\a\_work\1\s\src\vctools\crt\asan\llvm\compiler-rt\lib\asan\asan_thread.cpp:262
[2023/08/24 22:29:40.277] 2:     #32 0x7ff802927ac3 in BaseThreadInitThunk+0x13 (C:\Windows\System32\KERNEL32.DLL+0x180017ac3)
[2023/08/24 22:29:40.279] 2:     #33 0x7ff802f3a350 in RtlUserThreadStart+0x20 (C:\Windows\SYSTEM32\ntdll.dll+0x18005a350)
[2023/08/24 22:29:40.281] 2:
[2023/08/24 22:29:40.281] 2: Address 0x00c3052faaa0 is located in stack of thread T8 at offset 32 in frame
[2023/08/24 22:29:40.281] 2:     #0 0x7ff786c1f6df in realm::`anonymous namespace'::MergeUtils::same_path_element C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\sync\transform.cpp:999
[2023/08/24 22:29:40.281] 2:
[2023/08/24 22:29:40.281] 2:   This frame has 1 object(s):
[2023/08/24 22:29:40.281] 2:     [32, 41) 'compiler temporary' <== Memory access at offset 32 is inside this variable
[2023/08/24 22:29:40.281] 2: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
[2023/08/24 22:29:40.282] 2:       (longjmp, SEH and C++ exceptions *are* supported)
[2023/08/24 22:29:40.282] 2: Thread T8 created by T0 here:
[2023/08/24 22:29:40.283] 2:     #0 0x7ff786becd28 in __asan_wrap_CreateThread D:\a\_work\1\s\src\vctools\crt\asan\llvm\compiler-rt\lib\asan\asan_win.cpp:149
[2023/08/24 22:29:40.283] 2:     #1 0x7ff78898a46e in _beginthreadex minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:221
[2023/08/24 22:29:40.284] 2:     #2 0x7ff786299e45 in std::thread::_Start C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\thread:75
[2023/08/24 22:29:40.284] 2:     #3 0x7ff786304bc4 in realm::util::Thread::start C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\util\thread.hpp:469
[2023/08/24 22:29:40.284] 2:     #4 0x7ff7874441a9 in realm::util::Thread::start< > C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\realm\util\thread.hpp:450
[2023/08/24 22:29:40.285] 2:     #5 0x7ff7873fdafc in realm::test_util::unit_test::TestList::run C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\util\unit_test.cpp:645
[2023/08/24 22:29:40.286] 2:     #6 0x7ff78612f350 in `anonymous namespace'::run_tests C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\test_all.cpp:511
[2023/08/24 22:29:40.292] 2:     #7 0x7ff786125191 in test_all C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\test_all.cpp:579
[2023/08/24 22:29:40.293] 2:     #8 0x7ff786124aa8 in main C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\test\main.cpp:26
[2023/08/24 22:29:40.294] 2:     #9 0x7ff788921f88 in invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
[2023/08/24 22:29:40.294] 2:     #10 0x7ff788921edd in __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
[2023/08/24 22:29:40.294] 2:     #11 0x7ff788921d9d in __scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:330
[2023/08/24 22:29:40.294] 2:     #12 0x7ff788921ffd in mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:16
[2023/08/24 22:29:40.294] 2:     #13 0x7ff802927ac3 in BaseThreadInitThunk+0x13 (C:\Windows\System32\KERNEL32.DLL+0x180017ac3)
[2023/08/24 22:29:40.294] 2:     #14 0x7ff802f3a350 in RtlUserThreadStart+0x20 (C:\Windows\SYSTEM32\ntdll.dll+0x18005a350)
[2023/08/24 22:29:40.295] 2:
[2023/08/24 22:29:40.295] 2: SUMMARY: AddressSanitizer: stack-use-after-scope C:\data\mci\2407e4a8f6458a061c70eee00fc68c36\realm-core\src\external\mpark\variant.hpp:1575 in mpark::detail::visitation::variant::visit_exhaustiveness_check,, > const &,realm::sync::InternString const &,realm::sync::InternString const &>::invoke
[2023/08/24 22:29:40.295] 2: Shadow bytes around the buggy address:
[2023/08/24 22:29:40.295] 2:   0x02db519df500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df510: 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 02 f3
[2023/08/24 22:29:40.295] 2:   0x02db519df520: f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2: =>0x02db519df550: f1 f1 f1 f1[f8]f8 f3 f3 f3 f3 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2023/08/24 22:29:40.295] 2:   0x02db519df590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
[2023/08/24 22:29:40.295] 2:   0x02db519df5a0: f1 f1 00 00 00 00 00 00 f3 f3 f3 f3 00 00 00 00
[2023/08/24 22:29:40.295] 2: Shadow byte legend (one shadow byte represents 8 application bytes):
[2023/08/24 22:29:40.295] 2:   Addressable:           00
[2023/08/24 22:29:40.295] 2:   Partially addressable: 01 02 03 04 05 06 07
[2023/08/24 22:29:40.295] 2:   Heap left redzone:       fa
[2023/08/24 22:29:40.295] 2:   Freed heap region:       fd
[2023/08/24 22:29:40.295] 2:   Stack left redzone:      f1
[2023/08/24 22:29:40.295] 2:   Stack mid redzone:       f2
[2023/08/24 22:29:40.295] 2:   Stack right redzone:     f3
[2023/08/24 22:29:40.295] 2:   Stack after return:      f5
[2023/08/24 22:29:40.295] 2:   Stack use after scope:   f8
[2023/08/24 22:29:40.295] 2:   Global redzone:          f9
[2023/08/24 22:29:40.295] 2:   Global init order:       f6
[2023/08/24 22:29:40.295] 2:   Poisoned by user:        f7
[2023/08/24 22:29:40.295] 2:   Container overflow:      fc
[2023/08/24 22:29:40.295] 2:   Array cookie:            ac
[2023/08/24 22:29:40.295] 2:   Intra object redzone:    bb
[2023/08/24 22:29:40.295] 2:   ASan internal:           fe
[2023/08/24 22:29:40.295] 2:   Left alloca redzone:     ca
[2023/08/24 22:29:40.295] 2:   Right alloca redzone:    cb
[2023/08/24 22:29:40.295] 2:   Shadow gap:              cc
[2023/08/24 22:29:40.322] 2: ==1700==ABORTING
[2023/08/24 22:29:40.331] 1/1 Test #2: SyncTests ........................***Failed    0.90 sec

it fails consistently now (also on my local setup). I don't think i saw it a few weeks ago when i was testing this first time. Weird.
Does this usage of util::overload looks correct?

@ironage
Copy link
Contributor

ironage commented Aug 25, 2023

@kiburtse we suspect a bug in MSVC around the mpark visitor pattern (it is not known if the problem is with mpark or the compiler). See #4825 and the comments in the code added there. We should likely rewrite this in a similar way.

@kiburtse kiburtse force-pushed the kb/sanitizer_build_configs_improve branch from 7a6ba86 to a03a96e Compare August 25, 2023 19:26
@kiburtse
Copy link
Contributor Author

@kiburtse we suspect a bug in MSVC around the mpark visitor pattern (it is not known if the problem is with mpark or the compiler). See #4825 and the comments in the code added there. We should likely rewrite this in a similar way.

yeah, that i figured out that there is something weird with mpark and msvc 2019. Thanks for the context! At least it's not something new...

Btw, what is interesting that msvc 2022 works fine, although there different issues with it :D

@kiburtse
Copy link
Contributor Author

kiburtse commented Aug 25, 2023

TSAN issues on macos seems to be logging related, so we need to make Logger::do_log thread safe and some more. The issue on Ubuntu seems to some serious thing, although i'm not quite sure yet if it's not the same problem as with #6844

Extract of TSAN stacktraces from previous runs
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. https://[evergreen.mongodb.com/task_log_raw/realm_core_stable_macos_1100_arm64_tsan_core_tests_patch_65960651011a62c6ba111985646881cd8fac19e1_64e664290ae606f51b8172bd_23_08_23_19_55_21/0?type=T&text=true](http://evergreen.mongodb.com/task_log_raw/realm_core_stable_macos_1100_arm64_tsan_core_tests_patch_65960651011a62c6ba111985646881cd8fac19e1_64e664290ae606f51b8172bd_23_08_23_19_55_21/0?type=T&text=true)

[2023/08/23 20:02:23.976] 1: Thread[4]: /System/Volumes/Data/data/mci/09ef565876a45154a5dd4f3d18eb007b/realm-core/test/test_uuid.cpp:462: Begin UUID_ArrayNull_FindFirstNull_StressTest
[2023/08/23 20:02:25.838] 1: ==================
[2023/08/23 20:02:25.838] 1: WARNING: ThreadSanitizer: data race (pid=91612)
[2023/08/23 20:02:25.838] 1:   Read of size 8 at 0x0001f1eeffa8 by thread T7:
[2023/08/23 20:02:25.838] 1:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1391 (realm-tests:arm64+0x100016eec)
[2023/08/23 20:02:25.838] 1:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-tests:arm64+0x100c6ed18)
[2023/08/23 20:02:25.838] 1:     #2 Realm_UnitTest__Table_PrimaryKeyString::test_run() test_table.cpp:4046 (realm-tests:arm64+0x1006dcb84)
[2023/08/23 20:02:25.838] 1:     #3 realm::test_util::unit_test::RegisterTest<Realm_UnitTest__Table_PrimaryKeyString>::run_test(realm::test_util::unit_test::TestContext&) unit_test.hpp:640 (realm-tests:arm64+0x1007da5e8)
[2023/08/23 20:02:25.838] 1:     #4 realm::test_util::unit_test::TestList::ThreadContextImpl::run(realm::test_util::unit_test::TestList::SharedContextImpl::Entry, realm::util::UniqueLock&) unit_test.cpp:728 (realm-tests:arm64+0x1009c1f48)
[2023/08/23 20:02:25.838] 1:     #5 realm::test_util::unit_test::TestList::ThreadContextImpl::run() unit_test.cpp:682 (realm-tests:arm64+0x1009c1888)
[2023/08/23 20:02:25.838] 1:     #6 void* realm::util::Thread::entry_point<realm::test_util::unit_test::TestList::run(realm::test_util::unit_test::TestList::Config)::$_1>(void*) thread.hpp:483 (realm-tests:arm64+0x1009c827c)
[2023/08/23 20:02:25.838] 1:
[2023/08/23 20:02:25.838] 1:   Previous write of size 8 at 0x0001f1eeffa8 by thread T4:
[2023/08/23 20:02:25.838] 1:     [failed to restore the stack]
[2023/08/23 20:02:25.838] 1:
[2023/08/23 20:02:25.838] 1:   Location is global 'std::__1::cout' at 0x0001f1eeff88 (libc++.1.dylib+0x00006b0abfa8)
[2023/08/23 20:02:25.838] 1:
[2023/08/23 20:02:25.838] 1:   Thread T7 (tid=4361078, running) created by main thread at:
[2023/08/23 20:02:25.838] 1:     #0 pthread_create <null>:102544924 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2cda0)
[2023/08/23 20:02:25.838] 1:     #1 realm::test_util::unit_test::TestList::run(realm::test_util::unit_test::TestList::Config) unit_test.cpp:645 (realm-tests:arm64+0x1009c0d20)
[2023/08/23 20:02:25.838] 1:     #2 test_all(std::__1::shared_ptr<realm::util::Logger> const&) test_all.cpp:579 (realm-tests:arm64+0x100023b68)
[2023/08/23 20:02:25.838] 1:     #3 main main.cpp:26 (realm-tests:arm64+0x100021e1c)
[2023/08/23 20:02:25.838] 1:
[2023/08/23 20:02:25.838] 1:   Thread T4 (tid=4361075, running) created by main thread at:
[2023/08/23 20:02:25.838] 1:     #0 pthread_create <null>:102544924 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2cda0)
[2023/08/23 20:02:25.838] 1:     #1 realm::test_util::unit_test::TestList::run(realm::test_util::unit_test::TestList::Config) unit_test.cpp:645 (realm-tests:arm64+0x1009c0d20)
[2023/08/23 20:02:25.838] 1:     #2 test_all(std::__1::shared_ptr<realm::util::Logger> const&) test_all.cpp:579 (realm-tests:arm64+0x100023b68)
[2023/08/23 20:02:25.838] 1:     #3 main main.cpp:26 (realm-tests:arm64+0x100021e1c)
[2023/08/23 20:02:25.838] 1:
[2023/08/23 20:02:25.838] 1: SUMMARY: ThreadSanitizer: data race locale:1391 in std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char)
[2023/08/23 20:02:25.838] 1: ==================
[2023/08/23 20:02:25.855] 1:    insertion time: 25003 ns/key
[2023/08/23 20:02:25.855] 1:    lookup time: 7798 ns/key
[2023/08/23 20:02:25.855] 1: Thread[8]: /System/Volumes/Data/data/mci/09ef565876a45154a5dd4f3d18eb007b/realm-core/test/test_util_compression.cpp:122: Begin Compression_Decompress_Too_Small_Buffer


______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
2. https://evergreen.mongodb.com/task_log_raw/realm_core_stable_macos_1100_x64_tsan_object_store_tests_patch_65960651011a62c6ba111985646881cd8fac19e1_64e664290ae606f51b8172bd_23_08_23_19_55_21/0?type=T&text=true

[2023/08/23 20:11:28.125] 3: ==================
[2023/08/23 20:11:28.125] 3: WARNING: ThreadSanitizer: data race (pid=17361)
[2023/08/23 20:11:28.125] 3:   Read of size 8 at 0x7fff806273a0 by thread T2:
[2023/08/23 20:11:28.125] 3:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1391 (realm-object-store-tests:x86_64+0x100058219)
[2023/08/23 20:11:28.125] 3:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-object-store-tests:x86_64+0x1020def5c)
[2023/08/23 20:11:28.125] 3:     #2 realm::util::StderrLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:116 (realm-object-store-tests:x86_64+0x1020c9225)
[2023/08/23 20:11:28.125] 3:     #3 realm::util::PrefixLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:132 (realm-object-store-tests:x86_64+0x1020c9536)
[2023/08/23 20:11:28.125] 3:     #4 void realm::util::Logger::do_log<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(realm::util::Logger::Level, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) logger.hpp:365 (realm-object-store-tests:x86_64+0x1001b39d5)
[2023/08/23 20:11:28.125] 3:     #5 realm::sync::network::Acceptor::AcceptOper<(anonymous namespace)::ServerImpl::initiate_accept()::$_0>::recycle_and_execute() network.hpp:3409 (realm-object-store-tests:x86_64+0x101c1c25b)
[2023/08/23 20:11:28.125] 3:     #6 realm::sync::network::Service::Impl::run_impl(bool) network.cpp:1574 (realm-object-store-tests:x86_64+0x101d5a780)
[2023/08/23 20:11:28.125] 3:     #7 realm::sync::network::Service::run() network.cpp:1770 (realm-object-store-tests:x86_64+0x101d56536)
[2023/08/23 20:11:28.126] 3:     #8 realm::sync::Server::run() server.cpp:4847 (realm-object-store-tests:x86_64+0x101c1042c)
[2023/08/23 20:11:28.126] 3:     #9 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, SyncServer::start()::$_3> >(void*) thread:297 (realm-object-store-tests:x86_64+0x10194d5c0)
[2023/08/23 20:11:28.126] 3:
[2023/08/23 20:11:28.126] 3:   Previous write of size 8 at 0x7fff806273a0 by thread T4:
[2023/08/23 20:11:28.126] 3:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1423 (realm-object-store-tests:x86_64+0x100058333)
[2023/08/23 20:11:28.126] 3:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-object-store-tests:x86_64+0x1020def5c)
[2023/08/23 20:11:28.126] 3:     #2 realm::util::StderrLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:116 (realm-object-store-tests:x86_64+0x1020c9292)
[2023/08/23 20:11:28.126] 3:     #3 void realm::util::Logger::do_log<realm::sync::network::Address, unsigned short, realm::sync::network::Address, unsigned short>(realm::util::Logger::Level, char const*, realm::sync::network::Address&&, unsigned short&&, realm::sync::network::Address&&, unsigned short&&) logger.hpp:365 (realm-object-store-tests:x86_64+0x101d4cfd4)
[2023/08/23 20:11:28.126] 3:     #4 realm::sync::network::Socket::ConnectOper<realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_6>::recycle_and_execute() network.hpp:3100 (realm-object-store-tests:x86_64+0x101d4b9be)
[2023/08/23 20:11:28.126] 3:     #5 realm::sync::network::Service::Impl::run_impl(bool) network.cpp:1574 (realm-object-store-tests:x86_64+0x101d5a780)
[2023/08/23 20:11:28.126] 3:     #6 realm::sync::network::Service::run_until_stopped() network.cpp:1776 (realm-object-store-tests:x86_64+0x101d56583)
[2023/08/23 20:11:28.126] 3:     #7 realm::sync::websocket::DefaultSocketProvider::event_loop() default_socket.cpp:590 (realm-object-store-tests:x86_64+0x101d46d08)
[2023/08/23 20:11:28.126] 3:     #8 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >(void*) thread:297 (realm-object-store-tests:x86_64+0x101d484cb)
[2023/08/23 20:11:28.126] 3:
[2023/08/23 20:11:28.126] 3:   Location is global 'std::__1::cerr' at 0x7fff80627380 (libc++.1.dylib+0x0000603683a0)
[2023/08/23 20:11:28.126] 3:
[2023/08/23 20:11:28.126] 3:   Thread T2 (tid=2254124, running) created by main thread at:
[2023/08/23 20:11:28.126] 3:     #0 pthread_create <null>:3 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2ca8d)
[2023/08/23 20:11:28.126] 3:     #1 SyncServer::start() test_file.cpp:229 (realm-object-store-tests:x86_64+0x1019489b3)
[2023/08/23 20:11:28.126] 3:     #2 SyncServer::SyncServer(SyncServer::Config const&) test_file.cpp:218 (realm-object-store-tests:x86_64+0x1019487e4)
[2023/08/23 20:11:28.126] 3:     #3 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:378 (realm-object-store-tests:x86_64+0x10194ad78)
[2023/08/23 20:11:28.126] 3:     #4 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:380 (realm-object-store-tests:x86_64+0x10194b579)
[2023/08/23 20:11:28.126] 3:     #5 CATCH2_INTERNAL_TEST_0() audit.cpp:285 (realm-object-store-tests:x86_64+0x1000055ea)
[2023/08/23 20:11:28.126] 3:     #6 Catch::TestInvokerAsFunction::invoke() const catch_test_case_registry_impl.cpp:149 (realm-object-store-tests:x86_64+0x1019aa25d)
[2023/08/23 20:11:28.126] 3:     #7 Catch::RunContext::runCurrentTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) catch_run_context.cpp:501 (realm-object-store-tests:x86_64+0x1019a0556)
[2023/08/23 20:11:28.126] 3:     #8 Catch::RunContext::runTest(Catch::TestCaseHandle const&) catch_run_context.cpp:232 (realm-object-store-tests:x86_64+0x10199fde5)
[2023/08/23 20:11:28.126] 3:     #9 Catch::Session::runInternal() catch_session.cpp:332 (realm-object-store-tests:x86_64+0x101963a04)
[2023/08/23 20:11:28.126] 3:     #10 Catch::Session::run() catch_session.cpp:263 (realm-object-store-tests:x86_64+0x1019629bb)
[2023/08/23 20:11:28.126] 3:     #11 main main.cpp:77 (realm-object-store-tests:x86_64+0x1006ccfc4)
[2023/08/23 20:11:28.126] 3:
[2023/08/23 20:11:28.126] 3:   Thread T4 (tid=2254126, running) created by main thread at:
[2023/08/23 20:11:28.126] 3:     #0 pthread_create <null>:3 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2ca8d)
[2023/08/23 20:11:28.126] 3:     #1 std::__1::thread::thread<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*, void>(void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) thread:313 (realm-object-store-tests:x86_64+0x101d483a1)
[2023/08/23 20:11:28.126] 3:     #2 realm::sync::websocket::DefaultSocketProvider::start() default_socket.cpp:515 (realm-object-store-tests:x86_64+0x101d46727)
[2023/08/23 20:11:28.126] 3:     #3 realm::sync::websocket::DefaultSocketProvider::DefaultSocketProvider(std::__1::shared_ptr<realm::util::Logger> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<realm::BindingCallbackThreadObserver> const&, realm::util::TaggedBool<realm::sync::websocket::DefaultSocketProvider::AutoStartTag>) default_socket.cpp:486 (realm-object-store-tests:x86_64+0x101d464c8)
[2023/08/23 20:11:28.126] 3:     #4 realm::sync::websocket::DefaultSocketProvider::DefaultSocketProvider(std::__1::shared_ptr<realm::util::Logger> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<realm::BindingCallbackThreadObserver> const&, realm::util::TaggedBool<realm::sync::websocket::DefaultSocketProvider::AutoStartTag>) default_socket.cpp:482 (realm-object-store-tests:x86_64+0x101d46859)
[2023/08/23 20:11:28.126] 3:     #5 realm::_impl::SyncClient::SyncClient(std::__1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__1::weak_ptr<realm::SyncManager const>)::'lambda'()::operator()() const sync_client.hpp:55 (realm-object-store-tests:x86_64+0x101b7acb0)
[2023/08/23 20:11:28.126] 3:     #6 realm::_impl::SyncClient::SyncClient(std::__1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__1::weak_ptr<realm::SyncManager const>) sync_client.hpp:46 (realm-object-store-tests:x86_64+0x101b7a2ee)
[2023/08/23 20:11:28.126] 3:     #7 realm::SyncManager::create_sync_client() const sync_manager.cpp:782 (realm-object-store-tests:x86_64+0x101b7828f)
[2023/08/23 20:11:28.126] 3:     #8 realm::SyncManager::get_sync_client() const sync_manager.cpp:776 (realm-object-store-tests:x86_64+0x101b77370)
[2023/08/23 20:11:28.126] 3:     #9 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:398 (realm-object-store-tests:x86_64+0x10194b1eb)
[2023/08/23 20:11:28.126] 3:     #10 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:380 (realm-object-store-tests:x86_64+0x10194b579)
[2023/08/23 20:11:28.126] 3:     #11 CATCH2_INTERNAL_TEST_0() audit.cpp:285 (realm-object-store-tests:x86_64+0x1000055ea)
[2023/08/23 20:11:28.126] 3:     #12 Catch::TestInvokerAsFunction::invoke() const catch_test_case_registry_impl.cpp:149 (realm-object-store-tests:x86_64+0x1019aa25d)
[2023/08/23 20:11:28.126] 3:     #13 Catch::RunContext::runCurrentTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) catch_run_context.cpp:501 (realm-object-store-tests:x86_64+0x1019a0556)
[2023/08/23 20:11:28.126] 3:     #14 Catch::RunContext::runTest(Catch::TestCaseHandle const&) catch_run_context.cpp:232 (realm-object-store-tests:x86_64+0x10199fde5)
[2023/08/23 20:11:28.126] 3:     #15 Catch::Session::runInternal() catch_session.cpp:332 (realm-object-store-tests:x86_64+0x101963a04)
[2023/08/23 20:11:28.126] 3:     #16 Catch::Session::run() catch_session.cpp:263 (realm-object-store-tests:x86_64+0x1019629bb)
[2023/08/23 20:11:28.126] 3:     #17 main main.cpp:77 (realm-object-store-tests:x86_64+0x1006ccfc4)
[2023/08/23 20:11:28.126] 3:
[2023/08/23 20:11:28.126] 3: SUMMARY: ThreadSanitizer: data race locale:1391 in std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char)
[2023/08/23 20:11:28.126] 3: ==================

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
3. https://[evergreen.mongodb.com/task_log_raw/realm_core_stable_ubuntu2004_tsan_object_store_tests_patch_65960651011a62c6ba111985646881cd8fac19e1_64e664290ae606f51b8172bd_23_08_23_19_55_21/0?type=T&text=true](http://evergreen.mongodb.com/task_log_raw/realm_core_stable_ubuntu2004_tsan_object_store_tests_patch_65960651011a62c6ba111985646881cd8fac19e1_64e664290ae606f51b8172bd_23_08_23_19_55_21/0?type=T&text=true)

[2023/08/23 20:15:54.301] 3: WARNING: ThreadSanitizer: data race (pid=31083)
[2023/08/23 20:15:54.301] 3:   Write of size 4 at 0x0000039a5640 by thread T6:
[2023/08/23 20:15:54.301] 3:     #0 uv_async_init /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/_deps/libuv-src/src/unix/async.c:56 (realm-object-store-tests+0x26cd5a5)
[2023/08/23 20:15:54.301] 3:     #1 UvMainLoopScheduler /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/util/uv/scheduler.hpp:36 (realm-object-store-tests+0x257fca3)
[2023/08/23 20:15:54.301] 3:     #2 void __gnu_cxx::new_allocator<realm::util::UvMainLoopScheduler>::construct<realm::util::UvMainLoopScheduler>(realm::util::UvMainLoopScheduler*) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h:146 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #3 void std::allocator_traits<std::allocator<realm::util::UvMainLoopScheduler> >::construct<realm::util::UvMainLoopScheduler>(std::allocator<realm::util::UvMainLoopScheduler>&, realm::util::UvMainLoopScheduler*) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h:483 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #4 _Sp_counted_ptr_inplace<> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:548 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #5 __shared_count<realm::util::UvMainLoopScheduler, std::allocator<realm::util::UvMainLoopScheduler>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:680 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #6 __shared_ptr<std::allocator<realm::util::UvMainLoopScheduler>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:1344 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #7 shared_ptr<std::allocator<realm::util::UvMainLoopScheduler>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:359 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #8 std::shared_ptr<realm::util::UvMainLoopScheduler> std::allocate_shared<realm::util::UvMainLoopScheduler, std::allocator<realm::util::UvMainLoopScheduler>>(std::allocator<realm::util::UvMainLoopScheduler> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:701 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.301] 3:     #9 std::shared_ptr<realm::util::UvMainLoopScheduler> std::make_shared<realm::util::UvMainLoopScheduler>() /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:717 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.302] 3:     #10 realm::util::Scheduler::make_uv() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/util/scheduler.cpp:180 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.302] 3:     #11 realm::util::Scheduler::make_platform_default() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/util/scheduler.cpp:124 (realm-object-store-tests+0x257eb68)
[2023/08/23 20:15:54.302] 3:     #12 realm::util::UniqueFunction<std::shared_ptr<realm::util::Scheduler> ()>::SpecificImpl<std::shared_ptr<realm::util::Scheduler> (*)()>::call() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:157 (realm-object-store-tests+0x257f7b4)
[2023/08/23 20:15:54.302] 3:     #13 realm::util::UniqueFunction<std::shared_ptr<realm::util::Scheduler> ()>::operator()() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x257ef09)
[2023/08/23 20:15:54.302] 3:     #14 realm::util::Scheduler::make_default() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/util/scheduler.cpp:118 (realm-object-store-tests+0x257ef09)
[2023/08/23 20:15:54.302] 3:     #15 realm::Realm::get_shared_realm(realm::ThreadSafeReference, std::shared_ptr<realm::util::Scheduler>) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/shared_realm.cpp:173 (realm-object-store-tests+0x25131e0)
[2023/08/23 20:15:54.302] 3:     #16 operator() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/realm.cpp:1076 (realm-object-store-tests+0x1401d50)
[2023/08/23 20:15:54.302] 3:     #17 realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>::SpecificImpl<CATCH2_INTERNAL_TEST_56()::$_8>::call(realm::ThreadSafeReference&&, std::__exception_ptr::exception_ptr&&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x1401d50)
[2023/08/23 20:15:54.302] 3:     #18 realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>::operator()(realm::ThreadSafeReference, std::__exception_ptr::exception_ptr) const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x25b0a53)
[2023/08/23 20:15:54.302] 3:     #19 realm::AsyncOpenTask::async_open_complete(realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>&&, std::shared_ptr<realm::_impl::RealmCoordinator>, realm::Status) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/async_open_task.cpp:169 (realm-object-store-tests+0x25b0a53)
[2023/08/23 20:15:54.302] 3:     #20 operator() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/async_open_task.cpp:70 (realm-object-store-tests+0x25b12b5)
[2023/08/23 20:15:54.302] 3:     #21 realm::util::UniqueFunction<void (realm::Status)>::SpecificImpl<realm::AsyncOpenTask::start(realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>)::$_0>::call(realm::Status&&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x25b12b5)
[2023/08/23 20:15:54.302] 3:     #22 realm::util::UniqueFunction<void (realm::Status)>::operator()(realm::Status) const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x25e4d5c)
[2023/08/23 20:15:54.302] 3:     #23 operator() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/sync_session.cpp:1203 (realm-object-store-tests+0x25e4d5c)
[2023/08/23 20:15:54.302] 3:     #24 realm::util::UniqueFunction<void (realm::Status)>::SpecificImpl<realm::SyncSession::add_completion_callback(realm::util::UniqueFunction<void (realm::Status)>, realm::_impl::SyncProgressNotifier::NotifierType)::$_14>::call(realm::Status&&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x25e4d5c)
[2023/08/23 20:15:54.302] 3:     #25 realm::util::UniqueFunction<void (realm::Status)>::operator()(realm::Status) const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x27e934b)
[2023/08/23 20:15:54.302] 3:     #26 realm::sync::SessionWrapper::on_download_completion() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/client.cpp:1732 (realm-object-store-tests+0x27e934b)
[2023/08/23 20:15:54.302] 3:     #27 realm::sync::ClientImpl::Session::on_download_completion() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/client.cpp:772 (realm-object-store-tests+0x27e9208)
[2023/08/23 20:15:54.302] 3:     #28 realm::sync::ClientImpl::Session::check_for_download_completion() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:2735 (realm-object-store-tests+0x28105a4)
[2023/08/23 20:15:54.302] 3:     #29 realm::sync::ClientImpl::Session::receive_mark_message(unsigned long) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:2458 (realm-object-store-tests+0x280d6df)
[2023/08/23 20:15:54.302] 3:     #30 realm::sync::ClientImpl::Connection::receive_mark_message(unsigned long, unsigned long) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:1370 (realm-object-store-tests+0x280d41d)
[2023/08/23 20:15:54.302] 3:     #31 void realm::_impl::ClientProtocol::parse_message_received<realm::sync::ClientImpl::Connection>(realm::sync::ClientImpl::Connection&, std::basic_string_view<char, std::char_traits<char> >) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/protocol_codec.hpp:335 (realm-object-store-tests+0x2816532)
[2023/08/23 20:15:54.302] 3:     #32 realm::sync::ClientImpl::Connection::handle_message_received(realm::util::Span<char const, 18446744073709551615ul>) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:1063 (realm-object-store-tests+0x281ade8)
[2023/08/23 20:15:54.302] 3:     #33 realm::sync::ClientImpl::Connection::websocket_binary_message_received(realm::util::Span<char const, 18446744073709551615ul>) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:501 (realm-object-store-tests+0x281ade8)
[2023/08/23 20:15:54.302] 3:     #34 realm::sync::ClientImpl::Connection::WebSocketObserverShim::websocket_binary_message_received(realm::util::Span<char const, 18446744073709551615ul>) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:717 (realm-object-store-tests+0x281ade8)
[2023/08/23 20:15:54.302] 3:     #35 realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::websocket_binary_message_received(char const*, unsigned long) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/default_socket.cpp:167 (realm-object-store-tests+0x28a435f)
[2023/08/23 20:15:54.302] 3:     #36 non-virtual thunk to realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::websocket_binary_message_received(char const*, unsigned long) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/default_socket.cpp:? (realm-object-store-tests+0x28a435f)
[2023/08/23 20:15:54.302] 3:     #37 (anonymous namespace)::WebSocket::frame_reader_loop() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/websocket.cpp:1018 (realm-object-store-tests+0x28bd989)
[2023/08/23 20:15:54.302] 3:     #38 operator() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/websocket.cpp:1063 (realm-object-store-tests+0x28bde20)
[2023/08/23 20:15:54.302] 3:     #39 realm::util::UniqueFunction<void (std::error_code, unsigned long)>::SpecificImpl<(anonymous namespace)::WebSocket::frame_reader_loop()::{lambda(std::error_code, unsigned long)#1}>::call(std::error_code&&, unsigned long&&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x28bde20)
[2023/08/23 20:15:54.302] 3:     #40 realm::util::UniqueFunction<void (std::error_code, unsigned long)>::operator()(std::error_code, unsigned long) const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x26a8f9d)
[2023/08/23 20:15:54.302] 3:     #41 void realm::sync::network::Service::AsyncOper::do_recycle_and_execute_helper<realm::util::UniqueFunction<void (std::error_code, unsigned long)>, std::error_code, unsigned long>(bool, bool&, realm::util::UniqueFunction<void (std::error_code, unsigned long)>, std::error_code, unsigned long) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.hpp:2784 (realm-object-store-tests+0x26a8f9d)
[2023/08/23 20:15:54.302] 3:     #42 void realm::sync::network::Service::AsyncOper::do_recycle_and_execute<realm::util::UniqueFunction<void (std::error_code, unsigned long)>, std::error_code&, unsigned long&>(bool, realm::util::UniqueFunction<void (std::error_code, unsigned long)>&, std::error_code&, unsigned long&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.hpp:2772 (realm-object-store-tests+0x26a8f9d)
[2023/08/23 20:15:54.302] 3:     #43 realm::sync::network::Service::BasicStreamOps<realm::sync::network::Socket>::BufferedReadOper<realm::util::UniqueFunction<void (std::error_code, unsigned long)> >::recycle_and_execute() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.hpp:2636 (realm-object-store-tests+0x26a8f9d)
[2023/08/23 20:15:54.302] 3:     #44 realm::sync::network::Service::Impl::execute(std::unique_ptr<realm::sync::network::Service::AsyncOper, realm::sync::network::Service::LendersOperDeleter>&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.cpp:1646 (realm-object-store-tests+0x28b3af0)
[2023/08/23 20:15:54.302] 3:     #45 realm::sync::network::Service::Impl::run_impl(bool) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.cpp:1574 (realm-object-store-tests+0x28b3af0)
[2023/08/23 20:15:54.302] 3:     #46 realm::sync::network::Service::Impl::run_until_stopped() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.cpp:1385 (realm-object-store-tests+0x28b0413)
[2023/08/23 20:15:54.302] 3:     #47 realm::sync::network::Service::run_until_stopped() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/network.cpp:1776 (realm-object-store-tests+0x28b0413)
[2023/08/23 20:15:54.302] 3:     #48 realm::sync::websocket::DefaultSocketProvider::event_loop() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/default_socket.cpp:590 (realm-object-store-tests+0x28a12d3)
[2023/08/23 20:15:54.302] 3:     #49 void std::__invoke_impl<void, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>(std::__invoke_memfun_deref, void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:73 (realm-object-store-tests+0x28a8d75)
[2023/08/23 20:15:54.302] 3:     #50 std::__invoke_result<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>::type std::__invoke<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>(void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:95 (realm-object-store-tests+0x28a8d75)
[2023/08/23 20:15:54.302] 3:     #51 void std::thread::_Invoker<std::tuple<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:244 (realm-object-store-tests+0x28a8d75)
[2023/08/23 20:15:54.302] 3:     #52 std::thread::_Invoker<std::tuple<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >::operator()() /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:251 (realm-object-store-tests+0x28a8d75)
[2023/08/23 20:15:54.302] 3:     #53 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> > >::_M_run() /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:195 (realm-object-store-tests+0x28a8d75)
[2023/08/23 20:15:54.302] 3:     #54 std::error_code::default_error_condition() const ??:? (libstdc++.so.6+0xd6de3)
[2023/08/23 20:15:54.302] 3:
[2023/08/23 20:15:54.302] 3:   Previous read of size 4 at 0x0000039a5640 by main thread:
[2023/08/23 20:15:54.302] 3:     #0 uv_backend_timeout /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/_deps/libuv-src/src/unix/core.c:332 (realm-object-store-tests+0x26ce3f1)
[2023/08/23 20:15:54.302] 3:     #1 uv_run /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/_deps/libuv-src/src/unix/core.c:378 (realm-object-store-tests+0x26ce3f1)
[2023/08/23 20:15:54.302] 3:     #2 realm::util::EventLoop::Impl::run_until(realm::util::FunctionRef<bool ()>) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/util/event_loop.cpp:203 (realm-object-store-tests+0x1c0f48c)
[2023/08/23 20:15:54.302] 3:     #3 realm::util::EventLoop::run_until(realm::util::FunctionRef<bool ()>) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/util/event_loop.cpp:122 (realm-object-store-tests+0x1c0f3d5)
[2023/08/23 20:15:54.302] 3:     #4 CATCH2_INTERNAL_TEST_56() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/realm.cpp:1082 (realm-object-store-tests+0x13a9339)
[2023/08/23 20:15:54.302] 3:     #5 Catch::TestInvokerAsFunction::invoke() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_test_case_registry_impl.cpp:149 (realm-object-store-tests+0x2410cfd)
[2023/08/23 20:15:54.302] 3:     #6 Catch::TestCaseHandle::invoke() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/../catch2/catch_test_case_info.hpp:115 (realm-object-store-tests+0x24055f2)
[2023/08/23 20:15:54.302] 3:     #7 Catch::RunContext::invokeActiveTestCase() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:538 (realm-object-store-tests+0x24055f2)
[2023/08/23 20:15:54.302] 3:     #8 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:501 (realm-object-store-tests+0x24055f2)
[2023/08/23 20:15:54.303] 3:     #9 Catch::RunContext::runTest(Catch::TestCaseHandle const&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:232 (realm-object-store-tests+0x2404dea)
[2023/08/23 20:15:54.303] 3:     #10 Catch::(anonymous namespace)::TestGroup::execute() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/catch_session.cpp:110 (realm-object-store-tests+0x23abad2)
[2023/08/23 20:15:54.303] 3:     #11 Catch::Session::runInternal() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/catch_session.cpp:332 (realm-object-store-tests+0x23abad2)
[2023/08/23 20:15:54.303] 3:     #12 Catch::Session::run() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/catch_session.cpp:263 (realm-object-store-tests+0x23aade0)
[2023/08/23 20:15:54.303] 3:     #13 int Catch::Session::run<char>(int, char const* const*) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/../catch2/catch_session.hpp:41 (realm-object-store-tests+0xee5d98)
[2023/08/23 20:15:54.303] 3:     #14 main /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/main.cpp:77 (realm-object-store-tests+0xee5d98)
[2023/08/23 20:15:54.303] 3:
[2023/08/23 20:15:54.303] 3:   Location is global '<null>' at 0x000000000000 (realm-object-store-tests+0x0000039a5640)
[2023/08/23 20:15:54.303] 3:
[2023/08/23 20:15:54.303] 3:   Thread T6 (tid=33907, running) created by main thread at:
[2023/08/23 20:15:54.303] 3:     #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-object-store-tests+0x97894b)
[2023/08/23 20:15:54.303] 3:     #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) ??:? (libstdc++.so.6+0xd70a8)
[2023/08/23 20:15:54.303] 3:     #2 DefaultSocketProvider /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/sync/network/default_socket.cpp:486 (realm-object-store-tests+0x28a092f)
[2023/08/23 20:15:54.303] 3:     #3 void __gnu_cxx::new_allocator<realm::sync::websocket::DefaultSocketProvider>::construct<realm::sync::websocket::DefaultSocketProvider, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(realm::sync::websocket::DefaultSocketProvider*, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h:146 (realm-object-store-tests+0x25c94a3)
[2023/08/23 20:15:54.303] 3:     #4 void std::allocator_traits<std::allocator<realm::sync::websocket::DefaultSocketProvider> >::construct<realm::sync::websocket::DefaultSocketProvider, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(std::allocator<realm::sync::websocket::DefaultSocketProvider>&, realm::sync::websocket::DefaultSocketProvider*, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h:483 (realm-object-store-tests+0x25c94a3)
[2023/08/23 20:15:54.303] 3:     #5 _Sp_counted_ptr_inplace<const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:548 (realm-object-store-tests+0x25c94a3)
[2023/08/23 20:15:54.303] 3:     #6 __shared_count<realm::sync::websocket::DefaultSocketProvider, std::allocator<realm::sync::websocket::DefaultSocketProvider>, const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:680 (realm-object-store-tests+0x25c94a3)
[2023/08/23 20:15:54.303] 3:     #7 __shared_ptr<std::allocator<realm::sync::websocket::DefaultSocketProvider>, const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:1344 (realm-object-store-tests+0x25c83ba)
[2023/08/23 20:15:54.303] 3:     #8 shared_ptr<std::allocator<realm::sync::websocket::DefaultSocketProvider>, const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:359 (realm-object-store-tests+0x25c83ba)
[2023/08/23 20:15:54.303] 3:     #9 std::shared_ptr<realm::sync::websocket::DefaultSocketProvider> std::allocate_shared<realm::sync::websocket::DefaultSocketProvider, std::allocator<realm::sync::websocket::DefaultSocketProvider>, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(std::allocator<realm::sync::websocket::DefaultSocketProvider> const&, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:701 (realm-object-store-tests+0x25c83ba)
[2023/08/23 20:15:54.303] 3:     #10 std::shared_ptr<realm::sync::websocket::DefaultSocketProvider> std::make_shared<realm::sync::websocket::DefaultSocketProvider, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:717 (realm-object-store-tests+0x25c83ba)
[2023/08/23 20:15:54.303] 3:     #11 operator() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/impl/sync_client.hpp:55 (realm-object-store-tests+0x25c83ba)
[2023/08/23 20:15:54.303] 3:     #12 SyncClient /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/impl/sync_client.hpp:46 (realm-object-store-tests+0x25c7cb9)
[2023/08/23 20:15:54.303] 3:     #13 std::_MakeUniq<realm::_impl::SyncClient>::__single_object std::make_unique<realm::_impl::SyncClient, std::shared_ptr<realm::util::Logger>&, realm::SyncClientConfig const&, std::weak_ptr<realm::SyncManager const> >(std::shared_ptr<realm::util::Logger>&, realm::SyncClientConfig const&, std::weak_ptr<realm::SyncManager const>&&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:857 (realm-object-store-tests+0x25c0674)
[2023/08/23 20:15:54.303] 3:     #14 realm::SyncManager::create_sync_client() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/sync_manager.cpp:782 (realm-object-store-tests+0x25c0674)
[2023/08/23 20:15:54.303] 3:     #15 realm::SyncManager::get_sync_client() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../src/realm/object-store/sync/sync_manager.cpp:776 (realm-object-store-tests+0x25bfadf)
[2023/08/23 20:15:54.303] 3:     #16 TestSyncManager /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/util/test_file.cpp:398 (realm-object-store-tests+0x1c15941)
[2023/08/23 20:15:54.303] 3:     #17 CATCH2_INTERNAL_TEST_56() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/realm.cpp:925 (realm-object-store-tests+0x13a64de)
[2023/08/23 20:15:54.303] 3:     #18 Catch::TestInvokerAsFunction::invoke() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_test_case_registry_impl.cpp:149 (realm-object-store-tests+0x2410cfd)
[2023/08/23 20:15:54.303] 3:     #19 Catch::TestCaseHandle::invoke() const /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/../catch2/catch_test_case_info.hpp:115 (realm-object-store-tests+0x24055f2)
[2023/08/23 20:15:54.303] 3:     #20 Catch::RunContext::invokeActiveTestCase() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:538 (realm-object-store-tests+0x24055f2)
[2023/08/23 20:15:54.303] 3:     #21 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:501 (realm-object-store-tests+0x24055f2)
[2023/08/23 20:15:54.303] 3:     #22 Catch::RunContext::runTest(Catch::TestCaseHandle const&) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:232 (realm-object-store-tests+0x2404dea)
[2023/08/23 20:15:54.303] 3:     #23 Catch::(anonymous namespace)::TestGroup::execute() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/catch_session.cpp:110 (realm-object-store-tests+0x23abad2)
[2023/08/23 20:15:54.303] 3:     #24 Catch::Session::runInternal() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/catch_session.cpp:332 (realm-object-store-tests+0x23abad2)
[2023/08/23 20:15:54.303] 3:     #25 Catch::Session::run() /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/catch_session.cpp:263 (realm-object-store-tests+0x23aade0)
[2023/08/23 20:15:54.303] 3:     #26 int Catch::Session::run<char>(int, char const* const*) /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../external/catch/src/catch2/../catch2/catch_session.hpp:41 (realm-object-store-tests+0xee5d98)
[2023/08/23 20:15:54.303] 3:     #27 main /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/../test/object-store/main.cpp:77 (realm-object-store-tests+0xee5d98)
[2023/08/23 20:15:54.303] 3:
[2023/08/23 20:15:54.303] 3: SUMMARY: ThreadSanitizer: data race /data/mci/754967a8fc753dbcbc5e950257729293/realm-core/build/_deps/libuv-src/src/unix/async.c:56 in uv_async_init
[2023/08/23 20:15:54.303] 3: ==================
[2023/08/23 20:15:54.304] 3: 1.202 s: progress notifiers of a task are cancelled if the task is cancelled

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4. https://evergreen.mongodb.com/task_log_raw/realm_core_stable_macos_1100_arm64_tsan_object_store_tests_patch_060c0a3c3a9227cce72c0d81e90f963ce75c9a19_64e7d59c57e85a20d92d560b_23_08_24_22_11_41/0?type=T&text=true

[2023/08/24 22:22:18.121] 3: ==================
[2023/08/24 22:22:18.121] 3: WARNING: ThreadSanitizer: data race (pid=49360)
[2023/08/24 22:22:18.121] 3:   Read of size 8 at 0x0001fb9e40e8 by thread T2:
[2023/08/24 22:22:18.121] 3:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1391 (realm-object-store-tests:arm64+0x10004cd30)
[2023/08/24 22:22:18.121] 3:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-object-store-tests:arm64+0x101d102d4)
[2023/08/24 22:22:18.121] 3:     #2 realm::util::StderrLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:116 (realm-object-store-tests:arm64+0x101cfc9a0)
[2023/08/24 22:22:18.121] 3:     #3 realm::util::PrefixLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:132 (realm-object-store-tests:arm64+0x101cfccd0)
[2023/08/24 22:22:18.121] 3:     #4 void realm::util::Logger::do_log<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(realm::util::Logger::Level, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) logger.hpp:365 (realm-object-store-tests:arm64+0x1001986f4)
[2023/08/24 22:22:18.121] 3:     #5 realm::sync::network::Acceptor::AcceptOper<(anonymous namespace)::ServerImpl::initiate_accept()::$_0>::recycle_and_execute() network.hpp:3409 (realm-object-store-tests:arm64+0x1018d5804)
[2023/08/24 22:22:18.121] 3:     #6 realm::sync::network::Service::Impl::run_impl(bool) network.cpp:1574 (realm-object-store-tests:arm64+0x1019f058c)
[2023/08/24 22:22:18.121] 3:     #7 realm::sync::network::Service::run() network.cpp:1770 (realm-object-store-tests:arm64+0x1019ec3bc)
[2023/08/24 22:22:18.121] 3:     #8 realm::sync::Server::run() server.cpp:4847 (realm-object-store-tests:arm64+0x1018caadc)
[2023/08/24 22:22:18.121] 3:     #9 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, SyncServer::start()::$_3> >(void*) thread:297 (realm-object-store-tests:arm64+0x101644360)
[2023/08/24 22:22:18.121] 3:
[2023/08/24 22:22:18.121] 3:   Previous write of size 8 at 0x0001fb9e40e8 by thread T4:
[2023/08/24 22:22:18.121] 3:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1423 (realm-object-store-tests:arm64+0x10004ce80)
[2023/08/24 22:22:18.121] 3:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-object-store-tests:arm64+0x101d102d4)
[2023/08/24 22:22:18.121] 3:     #2 realm::util::StderrLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:116 (realm-object-store-tests:arm64+0x101cfca08)
[2023/08/24 22:22:18.121] 3:     #3 void realm::util::Logger::do_log<realm::sync::network::Address, unsigned short, realm::sync::network::Address, unsigned short>(realm::util::Logger::Level, char const*, realm::sync::network::Address&&, unsigned short&&, realm::sync::network::Address&&, unsigned short&&) logger.hpp:365 (realm-object-store-tests:arm64+0x1019e4090)
[2023/08/24 22:22:18.121] 3:     #4 realm::sync::network::Socket::ConnectOper<realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_6>::recycle_and_execute() network.hpp:3100 (realm-object-store-tests:arm64+0x1019e2cf0)
[2023/08/24 22:22:18.121] 3:     #5 realm::sync::network::Service::Impl::run_impl(bool) network.cpp:1574 (realm-object-store-tests:arm64+0x1019f058c)
[2023/08/24 22:22:18.121] 3:     #6 realm::sync::network::Service::run_until_stopped() network.cpp:1776 (realm-object-store-tests:arm64+0x1019ec408)
[2023/08/24 22:22:18.121] 3:     #7 realm::sync::websocket::DefaultSocketProvider::event_loop() default_socket.cpp:590 (realm-object-store-tests:arm64+0x1019de3d0)
[2023/08/24 22:22:18.121] 3:     #8 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >(void*) thread:297 (realm-object-store-tests:arm64+0x1019df9a8)
[2023/08/24 22:22:18.121] 3:
[2023/08/24 22:22:18.121] 3:   Location is global 'std::__1::cerr' at 0x0001fb9e40c8 (libc++.1.dylib+0x00006b4d40e8)
[2023/08/24 22:22:18.121] 3:
[2023/08/24 22:22:18.121] 3:   Thread T2 (tid=1575835, running) created by main thread at:
[2023/08/24 22:22:18.121] 3:     #0 pthread_create <null>:100038172 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2cda0)
[2023/08/24 22:22:18.121] 3:     #1 SyncServer::start() test_file.cpp:229 (realm-object-store-tests:arm64+0x10163fba4)
[2023/08/24 22:22:18.121] 3:     #2 SyncServer::SyncServer(SyncServer::Config const&) test_file.cpp:218 (realm-object-store-tests:arm64+0x10163f9e8)
[2023/08/24 22:22:18.121] 3:     #3 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:378 (realm-object-store-tests:arm64+0x101641cf4)
[2023/08/24 22:22:18.121] 3:     #4 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:380 (realm-object-store-tests:arm64+0x1016423a4)
[2023/08/24 22:22:18.121] 3:     #5 CATCH2_INTERNAL_TEST_0() audit.cpp:285 (realm-object-store-tests:arm64+0x10000582c)
[2023/08/24 22:22:18.121] 3:     #6 CATCH2_INTERNAL_TEST_0() audit.cpp:284 (realm-object-store-tests:arm64+0x1000057bc)
[2023/08/24 22:22:18.121] 3:     #7 Catch::RunContext::runCurrentTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) catch_run_context.cpp:501 (realm-object-store-tests:arm64+0x101693794)
[2023/08/24 22:22:18.121] 3:     #8 Catch::RunContext::runTest(Catch::TestCaseHandle const&) catch_run_context.cpp:232 (realm-object-store-tests:arm64+0x1016930dc)
[2023/08/24 22:22:18.121] 3:     #9 Catch::Session::runInternal() catch_session.cpp:332 (realm-object-store-tests:arm64+0x101659440)
[2023/08/24 22:22:18.121] 3:     #10 Catch::Session::run() catch_session.cpp:263 (realm-object-store-tests:arm64+0x1016586b4)
[2023/08/24 22:22:18.122] 3:     #11 main main.cpp:77 (realm-object-store-tests:arm64+0x10060dfd8)
[2023/08/24 22:22:18.122] 3:
[2023/08/24 22:22:18.122] 3:   Thread T4 (tid=1575837, running) created by main thread at:
[2023/08/24 22:22:18.122] 3:     #0 pthread_create <null>:100038172 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2cda0)
[2023/08/24 22:22:18.122] 3:     #1 std::__1::thread::thread<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*, void>(void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) thread:313 (realm-object-store-tests:arm64+0x1019df870)
[2023/08/24 22:22:18.122] 3:     #2 realm::sync::websocket::DefaultSocketProvider::start() default_socket.cpp:515 (realm-object-store-tests:arm64+0x1019dde14)
[2023/08/24 22:22:18.122] 3:     #3 realm::sync::websocket::DefaultSocketProvider::DefaultSocketProvider(std::__1::shared_ptr<realm::util::Logger> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<realm::BindingCallbackThreadObserver> const&, realm::util::TaggedBool<realm::sync::websocket::DefaultSocketProvider::AutoStartTag>) default_socket.cpp:486 (realm-object-store-tests:arm64+0x1019ddbc8)
[2023/08/24 22:22:18.122] 3:     #4 realm::sync::websocket::DefaultSocketProvider::DefaultSocketProvider(std::__1::shared_ptr<realm::util::Logger> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<realm::BindingCallbackThreadObserver> const&, realm::util::TaggedBool<realm::sync::websocket::DefaultSocketProvider::AutoStartTag>) default_socket.cpp:482 (realm-object-store-tests:arm64+0x1019ddf44)
[2023/08/24 22:22:18.122] 3:     #5 realm::_impl::SyncClient::SyncClient(std::__1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__1::weak_ptr<realm::SyncManager const>)::'lambda'()::operator()() const sync_client.hpp:55 (realm-object-store-tests:arm64+0x101840208)
[2023/08/24 22:22:18.122] 3:     #6 realm::_impl::SyncClient::SyncClient(std::__1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__1::weak_ptr<realm::SyncManager const>) sync_client.hpp:46 (realm-object-store-tests:arm64+0x10183f9bc)
[2023/08/24 22:22:18.122] 3:     #7 realm::SyncManager::create_sync_client() const sync_manager.cpp:782 (realm-object-store-tests:arm64+0x10183dd94)
[2023/08/24 22:22:18.122] 3:     #8 realm::SyncManager::get_sync_client() const sync_manager.cpp:776 (realm-object-store-tests:arm64+0x10183d06c)
[2023/08/24 22:22:18.122] 3:     #9 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:398 (realm-object-store-tests:arm64+0x101642014)
[2023/08/24 22:22:18.122] 3:     #10 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:380 (realm-object-store-tests:arm64+0x1016423a4)
[2023/08/24 22:22:18.122] 3:     #11 CATCH2_INTERNAL_TEST_0() audit.cpp:285 (realm-object-store-tests:arm64+0x10000582c)
[2023/08/24 22:22:18.122] 3:     #12 CATCH2_INTERNAL_TEST_0() audit.cpp:284 (realm-object-store-tests:arm64+0x1000057bc)
[2023/08/24 22:22:18.122] 3:     #13 Catch::RunContext::runCurrentTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) catch_run_context.cpp:501 (realm-object-store-tests:arm64+0x101693794)
[2023/08/24 22:22:18.122] 3:     #14 Catch::RunContext::runTest(Catch::TestCaseHandle const&) catch_run_context.cpp:232 (realm-object-store-tests:arm64+0x1016930dc)
[2023/08/24 22:22:18.122] 3:     #15 Catch::Session::runInternal() catch_session.cpp:332 (realm-object-store-tests:arm64+0x101659440)
[2023/08/24 22:22:18.122] 3:     #16 Catch::Session::run() catch_session.cpp:263 (realm-object-store-tests:arm64+0x1016586b4)
[2023/08/24 22:22:18.122] 3:     #17 main main.cpp:77 (realm-object-store-tests:arm64+0x10060dfd8)
[2023/08/24 22:22:18.122] 3:
[2023/08/24 22:22:18.122] 3: SUMMARY: ThreadSanitizer: data race locale:1391 in std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char)
[2023/08/24 22:22:18.122] 3: ==================

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
5. https://evergreen.mongodb.com/task_log_raw/realm_core_stable_macos_1100_x64_tsan_object_store_tests_patch_060c0a3c3a9227cce72c0d81e90f963ce75c9a19_64e7d59c57e85a20d92d560b_23_08_24_22_11_41/0?type=T&text=true

[2023/08/24 22:26:55.627] 3: WARNING: ThreadSanitizer: data race (pid=33133)
[2023/08/24 22:26:55.627] 3:   Read of size 8 at 0x7fff806b03a0 by thread T2:
[2023/08/24 22:26:55.627] 3:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1391 (realm-object-store-tests:x86_64+0x100058209)
[2023/08/24 22:26:55.627] 3:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-object-store-tests:x86_64+0x1020def5c)
[2023/08/24 22:26:55.627] 3:     #2 realm::util::StderrLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:116 (realm-object-store-tests:x86_64+0x1020c9225)
[2023/08/24 22:26:55.627] 3:     #3 realm::util::PrefixLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:132 (realm-object-store-tests:x86_64+0x1020c9536)
[2023/08/24 22:26:55.627] 3:     #4 void realm::util::Logger::do_log<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(realm::util::Logger::Level, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) logger.hpp:365 (realm-object-store-tests:x86_64+0x1001b39c5)
[2023/08/24 22:26:55.627] 3:     #5 realm::sync::network::Acceptor::AcceptOper<(anonymous namespace)::ServerImpl::initiate_accept()::$_0>::recycle_and_execute() network.hpp:3409 (realm-object-store-tests:x86_64+0x101c1c24b)
[2023/08/24 22:26:55.627] 3:     #6 realm::sync::network::Service::Impl::run_impl(bool) network.cpp:1574 (realm-object-store-tests:x86_64+0x101d5a770)
[2023/08/24 22:26:55.627] 3:     #7 realm::sync::network::Service::run() network.cpp:1770 (realm-object-store-tests:x86_64+0x101d56526)
[2023/08/24 22:26:55.627] 3:     #8 realm::sync::Server::run() server.cpp:4847 (realm-object-store-tests:x86_64+0x101c1041c)
[2023/08/24 22:26:55.627] 3:     #9 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, SyncServer::start()::$_3> >(void*) thread:297 (realm-object-store-tests:x86_64+0x10194d5b0)
[2023/08/24 22:26:55.627] 3:
[2023/08/24 22:26:55.627] 3:   Previous write of size 8 at 0x7fff806b03a0 by thread T4:
[2023/08/24 22:26:55.627] 3:     #0 std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) locale:1423 (realm-object-store-tests:x86_64+0x100058323)
[2023/08/24 22:26:55.627] 3:     #1 std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) ostream:729 (realm-object-store-tests:x86_64+0x1020def5c)
[2023/08/24 22:26:55.627] 3:     #2 realm::util::StderrLogger::do_log(realm::util::Logger::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) logger.cpp:116 (realm-object-store-tests:x86_64+0x1020c9292)
[2023/08/24 22:26:55.627] 3:     #3 void realm::util::Logger::do_log<realm::sync::network::Address, unsigned short, realm::sync::network::Address, unsigned short>(realm::util::Logger::Level, char const*, realm::sync::network::Address&&, unsigned short&&, realm::sync::network::Address&&, unsigned short&&) logger.hpp:365 (realm-object-store-tests:x86_64+0x101d4cfc4)
[2023/08/24 22:26:55.627] 3:     #4 realm::sync::network::Socket::ConnectOper<realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_6>::recycle_and_execute() network.hpp:3100 (realm-object-store-tests:x86_64+0x101d4b9ae)
[2023/08/24 22:26:55.627] 3:     #5 realm::sync::network::Service::Impl::run_impl(bool) network.cpp:1574 (realm-object-store-tests:x86_64+0x101d5a770)
[2023/08/24 22:26:55.627] 3:     #6 realm::sync::network::Service::run_until_stopped() network.cpp:1776 (realm-object-store-tests:x86_64+0x101d56573)
[2023/08/24 22:26:55.627] 3:     #7 realm::sync::websocket::DefaultSocketProvider::event_loop() default_socket.cpp:590 (realm-object-store-tests:x86_64+0x101d46cf8)
[2023/08/24 22:26:55.627] 3:     #8 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >(void*) thread:297 (realm-object-store-tests:x86_64+0x101d484bb)
[2023/08/24 22:26:55.627] 3:
[2023/08/24 22:26:55.627] 3:   Location is global 'std::__1::cerr' at 0x7fff806b0380 (libc++.1.dylib+0x0000603683a0)
[2023/08/24 22:26:55.627] 3:
[2023/08/24 22:26:55.627] 3:   Thread T2 (tid=3154899, running) created by main thread at:
[2023/08/24 22:26:55.627] 3:     #0 pthread_create <null>:3 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2ca8d)
[2023/08/24 22:26:55.627] 3:     #1 SyncServer::start() test_file.cpp:229 (realm-object-store-tests:x86_64+0x1019489a3)
[2023/08/24 22:26:55.627] 3:     #2 SyncServer::SyncServer(SyncServer::Config const&) test_file.cpp:218 (realm-object-store-tests:x86_64+0x1019487d4)
[2023/08/24 22:26:55.627] 3:     #3 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:378 (realm-object-store-tests:x86_64+0x10194ad68)
[2023/08/24 22:26:55.627] 3:     #4 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:380 (realm-object-store-tests:x86_64+0x10194b569)
[2023/08/24 22:26:55.627] 3:     #5 CATCH2_INTERNAL_TEST_0() audit.cpp:285 (realm-object-store-tests:x86_64+0x1000055da)
[2023/08/24 22:26:55.627] 3:     #6 Catch::TestInvokerAsFunction::invoke() const catch_test_case_registry_impl.cpp:149 (realm-object-store-tests:x86_64+0x1019aa24d)
[2023/08/24 22:26:55.627] 3:     #7 Catch::RunContext::runCurrentTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) catch_run_context.cpp:501 (realm-object-store-tests:x86_64+0x1019a0546)
[2023/08/24 22:26:55.627] 3:     #8 Catch::RunContext::runTest(Catch::TestCaseHandle const&) catch_run_context.cpp:232 (realm-object-store-tests:x86_64+0x10199fdd5)
[2023/08/24 22:26:55.627] 3:     #9 Catch::Session::runInternal() catch_session.cpp:332 (realm-object-store-tests:x86_64+0x1019639f4)
[2023/08/24 22:26:55.627] 3:     #10 Catch::Session::run() catch_session.cpp:263 (realm-object-store-tests:x86_64+0x1019629ab)
[2023/08/24 22:26:55.627] 3:     #11 main main.cpp:77 (realm-object-store-tests:x86_64+0x1006ccfb4)
[2023/08/24 22:26:55.627] 3:
[2023/08/24 22:26:55.627] 3:   Thread T4 (tid=3154901, running) created by main thread at:
[2023/08/24 22:26:55.627] 3:     #0 pthread_create <null>:3 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2ca8d)
[2023/08/24 22:26:55.627] 3:     #1 std::__1::thread::thread<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*, void>(void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) thread:313 (realm-object-store-tests:x86_64+0x101d48391)
[2023/08/24 22:26:55.627] 3:     #2 realm::sync::websocket::DefaultSocketProvider::start() default_socket.cpp:515 (realm-object-store-tests:x86_64+0x101d46717)
[2023/08/24 22:26:55.627] 3:     #3 realm::sync::websocket::DefaultSocketProvider::DefaultSocketProvider(std::__1::shared_ptr<realm::util::Logger> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<realm::BindingCallbackThreadObserver> const&, realm::util::TaggedBool<realm::sync::websocket::DefaultSocketProvider::AutoStartTag>) default_socket.cpp:486 (realm-object-store-tests:x86_64+0x101d464b8)
[2023/08/24 22:26:55.627] 3:     #4 realm::sync::websocket::DefaultSocketProvider::DefaultSocketProvider(std::__1::shared_ptr<realm::util::Logger> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<realm::BindingCallbackThreadObserver> const&, realm::util::TaggedBool<realm::sync::websocket::DefaultSocketProvider::AutoStartTag>) default_socket.cpp:482 (realm-object-store-tests:x86_64+0x101d46849)
[2023/08/24 22:26:55.627] 3:     #5 realm::_impl::SyncClient::SyncClient(std::__1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__1::weak_ptr<realm::SyncManager const>)::'lambda'()::operator()() const sync_client.hpp:55 (realm-object-store-tests:x86_64+0x101b7aca0)
[2023/08/24 22:26:55.627] 3:     #6 realm::_impl::SyncClient::SyncClient(std::__1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__1::weak_ptr<realm::SyncManager const>) sync_client.hpp:46 (realm-object-store-tests:x86_64+0x101b7a2de)
[2023/08/24 22:26:55.627] 3:     #7 realm::SyncManager::create_sync_client() const sync_manager.cpp:782 (realm-object-store-tests:x86_64+0x101b7827f)
[2023/08/24 22:26:55.627] 3:     #8 realm::SyncManager::get_sync_client() const sync_manager.cpp:776 (realm-object-store-tests:x86_64+0x101b77360)
[2023/08/24 22:26:55.627] 3:     #9 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:398 (realm-object-store-tests:x86_64+0x10194b1db)
[2023/08/24 22:26:55.627] 3:     #10 TestSyncManager::TestSyncManager(TestSyncManager::Config const&, SyncServer::Config const&) test_file.cpp:380 (realm-object-store-tests:x86_64+0x10194b569)
[2023/08/24 22:26:55.627] 3:     #11 CATCH2_INTERNAL_TEST_0() audit.cpp:285 (realm-object-store-tests:x86_64+0x1000055da)
[2023/08/24 22:26:55.627] 3:     #12 Catch::TestInvokerAsFunction::invoke() const catch_test_case_registry_impl.cpp:149 (realm-object-store-tests:x86_64+0x1019aa24d)
[2023/08/24 22:26:55.627] 3:     #13 Catch::RunContext::runCurrentTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) catch_run_context.cpp:501 (realm-object-store-tests:x86_64+0x1019a0546)
[2023/08/24 22:26:55.627] 3:     #14 Catch::RunContext::runTest(Catch::TestCaseHandle const&) catch_run_context.cpp:232 (realm-object-store-tests:x86_64+0x10199fdd5)
[2023/08/24 22:26:55.627] 3:     #15 Catch::Session::runInternal() catch_session.cpp:332 (realm-object-store-tests:x86_64+0x1019639f4)
[2023/08/24 22:26:55.627] 3:     #16 Catch::Session::run() catch_session.cpp:263 (realm-object-store-tests:x86_64+0x1019629ab)
[2023/08/24 22:26:55.627] 3:     #17 main main.cpp:77 (realm-object-store-tests:x86_64+0x1006ccfb4)
[2023/08/24 22:26:55.627] 3:
[2023/08/24 22:26:55.627] 3: SUMMARY: ThreadSanitizer: data race locale:1391 in std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char)
[2023/08/24 22:26:55.627] 3: ==================

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
6. https://evergreen.mongodb.com/task_log_raw/realm_core_stable_ubuntu2004_tsan_object_store_tests_patch_060c0a3c3a9227cce72c0d81e90f963ce75c9a19_64e7d59c57e85a20d92d560b_23_08_24_22_11_41/0?type=T&text=true

[2023/08/24 22:37:27.882] 3: ==================
[2023/08/24 22:37:27.882] 3: WARNING: ThreadSanitizer: data race (pid=31610)
[2023/08/24 22:37:27.882] 3:   Write of size 4 at 0x0000039a5640 by thread T6:
[2023/08/24 22:37:27.882] 3:     #0 uv_async_init /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/_deps/libuv-src/src/unix/async.c:56 (realm-object-store-tests+0x26cd5a5)
[2023/08/24 22:37:27.882] 3:     #1 UvMainLoopScheduler /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/util/uv/scheduler.hpp:36 (realm-object-store-tests+0x257fca3)
[2023/08/24 22:37:27.882] 3:     #2 void __gnu_cxx::new_allocator<realm::util::UvMainLoopScheduler>::construct<realm::util::UvMainLoopScheduler>(realm::util::UvMainLoopScheduler*) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h:146 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #3 void std::allocator_traits<std::allocator<realm::util::UvMainLoopScheduler> >::construct<realm::util::UvMainLoopScheduler>(std::allocator<realm::util::UvMainLoopScheduler>&, realm::util::UvMainLoopScheduler*) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h:483 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #4 _Sp_counted_ptr_inplace<> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:548 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #5 __shared_count<realm::util::UvMainLoopScheduler, std::allocator<realm::util::UvMainLoopScheduler>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:680 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #6 __shared_ptr<std::allocator<realm::util::UvMainLoopScheduler>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:1344 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #7 shared_ptr<std::allocator<realm::util::UvMainLoopScheduler>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:359 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #8 std::shared_ptr<realm::util::UvMainLoopScheduler> std::allocate_shared<realm::util::UvMainLoopScheduler, std::allocator<realm::util::UvMainLoopScheduler>>(std::allocator<realm::util::UvMainLoopScheduler> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:701 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #9 std::shared_ptr<realm::util::UvMainLoopScheduler> std::make_shared<realm::util::UvMainLoopScheduler>() /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:717 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #10 realm::util::Scheduler::make_uv() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/util/scheduler.cpp:180 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #11 realm::util::Scheduler::make_platform_default() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/util/scheduler.cpp:124 (realm-object-store-tests+0x257eb68)
[2023/08/24 22:37:27.882] 3:     #12 realm::util::UniqueFunction<std::shared_ptr<realm::util::Scheduler> ()>::SpecificImpl<std::shared_ptr<realm::util::Scheduler> (*)()>::call() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:157 (realm-object-store-tests+0x257f7b4)
[2023/08/24 22:37:27.882] 3:     #13 realm::util::UniqueFunction<std::shared_ptr<realm::util::Scheduler> ()>::operator()() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x257ef09)
[2023/08/24 22:37:27.882] 3:     #14 realm::util::Scheduler::make_default() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/util/scheduler.cpp:118 (realm-object-store-tests+0x257ef09)
[2023/08/24 22:37:27.882] 3:     #15 realm::Realm::get_shared_realm(realm::ThreadSafeReference, std::shared_ptr<realm::util::Scheduler>) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/shared_realm.cpp:173 (realm-object-store-tests+0x25131e0)
[2023/08/24 22:37:27.882] 3:     #16 operator() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/realm.cpp:1076 (realm-object-store-tests+0x1401d50)
[2023/08/24 22:37:27.882] 3:     #17 realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>::SpecificImpl<CATCH2_INTERNAL_TEST_56()::$_8>::call(realm::ThreadSafeReference&&, std::__exception_ptr::exception_ptr&&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x1401d50)
[2023/08/24 22:37:27.882] 3:     #18 realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>::operator()(realm::ThreadSafeReference, std::__exception_ptr::exception_ptr) const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x25b0a53)
[2023/08/24 22:37:27.882] 3:     #19 realm::AsyncOpenTask::async_open_complete(realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>&&, std::shared_ptr<realm::_impl::RealmCoordinator>, realm::Status) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/async_open_task.cpp:169 (realm-object-store-tests+0x25b0a53)
[2023/08/24 22:37:27.882] 3:     #20 operator() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/async_open_task.cpp:70 (realm-object-store-tests+0x25b12b5)
[2023/08/24 22:37:27.882] 3:     #21 realm::util::UniqueFunction<void (realm::Status)>::SpecificImpl<realm::AsyncOpenTask::start(realm::util::UniqueFunction<void (realm::ThreadSafeReference, std::__exception_ptr::exception_ptr)>)::$_0>::call(realm::Status&&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x25b12b5)
[2023/08/24 22:37:27.882] 3:     #22 realm::util::UniqueFunction<void (realm::Status)>::operator()(realm::Status) const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x25e4d5c)
[2023/08/24 22:37:27.882] 3:     #23 operator() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/sync_session.cpp:1203 (realm-object-store-tests+0x25e4d5c)
[2023/08/24 22:37:27.882] 3:     #24 realm::util::UniqueFunction<void (realm::Status)>::SpecificImpl<realm::SyncSession::add_completion_callback(realm::util::UniqueFunction<void (realm::Status)>, realm::_impl::SyncProgressNotifier::NotifierType)::$_14>::call(realm::Status&&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x25e4d5c)
[2023/08/24 22:37:27.882] 3:     #25 realm::util::UniqueFunction<void (realm::Status)>::operator()(realm::Status) const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x27e934b)
[2023/08/24 22:37:27.882] 3:     #26 realm::sync::SessionWrapper::on_download_completion() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/client.cpp:1732 (realm-object-store-tests+0x27e934b)
[2023/08/24 22:37:27.882] 3:     #27 realm::sync::ClientImpl::Session::on_download_completion() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/client.cpp:772 (realm-object-store-tests+0x27e9208)
[2023/08/24 22:37:27.882] 3:     #28 realm::sync::ClientImpl::Session::check_for_download_completion() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:2735 (realm-object-store-tests+0x28105a4)
[2023/08/24 22:37:27.882] 3:     #29 realm::sync::ClientImpl::Session::receive_mark_message(unsigned long) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:2458 (realm-object-store-tests+0x280d6df)
[2023/08/24 22:37:27.882] 3:     #30 realm::sync::ClientImpl::Connection::receive_mark_message(unsigned long, unsigned long) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:1370 (realm-object-store-tests+0x280d41d)
[2023/08/24 22:37:27.882] 3:     #31 void realm::_impl::ClientProtocol::parse_message_received<realm::sync::ClientImpl::Connection>(realm::sync::ClientImpl::Connection&, std::basic_string_view<char, std::char_traits<char> >) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/protocol_codec.hpp:335 (realm-object-store-tests+0x2816532)
[2023/08/24 22:37:27.882] 3:     #32 realm::sync::ClientImpl::Connection::handle_message_received(realm::util::Span<char const, 18446744073709551615ul>) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:1063 (realm-object-store-tests+0x281ade8)
[2023/08/24 22:37:27.882] 3:     #33 realm::sync::ClientImpl::Connection::websocket_binary_message_received(realm::util::Span<char const, 18446744073709551615ul>) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:501 (realm-object-store-tests+0x281ade8)
[2023/08/24 22:37:27.882] 3:     #34 realm::sync::ClientImpl::Connection::WebSocketObserverShim::websocket_binary_message_received(realm::util::Span<char const, 18446744073709551615ul>) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/noinst/client_impl_base.cpp:717 (realm-object-store-tests+0x281ade8)
[2023/08/24 22:37:27.882] 3:     #35 realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::websocket_binary_message_received(char const*, unsigned long) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/default_socket.cpp:167 (realm-object-store-tests+0x28a435f)
[2023/08/24 22:37:27.882] 3:     #36 non-virtual thunk to realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::websocket_binary_message_received(char const*, unsigned long) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/default_socket.cpp:? (realm-object-store-tests+0x28a435f)
[2023/08/24 22:37:27.882] 3:     #37 (anonymous namespace)::WebSocket::frame_reader_loop() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/websocket.cpp:1018 (realm-object-store-tests+0x28bd989)
[2023/08/24 22:37:27.882] 3:     #38 operator() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/websocket.cpp:1063 (realm-object-store-tests+0x28bde20)
[2023/08/24 22:37:27.882] 3:     #39 realm::util::UniqueFunction<void (std::error_code, unsigned long)>::SpecificImpl<(anonymous namespace)::WebSocket::frame_reader_loop()::{lambda(std::error_code, unsigned long)#1}>::call(std::error_code&&, unsigned long&&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:154 (realm-object-store-tests+0x28bde20)
[2023/08/24 22:37:27.882] 3:     #40 realm::util::UniqueFunction<void (std::error_code, unsigned long)>::operator()(std::error_code, unsigned long) const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/util/functional.hpp:94 (realm-object-store-tests+0x26a8f9d)
[2023/08/24 22:37:27.882] 3:     #41 void realm::sync::network::Service::AsyncOper::do_recycle_and_execute_helper<realm::util::UniqueFunction<void (std::error_code, unsigned long)>, std::error_code, unsigned long>(bool, bool&, realm::util::UniqueFunction<void (std::error_code, unsigned long)>, std::error_code, unsigned long) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.hpp:2784 (realm-object-store-tests+0x26a8f9d)
[2023/08/24 22:37:27.882] 3:     #42 void realm::sync::network::Service::AsyncOper::do_recycle_and_execute<realm::util::UniqueFunction<void (std::error_code, unsigned long)>, std::error_code&, unsigned long&>(bool, realm::util::UniqueFunction<void (std::error_code, unsigned long)>&, std::error_code&, unsigned long&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.hpp:2772 (realm-object-store-tests+0x26a8f9d)
[2023/08/24 22:37:27.882] 3:     #43 realm::sync::network::Service::BasicStreamOps<realm::sync::network::Socket>::BufferedReadOper<realm::util::UniqueFunction<void (std::error_code, unsigned long)> >::recycle_and_execute() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.hpp:2636 (realm-object-store-tests+0x26a8f9d)
[2023/08/24 22:37:27.882] 3:     #44 realm::sync::network::Service::Impl::execute(std::unique_ptr<realm::sync::network::Service::AsyncOper, realm::sync::network::Service::LendersOperDeleter>&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.cpp:1646 (realm-object-store-tests+0x28b3af0)
[2023/08/24 22:37:27.882] 3:     #45 realm::sync::network::Service::Impl::run_impl(bool) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.cpp:1574 (realm-object-store-tests+0x28b3af0)
[2023/08/24 22:37:27.882] 3:     #46 realm::sync::network::Service::Impl::run_until_stopped() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.cpp:1385 (realm-object-store-tests+0x28b0413)
[2023/08/24 22:37:27.882] 3:     #47 realm::sync::network::Service::run_until_stopped() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/network.cpp:1776 (realm-object-store-tests+0x28b0413)
[2023/08/24 22:37:27.882] 3:     #48 realm::sync::websocket::DefaultSocketProvider::event_loop() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/default_socket.cpp:590 (realm-object-store-tests+0x28a12d3)
[2023/08/24 22:37:27.882] 3:     #49 void std::__invoke_impl<void, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>(std::__invoke_memfun_deref, void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:73 (realm-object-store-tests+0x28a8d75)
[2023/08/24 22:37:27.883] 3:     #50 std::__invoke_result<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>::type std::__invoke<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>(void (realm::sync::websocket::DefaultSocketProvider::*&&)(), realm::sync::websocket::DefaultSocketProvider*&&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:95 (realm-object-store-tests+0x28a8d75)
[2023/08/24 22:37:27.883] 3:     #51 void std::thread::_Invoker<std::tuple<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:244 (realm-object-store-tests+0x28a8d75)
[2023/08/24 22:37:27.883] 3:     #52 std::thread::_Invoker<std::tuple<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> >::operator()() /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:251 (realm-object-store-tests+0x28a8d75)
[2023/08/24 22:37:27.883] 3:     #53 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*> > >::_M_run() /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:195 (realm-object-store-tests+0x28a8d75)
[2023/08/24 22:37:27.883] 3:     #54 std::error_code::default_error_condition() const ??:? (libstdc++.so.6+0xd6de3)
[2023/08/24 22:37:27.883] 3:
[2023/08/24 22:37:27.883] 3:   Previous read of size 4 at 0x0000039a5640 by main thread:
[2023/08/24 22:37:27.883] 3:     #0 uv_backend_timeout /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/_deps/libuv-src/src/unix/core.c:332 (realm-object-store-tests+0x26ce3f1)
[2023/08/24 22:37:27.883] 3:     #1 uv_run /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/_deps/libuv-src/src/unix/core.c:378 (realm-object-store-tests+0x26ce3f1)
[2023/08/24 22:37:27.883] 3:     #2 realm::util::EventLoop::Impl::run_until(realm::util::FunctionRef<bool ()>) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/util/event_loop.cpp:203 (realm-object-store-tests+0x1c0f48c)
[2023/08/24 22:37:27.883] 3:     #3 realm::util::EventLoop::run_until(realm::util::FunctionRef<bool ()>) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/util/event_loop.cpp:122 (realm-object-store-tests+0x1c0f3d5)
[2023/08/24 22:37:27.883] 3:     #4 CATCH2_INTERNAL_TEST_56() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/realm.cpp:1082 (realm-object-store-tests+0x13a9339)
[2023/08/24 22:37:27.883] 3:     #5 Catch::TestInvokerAsFunction::invoke() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_test_case_registry_impl.cpp:149 (realm-object-store-tests+0x2410cfd)
[2023/08/24 22:37:27.883] 3:     #6 Catch::TestCaseHandle::invoke() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/../catch2/catch_test_case_info.hpp:115 (realm-object-store-tests+0x24055f2)
[2023/08/24 22:37:27.883] 3:     #7 Catch::RunContext::invokeActiveTestCase() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:538 (realm-object-store-tests+0x24055f2)
[2023/08/24 22:37:27.883] 3:     #8 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:501 (realm-object-store-tests+0x24055f2)
[2023/08/24 22:37:27.883] 3:     #9 Catch::RunContext::runTest(Catch::TestCaseHandle const&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:232 (realm-object-store-tests+0x2404dea)
[2023/08/24 22:37:27.883] 3:     #10 Catch::(anonymous namespace)::TestGroup::execute() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/catch_session.cpp:110 (realm-object-store-tests+0x23abad2)
[2023/08/24 22:37:27.883] 3:     #11 Catch::Session::runInternal() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/catch_session.cpp:332 (realm-object-store-tests+0x23abad2)
[2023/08/24 22:37:27.883] 3:     #12 Catch::Session::run() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/catch_session.cpp:263 (realm-object-store-tests+0x23aade0)
[2023/08/24 22:37:27.883] 3:     #13 int Catch::Session::run<char>(int, char const* const*) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/../catch2/catch_session.hpp:41 (realm-object-store-tests+0xee5d98)
[2023/08/24 22:37:27.883] 3:     #14 main /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/main.cpp:77 (realm-object-store-tests+0xee5d98)
[2023/08/24 22:37:27.883] 3:
[2023/08/24 22:37:27.883] 3:   Location is global '<null>' at 0x000000000000 (realm-object-store-tests+0x0000039a5640)
[2023/08/24 22:37:27.883] 3:
[2023/08/24 22:37:27.883] 3:   Thread T6 (tid=34432, running) created by main thread at:
[2023/08/24 22:37:27.883] 3:     #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-object-store-tests+0x97894b)
[2023/08/24 22:37:27.883] 3:     #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) ??:? (libstdc++.so.6+0xd70a8)
[2023/08/24 22:37:27.883] 3:     #2 DefaultSocketProvider /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/sync/network/default_socket.cpp:486 (realm-object-store-tests+0x28a092f)
[2023/08/24 22:37:27.883] 3:     #3 void __gnu_cxx::new_allocator<realm::sync::websocket::DefaultSocketProvider>::construct<realm::sync::websocket::DefaultSocketProvider, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(realm::sync::websocket::DefaultSocketProvider*, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h:146 (realm-object-store-tests+0x25c94a3)
[2023/08/24 22:37:27.883] 3:     #4 void std::allocator_traits<std::allocator<realm::sync::websocket::DefaultSocketProvider> >::construct<realm::sync::websocket::DefaultSocketProvider, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(std::allocator<realm::sync::websocket::DefaultSocketProvider>&, realm::sync::websocket::DefaultSocketProvider*, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h:483 (realm-object-store-tests+0x25c94a3)
[2023/08/24 22:37:27.883] 3:     #5 _Sp_counted_ptr_inplace<const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:548 (realm-object-store-tests+0x25c94a3)
[2023/08/24 22:37:27.883] 3:     #6 __shared_count<realm::sync::websocket::DefaultSocketProvider, std::allocator<realm::sync::websocket::DefaultSocketProvider>, const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:680 (realm-object-store-tests+0x25c94a3)
[2023/08/24 22:37:27.883] 3:     #7 __shared_ptr<std::allocator<realm::sync::websocket::DefaultSocketProvider>, const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h:1344 (realm-object-store-tests+0x25c83ba)
[2023/08/24 22:37:27.883] 3:     #8 shared_ptr<std::allocator<realm::sync::websocket::DefaultSocketProvider>, const std::shared_ptr<realm::util::Logger> &, std::__cxx11::basic_string<char>, const std::shared_ptr<realm::BindingCallbackThreadObserver> &> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:359 (realm-object-store-tests+0x25c83ba)
[2023/08/24 22:37:27.883] 3:     #9 std::shared_ptr<realm::sync::websocket::DefaultSocketProvider> std::allocate_shared<realm::sync::websocket::DefaultSocketProvider, std::allocator<realm::sync::websocket::DefaultSocketProvider>, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(std::allocator<realm::sync::websocket::DefaultSocketProvider> const&, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:701 (realm-object-store-tests+0x25c83ba)
[2023/08/24 22:37:27.883] 3:     #10 std::shared_ptr<realm::sync::websocket::DefaultSocketProvider> std::make_shared<realm::sync::websocket::DefaultSocketProvider, std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<realm::BindingCallbackThreadObserver> const&>(std::shared_ptr<realm::util::Logger> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<realm::BindingCallbackThreadObserver> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h:717 (realm-object-store-tests+0x25c83ba)
[2023/08/24 22:37:27.883] 3:     #11 operator() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/impl/sync_client.hpp:55 (realm-object-store-tests+0x25c83ba)
[2023/08/24 22:37:27.883] 3:     #12 SyncClient /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/impl/sync_client.hpp:46 (realm-object-store-tests+0x25c7cb9)
[2023/08/24 22:37:27.883] 3:     #13 std::_MakeUniq<realm::_impl::SyncClient>::__single_object std::make_unique<realm::_impl::SyncClient, std::shared_ptr<realm::util::Logger>&, realm::SyncClientConfig const&, std::weak_ptr<realm::SyncManager const> >(std::shared_ptr<realm::util::Logger>&, realm::SyncClientConfig const&, std::weak_ptr<realm::SyncManager const>&&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:857 (realm-object-store-tests+0x25c0674)
[2023/08/24 22:37:27.883] 3:     #14 realm::SyncManager::create_sync_client() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/sync_manager.cpp:782 (realm-object-store-tests+0x25c0674)
[2023/08/24 22:37:27.883] 3:     #15 realm::SyncManager::get_sync_client() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../src/realm/object-store/sync/sync_manager.cpp:776 (realm-object-store-tests+0x25bfadf)
[2023/08/24 22:37:27.883] 3:     #16 TestSyncManager /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/util/test_file.cpp:398 (realm-object-store-tests+0x1c15941)
[2023/08/24 22:37:27.883] 3:     #17 CATCH2_INTERNAL_TEST_56() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/realm.cpp:925 (realm-object-store-tests+0x13a64de)
[2023/08/24 22:37:27.883] 3:     #18 Catch::TestInvokerAsFunction::invoke() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_test_case_registry_impl.cpp:149 (realm-object-store-tests+0x2410cfd)
[2023/08/24 22:37:27.883] 3:     #19 Catch::TestCaseHandle::invoke() const /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/../catch2/catch_test_case_info.hpp:115 (realm-object-store-tests+0x24055f2)
[2023/08/24 22:37:27.883] 3:     #20 Catch::RunContext::invokeActiveTestCase() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:538 (realm-object-store-tests+0x24055f2)
[2023/08/24 22:37:27.883] 3:     #21 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:501 (realm-object-store-tests+0x24055f2)
[2023/08/24 22:37:27.883] 3:     #22 Catch::RunContext::runTest(Catch::TestCaseHandle const&) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/internal/catch_run_context.cpp:232 (realm-object-store-tests+0x2404dea)
[2023/08/24 22:37:27.883] 3:     #23 Catch::(anonymous namespace)::TestGroup::execute() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/catch_session.cpp:110 (realm-object-store-tests+0x23abad2)
[2023/08/24 22:37:27.883] 3:     #24 Catch::Session::runInternal() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/catch_session.cpp:332 (realm-object-store-tests+0x23abad2)
[2023/08/24 22:37:27.883] 3:     #25 Catch::Session::run() /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/catch_session.cpp:263 (realm-object-store-tests+0x23aade0)
[2023/08/24 22:37:27.883] 3:     #26 int Catch::Session::run<char>(int, char const* const*) /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../external/catch/src/catch2/../catch2/catch_session.hpp:41 (realm-object-store-tests+0xee5d98)
[2023/08/24 22:37:27.883] 3:     #27 main /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/../test/object-store/main.cpp:77 (realm-object-store-tests+0xee5d98)
[2023/08/24 22:37:27.883] 3:
[2023/08/24 22:37:27.883] 3: SUMMARY: ThreadSanitizer: data race /data/mci/66d511bcd4fd0db7b106f16f465d222c/realm-core/build/_deps/libuv-src/src/unix/async.c:56 in uv_async_init
[2023/08/24 22:37:27.884] 3: ==================

kiburtse and others added 3 commits August 30, 2023 14:24
* maybe fix a buffer overrun in a test
* maybe fix a race in async_open_realm test util
@kiburtse kiburtse force-pushed the kb/sanitizer_build_configs_improve branch from 1478165 to e4da3fd Compare September 8, 2023 12:04
@coveralls-official
Copy link

coveralls-official bot commented Sep 25, 2023

Pull Request Test Coverage Report for Build kirill.burtsev_99

  • 54 of 63 (85.71%) changed or added relevant lines in 15 files are covered.
  • 67 unchanged lines in 9 files lost coverage.
  • Overall coverage decreased (-0.006%) to 91.576%

Changes Missing Coverage Covered Lines Changed/Added Lines %
test/fuzz_tester.hpp 0 1 0.0%
src/realm/sync/transform.cpp 6 8 75.0%
src/realm/util/timestamp_logger.cpp 0 2 0.0%
test/object-store/realm.cpp 6 8 75.0%
test/util/unit_test.cpp 2 4 50.0%
Files with Coverage Reduction New Missed Lines %
test/test_dictionary.cpp 1 99.85%
test/test_index_string.cpp 1 94.13%
src/realm/sync/network/websocket.cpp 2 75.15%
src/realm/sync/noinst/protocol_codec.hpp 3 76.72%
src/realm/link_translator.cpp 4 80.33%
src/realm/sync/instructions.hpp 4 75.52%
src/realm/util/file.cpp 7 80.81%
src/realm/sync/noinst/client_impl_base.cpp 10 85.34%
test/fuzz_group.cpp 35 51.46%
Totals Coverage Status
Change from base Build 1784: -0.006%
Covered Lines: 230631
Relevant Lines: 251847

💛 - Coveralls

@kiburtse
Copy link
Contributor Author

kiburtse commented Oct 26, 2023

So, the CI is green with all new configurations. Is it good to go?

Workaround for tsan issues with libuv on ubuntu was enough to make the CI happy, but i've filled #7083. I think it would need to solved somehow. Our api currently allows for this invalid usecase.

Copy link
Contributor

@ironage ironage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. If CI is all passing then let's get this in! 👍

src/realm/sync/transform.cpp Show resolved Hide resolved
@@ -112,6 +112,8 @@ const std::string_view Logger::level_to_string(Level level) noexcept

void StderrLogger::do_log(Level level, const std::string& message)
{
static Mutex mutex;
LockGuard l(mutex);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

StderrLogger should be wrapped with ThreadSafeLogger when this behavior is desired rather than adding it to each logger.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, i'll try to revert this back on next pr in order to not let this one to stale for longer. It's just that wrapping StderrLogger is not the only thing. The very same instance should be then shared everywhere on every config. It's not the case now. Also, the problem is with a few places where logger is initialized from realm default, which doesn't know anything about other parts. So, it's easy to misuse as it turned out during these fixes here.

@@ -902,10 +902,10 @@ class ColKeyIterator {

private:
friend class ColKeys;
const Table* m_table;
ConstTableRef m_table;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is probably harmless, but using ColKeys as anything other than a temporary that doesn't need a strong reference to the table seems very suspicious and is probably broken even if it doesn't hit UB.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was caught by a few new asan configuraions. How it wasn't fixed in the test in 5 years i don't understand really. Now just it will at least check this situation with the ref.

@kiburtse kiburtse merged commit 0857dbd into master Oct 28, 2023
34 checks passed
@kiburtse kiburtse deleted the kb/sanitizer_build_configs_improve branch October 28, 2023 12:35
@kiburtse kiburtse mentioned this pull request Dec 14, 2023
4 tasks
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants