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!

Fedora LogoA few days ago, my Linux desktop at work popped up a message saying that Fedora 11 was available, and asking whether I wanted to upgrade automatically. Well, I didn’t have time to deal with it then, and in the past when I’ve upgraded Fedora (either from a CD or from a downloaded image), it’s been a big production, what with running the installer, rebooting, installing updates, updating third-party repositories, and finally rebooting again after all the updates are installed.

So I put it off for a few days.

Today I decided to try it.

The automatic upgrade program is called preupgrade, presumably because it downloads everything you need in order to prepare for the upgrade. It downloads everything while your system is up and running, then sets it up so that when you reboot, it will launch the installer. It installs everything, makes the changes, then reboots into the newly upgraded system.

And then it’s done.

It’s network aware, and works through yum, so it will actually take into account both third-party repositories and anything that’s been updated since the new release. It actually went out to livna.org RPM Fusion and picked up the appropriate NVIDIA display drivers.

Download while you work. Reboot. Wait. Done.

The only snafu I ran into was that it removed my copy of the Flash plugin, but I think I was using the experimental 64-bit one anyway, so it’s not terribly surprising.

I get the impression that Ubuntu has had a similarly smooth upgrade process for a while. And after my experiences moving from Fedora 9 to Fedora 10, I was seriously considering jumping ship. (Hazards of living on the bleeding edge.) But it looks like I won’t have to.

Now I just have to find time to play around and see what’s new!

Update: I’ve run into one snafu: xkb error popups every time I wake the computer from suspend. Resetting the keyboard worked.