Issue metadata
Sign in to add a comment
|
PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete is Flaky |
||||||||||||||||||||
Issue descriptionFindit has detected a flake at test PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete. Culprit (70.0% confidence): https://chromium-review.googlesource.com/q/Ie45b36a4e463674122555dbec2105953a882f37c Regression range: None Analysis: https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVyvQELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKGAWNocm9taXVtLm1lbW9yeS9MaW51eCBUU2FuIFRlc3RzLzIxODkzL3NlcnZpY2VzX3VuaXR0ZXN0cy9VR1Z5Wm1WMGRHOUpiblJsWjNKaGRHbHZibFJsYzNRdVEyOXRiV2wwUkdGMFlWSmxjWFZsYzNSSmMwMWhlV0psUTI5dGNHeGxkR1U9DAsSE01hc3RlckZsYWtlQW5hbHlzaXMYAQw If this result was incorrect, apply the label Test-Findit-Wrong, mark the bug as Untriaged and the component Tools>Test>Findit>Flakiness.
,
May 24 2018
Yes, this seems likely.
Example log:
[ RUN ] PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete
[90mservice_impl.cc:358 [0m [39mEnabled tracing, #sources:1, duration:0 ms, #buffers:1, total buffer size:409600 KB, total sessions:1[0m
==================
WARNING: ThreadSanitizer: data race (pid=24983)
Read of size 1 at 0x7b24000011e0 by main thread:
#0 __is_long buildtools/third_party/libc++/trunk/include/string:1266:39 (libc++.so+0xec17b)
#1 capacity buildtools/third_party/libc++/trunk/include/string:909 (libc++.so+0xec17b)
#2 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long) buildtools/third_party/libc++/trunk/include/string:2233 (libc++.so+0xec17b)
#3 append buildtools/third_party/libc++/trunk/include/string:2358:12 (services_unittests+0x17b1ec6)
#4 operator+= buildtools/third_party/libc++/trunk/include/string:929 (services_unittests+0x17b1ec6)
#5 tracing::(anonymous namespace)::MockProducerClient::CommitData(perfetto::CommitDataRequest const&, std::__1::function<void ()>) services/tracing/perfetto/perfetto_integration_unittest.cc:142 (services_unittests+0x17b1ec6)
#6 non-virtual thunk to tracing::(anonymous namespace)::MockProducerClient::CommitData(perfetto::CommitDataRequest const&, std::__1::function<void ()>) services/tracing/perfetto/perfetto_integration_unittest.cc (services_unittests+0x17b21ad)
#7 perfetto::SharedMemoryArbiterImpl::FlushPendingCommitDataRequests(std::__1::function<void ()>) third_party/perfetto/src/tracing/core/shared_memory_arbiter_impl.cc:226:25 (services_unittests+0x313bba9)
#8 perfetto::TraceWriterImpl::Flush(std::__1::function<void ()>) third_party/perfetto/src/tracing/core/trace_writer_impl.cc:71:21 (services_unittests+0x3142edf)
#9 perfetto::TraceWriterImpl::~TraceWriterImpl() third_party/perfetto/src/tracing/core/trace_writer_impl.cc:59:5 (services_unittests+0x3142bfe)
#10 perfetto::TraceWriterImpl::~TraceWriterImpl() third_party/perfetto/src/tracing/core/trace_writer_impl.cc:56:37 (services_unittests+0x3142d59)
#11 operator() buildtools/third_party/libc++/trunk/include/memory:2321:5 (services_unittests+0x17b5c79)
#12 reset buildtools/third_party/libc++/trunk/include/memory:2634 (services_unittests+0x17b5c79)
#13 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588 (services_unittests+0x17b5c79)
#14 WritePacketBigly services/tracing/perfetto/perfetto_integration_unittest.cc:92 (services_unittests+0x17b5c79)
#15 tracing::(anonymous namespace)::PerfettoIntegrationTest_CommitDataRequestIsMaybeComplete_Test::TestBody() services/tracing/perfetto/perfetto_integration_unittest.cc:429 (services_unittests+0x17b5c79)
#16 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x1f199d6)
#17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11 (services_unittests+0x1f1ab0c)
#18 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28 (services_unittests+0x1f1b396)
#19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43 (services_unittests+0x1f2b936)
#20 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x1f2b21a)
#21 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46 (services_unittests+0x3f200c5)
#22 base::TestSuite::Run() base/test/test_suite.cc:275 (services_unittests+0x3f200c5)
#23 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:447:12 (services_unittests+0x19f46d8)
#24 MakeItSo<int (base::TestSuite::*const &)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:547 (services_unittests+0x19f46d8)
#25 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> > &, 0> base/bind_internal.h:621 (services_unittests+0x19f46d8)
#26 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:603 (services_unittests+0x19f46d8)
#27 Run base/callback.h:96:12 (services_unittests+0x3f2a293)
#28 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x3f2a293)
#29 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (services_unittests+0x3f2a0f3)
#30 service_manager::InitializeAndLaunchUnitTests(int, char**, base::OnceCallback<int ()>) services/service_manager/public/cpp/test/common_initialization.cc:46:10 (services_unittests+0x3174480)
#31 main services/test/run_all_service_tests.cc:60:10 (services_unittests+0x19f4446)
Previous write of size 1 at 0x7b24000011e0 by thread T4:
#0 __set_short_size buildtools/third_party/libc++/trunk/include/string:1310:35 (libc++.so+0xec27f)
#1 __set_size buildtools/third_party/libc++/trunk/include/string:1331 (libc++.so+0xec27f)
#2 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long) buildtools/third_party/libc++/trunk/include/string:2242 (libc++.so+0xec27f)
#3 append buildtools/third_party/libc++/trunk/include/string:2358:12 (services_unittests+0x17b1ec6)
#4 operator+= buildtools/third_party/libc++/trunk/include/string:929 (services_unittests+0x17b1ec6)
#5 tracing::(anonymous namespace)::MockProducerClient::CommitData(perfetto::CommitDataRequest const&, std::__1::function<void ()>) services/tracing/perfetto/perfetto_integration_unittest.cc:142 (services_unittests+0x17b1ec6)
#6 non-virtual thunk to tracing::(anonymous namespace)::MockProducerClient::CommitData(perfetto::CommitDataRequest const&, std::__1::function<void ()>) services/tracing/perfetto/perfetto_integration_unittest.cc (services_unittests+0x17b21ad)
#7 perfetto::SharedMemoryArbiterImpl::FlushPendingCommitDataRequests(std::__1::function<void ()>) third_party/perfetto/src/tracing/core/shared_memory_arbiter_impl.cc:226:25 (services_unittests+0x313bba9)
#8 operator() third_party/perfetto/src/tracing/core/shared_memory_arbiter_impl.cc:200:20 (services_unittests+0x313cc59)
#9 __invoke<(lambda at ../../third_party/perfetto/src/tracing/core/shared_memory_arbiter_impl.cc:198:28) &> buildtools/third_party/libc++/trunk/include/type_traits:4339 (services_unittests+0x313cc59)
#10 __call<(lambda at ../../third_party/perfetto/src/tracing/core/shared_memory_arbiter_impl.cc:198:28) &> buildtools/third_party/libc++/trunk/include/__functional_base:349 (services_unittests+0x313cc59)
#11 std::__1::__function::__func<perfetto::SharedMemoryArbiterImpl::ReturnCompletedChunk(perfetto::SharedMemoryABI::Chunk, unsigned short, perfetto::PatchList*)::$_0, std::__1::allocator<perfetto::SharedMemoryArbiterImpl::ReturnCompletedChunk(perfetto::SharedMemoryABI::Chunk, unsigned short, perfetto::PatchList*)::$_0>, void ()>::operator()() buildtools/third_party/libc++/trunk/include/functional:1562 (services_unittests+0x313cc59)
#12 operator() buildtools/third_party/libc++/trunk/include/functional:1913:12 (services_unittests+0x6b4969e)
#13 operator() services/tracing/public/cpp/perfetto/task_runner.cc:23 (services_unittests+0x6b4969e)
#14 Invoke<(lambda at ../../services/tracing/public/cpp/perfetto/task_runner.cc:23:22), std::__1::function<void ()> > base/bind_internal.h:389 (services_unittests+0x6b4969e)
#15 MakeItSo<(lambda at ../../services/tracing/public/cpp/perfetto/task_runner.cc:23:22), std::__1::function<void ()> > base/bind_internal.h:547 (services_unittests+0x6b4969e)
#16 RunImpl<(lambda at ../../services/tracing/public/cpp/perfetto/task_runner.cc:23:22), std::__1::tuple<std::__1::function<void ()> >, 0> base/bind_internal.h:621 (services_unittests+0x6b4969e)
#17 base::internal::Invoker<base::internal::BindState<tracing::PerfettoTaskRunner::PostTask(std::__1::function<void ()>)::$_0, std::__1::function<void ()> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:589 (services_unittests+0x6b4969e)
#18 Run base/callback.h:96:12 (services_unittests+0x317a24a)
#19 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (services_unittests+0x317a24a)
#20 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker.cc:531:23 (services_unittests+0x31ec51f)
#21 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker_posix.cc:23:16 (services_unittests+0x324fd97)
#22 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/test/scoped_task_environment.cc:330:49 (services_unittests+0x3f1c290)
#23 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) base/task_scheduler/task_tracker.cc:404:3 (services_unittests+0x31ebb6a)
#24 base::internal::SchedulerWorker::RunWorker() base/task_scheduler/scheduler_worker.cc:321:24 (services_unittests+0x31e7782)
#25 base::internal::SchedulerWorker::RunBackgroundPooledWorker() base/task_scheduler/scheduler_worker.cc:221:3 (services_unittests+0x31e7381)
#26 base::internal::SchedulerWorker::ThreadMain() base/task_scheduler/scheduler_worker.cc:173:9 (services_unittests+0x31e730f)
#27 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (services_unittests+0x32505fd)
Location is heap block of size 144 at 0x7b2400001170 allocated by main thread:
#0 operator new(unsigned long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:57:3 (services_unittests+0x12676e9)
#1 make_unique<tracing::(anonymous namespace)::MockProducerClient, const unsigned long &, base::RepeatingCallback<void ()> > buildtools/third_party/libc++/trunk/include/memory:3114:28 (services_unittests+0x17b58f8)
#2 tracing::(anonymous namespace)::PerfettoIntegrationTest_CommitDataRequestIsMaybeComplete_Test::TestBody() services/tracing/perfetto/perfetto_integration_unittest.cc:418 (services_unittests+0x17b58f8)
#3 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x1f199d6)
#4 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11 (services_unittests+0x1f1ab0c)
#5 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28 (services_unittests+0x1f1b396)
#6 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43 (services_unittests+0x1f2b936)
#7 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x1f2b21a)
#8 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46 (services_unittests+0x3f200c5)
#9 base::TestSuite::Run() base/test/test_suite.cc:275 (services_unittests+0x3f200c5)
#10 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:447:12 (services_unittests+0x19f46d8)
#11 MakeItSo<int (base::TestSuite::*const &)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:547 (services_unittests+0x19f46d8)
#12 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> > &, 0> base/bind_internal.h:621 (services_unittests+0x19f46d8)
#13 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:603 (services_unittests+0x19f46d8)
#14 Run base/callback.h:96:12 (services_unittests+0x3f2a293)
#15 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x3f2a293)
#16 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (services_unittests+0x3f2a0f3)
#17 service_manager::InitializeAndLaunchUnitTests(int, char**, base::OnceCallback<int ()>) services/service_manager/public/cpp/test/common_initialization.cc:46:10 (services_unittests+0x3174480)
#18 main services/test/run_all_service_tests.cc:60:10 (services_unittests+0x19f4446)
Thread T4 'TaskSchedulerBa' (tid=24994, running) created by main thread at:
#0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (services_unittests+0x11fdfb5)
#1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (services_unittests+0x3250187)
#2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (services_unittests+0x3250085)
#3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task_scheduler/scheduler_worker.cc:74:3 (services_unittests+0x31e6faf)
#4 base::internal::SchedulerWorkerPoolImpl::CreateRegisterAndStartSchedulerWorkerLockRequired() base/task_scheduler/scheduler_worker_pool_impl.cc:860:16 (services_unittests+0x31e2cab)
#5 base::internal::SchedulerWorkerPoolImpl::Start(base::SchedulerWorkerPoolParams const&, scoped_refptr<base::TaskRunner>, base::SchedulerWorkerObserver*, base::internal::SchedulerWorkerPoolImpl::WorkerEnvironment) base/task_scheduler/scheduler_worker_pool_impl.cc:242:9 (services_unittests+0x31e256b)
#6 base::internal::TaskSchedulerImpl::Start(base::TaskScheduler::InitParams const&, base::SchedulerWorkerObserver*) base/task_scheduler/task_scheduler_impl.cc:118:39 (services_unittests+0x31de232)
#7 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ExecutionMode) base/test/scoped_task_environment.cc:139:33 (services_unittests+0x3f1bb58)
#8 PerfettoIntegrationTest services/tracing/perfetto/perfetto_integration_unittest.cc:37:7 (services_unittests+0x17b564a)
#9 PerfettoIntegrationTest_CommitDataRequestIsMaybeComplete_Test services/tracing/perfetto/perfetto_integration_unittest.cc:405 (services_unittests+0x17b564a)
#10 testing::internal::TestFactoryImpl<tracing::(anonymous namespace)::PerfettoIntegrationTest_CommitDataRequestIsMaybeComplete_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:466 (services_unittests+0x17b564a)
#11 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x1f1aa4e)
#12 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28 (services_unittests+0x1f1b396)
#13 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43 (services_unittests+0x1f2b936)
#14 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x1f2b21a)
#15 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46 (services_unittests+0x3f200c5)
#16 base::TestSuite::Run() base/test/test_suite.cc:275 (services_unittests+0x3f200c5)
#17 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:447:12 (services_unittests+0x19f46d8)
#18 MakeItSo<int (base::TestSuite::*const &)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:547 (services_unittests+0x19f46d8)
#19 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> > &, 0> base/bind_internal.h:621 (services_unittests+0x19f46d8)
#20 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:603 (services_unittests+0x19f46d8)
#21 Run base/callback.h:96:12 (services_unittests+0x3f2a293)
#22 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x3f2a293)
#23 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (services_unittests+0x3f2a0f3)
#24 service_manager::InitializeAndLaunchUnitTests(int, char**, base::OnceCallback<int ()>) services/service_manager/public/cpp/test/common_initialization.cc:46:10 (services_unittests+0x3174480)
#25 main services/test/run_all_service_tests.cc:60:10 (services_unittests+0x19f4446)
SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/string:1266:39 in __is_long
==================
,
May 24 2018
Disabling test in https://chromium-review.googlesource.com/c/chromium/src/+/1071075
,
May 24 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c4b384a298f00b8c4d39170c3531bb488e9e7ece commit c4b384a298f00b8c4d39170c3531bb488e9e7ece Author: Oystein Eftevaag <oysteine@chromium.org> Date: Thu May 24 07:20:47 2018 Disabled PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete on tsan while investigating The feature is behind a flag and I'm fairly sure this is an issue with the test itself, so I'm disabling it for TSan while investigating. Tbr: primiano@chromium.org Bug: 846204 Change-Id: Ie0e05a35ceef124722e3cef545a2bc945a5b7849 Reviewed-on: https://chromium-review.googlesource.com/1071075 Reviewed-by: oysteine <oysteine@chromium.org> Commit-Queue: oysteine <oysteine@chromium.org> Cr-Commit-Position: refs/heads/master@{#561408} [modify] https://crrev.com/c4b384a298f00b8c4d39170c3531bb488e9e7ece/services/tracing/perfetto/perfetto_integration_unittest.cc
,
May 24 2018
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by Findit
, May 24 2018