<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hello all, this is my first post to this list.<br><br>I am writing a threaded cairo application and I need help understanding a rare-ish bug.<br>I'm still using cairo 1.8.8 but considering an upgrade to get the nice profiling tools.<br><br>Every so often I get the following crash:<br>cairo-board: cairo-surface.c:406: cairo_surface_reference: Assertion `((*&amp;(&amp;surface-&gt;ref_count)-&gt;ref_count) &gt; 0)' failed.<br>Obtained 45 stack frames.<br>/lib/libc.so.6 [0x7f2e23ae1290]<br>/lib/libc.so.6(gsignal+0x35) [0x7f2e23ae1205]<br>/lib/libc.so.6(abort+0x183) [0x7f2e23ae2723]<br>/lib/libc.so.6(__assert_fail+0xe9) [0x7f2e23ada229]<br>/usr/lib/libcairo.so.2 [0x7f2e2496cbb0]<br>/usr/lib/libcairo.so.2 [0x7f2e249654dd]<br>/usr/lib/libcairo.so.2(cairo_pattern_create_for_surface+0x7d) [0x7f2e24966a6d]<br>/usr/lib/libcairo.so.2(cairo_set_source_surface+0x46) [0x7f2e249525b6]<br>./cairo-board [0x40f591]<br><br>If understand correctly my application is calling set_source_surface on an invalid surface?<br>Does it mean the surface was destroyed? This is very possible as the code is quite convoluted.<br><br>The rarity of the crash (less than 1/100) makes me think it might be a timing issue with a thread destroying the surface while another one tries to read it with cairo_set_source_surface but I can't see where as everything should be locked...<br>I'd like to know if an expert can confirm.<br><br>Thanks very much<br>Julien<br>                                               <br /><hr />Keep your friends updated— <a href='http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_5:092010' target='_new'>even when you’re not signed in.</a></body>
</html>