Refactor ServiceWorkerPrivate to spawn and hold open WorkerPrivate instances in content processes, dispatching events to them
Categories
(Core :: DOM: Service Workers, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: bkelly, Assigned: perry)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [e10s-multi:M3], SW-MUST, DWS_NEXT[wptsync upstream])
Attachments
(24 files, 1 obsolete file)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Updated•8 years ago
|
Updated•8 years ago
|
Updated•8 years ago
|
Comment 1•8 years ago
|
||
Updated•7 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 3•6 years ago
|
||
Comment 4•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
•
|
||
This is the current, and hopefully final, strategy:
New IPDL Protocols
PRemoteWorkerController
The Remote Worker infrastructure operates over PBackground
, with the parent-process-side endpoint being RemoteWorkerController
and the child-process-side endpoint being RemoteWorkerChild
. To integrate ServiceWorkerPrivate
into this system, it needs to access a RemoteWorkerController
. This will happen over the PRemoteWorkerController
protocol, which connects the main thread and background thread in the parent process.
PFetchEventOp
PFetchEventOp
is a PBackground
-managed protocol. A PFetchEventOp
actor represents an in-progress Fetch event. i.e., the lifetime of an actor corresponds to the lifetime of a FetchEvent
(more or less). There will be two pairs of actors implementing PFetchEventOp{Parent,Child}; one to link the main/background threads in the main process, and one to link the background thread in the main process to the Worker Launcher thread in the content process (where RemoteWorkerChild lives). Commands/queries/operations from the content process can’t directly access the parent-process main thread due to the Remote Worker infrastructure existing exclusively over PBackground
, so the second pair of actors is needed to act as a proxy for the first pair of actors.
The child actor from the first pair will keep a reference to a KeepAliveToken
as well as an nsIInterceptedChannel
and can manipulate the intercepted channel on behalf of the content process. It should be able to synthesize a response from an InternalResponse
, avoiding the need to use the channel abstraction.
ServiceWorkerOpArgs
(not a protocol, but still IPC related)
ServiceWorkerOpArgs
is an IPDL union of all possible service worker “operations” (e.g. ServiceWorkerFetchEventOpArgs
, ServiceWorkerMessageEventOpArgs
, etc.). Everything necessary to construct a service worker event/runnable is packaged into a struct and sent through the various protocols and to the content process as a ServiceWorkerOpArgs
union. RemoteWorkerChild
will ultimately determine what specific operation is received and handle is accordingly.
ServiceWorkerOpResult
ServiceWorkerOpResult
is similar to ServiceWorkerOpArgs
; it’s used to communicate the result of an operation (and any necessary callback arguments) across IPC.
Determining when an operation is complete
For those operations that only have one dispatch/response cycle (which is looking like everything but Fetch), the lifetime of the operation corresponds to the lifetime of the MozPromise
returned by PRemoteWorkerControllerChild::SendExecServiceWorkerOp
(called by ServiceWorkerPrivate
). This promise is then resolved or rejected by the MozPromise
returned by PRemoteWorkerParent::SendExecServiceWorkerOp
(called by RemoteWorkerController
).
For Fetch, this is determined by the FetchEventOp
actors’ lifetimes rather than a MozPromises
’ lifetimes, in a similar fashion.
Summary
Service worker operations are encapsulated by a ServiceWorkerOpArgs
object that can be sent across IPC. The path of a ServiceWorkerOpArgs
object is ServiceWorkerPrivate
-> RemoteWorkerControllerChild
-> RemoteWorkerControllerParent
-> RemoteWorkerController
-> RemoteWorkerParent
-> RemoteWorkerChild
-> WorkerPrivate
. There are many objects to pass through due to this whole process happening over 3 threads.
When a non-fetch operation completes in the content process, the steps for telling the parent process that the operation has completed is as follow:
- Create a
ServiceWorkerOpResult
that’s used to call aPRemoteWorkerChild::ExecServiceWorkerOpResolver
- That call will then resolve the promise returned from
PRemoteWorkerParent::SendExecServiceWorkerOp
, whose resolution then callsPRemoteWorkerControllerParent::ExecServiceWorkerOpResolver
- That call them will resolve the promise returned from
PRemoteWorkerControllerChild::SendExecServiceWorkerOp
, where callbacks, if any, can then be called. - The operation is complete, and its associated
KeepAliveToken
is destroyed.
Steps for a Fetch operation are similar but use FetchEventOp
actor destruction rather than MozPromise
resolution/rejection.
Comment 7•6 years ago
|
||
Your most excellent summary matches my understanding of our discussion. Thanks!
Assignee | ||
Comment 8•6 years ago
|
||
Assignee | ||
Comment 9•6 years ago
|
||
Depends on D26158
Assignee | ||
Comment 10•6 years ago
|
||
Depends on D26159
Assignee | ||
Comment 11•6 years ago
|
||
Depends on D26160
Assignee | ||
Comment 12•6 years ago
|
||
Depends on D26161
Assignee | ||
Comment 13•6 years ago
|
||
Depends on D26162
Assignee | ||
Comment 14•6 years ago
|
||
Depends on D26163
Assignee | ||
Comment 15•6 years ago
|
||
Depends on D26164
Assignee | ||
Comment 16•6 years ago
|
||
Depends on D26165
Assignee | ||
Comment 17•6 years ago
|
||
Depends on D26166
Assignee | ||
Comment 18•6 years ago
|
||
Depends on D26167
Assignee | ||
Comment 19•6 years ago
|
||
Depends on D26168
Assignee | ||
Comment 20•6 years ago
|
||
Depends on D26169
Assignee | ||
Comment 21•6 years ago
|
||
Depends on D26170
Assignee | ||
Comment 22•6 years ago
|
||
Depends on D26171
Assignee | ||
Comment 23•6 years ago
|
||
The args are sent from the parent process main thread to the parent process
background thread and then from the background thread to a content process
worker launcher thread.
Depends on D26172
Assignee | ||
Comment 24•6 years ago
|
||
Depends on D26173
Assignee | ||
Comment 25•6 years ago
|
||
Depends on D26174
Assignee | ||
Comment 26•6 years ago
|
||
Depends on D26175
Assignee | ||
Comment 27•6 years ago
|
||
Depends on D26176
Assignee | ||
Comment 28•6 years ago
|
||
Depends on D26177
Assignee | ||
Comment 29•6 years ago
|
||
Depends on D26178
Assignee | ||
Comment 30•6 years ago
|
||
Depends on D26179
Assignee | ||
Comment 31•6 years ago
•
|
||
Parent-intercept tests: https://treeherder.mozilla.org/#/jobs?repo=try&revision=2eccbd522310ece1d30818050f4bd974c2943610
"Normal" tests: https://treeherder.mozilla.org/#/jobs?repo=try&revision=50f15dff40201f4beb2a5f505bc47e866b371413
There's still intermittent timeouts in WPTs for the parent-intercept tests (although none for service-workers/ tests). Based on the log output of those tests, I suspect they're caused by the Service Workers being spawn in a dying/about-to-die process, causing the worker to never execute and the tests to timeout. The cause perhaps involves code here https://searchfox.org/mozilla-central/source/dom/ipc/ContentParent.cpp#5796, but rr isn't cooperating and I'm having trouble verifying. (Also Pernosco has not been able to reproduce the timeouts.)
The timeouts are no more, and I've updated the patches with the fix (see revision D26176).
Tests (parent-intercept tests are in the Linux x64 debug section): https://treeherder.mozilla.org/#/jobs?repo=try&revision=970e603225f31cbf45ca5341c64814ac274fc95d (rebased on central on May 10 2019)
Updated•6 years ago
|
Assignee | ||
Comment 32•6 years ago
|
||
Depends on D26179
Updated•5 years ago
|
Updated•5 years ago
|
Comment 33•5 years ago
|
||
Truly fantastic work on this entire patch set. The future looks very bright for ServiceWorkers in Gecko!
Assignee | ||
Comment 34•5 years ago
|
||
- Throw a TypeError when a registration isn't found in the "scope to registration map"
- Synchronously (before enqueuing a job) check for an existing newest worker
- Synchronously check if an installing worker is attempting to update itself
Depends on D26178
Comment 35•5 years ago
|
||
Comment 37•5 years ago
|
||
Comment 39•5 years ago
|
||
Backed out for build bustages on RemoteWorkerChild.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/e1e41da40c81909609218b7f3e9256743e83eb47
Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=261264989&repo=autoland&lineNumber=25002
Assignee | ||
Comment 41•5 years ago
|
||
Bustage should be fixed: https://treeherder.mozilla.org/#/jobs?repo=try&revision=71d987da31108a0df75fe8af9e2c6a5cf23b7e89
Comment 42•5 years ago
|
||
Comment 44•5 years ago
|
||
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=06dba269fcfe94d7a5a0aed79f83ba6838364624&selectedJob=261383016
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=261383016&repo=autoland
Backout link: https://hg.mozilla.org/integration/autoland/rev/b99210aefac1d57f42403e6eab8895a0cd3d325b
[task 2019-08-13T18:24:18.334Z] 18:24:18 INFO - /builds/worker/workspace/build/src/sccache/sccache /builds/worker/workspace/build/src/gcc/bin/g++ -o Unified_cpp_remoteworkers0.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/dom/workers/remoteworkers -I/builds/worker/workspace/build/src/obj-firefox/dom/workers/remoteworkers -I/builds/worker/workspace/build/src/dom/serviceworkers -I/builds/worker/workspace/build/src/xpcom/build -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wformat -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O2 -fno-omit-frame-pointer -funwind-tables -Werror -MD -MP -MF .deps/Unified_cpp_remoteworkers0.o.pp /builds/worker/workspace/build/src/obj-firefox/dom/workers/remoteworkers/Unified_cpp_remoteworkers0.cpp
[task 2019-08-13T18:24:18.334Z] 18:24:18 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/dom/workers/remoteworkers/Unified_cpp_remoteworkers0.cpp:2:0:
[task 2019-08-13T18:24:18.334Z] 18:24:18 ERROR - /builds/worker/workspace/build/src/dom/workers/remoteworkers/RemoteWorkerChild.cpp:211:26: error: 'mozilla::dom::RemoteWorkerChild::InitializeWorkerRunnable' has a field 'mozilla::dom::RemoteWorkerChild::InitializeWorkerRunnable::mActor' whose type uses the anonymous namespace [-Werror=subobject-linkage]
[task 2019-08-13T18:24:18.334Z] 18:24:18 INFO - class RemoteWorkerChild::InitializeWorkerRunnable final
[task 2019-08-13T18:24:18.334Z] 18:24:18 INFO - ^~~~~~~~~~~~~~~~~~~~~~~~
[task 2019-08-13T18:24:18.335Z] 18:24:18 INFO - /builds/worker/workspace/build/src/dom/workers/remoteworkers/RemoteWorkerChild.cpp: In member function 'virtual bool mozilla::dom::RemoteWorkerChild::SharedWorkerOp::MaybeStart(mozilla::dom::RemoteWorkerChild*, mozilla::dom::RemoteWorkerChild::State&)':
[task 2019-08-13T18:24:18.335Z] 18:24:18 ERROR - /builds/worker/workspace/build/src/dom/workers/remoteworkers/RemoteWorkerChild.cpp:804:68: error: 'mozilla::dom::RemoteWorkerChild::SharedWorkerOp::MaybeStart(mozilla::dom::RemoteWorkerChild*, mozilla::dom::RemoteWorkerChild::State&)::<lambda()>' has a field 'mozilla::dom::RemoteWorkerChild::SharedWorkerOp::MaybeStart(mozilla::dom::RemoteWorkerChild*, mozilla::dom::RemoteWorkerChild::State&)::<lambda()>::__owner' whose type uses the anonymous namespace [-Werror=subobject-linkage]
[task 2019-08-13T18:24:18.335Z] 18:24:18 INFO - func, self = std::move(self), owner = std::move(owner) mutable {
[task 2019-08-13T18:24:18.335Z] 18:24:18 INFO - ^
[task 2019-08-13T18:24:18.336Z] 18:24:18 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/dom/workers/remoteworkers/Unified_cpp_remoteworkers0.cpp:38:0:
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - /builds/worker/workspace/build/src/dom/workers/remoteworkers/RemoteWorkerManager.cpp: In member function 'mozilla::dom::RemoteWorkerServiceParent* mozilla::dom::RemoteWorkerManager::SelectTargetActorForServiceWorker() const':
[task 2019-08-13T18:24:18.338Z] 18:24:18 ERROR - /builds/worker/workspace/build/src/dom/workers/remoteworkers/RemoteWorkerManager.cpp:238:7: error: operation on 'i' may be undefined [-Werror=sequence-point]
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - i = (++i % mChildActors.Length());
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - ^
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - cc1plus: all warnings being treated as errors
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - /builds/worker/workspace/build/src/config/rules.mk:787: recipe for target 'Unified_cpp_remoteworkers0.o' failed
[task 2019-08-13T18:24:18.338Z] 18:24:18 ERROR - make[4]: *** [Unified_cpp_remoteworkers0.o] Error 1
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/workers/remoteworkers'
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'dom/workers/remoteworkers/target' failed
[task 2019-08-13T18:24:18.338Z] 18:24:18 ERROR - make[3]: *** [dom/workers/remoteworkers/target] Error 2
[task 2019-08-13T18:24:18.338Z] 18:24:18 INFO - make[3]: *** Waiting for unfinished jobs....
Assignee | ||
Comment 45•5 years ago
|
||
My bad, I don't think I updated the Phabricator revisions...
Assignee | ||
Comment 46•5 years ago
•
|
||
Double checking that it all builds fine: https://treeherder.mozilla.org/#/jobs?repo=try&revision=7d4e778aacb132fc49be9d5d04424691338eed57
Comment 47•5 years ago
|
||
Comment 49•5 years ago
|
||
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=4a45f2c447fddfe706fb728b32c4121878b11206&selectedJob=261423404
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=261423404&repo=autoland&lineNumber=41401
Backout link: https://hg.mozilla.org/integration/autoland/rev/ad33a9311b303cd8f9bdbf6da184454040301e39
[task 2019-08-13T20:54:31.230Z] 31:20.84 make[4]: Entering directory '/builds/worker/checkouts/gecko/obj-analyzed/dom/serviceworkers'
[task 2019-08-13T20:54:31.231Z] 31:20.84 /builds/worker/workspace/sixgill/usr/libexec/sixgill/scripts/wrap_gcc/basecc /builds/worker/workspace/sixgill/usr/libexec/sixgill/scripts/wrap_gcc/g++ -o Unified_cpp_dom_serviceworkers1.o -c -I/builds/worker/checkouts/gecko/obj-analyzed/dist/stl_wrappers -I/builds/worker/checkouts/gecko/obj-analyzed/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -DDEBUG=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/checkouts/gecko/dom/serviceworkers -I/builds/worker/checkouts/gecko/obj-analyzed/dom/serviceworkers -I/builds/worker/checkouts/gecko/obj-analyzed/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/ipc/glue -I/builds/worker/checkouts/gecko/extensions/permissions -I/builds/worker/checkouts/gecko/js/xpconnect/loader -I/builds/worker/checkouts/gecko/obj-analyzed/dist/include -I/builds/worker/checkouts/gecko/obj-analyzed/dist/include/nspr -I/builds/worker/checkouts/gecko/obj-analyzed/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/checkouts/gecko/obj-analyzed/mozilla-config.h -Wno-attributes -Wno-ignored-attributes -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wformat -fno-sized-deallocation -Wno-attributes -Wno-ignored-attributes -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -Os -fno-omit-frame-pointer -funwind-tables -Werror -MD -MP -MF .deps/Unified_cpp_dom_serviceworkers1.o.pp /builds/worker/checkouts/gecko/obj-analyzed/dom/serviceworkers/Unified_cpp_dom_serviceworkers1.cpp
[task 2019-08-13T20:54:31.231Z] 31:20.84 In file included from /builds/worker/checkouts/gecko/obj-analyzed/dist/include/mozilla/Assertions.h:16:0,
[task 2019-08-13T20:54:31.231Z] 31:20.84 from /builds/worker/checkouts/gecko/obj-analyzed/dist/include/mozilla/UniquePtr.h:12,
[task 2019-08-13T20:54:31.231Z] 31:20.84 from /builds/worker/checkouts/gecko/dom/serviceworkers/ServiceWorkerDescriptor.h:9,
[task 2019-08-13T20:54:31.231Z] 31:20.84 from /builds/worker/checkouts/gecko/dom/serviceworkers/ServiceWorkerDescriptor.cpp:7,
[task 2019-08-13T20:54:31.231Z] 31:20.84 from /builds/worker/checkouts/gecko/obj-analyzed/dom/serviceworkers/Unified_cpp_dom_serviceworkers1.cpp:2:
[task 2019-08-13T20:54:31.231Z] 31:20.84 /builds/worker/checkouts/gecko/obj-analyzed/dist/include/mozilla/Attributes.h:807:7: error: attributes are not allowed on a function-definition
[task 2019-08-13T20:54:31.232Z] 31:20.84 attribute((annotate("moz_no_addref_release_on_return")))
[task 2019-08-13T20:54:31.232Z] 31:20.84 ^
[task 2019-08-13T20:54:31.232Z] 31:20.84 /builds/worker/checkouts/gecko/dom/serviceworkers/ServiceWorkerPrivateImpl.cpp:280:20: note: in expansion of macro 'MOZ_NO_ADDREF_RELEASE_ON_RETURN'
[task 2019-08-13T20:54:31.232Z] 31:20.84 operator->() const MOZ_NO_ADDREF_RELEASE_ON_RETURN {
[task 2019-08-13T20:54:31.232Z] 31:20.84 ^
[task 2019-08-13T20:54:31.232Z] 31:20.84 /builds/worker/checkouts/gecko/config/rules.mk:787: recipe for target 'Unified_cpp_dom_serviceworkers1.o' failed
Comment 50•5 years ago
•
|
||
Perry your patches seem to trigger these intermittents: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&resultStatus=success%2Cpending%2Crunning%2Ctestfailed%2Cbusted%2Cexception&searchStr=linux%2Cx64%2Cdebug%2Cmochitests%2Ctest-linux64%2Fdebug-mochitest-browser-chrome-e10s-6%2Cm%28bc6%29&tochange=ad33a9311b303cd8f9bdbf6da184454040301e39&fromchange=4a45f2c447fddfe706fb728b32c4121878b11206&selectedJob=261448446
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=261448446&repo=autoland&lineNumber=42329
Assignee | ||
Comment 52•5 years ago
|
||
The intermittent should be fixed when I try to push, no failure in ~20 retriggers: https://treeherder.mozilla.org/#/jobs?repo=try&revision=887b93a3203393ccd8729e72f5a8c5fe724c5964&selectedJob=261518692
I think all of the linux builds are definitely good now too: https://treeherder.mozilla.org/#/jobs?repo=try&revision=ec37cc16282bce328a00e94ad6de574ff04d2153&selectedJob=261517439
Comment 53•5 years ago
|
||
Comment 55•5 years ago
|
||
Backed out 22 changesets (bug 1231213) for Browser-chrome failures on /workers/remoteworkers/RemoteWorkerChild.cpp
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=261666677&repo=autoland&lineNumber=50523
Backout:
https://hg.mozilla.org/integration/autoland/rev/3cf55b7f12f2cb7dfcdbcbcd817d77e298e76fbd
Assignee | ||
Comment 57•5 years ago
|
||
try: -b do -p all -u all -t none: https://treeherder.mozilla.org/#/jobs?repo=try&revision=98ac30ab60d4fb97b3cbb849755060238e260075
Comment 58•5 years ago
|
||
Comment 60•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a8966ba20267
https://hg.mozilla.org/mozilla-central/rev/f9e8d4068c06
https://hg.mozilla.org/mozilla-central/rev/448714db54b3
https://hg.mozilla.org/mozilla-central/rev/49091733782a
https://hg.mozilla.org/mozilla-central/rev/ea69dc3c1056
https://hg.mozilla.org/mozilla-central/rev/1f77d3afe290
https://hg.mozilla.org/mozilla-central/rev/d9caf27cef95
https://hg.mozilla.org/mozilla-central/rev/6d3ff0852089
https://hg.mozilla.org/mozilla-central/rev/fa280993de59
https://hg.mozilla.org/mozilla-central/rev/1db490b0883e
https://hg.mozilla.org/mozilla-central/rev/1a0992c67826
https://hg.mozilla.org/mozilla-central/rev/183b54cffbd1
https://hg.mozilla.org/mozilla-central/rev/20b5efa4517d
https://hg.mozilla.org/mozilla-central/rev/6e4c363ba32a
https://hg.mozilla.org/mozilla-central/rev/fa549b66c9d3
https://hg.mozilla.org/mozilla-central/rev/c73b86cbe4e3
https://hg.mozilla.org/mozilla-central/rev/b248a65ecbbb
https://hg.mozilla.org/mozilla-central/rev/5e7a1885e190
https://hg.mozilla.org/mozilla-central/rev/877b778e1529
https://hg.mozilla.org/mozilla-central/rev/4977af1ab4a2
https://hg.mozilla.org/mozilla-central/rev/7b8515d888a9
https://hg.mozilla.org/mozilla-central/rev/8f031439c3bc
Description
•