TRR: Make it possible to selectively enable TRR for pbmode/container/window/etc
Categories
(Core :: Networking: DNS, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox74 | --- | fixed |
People
(Reporter: valentin, Assigned: valentin)
References
Details
(Whiteboard: [necko-triaged][trr])
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
Bug 1552176 - Captive portal domain should not be automatically excluded from TRR r=dragana,mayhemer
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 |
Right now we either enable TRR for the entire browser or not at all, and the mode is fixed and applied to all requests.
For example, if I run in mode2 (TRR first), I have no way of saying run in mode3(TRR only) for this container, or this private browsing window. We can technically set LOAD_DISABLE_TRR for an entire docshell, but the reverse is not possible.
And when TRR is disabled (mode0), you can't really enable it for just PB mode, or a container (except by enabling it and setting the LOAD_DISABLE_TRR on all other channels, but that's impractical).
It would be nice to change that.
I adding another load flag would be enough to encode all the states we're interested in: (trr-first, trr-only, no-trr, system-default ie. whatever the pref says)
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
- Makes it possible to selectively enable TRR for pbmode/container/window/etc
Depends on D48362
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
Previously we had no way from excluding just one channel from TRR mode3.
The solution was to add the captive portal domain to the exclusion list.
Now the captive portal channel is marked with nsIRequest.DISABLE_TRR_MODE so
the exclusion is not necessary anymore.
Depends on D48363
Assignee | ||
Comment 4•5 years ago
|
||
Depends on D48820
Assignee | ||
Comment 5•5 years ago
|
||
Depends on D49158
Comment 7•5 years ago
|
||
Backed out 5 changesets (Bug 1552176) for causing multiple build bustages CLOSED TREE
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=274234489&resultStatus=testfailed%2Cbusted%2Cexception&revision=203060e4af956a2b60c191e84387979dbd94e6a8
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274234454&repo=autoland&lineNumber=22497
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274234479&repo=autoland&lineNumber=35253
Backout: https://hg.mozilla.org/integration/autoland/rev/10548d5bb1ccaf86261063de07c61dbea975f900
*There is also an ES lint failure which should be fixed https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274234503&repo=autoland&lineNumber=281
Assignee | ||
Comment 8•5 years ago
|
||
This patch changes the xpidl parser to generate the rust trait code for
methods that take or return a cenum value.
Previously this would return an error, which means that adding a method
that uses cenums to an existing interface could cause rust code that
implements that interface to fail to build.
The generated methods take or return u8/u16/u32 depending on the width of the
enum. While this is not optimal (the parameter could contain values that are
not actually part of the enum), this is similar to what we do for nsLoadFlags.
In the future it would be nice to generate code that actually checks the
values are present in the enum, and to use a typedef instead of a plain
unsigned int.
Depends on D49159
Assignee | ||
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Backed out 6 changesets (Bug 1552176) for bustages complaining about ServiceWorkerManager.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/0f89eae608917986895f8ec227dc56a4634b4d77
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=275397652&repo=autoland&lineNumber=35317
[task 2019-11-08T20:11:14.305Z] 20:11:14 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/dom/serviceworkers'
[task 2019-11-08T20:11:14.309Z] 20:11:14 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/gcc/bin/g++ -o Unified_cpp_dom_serviceworkers1.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/serviceworkers -I/builds/worker/workspace/build/src/obj-firefox/dom/serviceworkers -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/extensions/permissions -I/builds/worker/workspace/build/src/js/xpconnect/loader -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_dom_serviceworkers1.o.pp Unified_cpp_dom_serviceworkers1.cpp
[task 2019-11-08T20:11:14.310Z] 20:11:14 INFO - In file included from Unified_cpp_dom_serviceworkers1.cpp:65:0:
[task 2019-11-08T20:11:14.310Z] 20:11:14 INFO - /builds/worker/workspace/build/src/dom/serviceworkers/ServiceWorkerManager.cpp: In member function 'void mozilla::dom::ServiceWorkerManager::LoadRegistration(const mozilla::dom::ServiceWorkerRegistrationData&)':
[task 2019-11-08T20:11:14.310Z] 20:11:14 ERROR - /builds/worker/workspace/build/src/dom/serviceworkers/ServiceWorkerManager.cpp:1500:11: error: enumeral mismatch in conditional expression: 'nsIRequest::<anonymous enum>' vs 'nsIRequest::<anonymous enum>' [-Werror=enum-compare]
[task 2019-11-08T20:11:14.310Z] 20:11:14 INFO - aRegistration.updateViaCache() ==
[task 2019-11-08T20:11:14.310Z] 20:11:14 INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2019-11-08T20:11:14.310Z] 20:11:14 INFO - static_cast<uint16_t>(ServiceWorkerUpdateViaCache::None)
[task 2019-11-08T20:11:14.311Z] 20:11:14 INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2019-11-08T20:11:14.312Z] 20:11:14 INFO - ? nsIRequest::LOAD_NORMAL
[task 2019-11-08T20:11:14.312Z] 20:11:14 INFO - ^~~~~~~~~~~~~~~~~~~~~~~~~
[task 2019-11-08T20:11:14.315Z] 20:11:14 INFO - : nsIRequest::VALIDATE_ALWAYS;
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - ~~~~~~~~~~~~
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - cc1plus: all warnings being treated as errors
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - /builds/worker/workspace/build/src/config/rules.mk:787: recipe for target 'Unified_cpp_dom_serviceworkers1.o' failed
[task 2019-11-08T20:11:14.316Z] 20:11:14 ERROR - make[4]: *** [Unified_cpp_dom_serviceworkers1.o] Error 1
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/serviceworkers'
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'dom/serviceworkers/target-objects' failed
[task 2019-11-08T20:11:14.316Z] 20:11:14 ERROR - make[3]: *** [dom/serviceworkers/target-objects] Error 2
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - make[3]: *** Waiting for unfinished jobs....
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/widget'
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - widget/nsBaseWidget.o
[task 2019-11-08T20:11:14.316Z] 20:11:14 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/widget'
Comment 11•5 years ago
|
||
Another failure which seems to start with these changes: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=275406934&repo=autoland&lineNumber=4824
[task 2019-11-08T22:16:33.914Z] 22:16:33 INFO - TEST-START | uriloader/exthandler/tests/unit/test_punycodeURIs.js
[task 2019-11-08T22:16:34.274Z] 22:16:34 INFO - TEST-PASS | uriloader/exthandler/tests/unit/test_punycodeURIs.js | took 370ms
[task 2019-11-08T22:16:34.283Z] 22:16:34 INFO - Retrying tests that failed when run in parallel.
[task 2019-11-08T22:16:34.290Z] 22:16:34 INFO - TEST-START | netwerk/test/unit/test_trr.js
[task 2019-11-08T22:16:34.647Z] 22:16:34 WARNING - TEST-UNEXPECTED-FAIL | netwerk/test/unit/test_trr.js | xpcshell return code: 0
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - TEST-INFO took 348ms
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - >>>>>>>
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - running event loop
[task 2019-11-08T22:16:34.648Z] 22:16:34 INFO - netwerk/test/unit/test_trr.js | Starting setup
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - (xpcshell/head.js) | test setup pending (2)
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - PID 5313 | start!
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - TEST-PASS | netwerk/test/unit/test_trr.js | setup - [setup : 37] "50146" != null
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - TEST-PASS | netwerk/test/unit/test_trr.js | setup - [setup : 38] "50146" != ""
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - (xpcshell/head.js) | test run_next_test 0 finished (2)
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - (xpcshell/head.js) | test run_next_test 1 pending (2)
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - (xpcshell/head.js) | test setup finished (2)
[task 2019-11-08T22:16:34.649Z] 22:16:34 INFO - "CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties"
Assignee | ||
Updated•5 years ago
|
Comment 12•5 years ago
|
||
Comment 13•5 years ago
•
|
||
Backed out 6 changesets (Bug 1552176) for causing Hazard bustages
Backout link: https://hg.mozilla.org/integration/autoland/rev/4fb5404dcbeff7a069f529c41d1019e5eb4ceb1d
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=275571633&repo=autoland&lineNumber=36131
...
[task 2019-11-11T09:39:27.991Z] 14:08.24 from /builds/worker/checkouts/gecko/obj-analyzed/dist/include/nsIWidget.h:21,
[task 2019-11-11T09:39:27.991Z] 14:08.24 from /builds/worker/checkouts/gecko/obj-analyzed/dist/include/ipc/IPCMessageUtils.h:36,
[task 2019-11-11T09:39:27.991Z] 14:08.24 from /builds/worker/checkouts/gecko/obj-analyzed/ipc/ipdl/_ipdlheaders/mozilla/net/PNecko.h:11,
[task 2019-11-11T09:39:27.997Z] 14:08.24 from /builds/worker/checkouts/gecko/obj-analyzed/ipc/ipdl/_ipdlheaders/mozilla/net/PNeckoChild.h:9,
[task 2019-11-11T09:39:27.998Z] 14:08.24 from /builds/worker/checkouts/gecko/obj-analyzed/dist/include/mozilla/net/NeckoChild.h:11,
[task 2019-11-11T09:39:27.998Z] 14:08.24 from /builds/worker/checkouts/gecko/netwerk/build/nsNetModule.cpp:30:
[task 2019-11-11T09:39:27.998Z] 14:08.24 /builds/worker/checkouts/gecko/obj-analyzed/dist/include/nsIChannel.h: In member function 'bool nsIChannel::IsDocument()':
[task 2019-11-11T09:39:27.998Z] 14:08.24 /builds/worker/checkouts/gecko/obj-analyzed/dist/include/nsIChannel.h:124:3: internal compiler error: in XIL_GetFunctionFields, at type.c:382
[task 2019-11-11T09:39:27.998Z] 14:08.24 }
[task 2019-11-11T09:39:27.998Z] 14:08.24 ^
[task 2019-11-11T09:39:27.998Z] 14:08.24 0x7f198027b4eb XIL_GetFunctionFields(tree_node*)
[task 2019-11-11T09:39:27.998Z] 14:08.24 /builds/worker/fetches/sixgill/gcc/type.c:382
....
[task 2019-11-11T09:39:42.004Z] 14:22.25 make[4]: Leaving directory '/builds/worker/checkouts/gecko/obj-analyzed/modules/libpref'
[task 2019-11-11T09:39:49.470Z] Collected 198016 objects
[task 2019-11-11T09:39:49.470Z] Received connection.
[task 2019-11-11T09:39:50.319Z] 14:30.56 make[4]: Entering directory '/builds/worker/checkouts/gecko/obj-analyzed/netwerk/test/gtest'
[task 2019-11-11T09:39:50.319Z] 14:30.56 /builds/worker/fetches/sixgill/usr/libexec/sixgill/scripts/wrap_gcc/basecc /builds/worker/fetches/sixgill/usr/libexec/sixgill/scripts/wrap_gcc/g++ -o Unified_cpp_netwerk_test_gtest0.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/netwerk/test/gtest -I/builds/worker/checkouts/gecko/obj-analyzed/netwerk/test/gtest -I/builds/worker/checkouts/gecko/netwerk/base -I/builds/worker/checkouts/gecko/toolkit/components/jsoncpp/include -I/builds/worker/checkouts/gecko/xpcom/tests/gtest -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/obj-analyzed/xpcom -I/builds/worker/checkouts/gecko/xpcom/components -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 -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 -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wno-error=multistatement-macros -Wno-error=class-memaccess -Wformat -Wformat-overflow=2 -fno-sized-deallocation -fno-aligned-new -Wno-attributes -Wno-ignored-attributes -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_netwerk_test_gtest0.o.pp Unified_cpp_netwerk_test_gtest0.cpp
[task 2019-11-11T09:39:50.319Z] 14:30.56 make[4]: Leaving directory '/builds/worker/checkouts/gecko/obj-analyzed/netwerk/test/gtest'
[task 2019-11-11T09:39:50.319Z] 14:30.56 /builds/worker/checkouts/gecko/config/recurse.mk:32: recipe for target 'compile' failed
[task 2019-11-11T09:39:50.319Z] 14:30.56 make[2]: *** [compile] Error 2
[task 2019-11-11T09:39:50.320Z] 14:30.56 /builds/worker/checkouts/gecko/config/rules.mk:389: recipe for target 'default' failed
[task 2019-11-11T09:39:50.320Z] 14:30.56 make[1]: *** [default] Error 2
[task 2019-11-11T09:39:50.320Z] 14:30.56 client.mk:125: recipe for target 'build' failed
[task 2019-11-11T09:39:50.320Z] 14:30.56 make: *** [build] Error 2
[task 2019-11-11T09:39:50.325Z] 14:30.57 186 compiler warnings present.
[task 2019-11-11T09:39:50.382Z] 14:30.63 Notification center failed: Install notify-send (usually part of the libnotify package) to get a notification when the build finishes.
[task 2019-11-11T09:39:50.411Z] Received connection.
[task 2019-11-11T09:39:50.411Z] Final transaction received, finishing...
[task 2019-11-11T09:39:52.691Z] Waiting for manager to finish (build status 2)...
[task 2019-11-11T09:39:52.691Z] Exiting with status 2
[task 2019-11-11T09:39:52.692Z] build finished (status 2): Mon Nov 11 09:39:52 2019
[task 2019-11-11T09:39:52.692Z] Exiting run_complete with status 2
[task 2019-11-11T09:39:52.693Z] Traceback (most recent call last):
[task 2019-11-11T09:39:52.693Z] File "/builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyze.py", line 339, in <module>
[task 2019-11-11T09:39:52.693Z] run_job(step, data)
[task 2019-11-11T09:39:52.693Z] File "/builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyze.py", line 209, in run_job
[task 2019-11-11T09:39:52.693Z] subprocess.check_call(command, env=env(config))
[task 2019-11-11T09:39:52.693Z] File "/usr/lib/python3.5/subprocess.py", line 271, in check_call
[task 2019-11-11T09:39:52.693Z] raise CalledProcessError(retcode, cmd)
[task 2019-11-11T09:39:52.693Z] subprocess.CalledProcessError: Command '['/builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/run_complete', '--foreground', '--no-logs', '--build-root=/builds/worker/workspace/obj-analyzed', '--wrap-dir=/builds/worker/fetches/sixgill/usr/libexec/sixgill/scripts/wrap_gcc', '--work-dir=work', '-b', '/builds/worker/fetches/sixgill/usr/bin', '--buildcommand=/builds/worker/checkouts/gecko/taskcluster/scripts/builder/hazard-browser.sh', '.']' returned non-zero exit status 2
[task 2019-11-11T09:39:52.699Z] + onexit
[task 2019-11-11T09:39:52.699Z] + grab_artifacts /builds/worker/workspace/analysis /builds/worker/artifacts
[task 2019-11-11T09:39:52.699Z] + local analysis_dir
[task 2019-11-11T09:39:52.699Z] + analysis_dir=/builds/worker/workspace/analysis
[task 2019-11-11T09:39:52.699Z] + local artifacts
[task 2019-11-11T09:39:52.699Z] + artifacts=/builds/worker/artifacts
[task 2019-11-11T09:39:52.700Z] + cd /builds/worker/workspace/analysis
[task 2019-11-11T09:39:52.700Z] + ls -lah
[task 2019-11-11T09:39:52.702Z] total 1.3G
Updated•5 years ago
|
Updated•5 years ago
|
Comment 14•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Comment 15•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c2175c603ca3
https://hg.mozilla.org/mozilla-central/rev/c63caf2368e9
https://hg.mozilla.org/mozilla-central/rev/a5f624a84950
https://hg.mozilla.org/mozilla-central/rev/144c35b2697a
https://hg.mozilla.org/mozilla-central/rev/2e5c8e70a9ed
https://hg.mozilla.org/mozilla-central/rev/e52b10b6f0f7
Description
•