Bug 175851

Summary: Introduce ServerWorkerRegistration task queues
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebCore Misc.Assignee: Brady Eidson <beidson>
Severity: Normal CC: aestes, beidson, buildbot, commit-queue, rniwa, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=174541
Bug Depends on: 175952    
Bug Blocks:    
Description Flags
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
buildbot: commit-queue-
Archive of layout-test-results from ews107 for mac-elcapitan-wk2
Archive of layout-test-results from ews121 for ios-simulator-wk2
With some logging even EWS should give me.
buildbot: commit-queue-
Archive of layout-test-results from ews107 for mac-elcapitan-wk2
Trying again, flushing stdout this time
buildbot: commit-queue-
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
Archive of layout-test-results from ews124 for ios-simulator-wk2
For EWS (With test!)
For EWS (With test!)
Patch none

Description Brady Eidson 2017-08-22 14:21:49 PDT
Introduced ServerWorkerRegistration task queues

This adds a job queue per-ServiceWorkerRegistration in the storage process.

All it's used for ATM is still failing out the "register()" call's promise.
Comment 1 Brady Eidson 2017-08-22 14:26:18 PDT Comment hidden (obsolete)
Comment 2 Build Bot 2017-08-22 15:42:38 PDT Comment hidden (obsolete)
Comment 3 Build Bot 2017-08-22 15:42:40 PDT Comment hidden (obsolete)
Comment 4 Brady Eidson 2017-08-22 15:45:47 PDT
(In reply to Build Bot from comment #2)
> Comment on attachment 318799 [details]
> Patch
> Attachment 318799 [details] did not pass mac-wk2-ews (mac-wk2):
> Output: http://webkit-queues.webkit.org/results/4363865
> New failing tests:
> http/tests/workers/service/basic-register.html

Well, considering this passes 100% locally, this will be fun to figure out.
Comment 5 Brady Eidson 2017-08-22 15:57:58 PDT Comment hidden (obsolete)
Comment 6 Brady Eidson 2017-08-22 15:58:18 PDT Comment hidden (obsolete)
Comment 7 Build Bot 2017-08-22 17:09:24 PDT Comment hidden (obsolete)
Comment 8 Build Bot 2017-08-22 17:09:25 PDT Comment hidden (obsolete)
Comment 9 Build Bot 2017-08-22 17:32:40 PDT Comment hidden (obsolete)
Comment 10 Build Bot 2017-08-22 17:32:43 PDT Comment hidden (obsolete)
Comment 11 Brady Eidson 2017-08-23 10:30:36 PDT Comment hidden (obsolete)
Comment 12 Brady Eidson 2017-08-23 14:22:58 PDT Comment hidden (obsolete)
Comment 13 Build Bot 2017-08-23 15:16:03 PDT Comment hidden (obsolete)
Comment 14 Build Bot 2017-08-23 15:16:05 PDT Comment hidden (obsolete)
Comment 15 Brady Eidson 2017-08-23 15:28:31 PDT Comment hidden (obsolete)
Comment 16 Brady Eidson 2017-08-23 15:41:42 PDT Comment hidden (obsolete)
Comment 17 Brady Eidson 2017-08-23 16:50:05 PDT
Okay so I can reproduce locally with a release build (which is what the EWS bot is using)

I can *not* reproduce locally with a debug build.

Now exploring what's different between those two...
Comment 18 Build Bot 2017-08-23 17:00:03 PDT Comment hidden (obsolete)
Comment 19 Build Bot 2017-08-23 17:00:05 PDT Comment hidden (obsolete)
Comment 20 Build Bot 2017-08-23 17:27:33 PDT Comment hidden (obsolete)
Comment 21 Build Bot 2017-08-23 17:27:35 PDT Comment hidden (obsolete)
Comment 22 Brady Eidson 2017-08-24 07:29:58 PDT Comment hidden (obsolete)
Comment 23 Brady Eidson 2017-08-24 13:31:02 PDT
We figured this out. 

Encoders and Decoder didn't match (one in WebCore one in WebKit)

Why this works in Debug builds is a huge mystery!
Comment 24 Brady Eidson 2017-08-24 15:17:23 PDT Comment hidden (obsolete)
Comment 25 Brady Eidson 2017-08-24 17:11:16 PDT Comment hidden (obsolete)
Comment 26 Brady Eidson 2017-08-24 17:14:04 PDT Comment hidden (obsolete)
Comment 27 Brady Eidson 2017-08-24 19:09:19 PDT
Created attachment 319055 [details]
Comment 28 Andy Estes 2017-08-25 09:27:59 PDT
Comment on attachment 319055 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=319055&action=review

> Source/WebCore/workers/service/ServiceWorkerJobData.h:41
> +    ServiceWorkerJobData(uint64_t connectionIdentifier);
> +    ServiceWorkerJobData(const ServiceWorkerJobData&);

Should these be explicit?

> Source/WebCore/workers/service/server/SWServer.cpp:108
> +    {
> +        Locker<Lock> locker(m_taskThreadLock);
> +    }

Not sure why this necessary, but you told me in person that this was needed in IndexedDB and might be needed here too. If this is necessary then a comment would be helpful.

> Source/WebCore/workers/service/server/SWServerRegistration.h:41
> +    SWServerRegistration(SWServer&);

Comment 29 Brady Eidson 2017-08-25 10:35:57 PDT
Created attachment 319088 [details]
Comment 30 Brady Eidson 2017-08-25 10:36:43 PDT
Let EWS chew on it then will cq+
Comment 31 WebKit Commit Bot 2017-08-25 11:57:48 PDT
Comment on attachment 319088 [details]

Clearing flags on attachment: 319088

Committed r221198: <http://trac.webkit.org/changeset/221198>
Comment 32 WebKit Commit Bot 2017-08-25 11:57:50 PDT
All reviewed patches have been landed.  Closing bug.
Comment 33 Radar WebKit Bug Importer 2017-08-25 11:59:47 PDT