[cairo-bugs] [Bug 34810] New: [Bisected] many cairo test regressed
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sun Feb 27 18:18:44 PST 2011
https://bugs.freedesktop.org/show_bug.cgi?id=34810
Summary: [Bisected] many cairo test regressed
Product: cairo
Version: 1.10.3
Platform: x86 (IA32)
OS/Version: Linux (All)
Status: NEW
Severity: major
Priority: medium
Component: xlib backend
AssignedTo: cworth at cworth.org
ReportedBy: jian.j.zhao at intel.com
QAContact: cairo-bugs at cairographics.org
System Environment:
--------------------------
Libdrm: (master)2.4.23-16-ge6018c25ca63fa6066d8fa6e57373030d07b0392
Mesa: (master)a385ac62070fa68052c77df7be62685bf6a58992
Xserver: (master)xorg-server-1.10.0
Xf86_video_intel: (master)2.14.0-38-g6b926444c7c66e5d14eb911d9ab3d0e2d512bca4
Cairo: (master)17169a1e5130b8a287f07eb43d41f0b51307cc57
Kernel: (drm-intel-next) 710f957846cff998c681f3701f6f90eda896458f
Bug detailed description:
-------------------------
There are many cairo test cases(about 40) regressed on xlib fallback backend
with output: lt-cairo-test-suite: cairo-surface.c:178:
_cairo_surface_set_error: Assertion `status < CAIRO_STATUS_LAST_STATUS\'
failed. clear-source.xlib-fallback.rgb24 [0]: !!!CRASHED!!!
I find it was caused by commit badf32290ff894351e0f6879aafeac6db8e0d846 in
Cairo. And this issue happened on both Pineview and Piketon.
commit badf32290ff894351e0f6879aafeac6db8e0d846
Author: Benjamin Otte <otte at redhat.com>
Date: Fri Feb 18 18:23:25 2011 +0100
surface: Don't be nice to people setting internal error codes
Just DIE DIE DIE in the _cairo_status_set_status() assertion.
Before this commit, its running result:
[root at x-pk1 test]# CAIRO_TEST_TARGET=xlib ./cairo-test-suite bitmap-font
TESTING cairo-test-suite
Compiled against cairo 1.11.3, running on 1.11.3.
Compiled against pixman 0.21.5, running on 0.21.5.
TESTING bitmap-font
bitmap-font.xlib.argb32 [0]: PASS
bitmap-font.xlib.rgb24 [0]: PASS
bitmap-font.xlib-window.rgb24 [0]: PASS
bitmap-font.xlib-fallback.rgb24 [0]: PASS
bitmap-font: PASS
1 Passed, 0 Failed [0 crashed, 0 expected], 0 Skipped
With this commit, its running result:
[root at x-pk1 test]# CAIRO_TEST_TARGET=xlib ./cairo-test-suite bitmap-font
TESTING cairo-test-suite
Compiled against cairo 1.11.3, running on 1.11.3.
Compiled against pixman 0.21.5, running on 0.21.5.
TESTING bitmap-font
bitmap-font.xlib.argb32 [0]: PASS
bitmap-font.xlib.rgb24 [0]: PASS
bitmap-font.xlib-window.rgb24 [0]: PASS
bitmap-font.xlib-fallback.rgb24 [0]: lt-cairo-test-suite:
cairo-surface.c:178: _cairo_surface_set_error: Assertion `status <
CAIRO_STATUS_LAST_STATUS' failed.
bitmap-font.xlib-fallback.rgb24 [0]: !!!CRASHED!!!
bitmap-font: CRASH! (xlib-fallback)
0 Passed, 1 Failed [1 crashed, 0 expected], 0 Skipped
xlib-fallback (rgb24): 1 crashed! - bitmap-font
I tested with the following patch which just partly revert that commit, it
passed again.
diff --git a/src/cairo-surface.c b/src/cairo-surface.c
index b4c9eb6..74c2461 100644
--- a/src/cairo-surface.c
+++ b/src/cairo-surface.c
@@ -173,6 +173,9 @@ _cairo_surface_set_error (cairo_surface_t *surface,
status == CAIRO_INT_STATUS_NOTHING_TO_DO)
return CAIRO_STATUS_SUCCESS;
+ if (status >= CAIRO_INT_STATUS_UNSUPPORTED)
+ return status;
+
/* Don't overwrite an existing error. This preserves the first
* error, which is the most significant. */
_cairo_status_set_error (&surface->status, status);
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list