<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Image compositor can pass invalid coordinates to pixman_fill()"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=90120#c12">Comment # 12</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Image compositor can pass invalid coordinates to pixman_fill()"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=90120">bug 90120</a>
              from <span class="vcard"><a class="email" href="mailto:bryce@osg.samsung.com" title="Bryce Harrington <bryce@osg.samsung.com>"> <span class="fn">Bryce Harrington</span></a>
</span></b>
        <pre>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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>