[cairo] multithreaded bug in cairo on call to cairo stroke?

Andrea Canciani ranma42 at gmail.com
Fri Dec 17 00:39:27 PST 2010


On Fri, Dec 17, 2010 at 4:56 AM, cu <cairouser at yahoo.com> wrote:
> Is there a plan or an estimate as to when simpleops may become part of
> official pixman/cairo release?

I'd love to merge it, but I have only tested it on macosx and linuix using gcc
(and iirc also clang on macosx).

I should be able to test it on gcc/win32 with not too much effort, but
before merging it into pixman I believe that we should test it on a very
wid range of oses and compilers.

suncc, msvc are two compilers that I would expect to have a different
behavior than gcc and which would require much more effort to get tested.

>
> My application just recently started hitting the concurrency issue.
> Until now while drawing was multithreaded, it was essentially completely
> interlocked, i.e. pretty much serialized.  Now there are threads drawing
> into separate surfaces, but using the same colors and this results in
> occasional crash inside pixman - which sounds very much like the issue
> discussed in this thread.
>
> I tried the patch that removes pattern caching. It appears to work
> (can't be sure as crashes are not consistent). However, it slows
> rendering by about 1-3%. Not critical but it would be better if this was
> not necessary.

The really bad thing is that either way you need no use a patched library.
I'll try to clean up simpleops, finish some incomplete parts (it's still
missing a testsuite) and call for testers.
This should probably be the first step towards its adoption in pixman.

Andrea


More information about the cairo mailing list