Issue metadata
Sign in to add a comment
|
Flaky test WebSocketEndpointLockManagerTest.GetInstanceWorks |
||||||||||||||||||||||
Issue description
On tip of tree, WebSocketEndpointLockManagerTest.GetInstanceWorks passes for me fine, but when run right after this particular other test, it consistently crashes:
bnc@majom:~/chromium/chromium/src$ out/gn/net_unittests --gtest_filter=HttpStreamFactoryTest.RequestWebSocketBasicHandshakeStreamOverSSL:WebSocketEndpointLockManagerTest.GetInstanceWorks
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 = HttpStreamFactoryTest.RequestWebSocketBasicHandshakeStreamOverSSL:WebSocketEndpointLockManagerTest.GetInstanceWorks
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from HttpStreamFactoryTest
[ RUN ] HttpStreamFactoryTest.RequestWebSocketBasicHandshakeStreamOverSSL
[ OK ] HttpStreamFactoryTest.RequestWebSocketBasicHandshakeStreamOverSSL (472 ms)
[----------] 1 test from HttpStreamFactoryTest (472 ms total)
[----------] 1 test from WebSocketEndpointLockManagerTest
[ RUN ] WebSocketEndpointLockManagerTest.GetInstanceWorks
[12968:12968:0222/192510.730831:2440090072973:FATAL:websocket_endpoint_lock_manager_unittest.cc(143)] Check failed: instance_->IsEmpty().
#0 0x7f95ee1c46bd base::debug::StackTrace::StackTrace()
#1 0x7f95ee1c2bac base::debug::StackTrace::StackTrace()
#2 0x7f95ee24ad7a logging::LogMessage::~LogMessage()
#3 0x000002f9f818 net::(anonymous namespace)::WebSocketEndpointLockManagerTest::~WebSocketEndpointLockManagerTest()
#4 0x000002f9f705 net::(anonymous namespace)::WebSocketEndpointLockManagerTest_GetInstanceWorks_Test::~WebSocketEndpointLockManagerTest_GetInstanceWorks_Test()
#5 0x000002f9f729 net::(anonymous namespace)::WebSocketEndpointLockManagerTest_GetInstanceWorks_Test::~WebSocketEndpointLockManagerTest_GetInstanceWorks_Test()
#6 0x000000a2c2fb base::RefCountedThreadSafe<>::DeleteInternal<>()
#7 0x0000028166de _ZN7testing8internal12InvokeHelperIvNSt3__15tupleIJEEEE12InvokeMethodIN3net4test21SimpleSessionNotifierEMS9_FvvEEEvPT_T0_RKS4_
#8 0x000003b9d572 testing::internal::HandleExceptionsInMethodIfSupported<>()
#9 0x000003b88885 testing::TestInfo::Run()
#10 0x000003b892ec testing::TestCase::Run()
#11 0x000003b94e1e testing::internal::UnitTestImpl::RunAllTests()
#12 0x000003ba640e testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#13 0x000003b9ea52 testing::internal::HandleExceptionsInMethodIfSupported<>()
#14 0x000003b94a29 testing::UnitTest::Run()
#15 0x000003d59e81 RUN_ALL_TESTS()
#16 0x000003d56d0b base::TestSuite::Run()
#17 0x0000013272ed _ZN4base8internal13FunctorTraitsIMN3net22NoResultCookieCallbackEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_
#18 0x000001327264 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN3net22NoResultCookieCallbackEFvvEJPS5_EEEvOT_DpOT0_
#19 0x000001327215 _ZN4base8internal7InvokerINS0_9BindStateIMN3net22NoResultCookieCallbackEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#20 0x0000013271ac _ZN4base8internal7InvokerINS0_9BindStateIMN3net22NoResultCookieCallbackEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#21 0x000000c283fd _ZNKR4base17RepeatingCallbackIFvvEE3RunEv
#22 0x000003d67dd7 base::(anonymous namespace)::LaunchUnitTestsInternal()
#23 0x000003d67c45 base::LaunchUnitTests()
#24 0x0000033dedc3 main
#25 0x7f95ecc942b1 __libc_start_main
#26 0x0000009db02a _start
[12955:12967:0222/192511.188851:2440090531008:ERROR:kill_posix.cc(84)] Unable to terminate process group 12968: No such process (3)
[1/2] HttpStreamFactoryTest.RequestWebSocketBasicHandshakeStreamOverSSL (472 ms)
[2/2] WebSocketEndpointLockManagerTest.GetInstanceWorks (CRASHED)
1 test crashed:
WebSocketEndpointLockManagerTest.GetInstanceWorks (../../net/socket/websocket_endpoint_lock_manager_unittest.cc:165)
Tests took 4 seconds.
,
Feb 23 2018
This has been broken for at least as far back as 2017-05-22 (commit 6a0348c405f6) without breaking anything, so lowering priority.
,
Feb 26 2018
I think the issue is that it doesn't check whether IsEmpty() is true at the start of the test. At a deeper level, the root cause is https://bugs.chromium.org/p/chromium/issues/detail?id=450518 ("net::WebSocketEndpointLockManager should not be a singleton").
,
Feb 28 2018
Yes, that is right. I was looking at forcefully unlocking endpoints from all tests that do not leave WebSocketEndpointLockManager empty, but there are too many such tests, so probably the root cause should be fixed instead. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by b...@chromium.org
, Feb 23 2018