Closed Bug 1616193 Opened 4 years ago Closed 4 years ago

Crash in [@ mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame | mozilla::ipc::MessageChannel::Send | mozilla::ipc::IProtocol::ChannelSend]

Categories

(Core :: Layout: Text and Fonts, defect, P3)

75 Branch
x86_64
All
defect

Tracking

()

VERIFIED FIXED
mozilla75
Tracking Status
firefox-esr68 --- unaffected
firefox73 --- unaffected
firefox74 --- unaffected
firefox75 --- verified

People

(Reporter: over68, Assigned: jfkthame)

References

(Regression)

Details

(Keywords: regression)

Crash Data

Attachments

(1 file)

Steps to reproduce:

  1. Set gfx.e10s.font-list.shared to true.
  2. Restart Firefox.
  3. Download Font Loader.
  4. Download Franklin Gothic Book Regular.ttf.
  5. Open https://www.w3.org/TR/css-text-3/.
  6. Open the Font Loader, Click on the Add Fonts button, Select the font file Franklin Gothic Book Regular.ttf then click Open.
  7. Click on the Load button.

Actual results:

The tab crashed.
This also happens on startup.

Crash report: bp-a836c75e-d20f-4d68-bd78-ce16e0200218

Top 10 frames of crashing thread:

0 xul.dll mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame ipc/glue/MessageChannel.cpp:231
1 xul.dll mozilla::ipc::MessageChannel::Send ipc/glue/MessageChannel.cpp:1003
2 xul.dll mozilla::ipc::IProtocol::ChannelSend ipc/glue/ProtocolUtils.cpp:477
3 xul.dll mozilla::dom::PContentChild::SendSetCharacterMap ipc/ipdl/PContentChild.cpp:5847
4 xul.dll mozilla::fontlist::Face::SetCharacterMap gfx/thebes/SharedFontList.cpp:95
5 xul.dll gfxDWriteFontEntry::ReadCMAP gfx/thebes/gfxDWriteFontList.cpp:525
6 xul.dll gfxFontEntry::TestCharacterMap gfx/thebes/gfxFontEntry.cpp:164
7 xul.dll gfxFontGroup::GetFirstValidFont gfx/thebes/gfxTextRun.cpp:2100
8 xul.dll nsFontMetrics::XHeight gfx/src/nsFontMetrics.cpp:163
9 xul.dll Gecko_GetFontMetrics layout/style/GeckoBindings.cpp:1487

Blocks: 1533462
Severity: normal → critical
Has Regression Range: --- → yes

Yeah, I just hit this locally too (during normal browsing, no special testcase/STR). The change in bug 1611617 made us potentially load character maps at times we didn't previously, and in particular it can happen during stylo traversal, where we're not allowed to do IPC.

I suspect this may have been possible previously, but the recent change made it much more likely. We need to make SetCharacterMap check whether it's on the main thread, and if not, post a runnable instead of trying to do the IPC directly.

Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 7 → All
Priority: -- → P3
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/eeef960d6919
If Face::SetCharacterMap is called from a stylo thread, make it post a runnable instead of attempting to do IPC itself. r=jwatt
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
Regressions: 1616798
Flags: qe-verify+

Could not reproduce the crash in the first place using older versions of Firefox 73.0.1, 74.0b9 so I can't say this is verified. Blinky can you please check if 75.0b5 still crashes for you?
https://archive.mozilla.org/pub/firefox/candidates/75.0b5-candidates/build1/
Based on the crash stats there are no crashes recorded with this particular signature in Fx75 so this is a good indicator that this got fixed.

Flags: qe-verify+ → needinfo?(over68)

I can not reproduce the crash with 75.0b5.

Flags: needinfo?(over68)

(In reply to blinky from comment #8)

I can not reproduce the crash with 75.0b5.

Thanks very much. I'll mark this bug as verified based on the above comment.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: