System Environment: -------------------------- Platform: Piketon,HuronRiver Libdrm: (master)2.4.26 Mesa: (master)dd3b812962a8720aca0a80bf6ea35f70319d3ca1 Xserver: (master)xorg-server-1.10.99.901-38-g778309fd0ef6b586468c1a3b569e3548503459ee Cairo: (master)ced061124d0b402c5ce471ce04e9a936dc46da94 Libva: (master)0f52ab9f582526c2d462fed6f09d0a0a007327ad Kernel: (drm-intel-next) a18711120764dd96ed2ee6a4d436c448542bad77 Bug detailed description: ------------------------- crash:cairo-perf-trace crashes on xcb backend with some traces on Piketon and HuronRiver.It's Cariro regression. By bisected,63bdae27a83381fb8c3786c2d7a6c2592e388ee9 is the first bad commit. In consloe: [ 0] xcb firefox-talos-gfx Detected error during xcb run: 2 major=148, minor=5 lt-cairo-perf-trace: cairo-boilerplate-xcb.c:136: _cairo_boilerplate_xcb_synchronize: Assertion `status == CAIRO_STATUS_SUCCESS' failed. some traces: firefox-planet-gnome firefox-talos-gfx firefox-talos-svg gnome-system-monitor midori-zoomed poppler 63bdae27a83381fb8c3786c2d7a6c2592e388ee9 is the first bad commit commit 63bdae27a83381fb8c3786c2d7a6c2592e388ee9 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri May 27 15:59:37 2011 +0100 xlib,xcb: Force strict adherence to the Render specification when testing Introduce cairo_xlib_device_debug_set_precision() to override the automatic selection of rendering precision and force the Xorg/DDX to strictly adhere to the precise rendering mode of the Render specification. This allows us to test drivers without worrying, too much, about minor discrepancies in antialiasing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reproduce steps: ---------------- 1 xinit& 2 ./cairo-perf-trace firefox-talos-gfx.trace
Can't reproduce with cairo 441f9c5037dd32464bd87e21108b702c0a3c508a on current debian testing. However, printf tells me that surface->precision is never initialized and while we are at it, this should use the XCB_RENDER_POLY_MODE_{IM,}PRECISE defines. Could you perhaps get an xtrace of the test? (http://xtrace.alioth.debian.org)
(In reply to comment #1) Test cairo 441f9c on HuronRiver,the problem still exists. Because of the xtrace of the test is too big,I head -5000 and tail -5000 for the xtrace.
Created attachment 48368 [details] The head 5000 for xtrace test
Created attachment 48369 [details] The tail 5000 for xtrace test
Ouch. Not only surface->precision is uninitialized (which isn't that bad), connection->force_precision isn't initialized either. I guess I were just lucky that that field contained 0 while you were hit by a value of 0x60. Could you test if this commit fixes the problem? Thanks for finding and reporting. commit 144c912860af6e60e1bdbeee31fe686c9c5e550d Author: Uli Schlachter <psychon@znc.in> Date: Fri Jun 24 15:52:59 2011 +0200 xcb: Initialize the new precision fields In 63bdae27a83, new fields were added to cairo_xcb_connection_t and cairo_xcb_surface_t. The same change was done in the xlib backend. However, in the xlib backend these new fields were properly initialized. This was forgotten in the xcb backend. Hopefully-Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=38482 Signed-off-by: Uli Schlachter <psychon@znc.in>
Test with commit 144c912860af6e60e1bdbeee31fe686c9c5e550d,it works fine.
Verified with cairo(master)ea645913ba8739377ee2e2b51480310befc19b76, it works fine.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.