scottmg@humid:/usr/local/google/cr-perry/src$ out/asan/base_unittests --gtest_filter=TimeTest.ParseTimeTestEpoch2:MessagePumpLibeventTest.QuitWatcher --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 = TimeTest.ParseTimeTestEpoch2:MessagePumpLibeventTest.QuitWatcher
Note: Randomizing tests' orders with a seed of 13868 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from MessagePumpLibeventTest
[ RUN ] MessagePumpLibeventTest.QuitWatcher
[ OK ] MessagePumpLibeventTest.QuitWatcher (13 ms)
[----------] 1 test from MessagePumpLibeventTest (13 ms total)
[----------] 1 test from TimeTest
[ RUN ] TimeTest.ParseTimeTestEpoch2
[ OK ] TimeTest.ParseTimeTestEpoch2 (0 ms)
[----------] 1 test from TimeTest (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (13 ms total)
[ PASSED ] 2 tests.
[1/2] TimeTest.ParseTimeTestEpoch2 (0 ms)
[2/2] MessagePumpLibeventTest.QuitWatcher (13 ms)
SUCCESS: all tests passed.
Note: Google Test filter = TimeTest.ParseTimeTestEpoch2:MessagePumpLibeventTest.QuitWatcher
Note: Randomizing tests' orders with a seed of 14013 .
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from TimeTest
[ RUN ] TimeTest.ParseTimeTestEpoch2
[ OK ] TimeTest.ParseTimeTestEpoch2 (0 ms)
[----------] 1 test from TimeTest (0 ms total)
[----------] 1 test from MessagePumpLibeventTest
[ RUN ] MessagePumpLibeventTest.QuitWatcher
=================================================================
==12612==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f93dcd31b90 at pc 0x0000005f1be0 bp 0x7f93dae476d0 sp 0x7f93dae46e80
READ of size 1 at 0x7f93dcd31b90 thread T1 (MessagePumpLibe)
#0 0x5f1bdf in __interceptor_write ??:0:0
#1 0x231fa6d in base::WriteFileDescriptor(int, char const*, int) /usr/local/google/cr-perry/src/out/asan/../../base/files/file_util_posix.cc:780:9
#2 0x223e99c in base::(anonymous namespace)::WriteFDWrapper(int, char const*, int, base::WaitableEvent*) /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_pump_libevent_unittest.cc:236:3
#3 0x240f044 in Run /usr/local/google/cr-perry/src/out/asan/../../base/callback.h:64:12
#4 0x240f044 in base::AsyncCallbackHelper(base::Flag*, base::OnceCallback<void (base::WaitableEvent*)>, base::WaitableEvent*) /usr/local/google/cr-perry/src/out/asan/../../base/synchronization/waitable_event_watcher_posix.cc:105:0
#5 0x241063e in Invoke<base::Flag *, base::OnceCallback<void (base::WaitableEvent *)>, base::WaitableEvent *> /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:149:12
#6 0x241063e in MakeItSo<void (*)(base::Flag *, base::OnceCallback<void (base::WaitableEvent *)>, base::WaitableEvent *), base::Flag *, base::OnceCallback<void (base::WaitableEvent *)>, base::WaitableEvent *> /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:277:0
#7 0x241063e in RunImpl<void (*)(base::Flag *, base::OnceCallback<void (base::WaitableEvent *)>, base::WaitableEvent *), std::__1::tuple<base::internal::RetainedRefWrapper<base::Flag>, base::OnceCallback<void (base::WaitableEvent *)>, base::WaitableEvent *>, 0, 1, 2> /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:349:0
#8 0x241063e in base::internal::Invoker<base::internal::BindState<void (*)(base::Flag*, base::OnceCallback<void (base::WaitableEvent*)>, base::WaitableEvent*), base::internal::RetainedRefWrapper<base::Flag>, base::OnceCallback<void (base::WaitableEvent*)>, base::WaitableEvent*>, void ()>::RunOnce(base::internal::BindStateBase*) /usr/local/google/cr-perry/src/out/asan/../../base/bind_internal.h:318:0
#9 0x22ea7c8 in Run /usr/local/google/cr-perry/src/out/asan/../../base/callback.h:64:12
#10 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
#11 0x235d0bc in base::MessageLoop::RunTask(base::PendingTask*) /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_loop.cc:406:19
#12 0x235eab7 in DeferOrRunPendingTask /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_loop.cc:417:5
#13 0x235eab7 in base::MessageLoop::DoWork() /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_loop.cc:524:0
#14 0x2367410 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_pump_libevent.cc:220:31
#15 0x23d28b7 in base::RunLoop::Run() /usr/local/google/cr-perry/src/out/asan/../../base/run_loop.cc:123:14
#16 0x2462578 in base::Thread::ThreadMain() /usr/local/google/cr-perry/src/out/asan/../../base/threading/thread.cc:338:3
#17 0x244e2e4 in base::(anonymous namespace)::ThreadFunc(void*) /usr/local/google/cr-perry/src/out/asan/../../base/threading/platform_thread_posix.cc:75:13
#18 0x7f93e1476183 in start_thread /build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312:0
Address 0x7f93dcd31b90 is located in stack of thread T0 at offset 912 in frame
#0 0x223dddf in base::(anonymous namespace)::MessagePumpLibeventTest_QuitWatcher_Test::TestBody() /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_pump_libevent_unittest.cc:241:0
This frame has 16 object(s):
[32, 448) 'loop' (line 246)
[512, 520) 'agg.tmp'
[544, 584) 'run_loop' (line 247)
[624, 688) 'controller' (line 248)
[720, 752) 'ref.tmp2' (line 248)
[784, 808) 'delegate' (line 249)
[848, 856) 'agg.tmp4'
[880, 888) 'event' (line 250)
[912, 913) 'buf' (line 259) <== Memory access at offset 912 is inside this variable
[928, 936) 'write_fd_task' (line 260)
[960, 992) 'ref.tmp15' (line 262)
[1024, 1032) 'agg.tmp17'
[1056, 1088) 'ref.tmp29' (line 268)
[1120, 1128) 'agg.tmp31'
[1152, 1184) 'ref.tmp40' (line 275)
[1216, 1224) 'agg.tmp42'
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+0x5f1bdf)
Shadow bytes around the buggy address:
0x0ff2fb99e320: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e330: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e340: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e350: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e360: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
=>0x0ff2fb99e370: f5 f5[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e380: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e390: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e3a0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e3b0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x0ff2fb99e3c0: 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 T1 (MessagePumpLibe) 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 0x2461284 in base::Thread::StartWithOptions(base::Thread::Options const&) /usr/local/google/cr-perry/src/out/asan/../../base/threading/thread.cc:112:15
#3 0x223a979 in base::MessagePumpLibeventTest::SetUp() /usr/local/google/cr-perry/src/out/asan/../../base/message_loop/message_pump_libevent_unittest.cc:40:5
#4 0x228da8c in HandleExceptionsInMethodIfSupported<testing::Test, void> /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2456:12
#5 0x228da8c in testing::Test::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2468:0
#6 0x228f8c4 in testing::TestInfo::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2654:11
#7 0x2290c76 in testing::TestCase::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:2772:28
#8 0x22a6d96 in testing::internal::UnitTestImpl::RunAllTests() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:4677:43
#9 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
#10 0x22a6308 in testing::UnitTest::Run() /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/src/gtest.cc:4285:0
#11 0x2556892 in RUN_ALL_TESTS /usr/local/google/cr-perry/src/out/asan/../../third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46
#12 0x2556892 in base::TestSuite::Run() /usr/local/google/cr-perry/src/out/asan/../../base/test/test_suite.cc:270:0
#13 0x2573f64 in Run /usr/local/google/cr-perry/src/out/asan/../../base/callback.h:92:12
#14 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
#15 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
#16 0x252ca3c in main /usr/local/google/cr-perry/src/out/asan/../../base/test/run_all_base_unittests.cc:12:10
#17 0x7f93e0043f44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287:0
==12612==ABORTING
[1/2] TimeTest.ParseTimeTestEpoch2 (0 ms)
[2/2] MessagePumpLibeventTest.QuitWatcher (CRASHED)
1 test crashed:
MessagePumpLibeventTest.QuitWatcher (../../base/message_loop/message_pump_libevent_unittest.cc:241)
Summary of all test iterations:
1 test crashed:
MessagePumpLibeventTest.QuitWatcher (../../base/message_loop/message_pump_libevent_unittest.cc:241)
End of the summary.
Tests took 0 seconds.
scottmg@humid:/usr/local/google/cr-perry/src$
Comment 1 by susanjuniab@chromium.org
, Sep 15 2017