[cairo-bugs] [Bug 11900] Font backend is locking multithreaded application

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Aug 8 10:41:07 PDT 2007


cworth at cworth.org changed:

           What    |Removed                     |Added
                 CC|                            |dturner at nds.com

------- Comment #1 from cworth at cworth.org  2007-08-08 10:40 PST -------
(In reply to comment #0)
> We are using cairo 1.3.16 as the backend for a graphing engine in a
> multithreaded server product.

First, I'm curious as to how you ended up depending on 1.3.16, which
is an unstable snapshot of in-progress cairo development. See the
message here, for example where cairo-1.3.16 is made available:


I'd strongly recommend you instead base work on actual stable releases
of cairo, (which have been through *much* more testing, etc.), and are
made available here:


(Distinguishing snapshots and releases is really easy as snapshots
will always have an odd minor number in the release (as in 1.3) while
releases will have an even number (as in 1.4).)

That said, 1.3.16 was very late in the 1.3 process and in a quick
check, I don't see any obvious locking-related changes in the log from
1.3.16 to 1.4.0. By the same token, I see no risk from moving to
1.3.16 to 1.4.0 as well, so there's no advantage that I can see of
using 1.3.16, (and it will get you funny looks from cairo maintainers
when you submit bugs).

Meanwhile, it doesn't look like you're running cairo 1.3.16
either. You said:

> The call stack is the following 
> #5  0x9fffffffe26cf890:0 in cairo_freetype_state_lock+0x70 () from
> /build/
> #6  0x9fffffffe26d88c0:0 in _cairo_freetype_font_face_scaled_font_create_+0x210
> () from /build/
> #7  0x9fffffffe26da3e0:0 in _cairo_fontconfig_scaled_font_create_toy+0x560 ()
> from /build/

The above 3 functions do not exist in cairo 1.3.16, (nor in any
official cairo release nor snapshot). I'm guessing you've manually
applied David Turner's proposed rewrite of cairo's freetype backend?

That's still an experimental patch the the cairo maintainers are
planning to review, test, and hopefully integrate during the current
1.5 development in preparation for a cairo 1.6 release in September or

So I guess my questions are: Have you tested your application with a
recent stable cairo release? Say 1.4.10 ? Or even 1.4.0 ? Does it
work? Are there bugs? Did you test this previously and hit bugs that
prompted you to go looking for David's patches? Did you report those

David, is there any comment you would like to make on this bug?


Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.

More information about the cairo-bugs mailing list