Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 409593 - x11-libs/cairo-1.12.* font corruption with mozilla browsers
Summary: x11-libs/cairo-1.12.* font corruption with mozilla browsers
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Ben de Groot (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 358325
  Show dependency tree
 
Reported: 2012-03-24 23:11 UTC by Chí-Thanh Christopher Nguyễn
Modified: 2012-07-27 22:36 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
cairo-font-corruption.png (cairo-font-corruption.png,101.04 KB, image/png)
2012-03-24 23:11 UTC, Chí-Thanh Christopher Nguyễn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chí-Thanh Christopher Nguyễn gentoo-dev 2012-03-24 23:11:09 UTC
Created attachment 306569 [details]
cairo-font-corruption.png

After upgrading to cairo-1.12.0, some websites show font corruption in seamonkey. Downgrading to 1.10.2-r2 fixes the issue.

Attached screenshot shows http://www.youtube.com/watch?v=6XbEJoR-ypo where the font corruption appears or disappears depending on where you more the mouse.

# emerge --info cairo
Portage 2.1.10.49 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.2.1-gentoo-r2-x86_64-AMD_Phenom-tm-_II_X4_B50_Processor-with-gentoo-2.0.3
Timestamp of tree: Sat, 24 Mar 2012 15:15:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.1.4-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo x11 sunrise spring local
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=amdfam10"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=amdfam10"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="de en fa vi"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/x11 /var/lib/layman/sunrise /var/lib/layman/Spring /usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage/"
USE="3dnow X a52 aac acl acpi alsa amd64 avahi berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvb dvd dvdr emboss encode exif fam firefox flac fortran gcj gdbm gdu gif gnutls gpm gtk iconv ipv6 java jpeg kde kipi lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd qt3support qt4 readline sdl semantic-desktop session spell sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb v4l2 vorbis x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="dibusb-usb1" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en fa vi" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

x11-libs/cairo-1.12.0 was built with the following:
USE="X (consolekit) glib (multilib) opengl (policykit) qt4 svg xcb (-aqua) -debug -directfb -doc -drm (-gallium) -openvg -static-libs"                                                  
CFLAGS="-O2 -pipe -march=amdfam10 -finline-limit=1200"
CXXFLAGS="-O2 -pipe -march=amdfam10 -finline-limit=1200"
Comment 1 Matt 2012-03-25 17:48:01 UTC
it must have been some of the changes that got introduced between cairo 1.11.2 and 1.11.4

1.11.2 worked fine for me

now I get font-corruption, too

at the top of the tab, in the address bar, and - of course - in the site's content

a good example is the main page of youtube.com

when keeping the left mouse button pressed and moving up and down the corruption is there sometimes but sometimes not - as you move up and down (similar to a rolling shzutter moving up and down)

the corruption becomes pretty obvious when scrolling down frames & then hovering over text up & down



corruption also appears in gnome-terminal, ...


all this happened while using compiz-fusion (compiz 0.8.6*)/compositing with xfce
Comment 2 James Cloos 2012-03-25 18:51:10 UTC
During the 1.11 development cairo started using xrender more completely, instead of doing some of the rendering itself and just blitting the results to the X server.

That seems to be what triggers the bug.

It seems to be dependent on memory pressure (perhaps just on the gpu) and transfers between gpu and cpu ram.

Small pixmaps are most affected, hense the issues with text.

A use after free may be involved.

EXA (in the X server) also may be involved.

There are several related bugs open on fdo, under cairo and xorg.
(I don’t have the list of bz numbers, though.)
Comment 3 Rafał Mużyło 2012-03-25 19:05:56 UTC
@comment 2:
happens here on an old radeon (r200) with 
x11-drivers/xf86-video-ati-6.14.3
x11-base/xorg-server-1.12.0
media-libs/mesa-8.0
x11-misc/xcompmgr-1.1.5

atm. seems only in firefox-11.0 (I don't use anything other mozilla based).

IIRC, KMS is no longer EXA, right ?
Comment 4 Rafał Mużyło 2012-03-25 19:18:04 UTC
It might me of interest, that in firefox I sometimes see the coruption in addressbar or in tab titles. In such cases, often even as little as hovering the mouse over corruption is enough to trigger a redraw, that restores the proper state (I say "restores", as the corruption on tab titles seems to be triggered on randomly chosen inactive tabs upon a site's load).
Comment 5 Rafał Mużyło 2012-03-25 19:35:55 UTC
...and it seems mozilla upstream sort of blames cairo for their own hack, if this bug (https://bugzilla.mozilla.org/show_bug.cgi?id=715658) and its followup (https://bugzilla.mozilla.org/show_bug.cgi?id=722975) are related.
Comment 6 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-03-25 19:45:33 UTC
CC:ing mozilla per comment 5.
Comment 7 Uli Schlachter 2012-03-25 19:56:07 UTC
Just my 5c, but that mozilla bug is about a different issue. When an image is loaded, gecko already shows part of the image before all of it loaded (you can see the image "loading"). So that mozilla bug is about an issue with images.

This bug is about font corruption instead. Fonts aren't loaded and rendered progressively. :-P
Comment 8 Rafał Mużyło 2012-03-25 22:05:18 UTC
@comment 7:
while I haven't downgraded to 1.10 to test it, with 1.12 I do see the corruption described in the mozilla bug; if the image corruption didn't happen with 1.10, it would be a bit too much of coincidence IMHO
Comment 9 Matt 2012-03-25 22:32:58 UTC
(In reply to comment #8)
> @comment 7:
> while I haven't downgraded to 1.10 to test it, with 1.12 I do see the
> corruption described in the mozilla bug; if the image corruption didn't
> happen with 1.10, it would be a bit too much of coincidence IMHO

like I wrote

the corruption starts with cairo 1.11.4

with 1.11.2 it isn't there for me,

neither with firefox nor with any other app (chromium, gnome-terminal, seamonkey, etc.)
Comment 10 Rafał Mużyło 2012-03-26 15:28:41 UTC
OK, after a little testing, some comments in regard of https://bugs.freedesktop.org/show_bug.cgi?id=38904:
while the ebuild disables xlib-xcb backend, the hack described in the bug doesn't work; after enabling the backend and applying the hack things break completely across the board, not just in some parts of firefox GUI.

However, if the hack is *not* applied, enabling the backend makes the bug a *bit* less pronounced.

Also, it seems that it's not just mozilla based apps that are affected, even though it's most noticeable there, as I've noticed minor background color corruption (blue turning black) in mc running in a vte-based terminal.
Again, it *seems* that xlib-xcb makes it *less* pronounced.
Comment 11 Rafał Mużyło 2012-03-28 16:51:20 UTC
Indeed, for the moment it seems, that at least in regard of xf86-video-ati,
as the recently added freedesktop bug suggests, 'Option "EXAPixmaps" "false"' workarounds the corruption (I'll give myself about an hour more to be sure).
Comment 12 Rafał Mużyło 2012-03-28 17:03:52 UTC
...also it seems that the mozilla bug was indeed unrelated.
Comment 13 cyrillic 2012-04-25 22:33:07 UTC
(In reply to comment #11)
> Indeed, for the moment it seems, that at least in regard of xf86-video-ati,
> as the recently added freedesktop bug suggests, 'Option "EXAPixmaps"
> "false"' workarounds the corruption (I'll give myself about an hour more to
> be sure).

I can confirm that this workaround does the trick, not only with xf86-video-ati, but also with xf86-video-nouveau.
Comment 14 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-04-25 22:40:03 UTC
Both xf86-video-ati and xf86-video-nouveau fixed this problem in git already. For xf86-video-ati I added the patches to 6.14.4-r1. nouveau can't be easily patched, and a new snapshot is contingent on next libdrm release.
Comment 15 Rafał Mużyło 2012-04-28 19:33:18 UTC
(In reply to comment #14)
> Both xf86-video-ati and xf86-video-nouveau fixed this problem in git
> already. For xf86-video-ati I added the patches to 6.14.4-r1. nouveau can't
> be easily patched, and a new snapshot is contingent on next libdrm release.

Did you add xorg-server fix too ? I don't see it in the tree.
Comment 16 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-05-01 05:34:43 UTC
(In reply to comment #15)
Which fix? Do you have an upstream commit id?
Comment 17 Rafał Mużyło 2012-05-01 15:33:35 UTC
I don't see the commit in the git, at least not on 1.12 branch.
I'm talking about https://bugs.freedesktop.org/show_bug.cgi?id=47266#c66.

On the other hand, https://bugs.freedesktop.org/show_bug.cgi?id=47266#c92 seems to suggest, that this patch may not be needed after all (I've kind of missed it, then again, it seems inconclusive)...

Also, cairo 1.12.2 has been released, with a few fixes in regard of a different case of corruption (one present in LibreOffice).
Comment 18 Andreas Sturmlechner gentoo-dev 2012-05-06 16:47:35 UTC
Out of curiosity I just unmasked and emerged cairo-1.12.2 an hour ago and there's no corruption yet.

used packages:
firefox-12.0
xf86-video-intel-9999
mesa-9999
Comment 19 Rafał Mużyło 2012-05-06 18:33:19 UTC
(In reply to comment #18)
> Out of curiosity I just unmasked and emerged cairo-1.12.2 an hour ago and
> there's no corruption yet.
> 
> used packages:
> firefox-12.0
> xf86-video-intel-9999
> mesa-9999

Well, there's a catch or two about this.
Due to their internal policies, mozilla upstream decided to change API of their copy of cairo, therefore firefox 12.0 doesn't use system cairo.

However...

If you were to *revert* the change made in the libxul sources, that required the changed API, (as described here: https://bugzilla.mozilla.org/show_bug.cgi?id=722975#c22) *and* reverted the change in the ebuild, firefox 12.0 should work with cairo 1.12.2 just fine.
Comment 20 Andreas Sturmlechner gentoo-dev 2012-05-06 19:08:02 UTC
I'm going to try it out, actually I'm rebuilding firefox right now with system-cairo.


Oh btw if someone cares, there's a spelling error in the ebuild ;)

`        mozconfig_annotate 'Missing fetures' --disable-system-cairo`
Comment 21 Jory A. Pratt gentoo-dev 2012-05-07 01:52:27 UTC
(In reply to comment #20)
> I'm going to try it out, actually I'm rebuilding firefox right now with
> system-cairo.
> 
> 
> Oh btw if someone cares, there's a spelling error in the ebuild ;)
> 
> `        mozconfig_annotate 'Missing fetures' --disable-system-cairo`

You will get no where with enable-system-cairo for fx-12. there are features that are not avaiable in system cairo that are used in firefox.
Comment 22 Rafał Mużyło 2012-05-07 01:58:01 UTC
(In reply to comment #21)
AFAICT, the only loss atm. is the fix that "required" that API change.
Not that it's completely insignificant, but...
Comment 23 Andreas Sturmlechner gentoo-dev 2012-05-07 05:53:32 UTC
For whatever it's worth, I can't see no corruption so far after enabling system-cairo. Is there any specific test case that should not work?
Comment 24 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-05-07 09:54:42 UTC
The corruption issue does not affect current ~arch xf86-video-ati or xf86-video-intel. xf86-video-nouveau is fixed in git, but due to libdrm changes a newer snapshot cannot be added to the portage tree at this time.
Comment 25 Jory A. Pratt gentoo-dev 2012-05-29 01:32:01 UTC
re-add us if needed.
Comment 26 Jory A. Pratt gentoo-dev 2012-06-06 22:51:31 UTC
(In reply to comment #22)
> (In reply to comment #21)
> AFAICT, the only loss atm. is the fix that "required" that API change.
> Not that it's completely insignificant, but...

Mozilla based products are patched in gentoo to support system-cairo, if you are seeing corruption you need to update to latest ~arch video driver. Please do not get in a pushing match with upstream mozilla dev, they are correct when they say the patch works as expected as I am unable to duplicate any font corruption using cairo-1.12.2 with latest intel driver.
Comment 27 Rafał Mużyło 2012-06-07 04:19:42 UTC
Yes, I've noticed the patch is one of the later firefox 12 tarballs and right from the start in 13.

Actually, I've been arguing with the upstream about it yesterday (in 722975) (and yes, I probably shouldn't have turned '--with-xlib-xcb' on - I simply misread the comment in configure.ac).
Comment 28 Ben de Groot (RETIRED) gentoo-dev 2012-07-09 11:37:41 UTC
What's the current status? Can we unmask cairo-1.12.2?
Comment 29 Rafał Mużyło 2012-07-09 12:11:11 UTC
(In reply to comment #28)
> What's the current status? Can we unmask cairo-1.12.2?

Well, recent firefox uses system cairo and if the fixed xf86-video-ati are used it works just fine.
xf86-video-intel doesn't use EXA, so chances are it wasn't affected, as for nouveau - no idea.
Comment 30 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-07-09 12:16:16 UTC
Before unmasking cairo-1.12.0, >=xf86-video-nouveau-0.0.16_pre20120508 needs to be unmasked. Older versions are affected by font corruption and backporting the patches appears unfeasible.

But mesa-8.0.3[video_cards_nouveau] depends on <libdrm-2.4.34 while xf86-video-nouveau-0.0.16_pre20120508 depends on >=libdrm-2.4.34 (due to API break)

Possible solutions:
1) Wait until mesa-8.1 release later this year
2) Package a git snapshot of mesa that works with >=libdrm-2.4.34
3) Package libdrm_nouveau-2.4.33 separately for mesa, and allow installing alongside newer libdrm

Currently we are doing 1) because nobody has expressed interest in 2) or 3). But I have no strong opinions either way. I have written a proof of concept ebuild of libdrm_nouveau that I could provide to anyone who is interested in pursuing 3).
Comment 31 Ben de Groot (RETIRED) gentoo-dev 2012-07-12 05:10:42 UTC
(In reply to comment #30)
> 3) Package libdrm_nouveau-2.4.33 separately for mesa, and allow installing
> alongside newer libdrm

I don't understand this. Don't you mean: "package libdrm_nouveau-2.4.34 separately for mesa, and allow installing alongside *older* libdrm"?

> Currently we are doing 1) because nobody has expressed interest in 2) or 3).
> But I have no strong opinions either way. I have written a proof of concept
> ebuild of libdrm_nouveau that I could provide to anyone who is interested in
> pursuing 3).

I think we should consider this option. Unless mesa-8.1 release is coming up soon...
Comment 32 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-07-12 09:15:19 UTC
(In reply to comment #31)
> (In reply to comment #30)
> > 3) Package libdrm_nouveau-2.4.33 separately for mesa, and allow installing
> > alongside newer libdrm
> 
> I don't understand this. Don't you mean: "package libdrm_nouveau-2.4.34
> separately for mesa, and allow installing alongside *older* libdrm"?

I mean a legacy libdrm_nouveau-2.4.33.ebuild which mesa-8.0 will build against, and unmask >=libdrm-2.4.34 which >=xf86-video-nouveau-0.0.16_pre20120508 will build against.

> I think we should consider this option. Unless mesa-8.1 release is coming up
> soon...

From what I have heard, releasing mesa-8.1 in August/September timeframe (rc1 a  is the current plan.
Comment 33 Ben de Groot (RETIRED) gentoo-dev 2012-07-24 13:16:38 UTC
We have mesa-8.0.4 now, and newer Firefox seems not to be affected. As far as I understand only nouveau users still have problems in some applications. Is there any progress on this?

If not, then I would like to implement the proposed solution. I want to unmask cairo-1.12 this week.
Comment 34 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-07-24 13:27:01 UTC
The nouveau situation is unchanged:
The font corruption bug is solved in >=xf86-video-nouveau-0.0.16_pre20120508 which requires new libdrm.
Support for new libdrm is not in mesa-8.0 branch, only in git master.
Comment 35 Ben de Groot (RETIRED) gentoo-dev 2012-07-25 13:47:35 UTC
I just removed the mask. This should be fixed with latest cairo-1.12.2, mesa-8.1 snapshot and related drivers.
Comment 36 Graham Murray 2012-07-27 22:29:50 UTC
(In reply to comment #35)
> I just removed the mask. This should be fixed with latest cairo-1.12.2,
> mesa-8.1 snapshot and related drivers.

I am seeing corruption in firefox (and only in firefox) which started after the upgrade to cairo, mesa, libdrm and xf86-video-nouveau

I have versions

emerge -pv mesa cairo libdrm xf86-video-nouveau

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-libs/libdrm-2.4.37  USE="libkms -static-libs" VIDEO_CARDS="nouveau (-exynos) -intel (-omap) -radeon -vmware" 0 kB
[ebuild   R    ] media-libs/mesa-8.1_rc1_pre20120724  USE="classic egl gallium llvm nptl pax_kernel shared-glapi xorg -bindist -d3d -debug -g3dvl -gbm -gles1 -gles2 -openvg (-osmesa) -pic -r600-llvm-compiler (-selinux) -vdpau -wayland -xa -xvmc" VIDEO_CARDS="nouveau -i915 -i965 -intel -r100 -r200 -r300 -r600 -radeon -radeonsi -vmware" 0 kB
[ebuild   R    ] x11-drivers/xf86-video-nouveau-1.0.1  0 kB
[ebuild   R    ] x11-libs/cairo-1.12.2-r2  USE="X doc glib opengl qt4 svg xcb (-aqua) -debug -directfb (-drm) (-gallium) -openvg -static-libs" 0 kB

Total: 4 packages (4 reinstalls), Size of downloads: 0 kB
Comment 37 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-07-27 22:36:16 UTC
(In reply to comment #36)
> I am seeing corruption in firefox (and only in firefox) which started after
> the upgrade to cairo, mesa, libdrm and xf86-video-nouveau

This is possibly a different bug then. See if the workaround from https://bugs.freedesktop.org/show_bug.cgi?id=47266#c37 works, and if not open a separate bug.