[cairo] threading issue in cairo-image-surface.c?

Fried, Vojtech vojtech.fried at streamserve.com
Wed Dec 1 08:55:52 PST 2010


Hi, I am experimenting with cairo in our project. It works great but I
have encountered some problems. This one is most important for me just
now.

When I run the test suite for our project in multithreaded mode, it
crashes in cairo from time to time. The culprit seems to be caching in
_pixman_*_image functions and in _pixman_image_for_solid. When I disable
the caches, it seems to work fine. I am not sure about the exact cause
but it seems to me that pixman_image_ref/pixman_image_unref for cached
images is called from multiple threads and because it is not atomic
operation it might make the ref count go to 0 even if it is still owned
in one of the threads.

Seen on both linux and windows with cairo 1.10. 

 

Vojtech

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20101201/9a570deb/attachment-0001.htm>


More information about the cairo mailing list