Summary: | Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https.html is flaky | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Matt Lewis <jlewis3> | ||||||
Component: | Service Workers | Assignee: | Chris Dumez <cdumez> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | beidson, cdumez, commit-queue, rniwa, webkit-bug-importer, youennf | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
See Also: |
https://bugs.webkit.org/show_bug.cgi?id=180702 https://bugs.webkit.org/show_bug.cgi?id=181167 |
||||||||
Attachments: |
|
Description
Matt Lewis
2017-12-26 17:46:23 PST
Marked as flaky in: https://trac.webkit.org/changeset/226296/webkit I managed to reproduce the flakiness like so: run-webkit-tests -gf --repeat-each=25 imported/w3c/web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https.html Looks like the registration.unregister() promise at the end of the last test sometimes does not get resolved. If I disable soft-update, then it is no longer flaky. It seems that SoftUpdate jobs sometimes "hang" the jobQueue so that it is no longer processing new jobs. Created attachment 333054 [details]
Patch
Comment on attachment 333054 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=333054&action=review > Source/WebCore/workers/service/ServiceWorkerJobData.cpp:39 > : m_identifier { connectionIdentifier, generateThreadSafeObjectIdentifier<ServiceWorkerJobIdentifierType>() } Preexisting issue but seems a bit weird to have m_identifier here and sourceContext which are both member fields of ServiceWorkerJobData. > Source/WebCore/workers/service/server/SWServer.cpp:503 > + // Abort if the job that scheduled this has not been cancelled. s/has not/has/ > Source/WebCore/workers/service/server/SWServer.cpp:633 > + jobQueue->cancelJobsFromServiceWorker(worker.identifier()); Maybe just me but I would read it more easily with something like cancelServiceWorkerJobs. Ditto below. (In reply to youenn fablet from comment #7) > Comment on attachment 333054 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=333054&action=review > > > Source/WebCore/workers/service/ServiceWorkerJobData.cpp:39 > > : m_identifier { connectionIdentifier, generateThreadSafeObjectIdentifier<ServiceWorkerJobIdentifierType>() } > > Preexisting issue but seems a bit weird to have m_identifier here and > sourceContext which are both member fields of ServiceWorkerJobData. > > > Source/WebCore/workers/service/server/SWServer.cpp:503 > > + // Abort if the job that scheduled this has not been cancelled. > > s/has not/has/ > > > Source/WebCore/workers/service/server/SWServer.cpp:633 > > + jobQueue->cancelJobsFromServiceWorker(worker.identifier()); > > Maybe just me but I would read it more easily with something like > cancelServiceWorkerJobs. Ditto below. I personally prefer cancelJobsFromServiceWorker to cancelServiceWorkerJobs. "cancelServiceWorkerJobs" sounds very generic given that we are in service worker code. Created attachment 333086 [details]
Patch
Comment on attachment 333086 [details] Patch Clearing flags on attachment: 333086 Committed r228101: <https://trac.webkit.org/changeset/228101> All reviewed patches have been landed. Closing bug. |