<div dir="ltr"><div><div>Hello!<br><br>I was able to narrow down the problem. Certain polygons make sub_row call cell_list_add_subspan (cairo-tor_scan-converter.c) with x1 > x2, which in complex multi-polygon shapes results in memory corruption. Here is the simplest sequence which causes x1 > x2 in cell_list_add_subspan:<br><br><span style="font-family:monospace,monospace">   double b0_x = 57.991139090401816;<br>   double b0_y = 67.724516159057615;<br>   double b1_x = 58.011249302455383;<br>   double b1_y = 73.545238752365108;<br>   double e0_x = 57.991139090401816;<br>   double e0_y = 67.724516159057615;<br>   double e1_x = 58.011249302455383;<br>   double e1_y = 72.089769290924067;<br><br>   cairo_move_to(painter, b0_x, b0_y);<br>   cairo_line_to(painter, e0_x, e0_y);<br>   cairo_line_to(painter, e1_x, e1_y);<br>   cairo_line_to(painter, b1_x, b1_y);<br>   cairo_line_to(painter, b0_x, b0_y);<br>   cairo_fill(painter);<br></span><br></div>With best regards,<br></div>Ilya<br></div>