Comment 10 for bug 1294699

Revision history for this message
Vlad Orlov (monsta) wrote :

[Impact]

Due to a problem in the Murrine engine, using bitmap fonts and Murrine-based
themes at the same time might lead to crash of various GTK+2 apps. This issue
was around for about 3-4 years, or maybe even more.

It affects a lot of Xfce and MATE users who choose to use bitmap fonts, and
it's present in two current LTS releases, so it would be really nice to apply
the fix there.

The patch which is posted below fixes the crashes for good and allows people
to use bitmap fonts and Murrine-based themes together again.

[Test Case]

Steps to reproduce:

1. Have Xubuntu (or Xfce in any other Ubuntu edition) installed. It can be
   any release from 14.04 to 16.10.
2. Install gtk2-engines-murrine, murrine-themes and shimmer-themes packages,
   if they're not installed.
3. Install some package with bitmap fonts, for example, xfonts-terminus.
4. Run xfce4-appearance-settings and select some Murrine-based theme, for
   example, Greybird or Murrine-Light.
5. Switch to the Fonts tab and select some bitmap font, for example, Terminus.
6. Exit xfce4-appearance-settings.

Now some GTK+2 apps will crash right on start with the following error message:

../../../../src/cairo-scaled-font.c:459: _cairo_scaled_glyph_page_destroy: Assertion `!scaled_font->cache_frozen' failed.

It's reproducible with mousepad, gimp, geany. With some Murrine-based themes,
like Greybird, it's also reproducible with xfce4-panel and Xfce configuration
apps: xfce4-appearance-settings, xfce4-mouse-settings, xfce4-session-settings,
etc.

It also affects some MATE apps, like mate-panel or mate-control-center.

[Regression Potential]

After several months of testing the fix in Debian Jessie and a few Ubuntu
releases, I hadn't found any regressions. Since the patch is very small and
it fixes all the crashes for good, I don't think there's much space for the
regressions.

[Other Info]

Appearance settings being affected is a nasty thing. However, you can reset
the font to default via the console tool:
$ xfconf-query -c xsettings -p /Gtk/FontName -r

The patch was made following the proposed solution at:
https://bugs.freedesktop.org/show_bug.cgi?id=78787#c9