Issue metadata
Sign in to add a comment
|
Network crash on ToT when joining Meet meeting. |
||||||||||||||||||||||
Issue descriptionRepro steps: 1. Start meeting at meet.google.com (using google.com account if necessary). I used 68.0.3418.2 (Official Build) dev for this, shouldn't matter. 2. Navigate to meeting from a dcheck-enabled ToT build (I used refs/heads/master@{#556719}). 3. Allow access to microphone. I don't have a microphone or camera connected (don't think it matters). I may be in some Meet dogfoods, LMK if you can't repro. +Helen since you wrote the code. Crash repros every time. [176113:176150:0508/153513.184069:FATAL:proxy_resolving_client_socket.cc(278)] Check failed: !socket_handle_->socket(). #0 0x7fdf128e721d base::debug::StackTrace::StackTrace() #1 0x7fdf126114bc base::debug::StackTrace::StackTrace() #2 0x7fdf12682fba logging::LogMessage::~LogMessage() #3 0x7fdf06d2a299 network::ProxyResolvingClientSocket::DoInitConnection() #4 0x7fdf06d28eed network::ProxyResolvingClientSocket::DoLoop() #5 0x7fdf06d29f31 network::ProxyResolvingClientSocket::OnIOComplete() #6 0x7fdf06c828cf _ZN4base8internal13FunctorTraitsIMN7network31ChunkedDataPipeUploadDataStreamEFvjEvE6InvokeIS5_PS3_JjEEEvT_OT0_DpOT1_ #7 0x7fdf06c8282f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN7network31ChunkedDataPipeUploadDataStreamEFvjEJPS5_jEEEvOT_DpOT0_ #8 0x7fdf06c827c5 _ZN4base8internal7InvokerINS0_9BindStateIMN7network31ChunkedDataPipeUploadDataStreamEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOj #9 0x7fdf06c8274b _ZN4base8internal7InvokerINS0_9BindStateIMN7network31ChunkedDataPipeUploadDataStreamEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEj #10 0x7fdf0fc5c72e _ZNKR4base17RepeatingCallbackIFviEE3RunEi #11 0x7fdf100d7587 net::ProxyResolutionService::Request::QueryComplete() #12 0x7fdf0fb933df _ZN4base8internal13FunctorTraitsIMN3net18ClientSocketHandleEFviEvE6InvokeIS5_PS3_JiEEEvT_OT0_DpOT1_ #13 0x7fdf0fb9333f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN3net18ClientSocketHandleEFviEJPS5_iEEEvOT_DpOT0_ #14 0x7fdf0fb932d5 _ZN4base8internal7InvokerINS0_9BindStateIMN3net18ClientSocketHandleEFviEJNS0_17UnretainedWrapperIS4_EEEEEFviEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOi #15 0x7fdf0fb9320b _ZN4base8internal7InvokerINS0_9BindStateIMN3net18ClientSocketHandleEFviEJNS0_17UnretainedWrapperIS4_EEEEEFviEE3RunEPNS0_13BindStateBaseEi #16 0x7fdf06c7fdce _ZNKR4base17RepeatingCallbackIFvjEE3RunEj #17 0x7fdf06d91544 network::(anonymous namespace)::ProxyResolverMojo::Job::CompleteRequest() #18 0x7fdf06d90988 network::(anonymous namespace)::ProxyResolverMojo::Job::ReportResult() #19 0x7fdf06effff2 proxy_resolver::mojom::ProxyResolverRequestClientStubDispatch::Accept() #20 0x7fdf06d94933 proxy_resolver::mojom::ProxyResolverRequestClientStub<>::Accept() #21 0x7fdf10a2ec45 mojo::InterfaceEndpointClient::HandleValidatedMessage() #22 0x7fdf10a2d691 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept() #23 0x7fdf10a2bb22 mojo::FilterChain::Accept() #24 0x7fdf10a31875 mojo::InterfaceEndpointClient::HandleIncomingMessage() #25 0x7fdf10a3ddab mojo::internal::MultiplexRouter::ProcessIncomingMessage() #26 0x7fdf10a3d2f5 mojo::internal::MultiplexRouter::Accept() #27 0x7fdf10a2bb22 mojo::FilterChain::Accept() #28 0x7fdf10a1d9df mojo::Connector::ReadSingleMessage() #29 0x7fdf10a1ea2a mojo::Connector::ReadAllAvailableMessages() #30 0x7fdf10a1e7f5 mojo::Connector::OnHandleReadyInternal() #31 0x7fdf10a1e6db mojo::Connector::OnWatcherHandleReady() #32 0x7fdf10a222bf _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIS5_PS3_JjEEEvT_OT0_DpOT1_ #33 0x7fdf10a2221f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_ #34 0x7fdf10a221b5 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOj #35 0x7fdf10a220eb _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEj #36 0x7fdf10a1909e _ZNKR4base17RepeatingCallbackIFvjEE3RunEj #37 0x7fdf10a2132f mojo::SimpleWatcher::DiscardReadyState() #38 0x7fdf10a215af _ZN4base8internal13FunctorTraitsIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEvE6InvokeIRKSC_JS6_jSA_EEEvOT_DpOT0_ #39 0x7fdf10a2154d _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS8_jSC_EEEvOT_DpOT0_ #40 0x7fdf10a214f0 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE7RunImplIRKSD_RKNSt3__15tupleIJS5_EEEJLm0EEEEvOT_OT0_NSK_16integer_sequenceImJXspT1_EEEEOjSB_ #41 0x7fdf10a21426 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE3RunEPNS0_13BindStateBaseEjSB_ #42 0x7fdf109b070e _ZNKR4base17RepeatingCallbackIFvjRKN4mojo18HandleSignalsStateEEE3RunEjS4_ #43 0x7fdf109b0059 mojo::SimpleWatcher::OnHandleReady() #44 0x7fdf109b08a6 mojo::SimpleWatcher::Context::Notify() #45 0x7fdf109b021f mojo::SimpleWatcher::Context::CallNotify() #46 0x7fdf06b5d167 mojo::edk::WatcherDispatcher::InvokeWatchCallback() #47 0x7fdf06b5c8e0 mojo::edk::Watch::InvokeCallback() #48 0x7fdf06b4d3f9 mojo::edk::RequestContext::~RequestContext() #49 0x7fdf06b1cecd mojo::edk::NodeChannel::OnChannelMessage() #50 0x7fdf06aee48e mojo::edk::Channel::OnReadComplete() #51 0x7fdf06b712c9 mojo::edk::(anonymous namespace)::ChannelPosix::OnFileCanReadWithoutBlocking() #52 0x7fdf1292051e base::MessagePumpLibevent::FdWatchController::OnFileCanReadWithoutBlocking() #53 0x7fdf12921df0 base::MessagePumpLibevent::OnLibeventNotification() #54 0x7fdf129761fe event_process_active #55 0x7fdf12975847 event_base_loop #56 0x7fdf12921f71 base::MessagePumpLibevent::Run() #57 0x7fdf126aae8b base::MessageLoop::Run() #58 0x7fdf12753ead base::RunLoop::Run() #59 0x7fdf12805d78 base::Thread::Run() #60 0x7fdf0c120c6f content::BrowserProcessSubThread::IOThreadRun() #61 0x7fdf0c120b6a content::BrowserProcessSubThread::Run()
,
May 8 2018
I am able to reproduce following the instructions. jingle/glue/fake_ssl_client_socket.cc calls net::StreamSocket::Connect() a second time after the socket is already connected. This triggers a DCHECK in ProxyResolvingClientSocket. This seems to be a pre-existing issue. I will upload a fix to remove the duplicate Connect() attempt in jingle/glue/fake_ssl_client_socket.cc.
,
May 8 2018
Uploaded a patch for review: https://chromium-review.googlesource.com/c/chromium/src/+/1050188 I didn't make jingle/glue/fake_ssl_client_socket.cc to skip StreamStream::Connect(), because that class is also used by xmpp_connection/xmpp_client_socket_factory.
,
May 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a12a839e7d668fd13f86bc7c44f71e67ae8da1cd commit a12a839e7d668fd13f86bc7c44f71e67ae8da1cd Author: Helen Li <xunjieli@chromium.org> Date: Wed May 09 16:02:59 2018 Fix P2PSocketHostTcpBase to not call net::StreamSocket::Connect twice When p2p socket type is IsPseudoTlsClientSocket(), P2PSocketHostTcpBase constructs a jingle_glue::FakeSSLClientSocket() and calls Connect() on the tcp socket which is already connected. This triggers a DCHECK error, because it's illegal to call Connect() twice on the same tcp socket (in this case on the ProxyResolvingClientSocket). This CL fixes P2PSocketHostTcpBase to not call Connect() twice and adds a regression test. BUG: 840797 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Change-Id: Ic936939bb58c32fc92bcad71929cf7f88af89eff Reviewed-on: https://chromium-review.googlesource.com/1050188 Commit-Queue: Helen Li <xunjieli@chromium.org> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Cr-Commit-Position: refs/heads/master@{#557205} [modify] https://crrev.com/a12a839e7d668fd13f86bc7c44f71e67ae8da1cd/content/browser/renderer_host/p2p/socket_host_tcp.cc [modify] https://crrev.com/a12a839e7d668fd13f86bc7c44f71e67ae8da1cd/content/browser/renderer_host/p2p/socket_host_tcp_unittest.cc [modify] https://crrev.com/a12a839e7d668fd13f86bc7c44f71e67ae8da1cd/content/test/BUILD.gn [modify] https://crrev.com/a12a839e7d668fd13f86bc7c44f71e67ae8da1cd/services/network/proxy_resolving_client_socket.cc
,
May 9 2018
,
May 10 2018
Thanks for the quick fix! |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by xunji...@chromium.org
, May 8 2018