New issue
Advanced search Search tips

Issue 766241 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Proj-Servicification



Sign in to add a comment

S13nServiceWorker: ServiceWorkerScriptURLLoader::WriteData: NOTREACHED is reached.

Project Member Reported by yzshen@chromium.org, Sep 18 2017

Issue description

This is causing layout test flakiness (with network service):
http/tests/permissions/test-api-surface.html 

Please see: https://chromium-swarm.appspot.com/task?id=38aecd5b56505b10&refresh=10&show_raw=1

10:23:49.227 6005   [9619:9655:0918/102348.912220:7904438265:FATAL:service_worker_script_url_loader.cc(347)] Check failed: false. 11
10:23:49.227 6005   #0 0x000001ccda17 base::debug::StackTrace::StackTrace()
10:23:49.227 6005   #1 0x000001ce49d1 logging::LogMessage::~LogMessage()
10:23:49.227 6005   #2 0x0000019ebb56 content::ServiceWorkerScriptURLLoader::WriteData()
10:23:49.227 6005   #3 0x0000019eb834 content::ServiceWorkerScriptURLLoader::OnNetworkDataAvailable()
10:23:49.227 6005   #4 0x000000592d66 _ZN4base8internal7InvokerINS0_9BindStateIMN5media12PipelineImpl15RendererWrapperEFvNS3_14PipelineStatusEEJNS_7WeakPtrIS5_EEEEEFvS6_EE3RunEPNS0_13BindStateBaseEOS6_
10:23:49.227 6005   #5 0x00000093ed60 mojo::SimpleWatcher::DiscardReadyState()
10:23:49.227 6005   #6 0x000001ec8912 mojo::SimpleWatcher::OnHandleReady()
10:23:49.227 6005   #7 0x000001ec8dda _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE
10:23:49.227 6005   #8 0x000001cce157 base::debug::TaskAnnotator::RunTask()
10:23:49.227 6005   #9 0x000001d707f0 base::internal::IncomingTaskQueue::RunTask()
10:23:49.227 6005   #10 0x000001ceb1f7 base::MessageLoop::RunTask()
10:23:49.227 6005   #11 0x000001ceb83a base::MessageLoop::DoWork()
10:23:49.227 6005   #12 0x000001cee809 base::MessagePumpLibevent::Run()
10:23:49.227 6005   #13 0x000001ceac9a base::MessageLoop::Run()
10:23:49.228 6005   #14 0x000001d0c1a6 base::RunLoop::Run()
10:23:49.228 6005   #15 0x000001d3380c base::Thread::Run()
10:23:49.228 6005   #16 0x00000161e6b6 content::BrowserThreadImpl::IOThreadRun()
10:23:49.228 6005   #17 0x00000161e8b1 content::BrowserThreadImpl::Run()
10:23:49.228 6005   #18 0x000001d33db2 base::Thread::ThreadMain()
10:23:49.228 6005   #19 0x000001d2c59c base::(anonymous namespace)::ThreadFunc()
10:23:49.228 6005   #20 0x7fd2e746e184 start_threa
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 18 2017

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

commit 04edc873ca40a9984bdae639615037077b9bed64
Author: Yuzhu Shen <yzshen@chromium.org>
Date: Mon Sep 18 18:29:31 2017

Network service: update layout test filter.

Mark a test as flaky:
http/tests/permissions/test-api-surface.html [ Crash Pass ]

BUG= 766241 
TBR=jam@chromium.org

Change-Id: I6711baeabc4f921e00cf545b9829b9c7f9b4b0f3
Reviewed-on: https://chromium-review.googlesource.com/671644
Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502613}
[modify] https://crrev.com/04edc873ca40a9984bdae639615037077b9bed64/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService

Components: Blink>ServiceWorker
Summary: S13nServiceWorker: ServiceWorkerScriptURLLoader::WriteData: NOTREACHED is reached. (was: ServiceWorkerScriptURLLoader::WriteData: NOTREACHED is reached.)
Thank you for filing this.

-11 is MOJO_RESULT_OUT_OF_RANGE. Probably buffering is wrong. I'll take a look.
Labels: M-63
Status: Started (was: Assigned)
I should handled the case where the data pipe is full. Uploaded a fix:
https://chromium-review.googlesource.com/c/chromium/src/+/672803
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 22 2017

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

commit 76a3cdbbb4901d7897f4943984bfd824b3e591b3
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Sep 22 06:24:54 2017

S13nServiceWorker: Handle write failures because the data pipe is full in SWScriptURLLoader

This CL ...

- changes the flag for DataPipeProducerHandle::WriteData() from
  MOJO_WRITE_DATA_FLAG_ALL_OR_NONE to MOJO_WRITE_DATA_FLAG_NONE because we
  don't have to ensure the all-or-nothing write,
- handles the case where DataPipeProducerHandle::WriteData() fails to write the
  given data to the mojo's producer handle because the data pipe is full (i.e.,
  MOJO_RESULT_SHOULD_WAIT),
- notifies the actual written size (|bytes_written|) to
  ServiceWorkerScriptURLLoader::OnWriteDataComplete() instead of available
  buffer size (|available_bytes|), and
- simplifies arguments of ServiceWorkerScriptURLLoader::WriteData() for cleanup.

This fixes crashes on http/tests/permissions/test-api-surface.html.

Bug:  748415 ,  766241 
Change-Id: If5a95a3f18521ac96d696a6a568bc32735b09eb8
Reviewed-on: https://chromium-review.googlesource.com/672803
Reviewed-by: Kinuko Yasuda (slow) <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503670}
[modify] https://crrev.com/76a3cdbbb4901d7897f4943984bfd824b3e591b3/content/browser/service_worker/service_worker_script_url_loader.cc
[modify] https://crrev.com/76a3cdbbb4901d7897f4943984bfd824b3e591b3/content/browser/service_worker/service_worker_script_url_loader.h
[modify] https://crrev.com/76a3cdbbb4901d7897f4943984bfd824b3e591b3/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService

Status: Fixed (was: Started)

Comment 6 by laforge@google.com, Nov 7 2017

Components: -Internals>Network>Service Internals>Services>Network
Apologies, applied the wrong component in bulk.

Sign in to add a comment