Closed Bug 1518639 Opened 5 years ago Closed 5 years ago

Allow running multiple installs of Firefox side-by-side.

Categories

(Toolkit :: Startup and Profile System, enhancement)

enhancement
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla67
Tracking Status
firefox67 --- verified

People

(Reporter: mossop, Assigned: mossop)

References

(Regressed 1 open bug)

Details

Attachments

(17 files, 2 obsolete files)

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
No description provided.
Makes the default remoting name include a hash of the current install path. This
allows different installs to run independantly of each other.
Attachment #9035492 - Attachment is obsolete: true

Remoting to a different user isn't supported everywhere and being able to
remote to a different application entirely is kind of odd. I don't think it
makes sense to continue to support these operations.

This code is only ever used from c++ so does not need to be an XPCOM component.
Broken out a single nsRemoteService that is responsible for choosing the server
implementation to use.

It makes more sense for the remote client to live alongside the server.

Makes nsRemoteService responsible for managing the clients too, simplifying
nsAppRunner.

Makes nsRemoteService responsible for the shared lock for the time between
attempting to contact a remote server and starting up our own server.

Makes nsRemoteService handle the command line parsing, though this will end up
being removed in a later patch.

We will need access to the profile name before attempting to lock it so this
breaks out the locking from the profile selection code.

There are a few cleanup patches in here too.

Makes it so we always know which profile we want to remote the command line to.

Adds build config and stubs for a windows implementation of the remote client
and server.

Implements the windows remove client and server based on the current remoting
code in nsNativeAppSupportWin.cpp. Makes the hidden window classname encode both
program name and profile name. nsNativeAppSupportWin is now just used for
setting up the console.

Currently remoting (that is, sending the command line from a new Firefox process to an existing Firefox process) has different features and is implemented in different places depending on the OS:

On OSX we don't do it at all (OSX handles selecting the existing process when opening an application).

On Windows we look for any other running instance of Firefox and remote to it, regardless of what profile we're trying to launch. Otherwise we startup as normal.

On Linux things are more complicated. On startup we check for a couple of command line arguments, -a, -u and -p. -a specifies the app name to remote to (defaults to firefox). -u specifies the user to remote to (defaults to the current user). -p specifies the profile name. It then looks for an existing instance that matches the app name, user and if given the profile name (otherwise it selects an instance running any profile). If it find one it remotes the command line, otherwise startup proceed and then Firefox registers itself ignoring those command line arguments.

Users want to be able to run different installs of Firefox side-by-side and since bug 1474285 that can be possible since each install uses a different profile by default. But neither Windows or Linux supports that directly. Linux would if it defaulted to looking for an instance with the default profile's name rather than an instance with any profile.

In these patches I have made a bunch of changes, some of it to clean up how remoting works and other to make the windows implementation more standard:

I remove support for the -a and -u arguments on Linux. Remoting to a different application seems like an unlikely use-case and remoting to a different user's process seems likely to be a security hole.

I move all the Linux remote client and server implementations into a single place and create a managing service that nsAppRunner can call rather than needing to know the implementation details. I also move the client call to after we have the default profile name.

I move the windows remoting implementation to the new location making it support remoting based on profile name.

This also ended up including bug 491947.

Jim, I think the reviews here are mostly yours? Let me know if you think others are more appropriate though.

Attachment #9042298 - Attachment is obsolete: true
Pushed by dtownsend@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9c647756b479
Remove some unused functionality from the remote service. r=Felipe
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

We cast the nsIToolkitProfileService to nsToolkitProfileService in a bunch of
places, might as well just hold that instead.

So the remoting clients can know what the selected profile is before an attempt
to lock it is made we move the locking code to after the call to SelectProfile.

Pushed by dtownsend@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e8f1e89edf7f
Hold the profile service as its concrete type. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/51becd44a8cb
Remove unused arguments for CheckDowngrade. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/14c454f88604
Remote unused mProfileName member. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/0780bd0ba2e1
Move offline command line argument handling alongside the other command line argument handling. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/e2a0ca34bab9
Split out the profile locking attempt into its own function. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/9f51da716b8a
Always use the same locking code when locking the profile. r=froydnj

Backed out 6 changesets (bug 1518639) for build bustages at builds/worker/workspace/build/src/toolkit/xre/nsAppRunner.cpp

Backout: https://hg.mozilla.org/integration/autoland/rev/fc8431c4497f63e93d95e212f8d408379b60f799

Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=9f51da716b8aeb1861ef8b2b4d16deb42f235fcd

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=227976926&repo=autoland&lineNumber=32069

task 2019-02-12T17:46:18.883Z] 17:46:18 INFO - TEST-PASS | check_textrel | OCSPStaplingServer
[task 2019-02-12T17:46:18.883Z] 17:46:18 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/security/manager/ssl/tests/unit/tlsserver/cmd'
[task 2019-02-12T17:46:18.883Z] 17:46:18 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/security/manager/ssl/tests/unit/tlsserver/cmd'
[task 2019-02-12T17:46:18.883Z] 17:46:18 INFO - ../../../../../../../config/nsinstall -R -m 755 'OCSPStaplingServer' '../../../../../../../dist/bin'
[task 2019-02-12T17:46:18.884Z] 17:46:18 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/security/manager/ssl/tests/unit/tlsserver/cmd'
[task 2019-02-12T17:46:21.981Z] 17:46:21 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/toolkit/xre'
[task 2019-02-12T17:46:21.982Z] 17:46:21 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ -m32 -o nsAppRunner.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 -DTELEMETRY_PING_FORMAT_VERSION=4 -DPROXY_PRINTING=1 -DOS_POSIX=1 -DOS_LINUX=1 -DUSE_GLX_TEST '-DMOZ_APP_NAME="firefox"' '-DMOZ_APP_BASENAME="Firefox"' '-DMOZ_APP_DISPLAYNAME="Firefox Nightly"' '-DMOZ_APP_VENDOR="Mozilla"' '-DMOZ_APP_VERSION="67.0a1"' '-DOS_TARGET="Linux"' '-DMOZ_WIDGET_TOOLKIT="gtk3"' -DMOZ_UPDATER '-DTARGET_OS_ABI="Linux_x86-gcc3"' -DGRE_MILESTONE=67.0a1 -DMOZ_APP_VERSION_DISPLAY=67.0a1 -DAPP_VERSION=67.0a1 '-DAPP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}' -DMOZ_BUILD_APP_IS_BROWSER -DTOPOBJDIR=/builds/worker/workspace/build/src/obj-firefox -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/toolkit/xre -I/builds/worker/workspace/build/src/obj-firefox/toolkit/xre -I/builds/worker/workspace/build/src/toolkit/components/printingui -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/other-licenses/nsis/Contrib/CityHash/cityhash -I/builds/worker/workspace/build/src/toolkit/components/find -I/builds/worker/workspace/build/src/toolkit/components/printingui/ipc -I/builds/worker/workspace/build/src/toolkit/components/windowwatcher -I/builds/worker/workspace/build/src/toolkit/mozapps/update/common -I/builds/worker/workspace/build/src/toolkit/profile -I/builds/worker/workspace/build/src/config -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/dom/commandhandler -I/builds/worker/workspace/build/src/dom/ipc -I/builds/worker/workspace/build/src/dom/webbrowserpersist -I/builds/worker/workspace/build/src/testing/gtest/mozilla -I/builds/worker/workspace/build/src/toolkit/crashreporter -I/builds/worker/workspace/build/src/xpcom/build -I/builds/worker/workspace/build/src/widget/xremoteclient -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 -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fcrash-diagnostics-dir=/builds/worker/artifacts -march=pentium-m -msse -msse2 -mfpmath=sse -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 -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -fno-omit-frame-pointer -funwind-tables -Werror -I/builds/worker/workspace/build/src/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gtk-3.0/unix-print -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -pthread -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -Wno-error=shadow -MD -MP -MF .deps/nsAppRunner.o.pp /builds/worker/workspace/build/src/toolkit/xre/nsAppRunner.cpp
[task 2019-02-12T17:46:21.982Z] 17:46:21 ERROR - /builds/worker/workspace/build/src/toolkit/xre/nsAppRunner.cpp:4623:55: error: use of undeclared identifier 'mProfileName'
[task 2019-02-12T17:46:21.982Z] 17:46:21 INFO - mRemoteService->Startup(mAppData->remotingName, mProfileName.get());
[task 2019-02-12T17:46:21.982Z] 17:46:21 INFO - ^
[task 2019-02-12T17:46:21.982Z] 17:46:21 INFO - 1 error generated.
[task 2019-02-12T17:46:21.982Z] 17:46:21 INFO - /builds/worker/workspace/build/src/config/rules.mk:812: recipe for target 'nsAppRunner.o' failed
[task 2019-02-12T17:46:21.983Z] 17:46:21 ERROR - make[4]: *** [nsAppRunner.o] Error 1
[task 2019-02-12T17:46:21.983Z] 17:46:21 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/toolkit/xre'
[task 2019-02-12T17:46:21.983Z] 17:46:21 INFO - /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'toolkit/xre/target' failed
[task 2019-02-12T17:46:21.983Z] 17:46:21 ERROR - make[3]: *** [toolkit/xre/target] Error 2
[task 2019-02-12T17:46:21.983Z] 17:46:21 INFO - make[3]: *** Waiting for unfinished jobs....
[task 2019-02-12T17:46:23.167Z] 17:46:23 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/media/webrtc/trunk/gtest'
[task 2019-02-12T17:46:23.167Z] 17:46:23 INFO - /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/init/bin/python -m mozbuild.action.check_binary --target ../../../../dist/bin/webrtc-gtest
[task 2019-02-12T17:46:23.167Z] 17:46:23 INFO - TEST-PASS | check_stdcxx | webrtc-gtest
[task 2019-02-12T17:46:23.167Z] 17:46:23 INFO - TEST-PASS | check_libgcc | webrtc-gtest
[task 2019-02-12T17:46:23.167Z] 17:46:23 INFO - TEST-PASS | check_glibc | webrtc-gtest
[task 2019-02-12T17:46:23.167Z] 17:46:23 INFO - TEST-PASS | check_textrel | webrtc-gtest
[task 2019-02-12T17:46:23.168Z] 17:46:23 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/media/webrtc/trunk/gtest'
[task 2019-02-12T17:46:26.028Z] 17:46:26 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/js/src/rust'
[task 2019-02-12T17:46:26.028Z] 17:46:26 INFO - js/src/rust/force-cargo-library-build
[task 2019-02-12T17:46:26.028Z] 17:46:26 INFO - /builds/worker/workspace/build/src/rustc/bin/cargo rustc --release --frozen --manifest-path /builds/worker/workspace/build/src/js/src/rust/Cargo.toml -vv --lib --target=i686-unknown-linux-gnu -- -C lto
[task 2019-02-12T17:46:26.028Z] 17:46:26 INFO - Blocking waiting for file lock on build directory

Flags: needinfo?(dtownsend)
Pushed by dtownsend@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/be5bd597747a
Hold the profile service as its concrete type. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/827f76ed2ca7
Remove unused arguments for CheckDowngrade. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/6277132ebadd
Move offline command line argument handling alongside the other command line argument handling. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/71102b67960b
Split out the profile locking attempt into its own function. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/63fbf50615f9
Always use the same locking code when locking the profile. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/1acf0670a510
Move profile locking outside of SelectProfile. r=froydnj
Flags: needinfo?(dtownsend)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla67 → ---
Pushed by dtownsend@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/35287afd3ace
Remove the ability to remote to a different user or application. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/28c7186745e3
Break out the remote server pieces from nsRemoteService and deCOMtaminate. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/a7490cdfb635
Move widget/xremote code to toolkit/components/remote. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/5373c5bb9ad5
Move the calls to the remote clients into nsRemoteService. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/28404f97bb22
Move startup locking to the remote service. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/fc466857ab39
Move command line handing to nsRemoteService. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/967993505a3d
Move remote client call to after we have a profile. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/73ca9a68d771
Remote unused mProfileName member. r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/276ca640adc8
Add boilerplate support for a windows remote client and server. r=jimm,froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/84e8066625fd
Implement windows remoting server and client. r=jimm

Backed out 11 changesets (bug 1518639, bug 513742) for chrome failures at browser/components/shell/test/test_headless_screenshot.html

Backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/3d8dd3615c4589c9cafe613a471152323078b5d9

Failure push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&selectedJob=232210960&revision=84e8066625fd72fdb1eb6eab85621ae842fe91b4

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=232210960&repo=mozilla-inbound&lineNumber=1926

18:20:33 INFO - TEST-PASS | browser/components/shell/test/test_headless_screenshot.html | Firefox process should exit with code 0
18:20:33 INFO - Buffered messages finished
18:20:33 INFO - TEST-UNEXPECTED-FAIL | browser/components/shell/test/test_headless_screenshot.html | A screenshot should be saved as /var/folders/41/j2frw4wn0l95_gy85cqjt9_400000w/T/headless_test_screenshot.png
18:20:33 INFO - SimpleTest.ok@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:275:18
18:20:33 INFO - testFileCreationPositive@chrome://mochitests/content/chrome/browser/components/shell/test/test_headless_screenshot.html:55:5
18:20:33 INFO - async*@chrome://mochitests/content/chrome/browser/components/shell/test/test_headless_screenshot.html:112:11
18:20:33 INFO - @chrome://mochitests/content/chrome/browser/components/shell/test/test_headless_screenshot.html:141:5
18:20:33 INFO - GECKO(1989) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /var/folders/41/j2frw4wn0l95_gy85cqjt9_400000w/T/tmpFSV0M8.mozrunner/runtests_leaks.log
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 32 (0x1259a3000) [pid = 1989] [serial = 10] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 31 (0x1259a3c00) [pid = 1989] [serial = 12] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 30 (0x1259a4c00) [pid = 1989] [serial = 14] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 29 (0x1259a5c00) [pid = 1989] [serial = 16] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 28 (0x1259a6c00) [pid = 1989] [serial = 18] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 27 (0x12750d400) [pid = 1989] [serial = 26] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 26 (0x1279d2c00) [pid = 1989] [serial = 27] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 25 (0x1254c1000) [pid = 1989] [serial = 7] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 24 (0x12b7cf400) [pid = 1989] [serial = 31] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | --DOMWINDOW == 23 (0x12b7ce800) [pid = 1989] [serial = 32] [outer = 0x0] [url = about:blank]
18:20:35 INFO - GECKO(1989) | >>> 1551896435222 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
18:20:35 INFO - GECKO(1989) | >>> 1551896435224 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
18:20:35 INFO - GECKO(1989) | 1551896435224 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
18:20:35 INFO - GECKO(1989) | [1996, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/workspace/build/src/dom/presentation/provider/MulticastDNSDeviceProvider.cpp, line 125
18:20:35 INFO - GECKO(1989) | [1996, Main Thread] WARNING: 'NS_FAILED(rv = Init())', file /builds/worker/workspace/build/src/dom/presentation/provider/MulticastDNSDeviceProvider.cpp, line 574
18:20:35 INFO - GECKO(1989) | >>> 1551896435767 Marionette TRACE Received observer notification profile-after-change
18:20:35 INFO - GECKO(1989) | ++DOCSHELL 0x1192a6800 == 1 [pid = 1996] [id = {f9fbdaa5-a792-d645-976c-fd19aff3ecb9}]
18:20:35 INFO - GECKO(1989) | ++DOMWINDOW == 1 (0x10f8c7980) [pid = 1996] [serial = 1] [outer = 0x0]
18:20:35 INFO - GECKO(1989) | >>> 1551896435860 Marionette TRACE Received observer notification command-line-startup
18:20:35 INFO - GECKO(1989) | ++DOMWINDOW == 2 (0x119248c00) [pid = 1996] [serial = 2] [outer = 0x10f8c7980]
18:20:35 INFO - GECKO(1989) | [1996, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /builds/worker/workspace/build/src/extensions/cookie/nsPermissionManager.cpp, line 2887
18:20:36 INFO - GECKO(1989) | [1996, Main Thread] ###!!! ASSERTION: consider quit stopper out of bounds: 'mConsiderQuitStopper > 0', file /builds/worker/workspace/build/src/toolkit/components/startup/nsAppStartup.cpp, line 501
18:20:36 INFO - GECKO(1989) | >>> expected exactly one URL when using screenshot
18:20:36 INFO - GECKO(1989) | JavaScript error: resource:///modules/aboutpages/AboutPrivateBrowsingHandler.jsm, line 28: TypeError: this.pageListener is undefined
18:20:36 INFO - GECKO(1989) | ++DOCSHELL 0x10e512800 == 2 [pid = 1996] [id = {b2199ba3-3cc2-e64d-897e-c43bcc6103d7}]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 3 (0x10f8c7b60) [pid = 1996] [serial = 3] [outer = 0x0]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 4 (0x119ada000) [pid = 1996] [serial = 4] [outer = 0x10f8c7b60]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 5 (0x119adc400) [pid = 1996] [serial = 5] [outer = 0x10f8c7b60]
18:20:36 INFO - GECKO(1989) | ++DOCSHELL 0x121590000 == 3 [pid = 1996] [id = {e0054e70-cd50-b542-9f94-fb1290cee745}]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 6 (0x1215e6020) [pid = 1996] [serial = 6] [outer = 0x0]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 7 (0x1215c8000) [pid = 1996] [serial = 7] [outer = 0x1215e6020]
18:20:36 INFO - GECKO(1989) | ++DOCSHELL 0x121592000 == 4 [pid = 1996] [id = {fe1e96fd-dc4c-fa4a-a8a0-2e5d10bd4729}]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 8 (0x1215e7880) [pid = 1996] [serial = 8] [outer = 0x0]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 9 (0x1215c9400) [pid = 1996] [serial = 9] [outer = 0x1215e7880]
18:20:36 INFO - GECKO(1989) | ++DOCSHELL 0x121594000 == 5 [pid = 1996] [id = {96b21b7f-ecc3-dd45-bdb5-b82382d2ba36}]
18:20:36 INFO - GECKO(1989) | ++DOMWINDOW == 10 (0x1215e7e20) [pid = 1996] [serial = 10] [outer = 0x0]

Flags: needinfo?(dtownsend)
Pushed by dtownsend@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/940349bea8e8
Remove the ability to remote to a different user or application. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/d1f158c2928f
Break out the remote server pieces from nsRemoteService and deCOMtaminate. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/2ac2c7a2a9a6
Move widget/xremote code to toolkit/components/remote. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/34d973f8ea5b
Move the calls to the remote clients into nsRemoteService. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/b9d78d81a381
Move startup locking to the remote service. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/03c938197448
Move command line handing to nsRemoteService. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/30cd61daa605
Move remote client call to after we have a profile. r=jimm
https://hg.mozilla.org/integration/mozilla-inbound/rev/678a6db4372e
Remote unused mProfileName member. r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/fbef638149b4
Add boilerplate support for a windows remote client and server. r=jimm,froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/fe3cd9f0d12b
Implement windows remoting server and client. r=jimm
Flags: needinfo?(dtownsend)

I verified this on Mac OS X 10.14, Windows 10 and Ubuntu 16.04 with the latest Nightly 67.0a1 (2019-03-07) and I can confirm the fix.

Status: RESOLVED → VERIFIED
Depends on: 1533677
Blocks: 855899
Depends on: 1534508
Depends on: 1535021
Depends on: 1535144
Regressions: 1553771

Dave, please see the bug 1553399 which is presumably caused by fixing this bug 1518639.

Firefox 67 starts multiple times slower than Firefox 66.

The first problematic build is 2019-03-07-09-49-51-mozilla-central.
The previous one — 2019-03-06-16-13-00-mozilla-central — is fine.

Regressions: 1553399
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: