New issue
Advanced search Search tips

Issue 797374 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: ----



Sign in to add a comment

Crashes in threading bits of sync XHR code in various layout tests

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Dec 22 2017

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of mek@chromium.org

In several runs different tests have been failing differently, but all somehow in the sync XHR code, somewhere around the way it deals with WaitableEvent.

Builders failed on: 
- WebKit Linux Trusty (dbg): 
  https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20%28dbg%29

For example:
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/8148/layout-test-results/results.html
STDOUT: #CRASHED - renderer
STDERR: [1:44:1222/125735.083392:ERROR:sync_load_context.cc(78)] Cross origin redirect denied
STDERR: [1:44:1222/125735.124926:ERROR:sync_load_context.cc(78)] Cross origin redirect denied
STDERR: [1:44:1222/125735.154332:FATAL:lock_impl_posix.cc(74)] Check failed: rv == 0 (22 vs. 0). Invalid argument
STDERR: #0 0x7f96d06717ed base::debug::StackTrace::StackTrace()
STDERR: #1 0x7f96d066fc2c base::debug::StackTrace::StackTrace()
STDERR: #2 0x7f96d06f6c1a logging::LogMessage::~LogMessage()
STDERR: #3 0x7f96d0827513 base::internal::LockImpl::Lock()
STDERR: #4 0x7f96d06169f3 base::Lock::Acquire()
STDERR: #5 0x7f96d0616713 base::AutoLock::AutoLock()
STDERR: #6 0x7f96d0827699 base::WaitableEvent::Signal()
STDERR: #7 0x7f96d41e9b8b content::SyncLoadContext::CompleteRequest()
STDERR: #8 0x7f96d41e9975 content::SyncLoadContext::OnReceivedRedirect()
STDERR: #9 0x7f96d41d965e content::ResourceDispatcher::OnReceivedRedirect()
STDERR: #10 0x7f96d41ed352 content::URLLoaderClientImpl::OnReceiveRedirect()
STDERR: #11 0x7f96d1e33f23 content::ThrottlingURLLoader::OnReceiveRedirect()
STDERR: #12 0x7f96d213da36 content::mojom::URLLoaderClientStubDispatch::Accept()
STDERR: #13 0x7f96d1b831f3 content::mojom::URLLoaderClientStub<>::Accept()

Or:
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/8143/layout-test-results/results.html
STDOUT: #CRASHED - renderer
STDERR: CONSOLE WARNING: line 15: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
STDERR: [1:17:1222/101832.205938:ERROR:sync_load_context.cc(78)] Cross origin redirect denied
STDERR: [1:17:1222/101832.266795:ERROR:sync_load_context.cc(78)] Cross origin redirect denied
STDERR: [1:17:1222/101832.317208:ERROR:sync_load_context.cc(78)] Cross origin redirect denied
STDERR: [1:1:1222/101832.317470:FATAL:lock.cc(19)] Check failed: owning_thread_ref_.is_null(). 
STDERR: #0 0x7f1bc80357ed base::debug::StackTrace::StackTrace()
STDERR: #1 0x7f1bc8033c2c base::debug::StackTrace::StackTrace()
STDERR: #2 0x7f1bc80bac1a logging::LogMessage::~LogMessage()
STDERR: #3 0x7f1bc81ea96a base::Lock::~Lock()
STDERR: #4 0x7f1bc81ed193 base::WaitableEvent::WaitableEventKernel::~WaitableEventKernel()
STDERR: #5 0x7f1bc81ee2d7 base::RefCountedThreadSafe<>::DeleteInternal<>()
STDERR: #6 0x7f1bc81ee2a5 base::DefaultRefCountedThreadSafeTraits<>::Destruct()
STDERR: #7 0x7f1bc81ee288 base::RefCountedThreadSafe<>::Release()
STDERR: #8 0x7f1bc81ee245 scoped_refptr<>::Release()
STDERR: #9 0x7f1bc81ed1da scoped_refptr<>::~scoped_refptr()
STDERR: #10 0x7f1bc81eb615 base::WaitableEvent::~WaitableEvent()
STDERR: #11 0x7f1bcbba0174 content::ResourceDispatcher::StartSync()
STDERR: #12 0x7f1bcbbbacc3 content::WebURLLoaderImpl::Context::Start()
STDERR: #13 0x7f1bcbbc399c content::WebURLLoaderImpl::LoadSynchronously()
STDERR: #14 0x7f1bbd99eb33 blink::ResourceLoader::RequestSynchronously()
STDERR: #15 0x7f1bbd99e77c blink::ResourceLoader::StartWith()
STDERR: #16 0x7f1bbd99e407 blink::ResourceLoader::Run()
STDERR: #17 0x7f1bbd994fd0 blink::ResourceLoadScheduler::Run()
STDERR: #18 0x7f1bbd994a58 blink::ResourceLoadScheduler::Request()
STDERR: #19 0x7f1bbd99e1e1 blink::ResourceLoader::Start()
STDERR: #20 0x7f1bbd978b03 blink::ResourceFetcher::StartLoad()
STDERR: #21 0x7f1bbd976c16 blink::ResourceFetcher::RequestResource()
STDERR: #22 0x7f1bbd975f3c blink::ResourceFetcher::RequestResource()
STDERR: #23 0x7f1bbd956fdc blink::RawResource::FetchSynchronously()
STDERR: #24 0x7f1bc00045fa blink::DocumentThreadableLoader::LoadRequestSync()
STDERR: #25 0x7f1bc0000b55 blink::DocumentThreadableLoader::LoadRequest()
STDERR: #26 0x7f1bbfffc538 blink::DocumentThreadableLoader::DispatchInitialRequestBlinkCORS()
STDERR: #27 0x7f1bbfffc276 blink::DocumentThreadableLoader::StartBlinkCORS()
STDERR: #28 0x7f1bbfffb224 blink::DocumentThreadableLoader::Start()
STDERR: #29 0x7f1bbfffb1d7 blink::DocumentThreadableLoader::LoadResourceSynchronously()
STDERR: #30 0x7f1bc0044a4d blink::ThreadableLoader::LoadResourceSynchronously()
STDERR: #31 0x7f1bc045aca0 blink::XMLHttpRequest::CreateRequest()
 

Comment 1 by mek@chromium.org, Dec 22 2017

Components: Blink>Network>XHR Blink>Loader
Owner: yhirano@chromium.org
Status: Untriaged (was: Available)

Comment 2 by mek@chromium.org, Dec 22 2017

Another case in https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20(dbg)/8150

I think I might try reverting https://chromium-review.googlesource.com/c/chromium/src/+/821796 as that seems to be the most recent relevant looking change...
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 22 2017

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

commit 73765eea7390f0cd038191396c9df4535ad48581
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Fri Dec 22 22:33:02 2017

Revert "[mojo-loading] Remove ChromeIPC code"

This reverts commit 56ddd0320acc76ba78ff650852b77a8ff8981617.

Reason for revert: looks like it might be causing crashes in syncxhr

Several synxhr tests started crashing somewhat regularly after this landed (see bug for details), reverting to see if this change is actually to blame.

Original change's description:
> [mojo-loading] Remove ChromeIPC code
> 
> This CL removes all ChromeIPC messages defined in resource_messages.h.
> The removed code include:
> 
>  - components having counterparts in mojo-loading:
>   - async_resource_handler
>   - sync_resource_handler
>  - components implementing features we are no longer using:
>   - resource_message_delegate
>   - child_resource_message_filter
>   - resource_scheduling_filter
>   - shared_memory_received_data_factory
>   - resource_dispatch_throttler
>  - messages defined in resource_messages.h
>  - a bunch of branches
> 
> Bug:  788241 
> Change-Id: I90a95163eb44bd7c34136d28db5d2625204f6f5c
> Reviewed-on: https://chromium-review.googlesource.com/821796
> Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#525943}

TBR=dcheng@chromium.org,kinuko@chromium.org,yhirano@chromium.org

Change-Id: I4a93fc6ad418a26ce646523b9c366512f32cce10
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  788241 ,  797374 
Reviewed-on: https://chromium-review.googlesource.com/842226
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526074}
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/BUILD.gn
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/async_resource_handler.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/async_resource_handler.h
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/async_resource_handler_browsertest.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/async_resource_handler_unittest.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/resource_loader_unittest.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/resource_message_delegate.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/resource_message_delegate.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/resource_message_filter.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/sync_resource_handler.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/browser/loader/sync_resource_handler.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/common/resource_messages.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/BUILD.gn
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/child_resource_message_filter.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/child_resource_message_filter.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/request_extra_data.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/resource_dispatcher_unittest.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/resource_scheduling_filter.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/resource_scheduling_filter.h
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/shared_memory_received_data_factory.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/shared_memory_received_data_factory.h
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/shared_memory_received_data_factory_unittest.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/url_response_body_consumer.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/render_thread_impl.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/render_thread_impl_browsertest.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/scheduler/resource_dispatch_throttler.cc
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/scheduler/resource_dispatch_throttler.h
[add] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/scheduler/resource_dispatch_throttler_unittest.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/service_worker/service_worker_fetch_context_impl.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/renderer/service_worker/worker_fetch_context_impl.cc
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/content/test/BUILD.gn
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.cpp
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
[modify] https://crrev.com/73765eea7390f0cd038191396c9df4535ad48581/third_party/WebKit/public/platform/WebURLRequest.h

Comment 4 by mek@chromium.org, Dec 22 2017

Cc: horo@chromium.org
Although now I wonder if https://chromium-review.googlesource.com/c/chromium/src/+/657787 might have been to blame instead. Both seem to touch that code, so if crashes remain I'll try reverting that one as well...

Comment 5 by mek@chromium.org, Dec 22 2017

FWIW first failures were in https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20%28dbg%29/8124, which is the build the CL I reverted landed in, so I'm somewhat more confident I reverted the right CL.

Comment 6 by mek@chromium.org, Dec 22 2017

Actually, I was wrong in my previous comment. Older builds (such as https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20%28dbg%29/8109 and https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20%28dbg%29/8103) already failed in the same way. So my revert is almost certainly wrong.

I don't think I see any failures before 8103, and 8100 was the build that first contained horo's CL, so probably that one is too blame after all. Sorry for the incorrect revert (although I'm not sure if the two CLs depend on eachother? they certainly touch the same code).
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 23 2017

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

commit 35cc2b256f2598350915742eefcc505ab902b636
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Sat Dec 23 00:46:13 2017

Revert "Use DocumentThreadableLoader for sync loading from worker thread."

This reverts commit 8685966927ced0bfc55129b863394040bb9ace58.

Reason for revert: threading related crashes in sync XHR code

Original change's description:
> Use DocumentThreadableLoader for sync loading from worker thread.
> 
> This change makes the sync loading on worker thread off the main thread.
> 
> I will create another CL to:
>  - Rename DocumentThreadableLoader.
>  - Remove WorkerThreadableLoader.
> 
> 
> Bug:  706331 
> Change-Id: Ia625c667eb1367d44976478dd0272317b52e60ea
> Reviewed-on: https://chromium-review.googlesource.com/657787
> Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#525696}

TBR=horo@chromium.org,kinuko@chromium.org,haraken@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  706331 ,  797374 
Change-Id: Ibd2be711ed693084c45d45fda7c51a2d3170361a
Reviewed-on: https://chromium-review.googlesource.com/843145
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526111}
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/sync_load_context.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/sync_load_response.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/sync_load_response.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/url_loader_client_impl.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/web_url_loader_impl.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/service_worker/service_worker_fetch_context_impl.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/service_worker/service_worker_fetch_context_impl.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/service_worker/worker_fetch_context_impl.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/content/renderer/service_worker/worker_fetch_context_impl.h
[add] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/LayoutTests/external/wpt/XMLHttpRequest/send-sync-response-event-order-expected.txt
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple-expected.txt
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/workers/cross-origin-unsupported-url-expected.txt
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/loader/ThreadableLoader.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/WaitableEvent.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/loader/fetch/FetchParameters.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/loader/fetch/RawResource.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Source/platform/testing/weburl_loader_mock.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/Tools/Scripts/audit-non-blink-usage.py
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/public/platform/WebURLLoader.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/public/platform/WebURLRequest.h
[modify] https://crrev.com/35cc2b256f2598350915742eefcc505ab902b636/third_party/WebKit/public/platform/WebWorkerFetchContext.h

Cc: -horo@chromium.org yhirano@chromium.org
Owner: horo@chromium.org
I'm relanding the first CL.
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 25 2017

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

commit 99ab0e0a3bfbaeed167be404db5fcb070bfc82a4
Author: Yutaka Hirano <yhirano@chromium.org>
Date: Mon Dec 25 02:36:41 2017

Revert "Revert "[mojo-loading] Remove ChromeIPC code""

This reverts commit 73765eea7390f0cd038191396c9df4535ad48581.

Reason for revert: The original change looks innocent for the failure.

Original change's description:
> Revert "[mojo-loading] Remove ChromeIPC code"
> 
> This reverts commit 56ddd0320acc76ba78ff650852b77a8ff8981617.
> 
> Reason for revert: looks like it might be causing crashes in syncxhr
> 
> Several synxhr tests started crashing somewhat regularly after this landed (see bug for details), reverting to see if this change is actually to blame.
> 
> Original change's description:
> > [mojo-loading] Remove ChromeIPC code
> > 
> > This CL removes all ChromeIPC messages defined in resource_messages.h.
> > The removed code include:
> > 
> >  - components having counterparts in mojo-loading:
> >   - async_resource_handler
> >   - sync_resource_handler
> >  - components implementing features we are no longer using:
> >   - resource_message_delegate
> >   - child_resource_message_filter
> >   - resource_scheduling_filter
> >   - shared_memory_received_data_factory
> >   - resource_dispatch_throttler
> >  - messages defined in resource_messages.h
> >  - a bunch of branches
> > 
> > Bug:  788241 
> > Change-Id: I90a95163eb44bd7c34136d28db5d2625204f6f5c
> > Reviewed-on: https://chromium-review.googlesource.com/821796
> > Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
> > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#525943}
> 
> TBR=dcheng@chromium.org,kinuko@chromium.org,yhirano@chromium.org
> 
> Change-Id: I4a93fc6ad418a26ce646523b9c366512f32cce10
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  788241 ,  797374 
> Reviewed-on: https://chromium-review.googlesource.com/842226
> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
> Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#526074}

TBR=dcheng@chromium.org,kinuko@chromium.org,mek@chromium.org,yhirano@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  788241 ,  797374 
Change-Id: Ib58215e11567a68a3167a3a641da0e4385c052bd
Reviewed-on: https://chromium-review.googlesource.com/844175
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526165}
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/browser/BUILD.gn
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/async_resource_handler.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/async_resource_handler.h
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/async_resource_handler_browsertest.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/async_resource_handler_unittest.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/browser/loader/resource_loader_unittest.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/resource_message_delegate.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/resource_message_delegate.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/browser/loader/resource_message_filter.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/sync_resource_handler.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/browser/loader/sync_resource_handler.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/common/resource_messages.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/BUILD.gn
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/child_resource_message_filter.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/child_resource_message_filter.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/request_extra_data.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/resource_dispatcher_unittest.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/resource_scheduling_filter.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/resource_scheduling_filter.h
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/shared_memory_received_data_factory.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/shared_memory_received_data_factory.h
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/loader/shared_memory_received_data_factory_unittest.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/url_response_body_consumer.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/render_thread_impl.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/render_thread_impl_browsertest.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/scheduler/resource_dispatch_throttler.cc
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/scheduler/resource_dispatch_throttler.h
[delete] https://crrev.com/504fd2e8f347bf20638cce9f80ebf065ad017a73/content/renderer/scheduler/resource_dispatch_throttler_unittest.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/service_worker/service_worker_fetch_context_impl.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/renderer/service_worker/worker_fetch_context_impl.cc
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/content/test/BUILD.gn
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.cpp
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
[modify] https://crrev.com/99ab0e0a3bfbaeed167be404db5fcb070bfc82a4/third_party/WebKit/public/platform/WebURLRequest.h

Comment 10 by horo@chromium.org, Dec 26 2017

Status: Assigned (was: Untriaged)
Sorry, apparently my cl broke the test.

Comment 11 by horo@chromium.org, Mar 26 2018

Status: Started (was: Assigned)

Comment 12 by horo@chromium.org, Mar 26 2018

Ah, this crash was caused by the Signal() call in SyncLoadContext::OnReceivedRedirect().
https://chromium-review.googlesource.com/c/chromium/src/+/657787/23/content/renderer/loader/sync_load_context.cc#81
"completed_event_->Signal()" was called twice when SyncLoadContext receives a redirect response.
Project Member

Comment 13 by bugdroid1@chromium.org, Mar 26 2018

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

commit 5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Mon Mar 26 10:24:30 2018

Revert "Revert "Use DocumentThreadableLoader for sync loading from worker thread.""

This reverts commit 35cc2b256f2598350915742eefcc505ab902b636 and
removes "completed_event_->Signal()" from SyncLoadContext::OnReceivedRedirect().
https://chromium-review.googlesource.com/c/chromium/src/+/657787/23/content/renderer/loader/sync_load_context.cc#81

"completed_event_->Signal()" was called twice when SyncLoadContext receives
a cross origin redirect response and caused crashes ( crbug.com/797374 ).

Bug:  706331 ,  797374 
Change-Id: I0562752b4be305a83ac4a0997c50687189d7f6cb

Original change's description:
> Revert "Use DocumentThreadableLoader for sync loading from worker thread."
>
> This reverts commit 8685966927ced0bfc55129b863394040bb9ace58.
>
> Reason for revert: threading related crashes in sync XHR code
>
> Original change's description:
> > Use DocumentThreadableLoader for sync loading from worker thread.
> >
> > This change makes the sync loading on worker thread off the main thread.
> >
> > I will create another CL to:
> >  - Rename DocumentThreadableLoader.
> >  - Remove WorkerThreadableLoader.
> >
> >
> > Bug:  706331 
> > Change-Id: Ia625c667eb1367d44976478dd0272317b52e60ea
> > Reviewed-on: https://chromium-review.googlesource.com/657787
> > Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
> > Reviewed-by: Kentaro Hara <haraken@chromium.org>
> > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#525696}
>
> TBR=horo@chromium.org,kinuko@chromium.org,haraken@chromium.org
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug:  706331 ,  797374 
> Change-Id: Ibd2be711ed693084c45d45fda7c51a2d3170361a
> Reviewed-on: https://chromium-review.googlesource.com/843145
> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
> Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#526111}

Change-Id: I0562752b4be305a83ac4a0997c50687189d7f6cb
Reviewed-on: https://chromium-review.googlesource.com/974989
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545754}
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/resource_dispatcher.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/resource_dispatcher.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/sync_load_context.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/sync_load_context.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/sync_load_response.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/sync_load_response.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/url_loader_client_impl.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/url_loader_client_impl.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/web_url_loader_impl.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/service_worker/service_worker_fetch_context_impl.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/service_worker/service_worker_fetch_context_impl.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/service_worker/worker_fetch_context_impl.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/content/renderer/service_worker/worker_fetch_context_impl.h
[delete] https://crrev.com/71e4caf1294020283a44cada9aa710fef337c717/third_party/WebKit/LayoutTests/external/wpt/xhr/send-sync-response-event-order-expected.txt
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple-expected.txt
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/workers/cross-origin-unsupported-url-expected.txt
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/loader/ThreadableLoader.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/WaitableEvent.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/loader/fetch/FetchParameters.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/loader/fetch/RawResource.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Source/platform/testing/weburl_loader_mock.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/Tools/Scripts/audit-non-blink-usage.py
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/public/platform/WebURLLoader.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/public/platform/WebURLRequest.h
[modify] https://crrev.com/5e1b52dd7e828fb2e4bd69f599c0c30eec3e873c/third_party/WebKit/public/platform/WebWorkerFetchContext.h

Comment 14 by horo@chromium.org, Mar 27 2018

Status: Fixed (was: Started)

Sign in to add a comment