New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 868220 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 10
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Flaky-Test: UkmBrowserTest.SingleSyncSignoutCheck
Proj-Servicification

Blocking:
issue 862608



Sign in to add a comment

UkmBrowserTest.SingleSyncSignoutCheck is Flaky

Project Member Reported by Findit, Jul 27

Issue description

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 27

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

commit 838e1b1949af36aec49042cd1df6d55396d0957b
Author: Yoichi Osato <yoichio@chromium.org>
Date: Fri Jul 27 05:10:04 2018

Revert "Migrate gcm to network service's socket APIs"

This reverts commit 365f6904890e5ee7e90f55189ab5d95b80bc3dbe.

Reason for revert: UkmBrowserTest.SingleSyncSignoutCheck is Flaky
Findit identified the culprit r578386 with confidence 74.4%.

Original change's description:
> Migrate gcm to network service's socket APIs
> 
> With network service, net:: C++ socket access will need to be changed to using
> network service's socket APIs. This CL changes gcm to using
> proxy_resolving_socket.mojom instead of the C++ ProxyResolvingClientSocket.
> 
> GCM files that are changed:
> - google_apis/gcm/engine/connection_factory_impl.cc
>   This will request and own a network::mojom::ProxyResolvingSocketPtr
> - google_apis/gcm/engine/connection_handler_impl.cc
>   This will pass the mojo read/write pipes to socket streams.
> - google_apis/gcm/base/socket_stream.cc
>   SocketInputStream/SocketOutputStream will read from/write to mojo data pipes
>   instead of the C++ socket.
> 
> Network service changes
> - services/network/public/mojom/proxy_resolving_socket.mojom
>   Peer address is surfaced directly when connection is established. This is
>   needed to support GCM's use case. They need the peer address synchronously
>   when connection is done.
> 
> Browser changes:
> - NetworkContext raw mojo pointer has to be queried on the UI thread on demand.
>   Therefore changes are added to pass through a callback and ui task runner.
> 
> Bug:  862608 
> Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;master.tryserver.chromium.mac:ios-simulator-cronet
> Change-Id: Ic0c72c8ee7d9bc7deb6e8109234227f80ea3bbe3
> Reviewed-on: https://chromium-review.googlesource.com/1142344
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Reviewed-by: Maks Orlovich <morlovich@chromium.org>
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Reviewed-by: Peter Beverloo <peter@chromium.org>
> Commit-Queue: Helen Li <xunjieli@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#578386}

TBR=dcheng@chromium.org,peter@chromium.org,jam@chromium.org,sdefresne@chromium.org,xunjieli@chromium.org,morlovich@chromium.org

Change-Id: I5951169891854c5d441d897dcb2e849f1ef7ace9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  862608 ,  868220 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;master.tryserver.chromium.mac:ios-simulator-cronet
Reviewed-on: https://chromium-review.googlesource.com/1152589
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578539}
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/chrome/browser/gcm/gcm_profile_service_factory.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/chrome/browser/gcm/gcm_profile_service_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/BUILD.gn
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/DEPS
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/fake_gcm_client.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/fake_gcm_client.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_client.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_client_impl.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_client_impl.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_client_impl_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_desktop_utils.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_desktop_utils.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_driver_desktop.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_driver_desktop.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_driver_desktop_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_profile_service.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/gcm_profile_service.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/components/gcm_driver/instance_id/BUILD.gn
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/BUILD.gn
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/DEPS
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/base/socket_stream.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/base/socket_stream.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/base/socket_stream_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_factory.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_factory_impl.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_factory_impl.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_factory_impl_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_handler.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_handler_impl.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_handler_impl.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/connection_handler_impl_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/fake_connection_factory.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/fake_connection_handler.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/engine/fake_connection_handler.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/google_apis/gcm/tools/mcs_probe.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/ios/chrome/browser/application_context_impl.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/ios/web/browser_state.mm
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/ios/web/public/browser_state.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/net/socket/ssl_client_socket_impl.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/net/socket/ssl_client_socket_impl.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/services/network/proxy_resolving_socket_mojo.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/services/network/proxy_resolving_socket_mojo.h
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/services/network/proxy_resolving_socket_mojo_unittest.cc
[modify] https://crrev.com/838e1b1949af36aec49042cd1df6d55396d0957b/services/network/public/mojom/proxy_resolving_socket.mojom

Components: Internals>Services>Network
Labels: -Sheriff-Chromium
Owner: xunji...@chromium.org
Status: Assigned (was: Available)
Blocking: 862608
Looks like a DCHECK is triggered.

[4368:3816:0726/183413.418:FATAL:proxy_resolving_socket.mojom.cc(305)] Check failed: !connected. ProxyResolvingSocketFactory::CreateProxyResolvingSocketCallback was destroyed without first either being run or its corresponding binding being closed. It is an error to drop response callbacks which still correspond to an open interface pipe.

Backtrace:

	base::debug::StackTrace::StackTrace [0x7147A1D6+102]

	base::debug::StackTrace::StackTrace [0x7147927B+27]

	logging::LogMessage::~LogMessage [0x714DEFA4+148]

	network::mojom::ProxyResolvingSocketFactory_CreateProxyResolvingSocket_ProxyToResponder::OnIsConnectedComplete [0x5ECB4B06+246]

	base::internal::FunctorTraits<void (__cdecl*)(bool),void>::Invoke<void (__cdecl*)(bool),bool> [0x5EB9B71E+62]

	base::internal::InvokeHelper<0,void>::MakeItSo<void (__cdecl*)(bool),bool> [0x5EB9B6DA+58]


Labels: Hotlist-KnownIssue
Status: Started (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 10

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

commit 5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2
Author: Helen Li <xunjieli@chromium.org>
Date: Fri Aug 10 20:37:24 2018

Revert "Revert "Migrate gcm to network service's socket APIs""

This reverts commit 838e1b1949af36aec49042cd1df6d55396d0957b.

Reason for revert: Reland after fix

Mojo doesn't allow dropping response callbacks (see
https://groups.google.com/a/chromium.org/forum/#!topic/services-dev/zSNh16-tkaA
for discussion). The fix is to modify
ProxyResolvingSocketFactory::CreateProxyResolvingSocket to always invoke
the response callback even when the underlying socket is destroyed.
This CL also adds a regression test in proxy_resolving_socket_mojo_unittest.cc.

TBR=dcheng@chromium.org
TBR=jam@chromium.org
TBR=sdefresne@chromium.org

Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ie9fdb93f965bbcf534253aaabe436c4de5f0666d

Bug:  862608 ,  868220 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ie9fdb93f965bbcf534253aaabe436c4de5f0666d
Reviewed-on: https://chromium-review.googlesource.com/1169345
Reviewed-by: Helen Li <xunjieli@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Helen Li <xunjieli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582318}
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/chrome/browser/gcm/gcm_profile_service_factory.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/chrome/browser/gcm/gcm_profile_service_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/BUILD.gn
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/DEPS
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/fake_gcm_client.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/fake_gcm_client.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_client.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_client_impl.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_client_impl.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_client_impl_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_desktop_utils.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_desktop_utils.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_driver_desktop.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_driver_desktop.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_driver_desktop_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_profile_service.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/gcm_profile_service.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/components/gcm_driver/instance_id/BUILD.gn
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/BUILD.gn
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/DEPS
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/base/socket_stream.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/base/socket_stream.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/base/socket_stream_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_factory.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_factory_impl.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_factory_impl.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_factory_impl_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_handler.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_handler_impl.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_handler_impl.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/connection_handler_impl_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/fake_connection_factory.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/fake_connection_handler.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/engine/fake_connection_handler.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/google_apis/gcm/tools/mcs_probe.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/ios/chrome/browser/application_context_impl.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/ios/web/browser_state.mm
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/ios/web/public/browser_state.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/net/socket/ssl_client_socket_impl.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/net/socket/ssl_client_socket_impl.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/services/network/proxy_resolving_socket_mojo.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/services/network/proxy_resolving_socket_mojo.h
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/services/network/proxy_resolving_socket_mojo_unittest.cc
[modify] https://crrev.com/5f3d96a7bfc7cbb6a4614325241f0b2bbc198ae2/services/network/public/mojom/proxy_resolving_socket.mojom

Status: Fixed (was: Started)

Sign in to add a comment