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

TSAN: RewriteContextTest.LoadSheddingTest deadlock detected

Open oschaaf opened this issue 5 years ago • 0 comments

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)

oschaaf avatar Jul 23 '20 21:07 oschaaf