Check failed: wrapper_ in EmbeddedWorkerInstanceClientImpl::AddMessageToConsole |
|||
Issue descriptionI've found that fetch-event-after-navigation-within-page.https.html seems likely to fail when '-f' option is used on running the layout tests. $ ./third_party/WebKit/Tools/Scripts/run-webkit-tests -f -t Debug 'external/wpt/service-workers/service-worker/' --no-retry-failures --iterations=1 --exit-after-n-crashes-or-timeouts=1 --STDERR-- [1:1:0215/182040.565599:462848431523:FATAL:embedded_worker_instance_client_impl.cc(91)] Check failed: wrapper_. #0 0x7fd89067fb9b base::debug::StackTrace::StackTrace() #1 0x7fd89067e1dc base::debug::StackTrace::StackTrace() #2 0x7fd8906e94af logging::LogMessage::~LogMessage() #3 0x7fd893603d7c content::EmbeddedWorkerInstanceClientImpl::AddMessageToConsole() #4 0x7fd891aba03d content::mojom::EmbeddedWorkerInstanceClientStubDispatch::Accept() #5 0x7fd893604d93 content::mojom::EmbeddedWorkerInstanceClientStub<>::Accept() #6 0x7fd88e8c9b25 mojo::InterfaceEndpointClient::HandleValidatedMessage() #7 0x7fd88e8c94d1 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept() #8 0x7fd88e8c7155 mojo::FilterChain::Accept() #9 0x7fd88e8cb5c1 mojo::InterfaceEndpointClient::HandleIncomingMessage() #10 0x7fd88e8e1721 mojo::internal::MultiplexRouter::ProcessIncomingMessage() #11 0x7fd88e8e0f18 mojo::internal::MultiplexRouter::Accept() #12 0x7fd88e8c7155 mojo::FilterChain::Accept() #13 0x7fd88e8bce25 mojo::Connector::ReadSingleMessage() #14 0x7fd88e8bdab9 mojo::Connector::ReadAllAvailableMessages() #15 0x7fd88e8bd8db mojo::Connector::OnHandleReadyInternal() #16 0x7fd88e8bd7bb mojo::Connector::OnWatcherHandleReady() #17 0x7fd88e8bfa7c _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIPS3_JjEEEvS5_OT_DpOT0_ #18 0x7fd88e8bf986 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_ #19 0x7fd88e8bf917 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOj #20 0x7fd88e8bf81c _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEOj #21 0x7fd895ff255f base::internal::RunMixin<>::Run() #22 0x7fd895ff1ede mojo::Watcher::OnHandleReady() #23 0x7fd895ff2ece _ZN4base8internal13FunctorTraitsIMN4mojo7WatcherEFvjEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKjEEEvS5_OT_DpOT0_ #24 0x7fd895ff2d4f _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo7WatcherEFvjERKNS_7WeakPtrIS5_EEJRKjEEEvOT_OT0_DpOT1_ #25 0x7fd895ff2cc3 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo7WatcherEFvjEJNS_7WeakPtrIS4_EEjEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_jEEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #26 0x7fd895ff2bac _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo7WatcherEFvjEJNS_7WeakPtrIS4_EEjEEEFvvEE3RunEPNS0_13BindStateBaseE #27 0x7fd890685b61 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #28 0x7fd8906853de base::debug::TaskAnnotator::RunTask() #29 0x7fd88a2aae96 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue() #30 0x7fd88a2a8289 blink::scheduler::TaskQueueManager::DoWork() #31 0x7fd88a2b2b64 _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueueManagerEFvbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKbEEEvS6_OT_DpOT0_ #32 0x7fd88a2b2a6f _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink9scheduler16TaskQueueManagerEFvbERKNS_7WeakPtrIS6_EEJRKbEEEvOT_OT0_DpOT1_ #33 0x7fd88a2b29e3 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE7RunImplIRKS7_RKSt5tupleIJS9_bEEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #34 0x7fd88a2b28fc _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE3RunEPNS0_13BindStateBaseE #35 0x7fd890685b61 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #36 0x7fd8906853de base::debug::TaskAnnotator::RunTask() #37 0x7fd89071261d base::MessageLoop::RunTask() #38 0x7fd8907128b4 base::MessageLoop::DeferOrRunPendingTask() #39 0x7fd890712ba4 base::MessageLoop::DoWork() #40 0x7fd89072a288 base::MessagePumpDefault::Run() #41 0x7fd8907121b7 base::MessageLoop::RunHandler() #42 0x7fd8907c149a base::RunLoop::Run() #43 0x7fd8935ef87d content::RendererMain() #44 0x7fd893a00f4b content::RunZygote() #45 0x7fd893a01300 content::RunNamedProcessTypeMain() #46 0x7fd893a0371c content::ContentMainRunnerImpl::Run() #47 0x7fd893a00432 content::ContentMain() #48 0x000000496e01 main #49 0x7fd8824ebf45 __libc_start_main #50 0x000000496cd5 <unknown>
,
Feb 20 2017
,
Feb 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/acc713786ac1643648471dd35083ce760dcdfd30 commit acc713786ac1643648471dd35083ce760dcdfd30 Author: shimazu <shimazu@chromium.org> Date: Tue Feb 21 11:30:54 2017 ServiceWorker: ignore AddMessageToConsole before process allocation This patch is to skip EmbeddedWorkerInstance::AddMessageToConsole before process is allocated. When test is finishing, a renderer process on which the worker's script loading is running is killed. This cancels the ServiceWorkerWriteToCacheJob URLRequestJob. So ServiceWorkerWriteToCacheJob::NotifyFinishedCaching() calls EmbeddedWorkerInstance::AddMessageToConsole. At the same time with finishing, ClearAllServiceWorkersForTest calls SWVersion::StopWorker. This causes a situation that EmbeddedWorkerInstance is in the STARTING state, due to the restart behavior of Stop, but not yet have a process when AddMessageToConsole is called. So AddMessageToConsole would crash. BUG= 692439 Review-Url: https://codereview.chromium.org/2703153002 Cr-Commit-Position: refs/heads/master@{#451733} [modify] https://crrev.com/acc713786ac1643648471dd35083ce760dcdfd30/content/browser/service_worker/embedded_worker_instance.cc [modify] https://crrev.com/acc713786ac1643648471dd35083ce760dcdfd30/content/browser/service_worker/embedded_worker_instance_unittest.cc
,
Feb 24 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by shimazu@chromium.org
, Feb 16 2017