Closed Bug 1741593 Opened 3 years ago Closed 3 years ago

--disable-launcher-process build failure on Windows

Categories

(Firefox :: Launcher Process, defect)

defect

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: jwatt, Assigned: mkaply)

Details

Attachments

(1 file)

On Windows 10, using --disable-launcher-process appears to be broken. My test .mozconfig contains just that one line and with current central I get:

 2:53.08 In file included from Unified_cpp_app_winlauncher0.cpp:29:
 2:53.08 In file included from c:/Users/jwatt/mozilla-source/mozilla-unified/browser/app/winlauncher/LauncherProcessWin.cpp:19:
 2:53.08 In file included from c:/Users/jwatt/mozilla-source/mozilla-unified/obj-x86_64-pc-mingw32/dist/include\mozilla/SafeMode.h:16:
 2:53.08 c:/Users/jwatt/mozilla-source/mozilla-unified/obj-x86_64-pc-mingw32/dist/include\mozilla/PolicyChecks.h(22,35): error: expected ')'
 2:53.08   LONG ret = ::RegGetValueW(aKey, POLICY_REGKEY_NAME, aName, RRF_RT_DWORD,
 2:53.08                                   ^
 2:53.08 c:/Users/jwatt/mozilla-source/mozilla-unified/obj-x86_64-pc-mingw32/dist/include\mozilla/PolicyChecks.h(14,63): note: expanded from macro 'POLICY_REGKEY_NAME'
 2:53.08 #  define POLICY_REGKEY_NAME L"SOFTWARE\\Policies\\Mozilla\\" MOZ_APP_BASENAME
 2:53.08                                                               ^
 2:53.08 c:/Users/jwatt/mozilla-source/mozilla-unified/obj-x86_64-pc-mingw32/dist/include\mozilla/PolicyChecks.h(22,28): note: to match this '('
 2:53.08   LONG ret = ::RegGetValueW(aKey, POLICY_REGKEY_NAME, aName, RRF_RT_DWORD,
 2:53.08                            ^
 2:53.22    Compiling whatsys v0.1.2
 2:53.47    Compiling audioipc v0.2.5 (https://github.com/mozilla/audioipc-2?rev=470320364f59672c0e1ee60240f2cd15f0e5b52f#47032036)
 2:53.52 1 error generated.
 2:53.55 mozmake[4]: *** [c:/Users/jwatt/mozilla-source/mozilla-unified/config/rules.mk:662: Unified_cpp_app_winlauncher0.obj] Error 1
 2:53.56 mozmake[3]: *** [c:/Users/jwatt/mozilla-source/mozilla-unified/config/recurse.mk:72: browser/app/winlauncher/target-objects] Error 2

So it looks like MOZ_APP_BASENAME is undefined, causing POLICY_REGKEY_NAME to be treated as a string followed by an identity.

It's not clear to me why we're even building browser/app/winlauncher/LauncherProcessWin.cpp, but since there's an explicit check for MOZ_LAUNCHER_PROCESS in browser/app/winlauncher/moz.build I guess that must be intentional.

I should note that I'm setting up a fresh Windows machine here and am using the recently released VS2022 as per our just updated Windows build docs. Most people will be using VS2019, so I guess there's a possibility that this is an undiscovered issue with VS2022. (Needinfo'ing Mitchell in case that's true.)

Flags: needinfo?(mhentges)

I can also repro this if I add the --disable-launcher-process option to my normal mozconfig and then ./mach build. Same error as above. I'm still using VS2019 (ver 16.11.16).

So digging a little deeper, LauncherProcessWin.cpp includes mozilla/SafeMode.h which includes toolkit/xre/PolicyChecks.h

I explicitly had to add

for var in ("MOZ_APP_NAME", "MOZ_APP_BASENAME"):
DEFINES[var] = '"%s"' % CONFIG[var]

in moz.build for toolkit/profile, so my guess is the same thing is what is needed here (even though that code exists in winlauncher/moz.build).

I can't imagine that MOZ_APP_BASENAME is genuinely not defined in this case.

Same error as above. I'm still using VS2019 (ver 16.11.16).

Nice, sounds like we can rule out VS 2022 as the cause 👍

Flags: needinfo?(mhentges)
Assignee: nobody → mozilla
Status: NEW → ASSIGNED
Pushed by mozilla@kaply.com: https://hg.mozilla.org/integration/autoland/rev/330e483cb0e4 Setting MOZ_APP_* values should not depend on launcher process. r=jwatt
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: