[Regression] Emojis fail to render on macOS (aarch64) in Lockdown mode - Firefox 146.0
Categories
(Core :: Graphics, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox146 | + | wontfix |
| firefox147 | + | wontfix |
| firefox148 | --- | fix-optional |
| firefox149 | --- | fix-optional |
People
(Reporter: tec.freenet, Assigned: jfkthame, NeedInfo)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:146.0) Gecko/20100101 Firefox/146.0
Steps to reproduce:
Environment:
Device: Mac (Apple Silicon / aarch64)
OS: macOS
Firefox Version: 146.0
Pre-check performed (Troubleshooting): I have already verified that my configuration is correct:
Settings > Fonts: "Allow pages to choose their own fonts" is ENABLED.
about:config: font.name-list.emoji is set to "Apple Color Emoji".
No emoji-blocking extensions are installed.
Verified this is NOT duplicate of Bug 1997435 (which is about the Input Picker, not rendering).
Steps:
Launch Firefox 146.0.
Navigate to Google Calendar (calendar.google.com).
Look at Event Titles or Calendar Names (in the sidebar) that contain emojis.
Actual results:
Emojis are not rendered within the Google Calendar interface. They appear as blank spaces, tofu, or generic placeholders in event titles and sidebar lists.
Note: I have specifically verified this issue on Google Calendar.
Expected results:
Firefox should correctly render the system emoji font (Apple Color Emoji), just like Safari and Chrome do on the same machine.
Comment 1•2 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Cocoa' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Updated•2 months ago
|
| Assignee | ||
Comment 2•2 months ago
|
||
I can't reproduce this on my macOS system (running Sonoma 14.8.1); I tried logging in to Google Calendar with Firefox 146, and created a calendar name and an event with emojis in the title. They displayed as expected.
@tec.freenet, could you please try Troubleshoot Mode (from the Help menu), and confirm whether the problem still occurs?
Also, do emojis appear on other sites such as https://emojipedia.org or in the chart at https://en.wikipedia.org/wiki/List_of_emojis?
| Reporter | ||
Comment 3•2 months ago
|
||
Hello Jonathan, thanks for looking into this.
I performed the tests you requested:
Troubleshoot Mode: I restarted Firefox in Troubleshoot Mode. The issue persists. Emojis are still not visible within the Google Calendar interface (they appear as blank spaces/tofu), exactly as in normal mode.
Other Sites: I checked emojipedia.org and en.wikipedia.org/wiki/List_of_emojis. On these sites, emojis render correctly.
Summary: The rendering issue appears to be specific to Google Calendar on Firefox 146 (aarch64). The system font ("Apple Color Emoji") is working fine on other pages and in other browsers (Safari) on the same machine, but fails to render specifically within the Google Calendar UI in Firefox.
Comment 4•2 months ago
|
||
I'm experiencing the same issue, but across all web pages (not just Google Calendar). I'm using Firefox 146.0 on macOS Tahoe 26.1, and emoji fail to render for me on all web pages (Github, Wikipedia, Google, etc.)
The issue persists when I enable Troubleshoot Mode.
Please let me know what diagnostics I can provide.
For my system the issue only started appearing (as in, emoji disappearing) in macOS Tahoe 26.2. The system is in lockdown mode. Other apps like Element.app also have issues rendering emojis. While apps like Sublime text and Terminal render emojis perfectly fine.
Comment 6•2 months ago
|
||
Ah – I should clarify that I am also running with macOS in Lockdown Mode (but similarly, apps other than Firefox seem to behave fine re: emoji).
| Reporter | ||
Comment 7•2 months ago
|
||
CONFIRMED: The issue is caused by macOS Lockdown Mode
Like the other users reported above, I can confirm that my system is in Lockdown Mode.
I just performed a verification test by temporarily disabling Lockdown Mode and restarting my Mac:
- With Lockdown Mode OFF: Emojis render CORRECTLY in Google Calendar.
- With Lockdown Mode ON: Emojis fail to render (blank spaces/tofu).
I have re-enabled Lockdown Mode now as I rely on it for security.
Since this setup worked fine in previous Firefox versions, this confirms a regression in Firefox 146 regarding compatibility with macOS Lockdown Mode constraints. Please fix this so we don't have to compromise on security.
I bisected this to https://phabricator.services.mozilla.com/D263792, tested by putting random emoji in the address bar using the emoji picker.
I made some wild guesses at relevant about:config entries, and setting either one of layers.gpu-process.enabled to false or security.sandbox.gpu.level to 0 and restarting Firefox fixes it.
| Reporter | ||
Comment 9•2 months ago
|
||
Verified: The workaround works
I tested the workaround by setting security.sandbox.gpu.level to 0 and restarting. I can confirm that this fixes the rendering issue on my end: emojis are visible again in Google Calendar even with Lockdown Mode enabled.
Thanks for the incredibly fast diagnosis and bisection! I will use this workaround for now while waiting for the official patch.
Comment 10•1 month ago
|
||
No problem! I was just looking to see if anybody had reported it yet. I want emojis back too 😓
I think this is the same as https://issues.chromium.org/issues/403993360.
In Lockdown Mode, Apple renders images, including emoji, in an out of process sandbox, much the same as Firefox's sandboxing. Normally this is done transparently through the Image IO framework, but Firefox's sandbox blocks connecting to the image processing process.
Long-term, based on the Chromium thread it sounds like the fix is to petition Apple for an exception, since there's no sense in sandboxing it twice.
As a short term workaround, adding com.apple.ImageIOXPCService to SandboxPolicyGPU.h allows it to work.
I've verified the quick fix on my machine and I can get a pull request ready. However, I'm not entirely sure how to run the sandbox tests locally, let alone ensure it runs on a Lockdown Mode CI machine.
Comment 11•1 month ago
|
||
Thanks for bisecting! Brad, can you take a look?
Comment 12•1 month ago
|
||
This looks a lot like bug 1993258 so cc-ing haik too.
Comment 13•1 month ago
|
||
[Tracking Requested - why for this release]: Seems like an annoying regression
Comment 14•1 month ago
|
||
Set release status flags based on info from the regressing bug 1985082
Comment 15•1 month ago
|
||
Tracking but it's too late for Fx146.
Fx147 goes to release next week. We could uplift a fix if we have a low risk patch in time.
Comment 16•1 month ago
|
||
The bug is marked as tracked for firefox146 (release), tracked for firefox147 (beta) and tracked for firefox148 (nightly). We have limited time to fix this, the soft freeze is in 7 days. However, the bug still isn't assigned.
:bhood, could you please find an assignee for this tracked bug? Given that it is a regression and we know the cause, we could also simply backout the regressor. If you disagree with the tracking decision, please talk with the release managers.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 17•1 month ago
|
||
As an immediate fix here, I think we should take the suggestion from comment 9:
As a short term workaround, adding
com.apple.ImageIOXPCServiceto SandboxPolicyGPU.h allows it to work.
(thanks for the investigation, @mattheww!), even though I don't think we're set up to verify it in automation at present. This seems clear & simple enough that we can safely land and uplift it.
| Assignee | ||
Comment 18•1 month ago
|
||
Updated•1 month ago
|
Comment 19•1 month ago
|
||
It's too late for Fx146, Fx147 goes to release next week.
We could try to take this for 147.0 if we get an uplift request in time.
Comment 20•1 month ago
|
||
Comment 21•1 month ago
|
||
I'm not comfortable shipping this fix, specifically adding com.apple.ImageIOXPCService without more investigation. It may be the right fix, but I'd like to spend more time on it.
com.apple.ImageIOXPCService has been involved in sandbox escapes in the past and rushing this in over the holiday break for a minority of users running lockdown mode is unwarranted.
Comment 22•1 month ago
|
||
Comment 23•1 month ago
|
||
Backed out as requested: https://hg-edge.mozilla.org/integration/autoland/rev/318e5c2eb991
Updated•1 month ago
|
Comment 24•1 month ago
|
||
Given the last comment in the Phab revision, should we re-land this?
Comment 25•1 month ago
|
||
Set release status flags based on info from the regressing bug 1985082
Updated•1 month ago
|
Updated•1 month ago
|
Updated•25 days ago
|
Updated•23 days ago
|
Description
•