Closed Bug 1697282 Opened 3 years ago Closed 3 years ago

Build fails when launcher process is disabled via build config

Categories

(Firefox :: Launcher Process, defect)

defect

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: whimboo, Assigned: toshi)

Details

Attachments

(1 file)

I tried to build Firefox without the launcher process on Windows. To not have to create another mozconfig file locally, I just did the following modification:

diff --git a/toolkit/moz.configure b/toolkit/moz.configure
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -1478,7 +1478,7 @@ set_config("MOZ_ALLOW_ADDON_SIDELOAD", a

 @depends(target)
 def launcher_process_default(target):
-    return target.os == "WINNT"
+    return False  # target.os == "WINNT"

That actually results in a build failure like:

https://treeherder.mozilla.org/logviewer?job_id=330516779&repo=try&lineNumber=36554

[task 2021-02-19T12:44:32.379Z] 12:44:32     INFO -  lld-link: error: undefined symbol: class mozilla::Result<bool, struct mozilla::LauncherError> __cdecl mozilla::IsAdminWithoutUac(void)
[task 2021-02-19T12:44:32.379Z] 12:44:32     INFO -  >>> referenced by /builds/worker/checkouts/gecko/browser/app/winlauncher/ErrorHandler.cpp:546
[task 2021-02-19T12:44:32.379Z] 12:44:32     INFO -  >>>               winlauncher/Unified_cpp_app_winlauncher0.obj:(bool __cdecl PrepPing(struct `anonymous namespace'::PingThreadContext const &, class std::basic_string<wchar_t, struct std::char_traits<wchar_t>, class std::allocator<wchar_t>> const &, class mozilla::JSONWriter &))
[task 2021-02-19T12:44:32.379Z] 12:44:32    ERROR -  make[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:420: ../../dist/bin/firefox.exe] Error 1

Toshi, could you please have a look? Thanks.

Flags: needinfo?(tkikuchi)

This patch makes sure the repo can be built without MOZ_LAUNCHER_PROCESS.

  • Compile WinTokenUtils.cpp under winlaucher regardless of MOZ_LAUNCHER_PROCESS
    because we still need IsAdminWithoutUac.
  • Skip TestDllBlocklist.NoOpEntryPoint GTest because the RedirectToNoOpEntryPoint
    feature is only available with the new blocklist with the launcher process.
Assignee: nobody → tkikuchi
Status: NEW → ASSIGNED

Btw, I'm curious why you tried to disable the launcher process. Is there any problem or difficulty with the launcher process?

Flags: needinfo?(tkikuchi) → needinfo?(hskupin)

It was for bug 1656962. I wanted to test if killing the process without the launcher process would work.

Flags: needinfo?(hskupin)
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/dceeac349713
Make the repo buildable without MOZ_LAUNCHER_PROCESS. r=aklotz
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: