[cairo] Re: Using --sync and gdb to debug X protocol errors
in GTK+-based programs
Carl Worth
cworth at cworth.org
Wed Jun 22 22:01:27 PDT 2005
On Thu, 23 Jun 2005 13:39:54 +1000, Nigel Tao wrote:
> For the record, (I think that) the --sync is given to the run, not the
> gdb.
Drat. You're right. And now I've gone and archived the wrong
instructions. At least gdb now has the nifty:
Make breakpoint pending on future shared library load? (y or [n]) y
thing. In the old days, one would have had to do a dance of:
break main
run --sync
break gdk_x_error
cont
> > The resulting stack trace should be very interesting to us, so please
> > send it along.
>
> attached to fd.o bug 3604:
> https://bugs.freedesktop.org/show_bug.cgi?id=3604
Now we're in that confusing state where we could discuss things either
here or in bugzilla. I prefer to do things here, so I will.
Things have obviously gone wrong before this (note the negative offsets):
#10 0xb7b361c8 in _fallback_composite (operator=3221220240, src=0xbfffeb90, mask=0xbfffeb90, dst=0xbfffeb90, src_x=-1073747056, src_y=-1073747056, mask_x=-1073747056, mask_y=-1073747056, dst_x=0, dst_y=0, width=200, height=10) at cairo-surface.c:490
But what looks really odd is:
#11 0xb7b2e773 in _composite_trap_region (gstate=0x80a05f0, src=0xbfffeb90, operator=CAIRO_OPERATOR_OVER, dst=0xbfffeb90, trap_region=0x0, extents=0xbffff028) at cairo-gstate.c:1178
#12 0xb7b2ed42 in _cairo_gstate_clip_and_composite_trapezoids (gstate=0x80a05f0, src=0x80a0918, operator=CAIRO_OPERATOR_OVER, dst=0x809fd30, traps=0xbffff080) at cairo-gstate.c:1427
Note that trap_region is NULL in the call to _composite_trap_region,
but the calling code has
if (trap_region) {
/* For a simple rectangle, we can just use composite(), for more
* rectangles, we have to set a clip region. The cost of rasterizing
* trapezoids is pretty high for most backends currently, so it's
* worthwhile even if a region is needed.
*/
status = _composite_trap_region (gstate, src, operator, dst,
trap_region, &extents);
It'd be nice to be able to poke around a system exhibiting this, so if
we can figure out how to replicate it that would be quite helpful.
-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050622/b982dad3/attachment.pgp
More information about the cairo
mailing list