New issue
Advanced search Search tips

Issue 846204 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Flaky-Test: PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete



Sign in to add a comment

PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete is Flaky

Project Member Reported by Findit, May 24 2018

Issue description

Findit 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.
 
Project Member

Comment 1 by Findit, May 24 2018

Findit identified the culprit r561356 with confidence 70.0% in the config "chromium.memory / Linux TSan Tests"
based on the flakiness trend:

https://findit-for-me.appspot.com/waterfall/flake?key=ag9zfmZpbmRpdC1mb3ItbWVyvQELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKGAWNocm9taXVtLm1lbW9yeS9MaW51eCBUU2FuIFRlc3RzLzIxODkzL3NlcnZpY2VzX3VuaXR0ZXN0cy9VR1Z5Wm1WMGRHOUpiblJsWjNKaGRHbHZibFJsYzNRdVEyOXRiV2wwUkdGMFlWSmxjWFZsYzNSSmMwMWhlV0psUTI5dGNHeGxkR1U9DAsSE01hc3RlckZsYWtlQW5hbHlzaXMYAQw


Automatically posted by the findit-for-me app (https://goo.gl/Ot9f7N).
Feedback is welcome! Please use component Tools>Test>FindIt>Flakiness

Comment 2 by yutak@chromium.org, May 24 2018

Owner: oysteine@chromium.org
Status: Assigned (was: Available)
Yes, this seems likely.

Example log:

[ RUN      ] PerfettoIntegrationTest.CommitDataRequestIsMaybeComplete
service_impl.cc:358      Enabled tracing, #sources:1, duration:0 ms, #buffers:1, total buffer size:409600 KB, total sessions:1
==================
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
==================
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Comment 5 by gab@chromium.org, May 24 2018

Labels: -Sheriff-Chromium

Sign in to add a comment