Created attachment 30820 [details] Trace that leads to the Assertion failure. The given combination of commands leads to the following assertion failure: lt-csi-replay: cairo-path-stroke.c:1816: _cairo_rectilinear_stroker_line_to: Assertion `a->x == b->x || a->y == b->y' failed. I noticed this by plotting a lot of small graphs, which basically only differ in the y-coordinates. If this is really a problem with cairo, this will strongly depend on the (x,y) coordinates of the moveto/lineto commands.
Thanks for bug report, having the trace was very useful, many many thanks. commit 23bcf91748c4bb04c16e503b913da3bfc237463f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Oct 30 07:49:56 2009 +0000 path: Misclassification of rectilinear after degenerate line-to Malte Nuhn reported hitting an assertion: cairo-path-stroke.c:1816: _cairo_rectilinear_stroker_line_to: Assertion `a->x == b->x || a->y == b->y' failed. http://bugs.freedesktop.org/show_bug.cgi?id=24797 when stroking an apparently simple path: 0 8.626485 m 0 8.626485 l 5.208333 2.5 l 10.416667 2.5 l 15.625 2.5 l 20.833333 2.5 l 26.041667 2.5 l 31.25 2.5 l 36.458333 2.5 l 41.666667 2.5 l 46.875 2.5 l 52.083333 2.5 l 57.291667 2.5 l 62.5 2.5 l 67.708333 2.5 l 72.916667 2.5 l 78.125 2.5 l 83.333333 2.5 l 88.541667 2.5 l 93.75 2.5 l 98.958333 2.5 l 104.166667 2.5 l 109.375 2.5 l 114.583333 2.5 l 119.791667 2.5 l 125 2.5 l stroke which upon reduction becomes: 0.000000 8.625000 m 5.207031 2.500000 l 125.000000 2.500000 l stroke The bug is that after spotting a repeated line-to we move the previous end-point without reclassifying the path, hence we miss the non-rectilinear step. Hope this hasn't marred your enjoyment of Cairo, and you continue to have fun!
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.