incubator-pagespeed-mod icon indicating copy to clipboard operation
incubator-pagespeed-mod copied to clipboard

TSAN: Issue in SyncFetcherAdapterTest.SlowFail

Open oschaaf opened this issue 4 years ago • 0 comments

Seems to originate from test only code, so low priority unless related to a broader issue. Capturing a flake I caught here for tracking.

exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //net/instaweb/http:http_test
-----------------------------------------------------------------------------
[ RUN      ] SyncFetcherAdapterTest.SlowFail
==================
WARNING: ThreadSanitizer: heap-use-after-free (pid=12)
  Write of size 1 at 0x7b10000044b4 by main thread:
    #0 net_instaweb::ThreadSystem::Thread::Start() /proc/self/cwd/pagespeed/kernel/base/thread.cc:49:12 (http_test+0xad349d)
    #1 net_instaweb::(anonymous namespace)::DelayedFetcher::Fetch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, net_instaweb::MessageHandler*, net_instaweb::AsyncFetch*) /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:102:7 (http_test+0x6495db)
    #2 net_instaweb::SyncFetcherAdapterTest::TestFailedFetch(net_instaweb::UrlAsyncFetcher*, long) /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:227:20 (http_test+0x64bcc2)
    #3 net_instaweb::SyncFetcherAdapterTest_SlowFail_Test::TestBody() /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:271:3 (http_test+0x648fa6)
    #4 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2433:10 (http_test+0xbf58cc)
    #5 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2469:14 (http_test+0xbd48e1)
    #6 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2508:5 (http_test+0xbb4241)
    #7 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2684:11 (http_test+0xbb52fb)
    #8 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2816:28 (http_test+0xbb5dca)
    #9 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5338:44 (http_test+0xbc9b7b)
    #10 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2433:10 (http_test+0xbfb29c)
    #11 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2469:14 (http_test+0xbd8fe7)
    #12 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4925:10 (http_test+0xbc93ae)
    #13 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2473:46 (http_test+0x661ba7)
    #14 PageSpeed::TestRunner::RunTests(int, char**) /proc/self/cwd/./test/test_runner.h:13:12 (http_test+0x661b51)
    #15 main /proc/self/cwd/test/main.cc:11:10 (http_test+0x661a9c)

  Previous write of size 8 at 0x7b10000044b0 by thread T3:
    #0 free <null> (http_test+0x4512c8)
    #1 net_instaweb::(anonymous namespace)::DelayedFetcher::InvokeCallbackThread::~InvokeCallbackThread() /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:111:9 (http_test+0x649d2b)
    #2 net_instaweb::(anonymous namespace)::DelayedFetcher::InvokeCallbackThread::Run() /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:122:7 (http_test+0x649e3c)
    #3 net_instaweb::PthreadThreadImpl::InvokeRun(void*) /proc/self/cwd/pagespeed/kernel/thread/pthread_thread_system.cc:123:21 (http_test+0xacb113)

  Thread T3 'delayed_fetch' (tid=21, finished) created by main thread at:
    #0 pthread_create <null> (http_test+0x45253b)
    #1 net_instaweb::PthreadThreadImpl::StartImpl() /proc/self/cwd/pagespeed/kernel/thread/pthread_thread_system.cc:94:14 (http_test+0xacae09)
    #2 net_instaweb::ThreadSystem::Thread::Start() /proc/self/cwd/pagespeed/kernel/base/thread.cc:49:21 (http_test+0xad347a)
    #3 net_instaweb::(anonymous namespace)::DelayedFetcher::Fetch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, net_instaweb::MessageHandler*, net_instaweb::AsyncFetch*) /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:102:7 (http_test+0x6495db)
    #4 net_instaweb::SyncFetcherAdapterTest::TestFailedFetch(net_instaweb::UrlAsyncFetcher*, long) /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:227:20 (http_test+0x64bcc2)
    #5 net_instaweb::SyncFetcherAdapterTest_SlowFail_Test::TestBody() /proc/self/cwd/net/instaweb/http/sync_fetcher_adapter_test.cc:271:3 (http_test+0x648fa6)
    #6 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2433:10 (http_test+0xbf58cc)
    #7 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2469:14 (http_test+0xbd48e1)
    #8 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2508:5 (http_test+0xbb4241)
    #9 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2684:11 (http_test+0xbb52fb)
    #10 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2816:28 (http_test+0xbb5dca)
    #11 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5338:44 (http_test+0xbc9b7b)
    #12 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2433:10 (http_test+0xbfb29c)
    #13 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2469:14 (http_test+0xbd8fe7)
    #14 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4925:10 (http_test+0xbc93ae)
    #15 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2473:46 (http_test+0x661ba7)
    #16 PageSpeed::TestRunner::RunTests(int, char**) /proc/self/cwd/./test/test_runner.h:13:12 (http_test+0x661b51)
    #17 main /proc/self/cwd/test/main.cc:11:10 (http_test+0x661a9c)

SUMMARY: ThreadSanitizer: heap-use-after-free /proc/self/cwd/pagespeed/kernel/base/thread.cc:49:12 in net_instaweb::ThreadSystem::Thread::Start()
==================
[       OK ] SyncFetcherAdapterTest.SlowFail (1805 ms)

oschaaf avatar Jul 23 '20 21:07 oschaaf