[cairo-bugs] [Bug 10035] Cairo 1.3.14 deadlocks in cairo_scaled_font_glyph_extents

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Feb 25 17:41:24 PST 2007


http://bugs.freedesktop.org/show_bug.cgi?id=10035


cworth at cworth.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|otaylor at redhat.com          |cworth at cworth.org
             Status|NEW                         |ASSIGNED




------- Comment #2 from cworth at cworth.org  2007-02-25 17:41 -------
Created an attachment (id=8847)
 --> (http://bugs.freedesktop.org/attachment.cgi?id=8847&action=view)
Add code to debug mutex deadlocks

I've failed to replicate this bug with either pinentry or gimp. Perhaps
there's something gentoo- or AMD64-specific happening here?

I've also audited all the scaled_font->mutex locks (there really aren't
that many---see below) and I haven't found anywhere that allows a return
from a cairo function with the lock held, (which would be required to
cause a single-threaded application to deadlock as in the given stacktrace).

So I'm a bit stumped on this one right now. But if you can still replicate
it, perhaps you can provide some more information. I've attached a patch
which attempts to print the filename and line of the original lock that is
leading to the deadlock.

Can you please recompile cairo 1.3.14 with this patch applied and report
back what it prints?

Thank you,

-Carl

$ grep 'MUTEX_.*LOCK.*font->mutex' src/*.c
src/cairo-paginated-surface.c:    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
src/cairo-paginated-surface.c:    CAIRO_MUTEX_LOCK (scaled_font->mutex);
src/cairo-scaled-font.c:    CAIRO_MUTEX_LOCK (scaled_font->mutex);
src/cairo-scaled-font.c:    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
src/cairo-scaled-font.c:    CAIRO_MUTEX_LOCK (scaled_font->mutex);
src/cairo-scaled-font.c:    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
src/cairo-surface.c:    CAIRO_MUTEX_LOCK (dev_scaled_font->mutex);
src/cairo-surface.c:    CAIRO_MUTEX_UNLOCK (dev_scaled_font->mutex);
src/test-meta-surface.c:    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
src/test-meta-surface.c:    CAIRO_MUTEX_LOCK (scaled_font->mutex);
src/test-paginated-surface.c:    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
src/test-paginated-surface.c:    CAIRO_MUTEX_LOCK (scaled_font->mutex);


-- 
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