[cairo-bugs] [Bug 90120] Image compositor can pass invalid coordinates to pixman_fill()

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 19 00:52:30 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=90120

--- Comment #12 from Bryce Harrington <bryce at osg.samsung.com> ---
Unfortunately the patch causes a number of test failures:

==> results_master.txt <==
#######
# Tests run:        531
# Passed:           492
# Failed:           26
# Expected Failed:  13
# Error:            0
# Crashed:          0
# Untested:         0
# Total:            531
#######

==> results.txt <==
#######
# Tests run:        531
# Passed:           341
# Failed:           165
# Expected Failed:  13
# Error:            2
# Crashed:          10
# Untested:         0
# Total:            531
#######

PASS -> FAIL # a1-clip-stroke.image.argb32
PASS -> FAIL # a1-line-width.image.argb32
PASS -> FAIL # a1-rectilinear-grid.image.argb32
PASS -> FAIL # a8-clear.image.argb32
PASS -> FAIL # aliasing.image.argb32
PASS -> ERROR # api-special-cases.image.argb32
PASS -> FAIL # arc-looping-dash.image.argb32
PASS -> FAIL # big-line.image.argb32
PASS -> FAIL # bug-51910.image.argb32
PASS -> FAIL # bug-84115.image.argb32
PASS -> FAIL # bug-extents.image.argb32
PASS -> FAIL # bug-spline.image.argb32
PASS -> FAIL # caps-05.image.argb32
PASS -> FAIL # caps-1.image.argb32
PASS -> FAIL # caps-2.image.argb32
PASS -> FAIL # caps-joins-05.image.argb32
PASS -> FAIL # caps-joins-1.image.argb32
PASS -> FAIL # caps-joins-2.image.argb32
PASS -> FAIL # caps-joins-alpha.image.argb32
PASS -> FAIL # caps-joins-curve.image.argb32
PASS -> FAIL # caps-joins.image.argb32
PASS -> FAIL # caps.image.argb32
PASS -> FAIL # caps-sub-paths.image.argb32
PASS -> FAIL # caps-tails-curve.image.argb32
PASS -> CRASHED # clear-source.image.argb32
PASS -> FAIL # clip-disjoint.image.argb32
PASS -> FAIL # clip-shape.image.argb32
PASS -> FAIL # clip-stroke.image.argb32
PASS -> FAIL # clip-stroke-unbounded.image.argb32
PASS -> FAIL # close-path-current-point.image.argb32
PASS -> FAIL # curve-to-as-line-to.image.argb32
PASS -> FAIL # dash-caps-joins.image.argb32
PASS -> FAIL # dash-curve.image.argb32
PASS -> FAIL # dash-infinite-loop.image.argb32
PASS -> FAIL # dash-no-dash.image.argb32
PASS -> FAIL # dash-offset.image.argb32
PASS -> FAIL # dash-offset-negative.image.argb32
PASS -> FAIL # dash-scale.image.argb32
PASS -> FAIL # dash-state.image.argb32
PASS -> FAIL # dash-zero-length.image.argb32
PASS -> FAIL # degenerate-arc.image.argb32
PASS -> FAIL # degenerate-curve-to.image.argb32
PASS -> FAIL # degenerate-dash.image.argb32
PASS -> FAIL # degenerate-path.image.argb32
PASS -> FAIL # degenerate-pen.image.argb32
PASS -> FAIL # degenerate-rel-curve-to.image.argb32
PASS -> FAIL # degenerate-solid-dash.image.argb32
PASS -> FAIL # drunkard-tails.image.argb32
PASS -> FAIL # fill-and-stroke-alpha-add.image.argb32
PASS -> FAIL # fill-and-stroke-alpha.image.argb32
PASS -> FAIL # fill-and-stroke.image.argb32
PASS -> FAIL # filter-nearest-offset.image.argb32
PASS -> FAIL # font-matrix-translation.image.argb32
PASS -> FAIL # ft-text-vertical-layout-type1.image.argb32
PASS -> FAIL # ft-text-vertical-layout-type3.image.argb32
PASS -> FAIL # get-path-extents.image.argb32
PASS -> FAIL # halo.image.argb32
PASS -> FAIL # halo-transform.image.argb32
PASS -> FAIL # image-bug-710072-aligned.image.argb32
PASS -> FAIL # image-bug-710072-unaligned.image.argb32
PASS -> FAIL # implicit-close.image.argb32
PASS -> FAIL # infinite-join.image.argb32
PASS -> FAIL # joins.image.argb32
PASS -> FAIL # joins-loop.image.argb32
PASS -> FAIL # joins-retrace.image.argb32
PASS -> FAIL # joins-star.image.argb32
PASS -> CRASHED # large-twin-antialias-mixed.image.argb32
PASS -> FAIL # leaky-dashed-rectangle.image.argb32
PASS -> FAIL # leaky-dashed-stroke.image.argb32
PASS -> FAIL # leaky-dash.image.argb32
PASS -> FAIL # line-width-large-overlap-dashed.image.argb32
PASS -> FAIL # line-width-large-overlap-flipped.image.argb32
PASS -> FAIL # line-width-large-overlap-flopped.image.argb32
PASS -> FAIL # line-width-large-overlap.image.argb32
PASS -> FAIL # line-width-large-overlap-offset.image.argb32
PASS -> FAIL # line-width-large-overlap-rotated.image.argb32
PASS -> FAIL # line-width.image.argb32
PASS -> FAIL # line-width-overlap-dashed.image.argb32
PASS -> FAIL # line-width-overlap-flipped.image.argb32
PASS -> FAIL # line-width-overlap-flopped.image.argb32
PASS -> FAIL # line-width-overlap.image.argb32
PASS -> FAIL # line-width-overlap-offset.image.argb32
PASS -> FAIL # line-width-overlap-rotated.image.argb32
PASS -> FAIL # line-width-scale.image.argb32
PASS -> FAIL # line-width-tolerance.image.argb32
PASS -> FAIL # long-dashed-lines.image.argb32
PASS -> FAIL # miter-precision.image.argb32
PASS -> FAIL # new-sub-path.image.argb32
PASS -> FAIL # outline-tolerance.image.argb32
PASS -> FAIL # overlapping-dash-caps.image.argb32
PASS -> FAIL # path-stroke-twice.image.argb32
PASS -> FAIL # pixman-rotate.image.argb32
PASS -> FAIL # push-group-color.image.argb32
PASS -> FAIL # push-group.image.argb32
PASS -> FAIL # random-clip.image.argb32
PASS -> FAIL # random-intersections-curves-eo.image.argb32
PASS -> FAIL # random-intersections-curves-nz.image.argb32
PASS -> FAIL # random-intersections-eo.image.argb32
PASS -> FAIL # random-intersections-nonzero.image.argb32
PASS -> FAIL # record1414x-self-intersecting.image.argb32
PASS -> FAIL # record2x-self-intersecting.image.argb32
PASS -> FAIL # record90-self-intersecting.image.argb32
PASS -> FAIL # recordflip-self-intersecting.image.argb32
PASS -> FAIL # recordflip-whole-self-intersecting.image.argb32
PASS -> FAIL # recording-surface-extend-none.image.argb32
PASS -> FAIL # recording-surface-extend-reflect.image.argb32
PASS -> FAIL # recording-surface-extend-repeat.image.argb32
PASS -> FAIL # recording-surface-over.image.argb32
PASS -> FAIL # recording-surface-source.image.argb32
PASS -> FAIL # record-self-intersecting.image.argb32
PASS -> FAIL # rectilinear-dash.image.argb32
PASS -> FAIL # rectilinear-dash-scale.image.argb32
PASS -> FAIL # rectilinear-dash-scale-unaligned.image.argb32
PASS -> FAIL # rectilinear-grid.image.argb32
PASS -> FAIL # rectilinear-miter-limit.image.argb32
PASS -> FAIL # rectilinear-stroke.image.argb32
PASS -> FAIL # reflected-stroke.image.argb32
PASS -> FAIL # rel-path.image.argb32
PASS -> FAIL # rotated-clip.image.argb32
PASS -> FAIL # rotate-stroke-box.image.argb32
PASS -> FAIL # rounded-rectangle-stroke.image.argb32
PASS -> FAIL # scale-offset-image.image.argb32
PASS -> FAIL # scale-offset-similar.image.argb32
PASS -> FAIL # shape-general-convex.image.argb32
PASS -> FAIL # shape-sierpinski.image.argb32
PASS -> FAIL # skew-extreme.image.argb32
FAIL -> ERROR # smask.image.argb32
PASS -> FAIL # smask-stroke.image.argb32
PASS -> FAIL # solid-pattern-cache-stress.image.argb32
PASS -> FAIL # spline-decomposition.image.argb32
PASS -> FAIL # stroke-clipped.image.argb32
PASS -> FAIL # stroke-ctm-caps.image.argb32
PASS -> FAIL # stroke-image.image.argb32
PASS -> FAIL # stroke-open-box.image.argb32
PASS -> FAIL # stroke-pattern.image.argb32
PASS -> CRASHED # subsurface.image.argb32
PASS -> CRASHED # subsurface-scale.image.argb32
PASS -> FAIL # text-glyph-range.image.argb32
PASS -> FAIL # text-rotate.image.argb32
PASS -> FAIL # transforms.image.argb32
PASS -> CRASHED # twin-antialias-gray.image.argb32
PASS -> CRASHED # twin-antialias-mixed.image.argb32
PASS -> CRASHED # twin-antialias-none.image.argb32
PASS -> CRASHED # twin-antialias-subpixel.image.argb32
PASS -> CRASHED # twin.image.argb32
PASS -> FAIL # unantialiased-shapes.image.argb32
PASS -> FAIL # unclosed-strokes.image.argb32
PASS -> CRASHED # user-font.image.argb32
PASS -> FAIL # user-font-mask.image.argb32
PASS -> FAIL # world-map.image.argb32
PASS -> FAIL # world-map-stroke.image.argb32
PASS -> FAIL # xlib-expose-event.image.argb32

This error message is in a lot of the results files:

Error: Failed to extract image: invalid value (typically too big) for the size
of the input (surface, pattern, etc.)

In a few cases, output images are generated for the failures, which can be
viewed in the HTML results page, and just eyeballing them it looks like lines
aren't getting stroked that should be getting stroked.

I couldn't say whether the fault is with the patch or the tests, but either way
the patch looks like it needs a bit more work (or needs to include updates to
test cases) before its landable.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo-bugs/attachments/20161019/556eeb0e/attachment.html>


More information about the cairo-bugs mailing list