Closed Bug 1983020 Opened 2 months ago Closed 2 months ago

Win 10 before build 17134 fails to start with api-ms-win-core-console-l1-2-0.dll is missing message.

Categories

(Core :: Security: Process Sandboxing, defect, P1)

defect

Tracking

()

RESOLVED FIXED
143 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox-esr140 --- unaffected
firefox141 --- unaffected
firefox142 --- unaffected
firefox143 + fixed

People

(Reporter: bobowen, Assigned: bobowen)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

There is still an LTS build (14393) before this build, which has long term support until October 13, 2026.
Setting to S3, as only Nightly and limited to old Windows builds.

Set release status flags based on info from the regressing bug 1937025

[Tracking Requested - why for this release]:
Affects still in support windows LTS build.

This also replaces the use of mincore lib with userenv for app container calls.

Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 143 Branch
QA Whiteboard: [qa-triage-done-c144/b143]

:bobowen pinged me to double-check if this issue may affect updater.exe, because since the landing of bug 1950060 we have chromium code running in updater.exe as well. I was able to reproduce the firefox.exe issue (so I was using the correct Windows version), but in the latest Nightlies updating with updater.exe worked just fine.

Looking closer at what's happening, firefox.exe imports AttachConsole to be able to perform a call to mozilla::UseParentConsole in the launcher process (mozilla::LauncherMain). In faulty builds of firefox.exe, we are importing AttachConsole through api-ms-win-core-console-l1-2-0.dll, while in working builds we are importing it from KERNEL32.dll (as shown by dumpbin /imports firefox.exe).

It seems that the problem was caused by linking with mincore.lib because mincore.lib and kernel32.lib both provide AttachConsole but through a different DLL, and in the faulty builds the version provided by mincore.lib took precedence over the one from kernel32.lib.

updater.exe doesn't import AttachConsole, which seems to be the specific function that caused trouble here. However, we do use mincore.lib in our Library("zucchini"), and it could take precedence for other functions. Given the issue we ran into here, it feels like it would be wise to remove the dependency on mincore.lib in zucchini as well even though we don't appear to have a problem right now.

No longer blocks: 1987589
See Also: → 1987589
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: