New issue
Advanced search Search tips

Issue 763055 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner: ----
Closed: Jul 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Test pair flake: CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart

Project Member Reported by scottmg@chromium.org, Sep 7 2017

Issue description

scottmg@humid:/usr/local/google/cr-perry/src$ out/asan/base_unittests --gtest_filter=CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart --gtest_shuffle --gtest_repeat=100 --gtest_break_on_failure 2>&1 | tools/valgrind/asan/asan_symbolize.py
IMPORTANT DEBUGGING NOTE: batches of tests are run inside their
own process. For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with
--single-process-tests.
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 27749 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (206 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (206 ms total)

[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (206 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (206 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 28101 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (212 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (212 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (213 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (212 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 28477 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (1 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (212 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (212 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (213 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (212 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 28842 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (222 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (222 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (222 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (222 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 29186 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (206 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (206 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (207 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (206 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 29549 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (204 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (204 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (205 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (204 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 29865 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
[       OK ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (210 ms)
[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest (210 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (211 ms total)
[  PASSED  ] 2 tests.
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (210 ms)
SUCCESS: all tests passed.
Note: Google Test filter = CallbackListTest.AddCallbacksDuringIteration:TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
Note: Randomizing tests' orders with a seed of 30229 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from CallbackListTest
[ RUN      ] CallbackListTest.AddCallbacksDuringIteration
[       OK ] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[----------] 1 test from CallbackListTest (0 ms total)

[----------] 1 test from TaskSchedulerSingleThreadTaskRunnerManagerStartTest
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart
=================================================================
==7752==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f6cee82e420 at pc 0x000002406a2f bp 0x7f6ceb83da80 sp 0x7f6ceb83da78
READ of size 4 at 0x7f6cee82e420 thread T2 (TaskSchedulerSi)
    #0 0x2406a2e in load /usr/local/google/cr-perry/src/out/asan/../../buildtools/third_party/libc++/trunk/include/atomic:922:17
    #1 0x2406a2e in Acquire_Load /usr/local/google/cr-perry/src/out/asan/../../base/atomicops_internals_portable.h:134:0
    #2 0x2406a2e in base::AtomicFlag::IsSet() const /usr/local/google/cr-perry/src/out/asan/../../base/synchronization/atomic_flag.cc:25:0
    #3 0x1b4ad0b in operator() /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:592:17
    #4 0x1b4ad0b in Invoke<base::WaitableEvent *, base::AtomicFlag *> /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:136:0
    #5 0x1b4ad0b in MakeItSo<(lambda at ../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:588:15), base::WaitableEvent *, base::AtomicFlag *> /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:277:0
    #6 0x1b4ad0b in RunImpl<(lambda at ../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:588:15), std::__1::tuple<base::internal::UnretainedWrapper<base::WaitableEvent>, base::internal::UnretainedWrapper<base::AtomicFlag> >, 0, 1> /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:349:0
    #7 0x1b4ad0b in base::internal::Invoker<base::internal::BindState<base::internal::TaskSchedulerSingleThreadTaskRunnerManagerStartTest_PostTaskBeforeStart_Test::TestBody()::$_2, base::internal::UnretainedWrapper<base::WaitableEvent>, base::internal::UnretainedWrapper<base::AtomicFlag> >, void ()>::RunOnce(base::internal::BindStateBase*) /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:318:0
    #8 0x22ea7c8 in Run /usr/local/google/cr-perry/src/out/asan/../../base/callback.h:64:12
    #9 0x22ea7c8 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /usr/local/google/cr-perry/src/out/asan/../../base/debug/task_annotator.cc:65:0
    #10 0x243305c in base::internal::TaskTracker::PerformRunTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*) /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/task_tracker.cc:335:28
    #11 0x2432449 in base::internal::TaskTracker::RunNextTask(base::internal::Sequence*) /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/task_tracker.cc:251:5
    #12 0x24245e0 in base::internal::SchedulerWorker::Thread::ThreadMain() /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_worker.cc:73:34
    #13 0x244e2e4 in base::(anonymous namespace)::ThreadFunc(void*) /usr/local/google/cr-perry/src/out/asan/../../base/threading/platform_thread_posix.cc:75:13
    #14 0x7f6cf318f183 in start_thread /build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312:0

Address 0x7f6cee82e420 is located in stack of thread T0 at offset 32 in frame
    #0 0x1b41d1f in base::internal::TaskSchedulerSingleThreadTaskRunnerManagerStartTest_PostTaskBeforeStart_Test::TestBody() /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:578:0

  This frame has 7 object(s):
    [32, 40) 'manager_started' (line 579) <== Memory access at offset 32 is inside this variable
    [64, 72) 'task_running' (line 580)
    [96, 104) 'temp.lvalue'
    [128, 152) 'ref.tmp' (line 582)
    [192, 212) 'ref.tmp2' (line 582)
    [256, 288) 'ref.tmp4' (line 582)
    [320, 328) 'agg.tmp'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-return (/usr/local/google/cr-perry/src/out/asan/base_unittests+0x2406a2e)
Shadow bytes around the buggy address:
  0x0fee1dcfdc30: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdc40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdc50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdc60: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdc70: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
=>0x0fee1dcfdc80: f5 f5 f5 f5[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdc90: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdca0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdcb0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdcc0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fee1dcfdcd0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
Thread T2 (TaskSchedulerSi) created by T0 here:
    #0 0x65e7dd in __interceptor_pthread_create ??:0:0
    #1 0x244d5fa in base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) /usr/local/google/cr-perry/src/out/asan/../../base/threading/platform_thread_posix.cc:114:13
    #2 0x2423b31 in Initialize /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_worker.cc:118:5
    #3 0x2423b31 in base::internal::SchedulerWorker::Thread::Create(scoped_refptr<base::internal::SchedulerWorker>) /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_worker.cc:31:0
    #4 0x24236ba in base::internal::SchedulerWorker::Start() /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_worker.cc:206:13
    #5 0x241f12b in base::internal::SchedulerSingleThreadTaskRunnerManager::Start() /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_single_thread_task_runner_manager.cc:385:13
    #6 0x1b421b0 in base::internal::TaskSchedulerSingleThreadTaskRunnerManagerStartTest_PostTaskBeforeStart_Test::TestBody() /usr/local/google/cr-perry/src/out/asan/../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:602:39
    #7 0x228dc1c in HandleExceptionsInMethodIfSupported<testing::Test, void> /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2456:12
    #8 0x228dc1c in testing::Test::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2472:0
    #9 0x228f8c4 in testing::TestInfo::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2654:11
    #10 0x2290c76 in testing::TestCase::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2772:28
    #11 0x22a6d96 in testing::internal::UnitTestImpl::RunAllTests() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:4677:43
    #12 0x22a6308 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2456:12
    #13 0x22a6308 in testing::UnitTest::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:4285:0
    #14 0x2556892 in RUN_ALL_TESTS /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46
    #15 0x2556892 in base::TestSuite::Run() /usr/local/google/cr-perry/src/out/asan/../../base/test/test_suite.cc:270:0
    #16 0x2573f64 in Run /usr/local/google/cr-perry/src/out/asan/../../base/callback.h:92:12
    #17 0x2573f64 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) /usr/local/google/cr-perry/src/out/asan/../../base/test/launcher/unit_test_launcher.cc:216:0
    #18 0x2573b66 in base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) /usr/local/google/cr-perry/src/out/asan/../../base/test/launcher/unit_test_launcher.cc:475:10
    #19 0x252ca3c in main /usr/local/google/cr-perry/src/out/asan/../../base/test/run_all_base_unittests.cc:12:10
    #20 0x7f6cf1d5cf44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287:0

==7752==ABORTING
[1/2] CallbackListTest.AddCallbacksDuringIteration (0 ms)
[2/2] TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (CRASHED)
1 test crashed:
    TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:578)
Summary of all test iterations:
1 test crashed:
    TaskSchedulerSingleThreadTaskRunnerManagerStartTest.PostTaskBeforeStart (../../base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc:578)
End of the summary.
Tests took 2 seconds.
scottmg@humid:/usr/local/google/cr-perry/src$
 
Labels: Needs-Milestone TE-NeedsTriageHelp
Adding 'TE-NeedsTriageHelp' label for further help, as this issue is related to Test pair flake and TE cannot test this issue

Thanks..
Components: Internals>TaskScheduler
Mergedinto: 784051
Status: Duplicate (was: Unconfirmed)

Sign in to add a comment