DevTools crashes on Debug build with ServiceWorker |
|||
Issue descriptionChrome Version: 58.0.2993.0 (Developer Build) (64-bit) OS: Linux What steps will reproduce the problem? (1) Go https://horo-t.github.io/serviceworker/demo/simpleblob/ (2) Click button (3) Click "test" link (4) Open DevTools. What is the expected result? No crash What happens instead? Crash [1:13:0126/124100.232495:FATAL:MemoryCache.cpp(49)] Check failed: WTF::isMainThread(). #0 0x7f39fc79408e base::debug::StackTrace::StackTrace() #1 0x7f39fc80049f logging::LogMessage::~LogMessage() #2 0x7f39ecd0b02e blink::memoryCache() #3 0x7f39e3428fcd blink::InspectorNetworkAgent::setCacheDisabled() #4 0x7f39e342901f blink::InspectorNetworkAgent::setCacheDisabled() #5 0x7f39e40a1801 blink::protocol::Network::DispatcherImpl::setCacheDisabled() #6 0x7f39e409ef95 blink::protocol::Network::DispatcherImpl::dispatch() #7 0x7f39e40d0f92 blink::protocol::UberDispatcher::dispatch() #8 0x7f39e3455a72 blink::InspectorSession::dispatchProtocolMessage() #9 0x7f39e349817b blink::WorkerInspectorController::dispatchMessageFromFrontend() #10 0x7f39e3b09855 blink::dispatchOnInspectorBackendTask() #11 0x7f39e3b0d2ff _ZN4base8internal13FunctorTraitsIPFvRKN3WTF6StringEPN5blink12WorkerThreadEEvE6InvokeIJS5_S8_EEEvSA_DpOT_ #12 0x7f39e3b0d26d _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKN3WTF6StringEPN5blink12WorkerThreadEEJS7_SA_EEEvOT_DpOT0_ #13 0x7f39e3b0d218 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKN3WTF6StringEPN5blink12WorkerThreadEEJS4_NS3_17UnretainedWrapperIS8_LNS3_22FunctionThreadAffinityE0EEEEEEFvvEE7RunImplIRKSB_RKSt5tupleIJS4_SE_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #14 0x7f39e3b0d12c _ZN4base8internal7InvokerINS0_9BindStateIPFvRKN3WTF6StringEPN5blink12WorkerThreadEEJS4_NS3_17UnretainedWrapperIS8_LNS3_22FunctionThreadAffinityE0EEEEEEFvvEE3RunEPNS0_13BindStateBaseE #15 0x7f39e2649b8b base::internal::RunMixin<>::Run() #16 0x7f39e2c8b6d9 WTF::Function<>::operator()() #17 0x7f39e3b14f32 blink::WorkerThread::performDebuggerTaskOnWorkerThread() #18 0x7f39e3b1db5a _ZN4base8internal13FunctorTraitsIMN5blink12WorkerThreadEFvSt10unique_ptrIN3WTF8FunctionIFvvELNS5_22FunctionThreadAffinityE0EEESt14default_deleteIS9_EEEvE6InvokeIPS3_JSC_EEEvSE_OT_DpOT0_ #19 0x7f39e3b1da26 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5blink12WorkerThreadEFvSt10unique_ptrIN3WTF8FunctionIFvvELNS7_22FunctionThreadAffinityE0EEESt14default_deleteISB_EEEJPS5_SE_EEEvOT_DpOT0_ #20 0x7f39e3b1d9a8 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink12WorkerThreadEFvSt10unique_ptrIN3WTF8FunctionIFvvELNS6_22FunctionThreadAffinityE0EEESt14default_deleteISA_EEEJNS6_17UnretainedWrapperIS4_LS9_0EEENS6_13PassedWrapperISD_EEEEES8_E7RunImplIRKSF_RKSt5tupleIJSH_SJ_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #21 0x7f39e3b1d8bc _ZN4base8internal7InvokerINS0_9BindStateIMN5blink12WorkerThreadEFvSt10unique_ptrIN3WTF8FunctionIFvvELNS6_22FunctionThreadAffinityE0EEESt14default_deleteISA_EEEJNS6_17UnretainedWrapperIS4_LS9_0EEENS6_13PassedWrapperISD_EEEEES8_E3RunEPNS0_13BindStateBaseE #22 0x7f39e2649b8b base::internal::RunMixin<>::Run() #23 0x7f39e2c8b6d9 WTF::Function<>::operator()() #24 0x7f39e3b1514a blink::WorkerThread::performDebuggerTaskDontWaitOnWorkerThread() #25 0x7f39e325de65 _ZN4base8internal13FunctorTraitsIMN5blink16HTMLParserThreadEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #26 0x7f39e3b1e2c1 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5blink12WorkerThreadEFvvEJPS5_EEEvOT_DpOT0_ #27 0x7f39e3b1e267 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink12WorkerThreadEFvvEJN3WTF17UnretainedWrapperIS4_LNS7_22FunctionThreadAffinityE0EEEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJSA_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #28 0x7f39e3b1e1ac _ZN4base8internal7InvokerINS0_9BindStateIMN5blink12WorkerThreadEFvvEJN3WTF17UnretainedWrapperIS4_LNS7_22FunctionThreadAffinityE0EEEEEEFvvEE3RunEPNS0_13BindStateBaseE #29 0x7f39ec6ff09b base::internal::RunMixin<>::Run() #30 0x7f39ec6fefd9 WTF::Function<>::operator()() #31 0x7f39ec6fe131 blink::(anonymous namespace)::runCrossThreadClosure() #32 0x7f39ec6ffc07 _ZN4base8internal13FunctorTraitsIPFvSt10unique_ptrIN3WTF8FunctionIFvvELNS3_22FunctionThreadAffinityE0EEESt14default_deleteIS7_EEEvE6InvokeIJSA_EEEvSC_DpOT_ #33 0x7f39ec6ffb68 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvSt10unique_ptrIN3WTF8FunctionIFvvELNS5_22FunctionThreadAffinityE0EEESt14default_deleteIS9_EEEJSC_EEEvOT_DpOT0_ #34 0x7f39ec6ffb17 _ZN4base8internal7InvokerINS0_9BindStateIPFvSt10unique_ptrIN3WTF8FunctionIFvvELNS4_22FunctionThreadAffinityE0EEESt14default_deleteIS8_EEEJNS0_13PassedWrapperISB_EEEEES6_E7RunImplIRKSD_RKSt5tupleIJSF_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #35 0x7f39ec6ffa5c _ZN4base8internal7InvokerINS0_9BindStateIPFvSt10unique_ptrIN3WTF8FunctionIFvvELNS4_22FunctionThreadAffinityE0EEESt14default_deleteIS8_EEEJNS0_13PassedWrapperISB_EEEEES6_E3RunEPNS0_13BindStateBaseE #36 0x7f39fc799e81 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #37 0x7f39fc799872 base::debug::TaskAnnotator::RunTask() #38 0x7f39ecb39ef6 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue() #39 0x7f39ecb3749a blink::scheduler::TaskQueueManager::DoWork() #40 0x7f39ecb418ec _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueueManagerEFvNS_9TimeTicksEbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKS5_RKbEEEvS7_OT_DpOT0_ #41 0x7f39ecb417c4 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink9scheduler16TaskQueueManagerEFvNS_9TimeTicksEbERKNS_7WeakPtrIS6_EEJRKS7_RKbEEEvOT_OT0_DpOT1_ #42 0x7f39ecb41724 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvNS_9TimeTicksEbEJNS_7WeakPtrIS5_EES6_bEEEFvvEE7RunImplIRKS8_RKSt5tupleIJSA_S6_bEEJLm0ELm1ELm2EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #43 0x7f39ecb415fc _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvNS_9TimeTicksEbEJNS_7WeakPtrIS5_EES6_bEEEFvvEE3RunEPNS0_13BindStateBaseE #44 0x7f39fc799e81 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #45 0x7f39fc799872 base::debug::TaskAnnotator::RunTask() #46 0x7f39fc828e6f base::MessageLoop::RunTask() #47 0x7f39fc8290f4 base::MessageLoop::DeferOrRunPendingTask() #48 0x7f39fc8293de base::MessageLoop::DoWork() #49 0x7f39fc8408e8 base::MessagePumpDefault::Run() #50 0x7f39fc828a17 base::MessageLoop::RunHandler() #51 0x7f39fc8d5a6a base::RunLoop::Run() #52 0x7f39fc97ceb4 base::Thread::Run() #53 0x7f39fc97d71a base::Thread::ThreadMain() #54 0x7f39fc96403a base::(anonymous namespace)::ThreadFunc() #55 0x7f39fcbf2184 start_thread #56 0x7f39e8d8f37d clone
,
Jan 26 2017
I understood the crash reason. I want to land the fix patch instead of reverting. https://codereview.chromium.org/2650973006/
,
Jan 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16de2c25e724f07d46b68f5758e49fae6f136073 commit 16de2c25e724f07d46b68f5758e49fae6f136073 Author: horo <horo@chromium.org> Date: Thu Jan 26 07:49:51 2017 Revert of Show service worker navigation preload requests in DevTools Network tab (patchset #10 id:480001 of https://codereview.chromium.org/2620463002/ ) Reason for revert: Introduced DCHECK crash. BUG= 685493 Original issue's description: > Show service worker navigation preload requests in DevTools Network tab. > > Demo: https://youtu.be/I-Qe_Y-xYxE > > Navigation Preload requests are initiated from the browser process. > This is different from the normal network requests which are initiated from the > renderer process. > > When the DevTools show the normal requests in the Network tab, DevTool's > Network events (requestWillBeSent, responseReceived, loadingFinished etc) are > dispatched via InspectorInstrumentation and InspectorNetworkAgent. > > This CL introduces new DevTool's Network events (navigationPreloadSent, > navigationPreloadResponseReceived, navigationPreloadFailed, > navigationPreloadFinished) which are dispatched via InspectorInstrumentation and > InspectorNetworkAgent from ServiceWorkerContextClient. > > In the normal requests case, we record the request sending timestamp when the > renderer process will send the request in InspectorNetworkAgent:: > willSendRequestInternal(). But in the navigation preload case, we record the > timestamp in the browser process, and send it to the service worker's renderer > process using FetchEventPreloadHandle. > > > BUG= 649558 > > Review-Url: https://codereview.chromium.org/2620463002 > Cr-Original-Commit-Position: refs/heads/master@{#445630} > Committed: https://chromium.googlesource.com/chromium/src/+/4c6b3b0f11b62e069d9d84ba99dbe94a45a5c622 > Review-Url: https://codereview.chromium.org/2620463002 > Cr-Commit-Position: refs/heads/master@{#445699} > Committed: https://chromium.googlesource.com/chromium/src/+/23276c71698583a0142e8213bada22e3ae8d0a0e TBR=falken@chromium.org,pfeldman@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 649558 Review-Url: https://codereview.chromium.org/2654433012 Cr-Commit-Position: refs/heads/master@{#446270} [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/content/browser/loader/resource_dispatcher_host_impl.cc [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/content/browser/service_worker/service_worker_browsertest.cc [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/content/browser/service_worker/service_worker_fetch_dispatcher.cc [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/content/renderer/service_worker/service_worker_context_client.h [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/LayoutTests/http/tests/inspector/inspector-test.js [delete] https://crrev.com/1ae83a08f3b0b6831e5dbdaae12635010367b246/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/resources/navigation-preload-scope.php [delete] https://crrev.com/1ae83a08f3b0b6831e5dbdaae12635010367b246/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/resources/navigation-preload-worker.php [delete] https://crrev.com/1ae83a08f3b0b6831e5dbdaae12635010367b246/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-workers-navigation-preload-expected.txt [delete] https://crrev.com/1ae83a08f3b0b6831e5dbdaae12635010367b246/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-workers-navigation-preload.html [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/InspectorInstrumentation.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/InspectorInstrumentation.idl [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.h [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/WorkerInspectorController.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/WorkerInspectorController.h [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/inspector/browser_protocol.json [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/loader/PingLoader.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/ThreadedWorkletMessagingProxy.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/WorkerThread.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/WorkerThreadStartupData.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/WorkerThreadStartupData.h [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/WorkerThreadTest.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/devtools/front_end/sdk/NetworkLog.js [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/devtools/front_end/sdk/NetworkRequest.js [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/devtools/front_end/sdk/SubTargetsManager.js [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThreadTest.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerThreadTest.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/modules/webaudio/AudioWorkletThreadTest.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.h [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/web/WebEmbeddedWorkerImpl.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp [modify] https://crrev.com/16de2c25e724f07d46b68f5758e49fae6f136073/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextProxy.h
,
Jan 27 2017
,
Jul 28 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by horo@chromium.org
, Jan 26 2017