<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - cairo-perf-trace failure"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=73580#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - cairo-perf-trace failure"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=73580">bug 73580</a>
              from <span class="vcard"><a class="email" href="mailto:emanuele.aina@collabora.com" title="Emanuele Aina <emanuele.aina@collabora.com>"> <span class="fn">Emanuele Aina</span></a>
</span></b>
        <pre>Testing latest master (4a225fca5f12) on my laptop (Debian sid amd64) I'm still
able to reproduce the issue (but debug symbols work everywhere without hacks,
yay!):

$ CAIRO_TRACE_SO=util/cairo-trace/.libs/libcairo-trace.so
util/cairo-trace/cairo-trace zenity --info --text foo
cairo-trace: Recording cairo trace data to ./zenity.24699.trace

$ perf/cairo-perf-trace ./zenity.24699.trace 
[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]      xcb                 zenity.24699 Error during replay, line 86:
invalid value (typically too big) for the size of the input (surface, pattern,
etc.)
[  0]     xlib                 zenity.24699 Error during replay, line 86:
invalid value (typically too big) for the size of the input (surface, pattern,
etc.)
[ # ]    image: pixman 0.32.6
[  0]    image                 zenity.24699 Error during replay, line 86:
invalid value (typically too big) for the size of the input (surface, pattern,
etc.)
[ # ]  image16: pixman 0.32.6
[  0]  image16                 zenity.24699 Error during replay, line 86:
invalid value (typically too big) for the size of the input (surface, pattern,
etc.)

Breaking with gdb on _csi_error() shows that _set_source() is peeking at the
stack, expecting a context object and getting a surface object instead. Indeed,
the current top of the stack contains:

0 CSI_OBJECT_TYPE_PATTERN
1 CSI_OBJECT_TYPE_SURFACE
2 CSI_OBJECT_TYPE_CONTEXT


This is in response to a cairo_set_source_surface() call, so I would suspect
that the pattern object is out-of-place but this would mean that there are two
bugs: the pattern object in the stack and _set_source() assuming a pattern even
when replaying a cairo_set_source_surface() call.

That said my understanding of how the cairo script stack management works is
too limited to figure out if it's a problem with the trace or with the
interpreter, so some help would be greatly appreciated.</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>