<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>