Comment 7 for bug 1189850

My guess is that there is a path with a missing sync point, like this one:

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 69a151c..be73e27 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4861,6 +4861,13 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
    }
   }

+ RegionTranslate(region, src_dx, src_dy);
+ ret = sna_drawable_move_region_to_cpu(&src_pixmap->drawable,
+ region, MOVE_READ);
+ RegionTranslate(region, -src_dx, -src_dy);
+ if (!ret)
+ goto fallback;
+
   if (alu != GXcopy) {
    PixmapPtr tmp;
    struct kgem_bo *src_bo;