I looked at the implementation of cairo-ft-font.c and it seems that there are huge multi-threading violations in cairo. The reason is that FreeType API documentation clearly states: In multi-threaded applications, make sure that the same FT_Library object or any of its children doesn't get accessed in parallel. Cairo initializes FT_Library for its font map and there's a lock for that, however it's only used for font map manipulations, the actual FT_ library calls are completely unprotected with that lock, although they should be! What adds to the injury is that cairo-ft-font.c even has this comment on one of its functions: You must be careful when using this function in a library or in a threaded application, because freetype's design makes it unsafe to call freetype functions simultaneously from multiple threads, (even if using distinct FT_Face objects)
That's accurate. We have another bug for this already. Unfortunately not one has time to go through the convoluted code there and fix it. I think TLS is the easiest way to fix this. Perhaps we can copy the TLS infrastructure from Pixman.
There isn't time for everything, although always enough for the important things. So you believe there's something more important for your product where to put everybody to work on right now than a critical flaw in it, is it that?
That attitude won't get you far. At least have the courtesy to respect people's choice of what to work on when you use Free Software.
Sorry, you are right. Most of the time people get angry for their own personal reasons, and really nothing about you: and in my case is because I am writing my date right now to stop it. So excuse my claws, and thanks for the good work. Argss!!
*** This bug has been marked as a duplicate of bug 69034 ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.