tsan apparent false positive on Ubuntu1810 - __interceptor_pipe

Description

==================
WARNING: ThreadSanitizer: data race (pid=10912)
Write of size 8 at 0x7b0400000820 by main thread:
#0 pipe <null> (libtsan.so.0+0x2fe39)
#1 <null> <null> (libubsan.so.1+0x1b6fd)
#2 main <null> (Test36+0x3938c0)

Previous write of size 8 at 0x7b0400000820 by thread T1:
#0 pipe <null> (libtsan.so.0+0x2fe39)
#1 <null> <null> (libubsan.so.1+0x1b6fd)
#2 std::Function_handler<void (), Stroika::Foundation::Execution:rocessRunner::CreateRunnable(Stroika::Foundation::Execution::Synchronized<std::optional<Stroika::Foundation::Execution:rocessRunner:rocessResultType>, Stroika::Foundation::Execution::Synchronized_Traits<std::recursive_mutex, true, false, std::unique_lock<std::recursive_mutex>, std::unique_lock<std::recursive_mutex> > >, Stroika::Foundation::Execution::Synchronized<std::optional<int>, Stroika::Foundation::Execution::Synchronized_Traits<std::recursive_mutex, true, false, std::unique_lock<std::recursive_mutex>, std::unique_lock<std::recursive_mutex> > >, Stroika::Foundation::Execution:rogressMonitor::Updater)::{lambda()#1}>::_M_invoke(std::_Any_data const&) [clone .lto_priv.680] <null> (Test36+0x5d057a)
#3 Stroika::Foundation::Execution::Thread::Rep_::ThreadMain_(std::shared_ptr<Stroika::Foundation::Execution::Thread::Rep_> const*) <null> (Test36+0x4c7a1c)
#4 std::thread::State_impl<std::thread::_Invoker<std::tuple<Stroika::Foundation::Execution::Thread::Rep:oCreate(std::shared_ptr<Stroika::Foundation::Execution::Thread::Rep_> const*)::{lambda()#1}> > >::_M_run() <null> (Test36+0x4c8b81)
#5 execute_native_thread_routine <null> (Test36+0x69395e)

As if synchronized via sleep:
#0 nanosleep <null> (libtsan.so.0+0x4e3e0)
#1 (anonymous namespace):oRegressionTests_() <null> (Test36+0x64cd92)
#2 main <null> (Test36+0x3938c0)

Thread T1 'ProcessRunner b' (tid=10926, running) created by main thread at:
#0 pthread_create <null> (libtsan.so.0+0x2c37e)
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void ()) <null> (Test36+0x693c14)
#2 (anonymous namespace):oRegressionTests_() <null> (Test36+0x64cc56)
#3 main <null> (Test36+0x3938c0)

SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2fe39) in __interceptor_pipe
==================
ThreadSanitizer: reported 1 warnings
[Succeeded] (13 seconds) [36] Foundation::Execution:rocessRunner (../Builds/g++-release-sanitize_thread_undefined/Test36)

created
ThreadSanitizerSuppressions-Ubuntu1810-x86_64.supp

Environment

None

Status

Assignee

Lewis Pringle

Reporter

Lewis Pringle

Labels

None

Components

Priority

Lowest
Configure