New issue
Advanced search Search tips

Issue 846445 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Proj-Servicification



Sign in to add a comment

NetworkServiceTestHelper DCHECKs on teardown

Project Member Reported by mmenke@chromium.org, May 24 2018

Issue description

Run a test that uses NetworkServiceTestHelper (Like CommonNameMismatchBrowserTest.WWWSubdomainMismatch_StopOnRedirects/0) with --enable-features=NetworkService, and the test passes, but the NetworkService crashes when it's being torn down.  It looks like a DCHECK that the helper's binding is being torn down on the correct thread fails (Maybe it's outliving the message loop?  Not sure).

This seems less than ideal, particularly as the crash pops up a modal dialog about the crash on Windows.  Not sure if this affects other platforms, but I'd assume it does.  Ran into this when converting a test to use the test infrastructure, and a bit worried about the conversion running into issues on bots, though suppose only the Linux bots really have any prominence, currently.

Sample trace:

[6932:39432:0524/153747.359:FATAL:interface_endpoint_client.cc(170)] Check failed: (sequence_checker_).CalledOnValidSequence().
Backtrace:
base::debug::StackTrace::StackTrace [0x00007FFAFCC9F725+101] (C:\src\chrome\src\base\debug\stack_trace_win.cc:286)
base::debug::StackTrace::StackTrace [0x00007FFAFCC9E75F+31] (C:\src\chrome\src\base\debug\stack_trace.cc:199)
logging::LogMessage::~LogMessage [0x00007FFAFCCFFEB6+134] (C:\src\chrome\src\base\logging.cc:593)
mojo::InterfaceEndpointClient::~InterfaceEndpointClient [0x00007FFB16391A05+197] (C:\src\chrome\src\mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:171)
mojo::InterfaceEndpointClient::~InterfaceEndpointClient [0x00007FFB1639442C+44] (C:\src\chrome\src\mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:169)
std::default_delete<mojo::InterfaceEndpointClient>::operator() [0x00007FFB1637288F+63] (C:\src\chrome\src\third_party\depot_tools\win_toolchain\vs_files\5454e45bf3764c03d3fc1024b3bf5bc41e3ab62c\VC\Tools\MSVC\14.14.26428\include\memory:2055)
std::unique_ptr<mojo::InterfaceEndpointClient,std::default_delete<mojo::InterfaceEndpointClient> >::reset [0x00007FFB16371D54+100] (C:\src\chrome\src\third_party\depot_tools\win_toolchain\vs_files\5454e45bf3764c03d3fc1024b3bf5bc41e3ab62c\VC\Tools\MSVC\14.14.26428\include\memory:2306)
mojo::internal::BindingStateBase::Close [0x00007FFB1637A0A7+55] (C:\src\chrome\src\mojo\public\cpp\bindings\lib\binding_state.cc:45)
mojo::internal::BindingState<network::mojom::NetworkServiceTest,mojo::RawPtrImplRefTraits<network::mojom::NetworkServiceTest> >::~BindingState [0x00007FF6ED5BD63F+31] (C:\src\chrome\src\mojo\public\cpp\bindings\lib\binding_state.h:108)
mojo::Binding<network::mojom::NetworkServiceTest,mojo::RawPtrImplRefTraits<network::mojom::NetworkServiceTest> >::~Binding [0x00007FF6ED5BD613+19] (C:\src\chrome\src\mojo\public\cpp\bindings\binding.h:94)

<SNIP>

mojo::BindingSetBase<network::mojom::NetworkServiceTest,mojo::Binding<network::mojom::NetworkServiceTest,mojo::RawPtrImplRefTraits<network::mojom::NetworkServiceTest> >,void>::~BindingSetBase [0x00007FF6ED5BC773+51] (C:\src\chrome\src\mojo\public\cpp\bindings\binding_set.h:64)
content::NetworkServiceTestHelper::NetworkServiceTestImpl::~NetworkServiceTestImpl [0x00007FF6ED5BC727+87] (C:\src\chrome\src\content\public\test\network_service_test_helper.cc:53)
content::NetworkServiceTestHelper::NetworkServiceTestImpl::~NetworkServiceTestImpl [0x00007FF6ED5BBADC+44] (C:\src\chrome\src\content\public\test\network_service_test_helper.cc:51)

 

Comment 1 by mmenke@chromium.org, May 24 2018

Labels: -Pri-3 Proj-Servicification-Canary Pri-1
Going to block this as Canary blocking - mostly because I think we want win bots before we go on Canary, and this seems like a Windows bot health issue.

Comment 2 by jam@chromium.org, Jun 7 2018

 Issue 848722  has been merged into this issue.

Comment 3 by jam@chromium.org, Jun 7 2018

Owner: jam@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/caf0d18bbb4fede456e06295d182f99586847f69

commit caf0d18bbb4fede456e06295d182f99586847f69
Author: John Abd-El-Malek <jam@chromium.org>
Date: Thu Jun 07 23:42:46 2018

Fix DCHECK in NetworkServiceTestHelper on network process shutdown because bindings are destructed on the wrong thread.

Bug:  846445 
Change-Id: I765b613ea68201382da3f437e9f6a57904839bba
Reviewed-on: https://chromium-review.googlesource.com/1091806
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565465}
[modify] https://crrev.com/caf0d18bbb4fede456e06295d182f99586847f69/content/public/test/network_service_test_helper.cc

Comment 5 by jam@chromium.org, Jun 8 2018

Status: Fixed (was: Started)

Sign in to add a comment