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

Issue 753790 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK fails in InspectorNetworkAgent

Project Member Reported by dtapu...@chromium.org, Aug 9 2017

Issue description

Platform: Linux64

Build with DCHECKs on
Enter mobile emulation mode (Nexus5X).
Load https://www.theguardian.com/international
Scroll around.
DCHECK will fire.


[1:23:0809/093519.729303:FATAL:InspectorNetworkAgent.cpp(1000)] Check failed: !pending_request_. 
#0 0x7fae6daa2a37 base::debug::StackTrace::StackTrace()
#1 0x7fae6dac99c1 logging::LogMessage::~LogMessage()
#2 0x7fae66b9ea84 blink::InspectorNetworkAgent::WillStartFetch()
#3 0x7fae66f5ff57 blink::probe::willStartFetch()
#4 0x7fae64e2a517 blink::FetchManager::Loader::PerformHTTPFetch()
#5 0x7fae64e29d5a blink::FetchManager::Loader::PerformSchemeFetch()
#6 0x7fae64e2972d blink::FetchManager::Loader::Start()
#7 0x7fae64e2abfa blink::FetchManager::Fetch()
#8 0x7fae64e339b8 blink::(anonymous namespace)::GlobalFetchImpl<>::Fetch()
#9 0x7fae64e335c2 blink::GlobalFetch::fetch()
#10 0x7fae64fb8af2 blink::ServiceWorkerGlobalScope::fetch()
#11 0x7fae64bd8457 blink::V8ServiceWorkerGlobalScope::fetchMethodCallback()
#12 0x7fae679fc90d v8::internal::FunctionCallbackArguments::Call()
#13 0x7fae67adb49b v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#14 0x7fae67ad9d1f v8::internal::Builtin_Impl_HandleApiCall()
#15 0x3486ba5043c4 <unknown>

Received signal 6
#0 0x7fae6daa2a37 base::debug::StackTrace::StackTrace()
#1 0x7fae6daa250f base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fae6dc27330 <unknown>
#3 0x7fae63f31c37 gsignal
#4 0x7fae63f35028 abort
#5 0x7fae6daa0642 base::debug::BreakDebugger()
#6 0x7fae6dac9e92 logging::LogMessage::~LogMessage()
#7 0x7fae66b9ea84 blink::InspectorNetworkAgent::WillStartFetch()
#8 0x7fae66f5ff57 blink::probe::willStartFetch()
#9 0x7fae64e2a517 blink::FetchManager::Loader::PerformHTTPFetch()
#10 0x7fae64e29d5a blink::FetchManager::Loader::PerformSchemeFetch()
#11 0x7fae64e2972d blink::FetchManager::Loader::Start()
#12 0x7fae64e2abfa blink::FetchManager::Fetch()
#13 0x7fae64e339b8 blink::(anonymous namespace)::GlobalFetchImpl<>::Fetch()
#14 0x7fae64e335c2 blink::GlobalFetch::fetch()
#15 0x7fae64fb8af2 blink::ServiceWorkerGlobalScope::fetch()
#16 0x7fae64bd8457 blink::V8ServiceWorkerGlobalScope::fetchMethodCallback()
#17 0x7fae679fc90d v8::internal::FunctionCallbackArguments::Call()
#18 0x7fae67adb49b v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#19 0x7fae67ad9d1f v8::internal::Builtin_Impl_HandleApiCall()
#20 0x3486ba5043c4 <unknown>
  r8: ffff81a1f7f22270  r9: ffff81a1f7f22260 r10: 0000000000000008 r11: 0000000000000202
 r12: 00007fae4ac4a600 r13: 0000000000000061 r14: 00007fae4ac4a5f8 r15: 00007fae4ac4a5f0
  di: 0000000000000001  si: 0000000000000017  bp: 00007fae4ac4a1b0  bx: 00007fae4ac4a1b0
  dx: 0000000000000006  ax: 0000000000000000  cx: 00007fae63f31c37  sp: 00007fae4ac4a008
  ip: 00007fae63f31c37 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

 
My ToT build was sync'd at.

commit 6789f8394598093d031c06f1c0ffd7916edda362 (origin/master, origin/HEAD)
Author: Eric Lawrence <elawrence@chromium.org>
Date:   Tue Aug 8 12:31:14 2017 +0000

Owner: allada@chromium.org
Status: Assigned (was: Untriaged)

Comment 3 by allada@chromium.org, Aug 15 2017

Cc: allada@chromium.org
Owner: horo@chromium.org
Looked into it and it comes from the fact that devtools ends up getting two willStartFetch() from FetchManager::Loader::PerformHTTPFetch() with the same execution context without ever receiving InspectorNetworkAgent::DetachClientRequest() between the two.

Let me know if you have questions or need further clarification.

Comment 4 by horo@chromium.org, Aug 17 2017

Status: Started (was: Assigned)

Comment 5 by horo@chromium.org, Aug 17 2017

Components: Blink>ServiceWorker
Cc: horo@chromium.org shimazu@chromium.org
 Issue 754161  has been merged into this issue.

Comment 7 by horo@chromium.org, Aug 17 2017

I think we have to call probe::documentThreadableLoaderStartedLoadingForClient() from DocumentThreadableLoader on workers.
Created a cl: https://chromium-review.googlesource.com/c/618073
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 17 2017

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

commit 2cf18136b13f1413316ce06bb86b0c9de95bade0
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Thu Aug 17 22:36:25 2017

Call DevTools APIs from DocumentThreadableLoader with ExecutionContext

Bug:  753790 
Change-Id: Ie998213f27fe16c0bff46ba0aca0623d8e5c1367
Reviewed-on: https://chromium-review.googlesource.com/618073
Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495357}
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/LayoutTests/http/tests/inspector/network/network-worker-fetch-expected.txt
[add] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/LayoutTests/http/tests/inspector/network/network-worker-fetch-parallel-expected.txt
[add] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/LayoutTests/http/tests/inspector/network/network-worker-fetch-parallel.html
[add] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/LayoutTests/http/tests/inspector/network/resources/fetch-parallel-worker.js
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-worker-network-fetch-expected.txt
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.h
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.h
[modify] https://crrev.com/2cf18136b13f1413316ce06bb86b0c9de95bade0/third_party/WebKit/Source/core/probe/CoreProbes.pidl

Comment 9 by horo@chromium.org, Aug 18 2017

Status: Fixed (was: Started)

Sign in to add a comment