Summary: | X11 fonts may be cleaned by unrelated thread | ||
---|---|---|---|
Product: | cairo | Reporter: | Benjamin Berg <benjamin> |
Component: | general | Assignee: | Chris Wilson <chris> |
Status: | RESOLVED MOVED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | freedesktop |
Version: | 1.12.8 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 68382 |
Description
Benjamin Berg
2012-11-13 20:15:35 UTC
Well, I finally decided to work around this issue by forking. So the PDF is now rendered in a separate process instead of only a separate thread. Passing image surfaces through FDs isn't hard. Works nice for me. (In reply to comment #0) > cairo_scaled_font_destroy may destroy fonts that have been created on a > different backend. I am hitting a deadlock in one of my programs because of > this. What happens is that GDK is doing some X calls (eg. XSync) while a > second thread is rendering a PDF. The PDF rendering causes > cairo_scaled_font_destroy, which in turn calls XRenderFreeGlyphSet. > > From IRC: > < psychon> ickle: ^ (I guess that cairo is supposed to only call into Xlib > from threads that use cairo-xlib, so this XFreeGlyphSet is wrong) > < ickle> restore the taskqueue I see no trace of the task queue left in the code base. :( Hey, any news on this? This seems like a rather nasty issue, if cairo is supposed to be thread safe. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/233. |
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.