incubator-pagespeed-mod
incubator-pagespeed-mod copied to clipboard
TSAN: RewriteContextTest.LoadSheddingTest deadlock detected
This TSAN failure look serious, and deserves looking into.
[ RUN ] RewriteContextTest.LoadSheddingTest
FATAL: ThreadSanitizer CHECK failed: /build/llvm-toolchain-10-10.0.1~++20200708124224+ef32c611aa2/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h:67 "((n_all_locks_)) < (((sizeof(all_locks_with_contexts_)/sizeof((all_locks_with_contexts_)[0]))))" (0x40, 0x40)
#0 __tsan::TsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) <null> (rewriter_test+0x5d85f5)
#1 __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) <null> (rewriter_test+0x5ef11f)
#2 __sanitizer::DeadlockDetectorTLS<__sanitizer::TwoLevelBitVector<1ul, __sanitizer::BasicBitVector<unsigned long> > >::addLock(unsigned long, unsigned long, unsigned int) <null> (rewriter_test+0x5e38bc)
#3 __sanitizer::DD::MutexAfterLock(__sanitizer::DDCallback*, __sanitizer::DDMutex*, bool, bool) <null> (rewriter_test+0x5e2e2e)
#4 __tsan::MutexPostLock(__tsan::ThreadState*, unsigned long, unsigned long, unsigned int, int) <null> (rewriter_test+0x5d6ad8)
#5 pthread_mutex_lock <null> (rewriter_test+0x58f228)
#6 net_instaweb::PthreadMutex::Lock() /proc/self/cwd/pagespeed/kernel/thread/pthread_mutex.cc:43:3 (rewriter_test+0x1f11a12)
#7 net_instaweb::CheckingThreadSystem::Mutex::Lock() /proc/self/cwd/pagespeed/kernel/base/checking_thread_system.cc:100:11 (rewriter_test+0x1f17af2)
#8 net_instaweb::CheckingThreadSystem::Mutex::Lock() /proc/self/cwd/pagespeed/kernel/base/checking_thread_system.cc:100:11 (rewriter_test+0x1f17af2)
#9 net_instaweb::QueuedWorkerPool::AreBusy(std::set<net_instaweb::QueuedWorkerPool::Sequence*, std::less<net_instaweb::QueuedWorkerPool::Sequence*>, std::allocator<net_instaweb::QueuedWorkerPool::Sequence*> > const&) /proc/self/cwd/pagespeed/kernel/thread/queued_worker_pool.cc:243:28 (rewriter_test+0x1f03cea)
#10 net_instaweb::MockScheduler::AwaitWakeupUntilUs(long) /proc/self/cwd/pagespeed/kernel/thread/mock_scheduler.cc:51:7 (rewriter_test+0x19762e8)
#11 net_instaweb::Scheduler::ProcessAlarmsOrWaitUs(long) /proc/self/cwd/pagespeed/kernel/thread/scheduler.cc:402:5 (rewriter_test+0x1efcab1)
#12 net_instaweb::SchedulerBlockingFunction::Block() /proc/self/cwd/pagespeed/kernel/thread/scheduler.cc:439:17 (rewriter_test+0x1efcf85)
#13 net_instaweb::RewriteDriver::BoundedWaitFor(net_instaweb::RewriteDriver::WaitMode, long) /proc/self/cwd/net/instaweb/rewriter/rewrite_driver.cc:531:8 (rewriter_test+0x1284249)
#14 net_instaweb::RewriteDriver::WaitForCompletion() /proc/self/cwd/net/instaweb/rewriter/rewrite_driver.cc:517:3 (rewriter_test+0x1284124)
#15 net_instaweb::RewriteContextTest_LoadSheddingTest_Test::TestBody() /proc/self/cwd/net/instaweb/rewriter/rewrite_context_test.cc:2784:17 (rewriter_test+0xdb932a)
#16 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 (rewriter_test+0x207b6cc)
#17 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 (rewriter_test+0x205caa1)
#18 testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2508:5 (rewriter_test+0x203cd61)
#19 testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2684:11 (rewriter_test+0x203de1b)
#20 testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2816:28 (rewriter_test+0x203e8ea)
#21 testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5338:44 (rewriter_test+0x205269b)
#22 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 (rewriter_test+0x208031c)
#23 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 (rewriter_test+0x2060c97)
#24 testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4925:10 (rewriter_test+0x2051ece)
#25 RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2473:46 (rewriter_test+0x108e317)
#26 PageSpeed::TestRunner::RunTests(int, char**) /proc/self/cwd/./test/test_runner.h:13:12 (rewriter_test+0x108e2c1)
#27 main /proc/self/cwd/test/main.cc:11:10 (rewriter_test+0x108e20c)
#28 __libc_start_main /build/glibc-5mDdLG/glibc-2.30/csu/../csu/libc-start.c:308:16 (libc.so.6+0x271e2)
#29 _start <null> (rewriter_test+0x56a5dd)