QuicHttpProxyBackendStreamTest tests touch QuicHttpProxyBackendStream from multiple threads |
||
Issue descriptionQuicHttpProxyBackendStream appears to be designed for single-threaded operation (based on its use of WeakPtrs). If we remove the loophole that allows WeakPtrFactory to be torn-down on a different thread from the one on which the WeakPtrs were used (see issue 729716) then the tests all fail on a sequence check during TestQuicServerStreamDelegate teardown.
,
Aug 23
Example of a failure crash-stack, with the zero-WeakPtrs loophole removed from Invalidate(): 133687:133687:0823/112759.707129:1471131700588:FATAL:weak_ptr.cc(18)] Check failed: (sequence_checker_).CalledOnValidSequence(). #0 0x7efff5090fbd base::debug::StackTrace::StackTrace() #1 0x7efff4d979ac base::debug::StackTrace::StackTrace() #2 0x7efff4e0736a logging::LogMessage::~LogMessage() #3 0x7efff4e24fbe base::internal::WeakReference::Flag::Invalidate() #4 0x7efff4e254c7 base::internal::WeakReferenceOwner::Invalidate() #5 0x7efff4e25479 base::internal::WeakReferenceOwner::~WeakReferenceOwner() #6 0x7efff4e2580d base::internal::WeakPtrFactoryBase::~WeakPtrFactoryBase() #7 0x0000013cd545 base::WeakPtrFactory<>::~WeakPtrFactory() #8 0x000003b3263f net::QuicHttpProxyBackendStream::~QuicHttpProxyBackendStream() #9 0x000003b329a9 net::QuicHttpProxyBackendStream::~QuicHttpProxyBackendStream() #10 0x0000037c6374 net::test::TestQuicServerStreamDelegate::~TestQuicServerStreamDelegate() #11 0x0000037c2e51 net::test::QuicHttpProxyBackendStreamTest_SendRequestToBackendCookiesNotSaved_Test::TestBody() ...
,
Jan 11
This issue has an owner, a component and a priority, but is still listed as untriaged or unconfirmed. By definition, this bug is triaged. Changing status to "assigned". Please reach out to me if you disagree with how I've done this. |
||
►
Sign in to add a comment |
||
Comment 1 by w...@chromium.org
, Aug 23