@font-face Crashes Firefox on Fedora

With the release of Firefox 3.5, I decided it was finally time to get serious about setting up a custom headline font on Speed Force. Cross-platform @font-face embedding in CSS is now possible on Firefox, Safari, the beta version of Opera, and (I think) Chrome. So I pulled out some bookmarks, looked for some fonts with licenses that allowed embedding, messed around with a test page and finally settled on two custom fonts: one for the post headlines, and one for the title and the sidebar section headers.

I tested it in a couple of browsers, both on my Linux desktop and on the Mac laptop, and planned to test it on the Windows desktop when Katie was done with it. But then something weird started happening.

Firefox started crashing. Repeatedly. Not quite predictably, but only when that test page was open.

I figured maybe it was a corrupted font, so I removed one, then the other, then both. If the page tried to download an embedded font, Firefox would eventually crash. If not, it was rock solid.

This seemed kind of bizarre for such a high-profile new feature to cause consistent crashing.

I did some searches online but didn’t come up with anything until I tried running Firefox from the command-line, so that I could read the error message. It complained, "firefox: cairo-ft-font.c:554: _cairo_ft_unscaled_font_lock_face: Assertion `!unscaled->from_face' failed." Searching for that led me to Fedora bug 509501 and bug 502274, and this blog entry.

To make a long story short:

  • On Linux, Firefox uses a library called cairo to handle graphics, including fonts.
  • An old version of cairo had a bug that would cause crashes with fonts under certain circumstances.
  • Cairo fixed the bug in December.
  • Fedora 11 is still using the old version of cairo.

So until Fedora ships a newer (or at least patched) version of cairo, my primary browser on my primary desktop will crash on any web page with an embedded font.

Nice.

I guess I could patch my own system for now and put the fonts up for the benefit of the rest of the Firefox+Safari+Opera-using audience on Windows and Macs (and probably other Linux distributions). But that means causing a crash for anyone else running Fedora 11 when they visit my site. I’m not too thrilled about that idea. I have no problem with adding enhancements that only appear under certain browser+os combinations, but actively crashing a browser? Not something I want to do.

Update (July 21): Aha! Fedora submitted an updated cairo for inclusion in the stable release last night!

in View Kelson Vibber's profile on LinkedIn

4 thoughts on “@font-face Crashes Firefox on Fedora

  1. sblob

    Hi, I just updated my system and I have cairo-1.8.8-1.fc11 and firefox-3.5. I’m afraid the problem has not been fixed, FF keeps crashing. http://www.gmail.com loads, but FF crashes right after login. I tried to uncheck “Let web pages use their own fonts” in FF preferences, but it’s useless…

    Reply
  2. Kelson Post author

    I’ve got two systems running the new cairo, and Firefox has been rock solid on sites with embedded fonts. Admittedly they’re both x86_64 systems, so it could be architecture-dependent.

    You may have something else going on — are you sure it’s related to downloadable fonts?

    Whatever the case, there’s not really much I can do to help with it. I’d suggest checking out some Fedora forums, and maybe reporting the problem to Red Hat/Fedora.

    Reply
  3. sblob

    I’n NOT sure – nor I ever thougth – that it was a font related problem. It’s that I read this article and tried the suggeste fix.
    Already sent bug info to Firefox developers, hope they can find the bug.
    Opera broowser crashes also; it shares the Gecko engine of Firefox, if I’m not wrong.
    Konqueror does NOT crash, but it is not as good as firefox with plugins.

    Bye

    Reply

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.