Summary: | Large numbers of test failures in cairo 1.8.0 on Solaris 10 (Sparc) | ||
---|---|---|---|
Product: | cairo | Reporter: | Michael <mjbauer> |
Component: | general | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 1.8.0 | ||
Hardware: | SPARC | ||
OS: | Solaris | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Example PNG diff file from a test failure |
Description
Michael
2008-10-15 10:06:28 UTC
Those crashes are serious - even for a missing font we should just set an error and gracefully fail. The a1-image-sample also looks like a serious failure in the fixed-to-double routine for this platform (in the past compiler options like -ffast-math have been known to cause issues). But first the crashes - can you get a stacktrace? Stack traces for all three crashes. They appear to all die in the same place. fcpat.c is likely part of the fontconfig library. I recently built fontconfig 2.6.0 and installed it; so far as I know that's the newest stable version. There's also the stock Solaris fontconfig (implausibly tagged as version 6.6.2.7400,REV=0.2004.12.15, but the obvious datestamp makes the real version number no higher than 2.2.97 and likely lower) on this host, but libcairo and all the test binaries appear to be using the newer one. I will note (possibly tangentially) that thread functionality -- including pthreads -- in Solaris 10 has been folded into libc. Using libpthread may not be needed, and may improve things. I've had one other package attempt to use libpthread and fail to build, which then succeeded when I altered the build sequence to get rid of libpthread. I'll see if I can persuade Cairo to build without libpthread to see if that makes a difference. > setenv LD_LIBRARY_PATH /tmp/cairo-1.8.0/src/.libs:/usr/local/lib > gdb ./.libs/ft-text-vertical-layout-type1 GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.10"... (gdb) run Starting program: /tmp/cairo-1.8.0/test/.libs/ft-text-vertical-layout-type1 warning: Temporarily disabling breakpoints for unloaded shared library "/usr/lib/ld.so.1" warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074 TESTING ft-text-vertical-layout-type1 Tests text rendering for vertical layout with Type1 fonts Can fail if an incorrect font is loaded---need to bundle the desired font ft-text-vertical-layout-type1-image-argb32 [0]: Program received signal SIGSEGV, Segmentation fault. FcPatternObjectFindElt (p=0x0, object=18) at fcpat.c:312 312 fcpat.c: No such file or directory. in fcpat.c (gdb) backtrace #0 FcPatternObjectFindElt (p=0x0, object=18) at fcpat.c:312 #1 0xff26af28 in FcPatternObjectDel (p=0x0, object=18) at fcpat.c:568 #2 0x000127c0 in draw (cr=0x3f450, width=80, height=240) at ft-text-vertical-layout-type1.c:73 #3 0x00013b78 in cairo_test_for_target (ctx=0xffbffb70, target=0x29c14, dev_offset=<value optimized out>, similar=0) at cairo-test.c:663 #4 0x00014788 in cairo_test_run (ctx=0xffbffb70) at cairo-test.c:988 #5 0x00014f18 in cairo_test (test=0x18180) at cairo-test.c:1167 #6 0x00012524 in _start () at ../.././gcc/config/sparc/sol2-c1.asm:106 > gdb ./.libs/ft-text-vertical-layout-type3 GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.10"... (gdb) run Starting program: /tmp/cairo-1.8.0/test/.libs/ft-text-vertical-layout-type3 warning: Temporarily disabling breakpoints for unloaded shared library "/usr/lib/ld.so.1" warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074 TESTING ft-text-vertical-layout-type3 Tests text rendering for vertical layout with TrueType fonts ft-text-vertical-layout-type3-image-argb32 [0]: Program received signal SIGSEGV, Segmentation fault. FcPatternObjectFindElt (p=0x0, object=18) at fcpat.c:312 312 fcpat.c: No such file or directory. in fcpat.c (gdb) backtrace #0 FcPatternObjectFindElt (p=0x0, object=18) at fcpat.c:312 #1 0xff26af28 in FcPatternObjectDel (p=0x0, object=18) at fcpat.c:568 #2 0x000127c0 in draw (cr=0x3c210, width=80, height=200) at ft-text-vertical-layout-type3.c:72 #3 0x00013b78 in cairo_test_for_target (ctx=0xffbffb70, target=0x29bd4, dev_offset=<value optimized out>, similar=0) at cairo-test.c:663 #4 0x00014788 in cairo_test_run (ctx=0xffbffb70) at cairo-test.c:988 #5 0x00014f18 in cairo_test (test=0x18140) at cairo-test.c:1167 #6 0x00012524 in _start () at ../.././gcc/config/sparc/sol2-c1.asm:106 > gdb ./.libs/ft-text-antialias-none GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.10"... (gdb) run Starting program: /tmp/cairo-1.8.0/test/.libs/ft-text-antialias-none warning: Temporarily disabling breakpoints for unloaded shared library "/usr/lib/ld.so.1" warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074 TESTING ft-text-antialias-none Tests text rendering with no antialiasing ft-text-antialias-none-image-argb32 [0]: Program received signal SIGSEGV, Segmentation fault. FcPatternObjectFindElt (p=0x0, object=15) at fcpat.c:312 312 fcpat.c: No such file or directory. in fcpat.c (gdb) backtrace #0 FcPatternObjectFindElt (p=0x0, object=15) at fcpat.c:312 #1 0xff26af28 in FcPatternObjectDel (p=0x0, object=15) at fcpat.c:568 #2 0x000126fc in draw (cr=0x2e1f0, width=40, height=30) at ft-text-antialias-none.c:72 #3 0x00013920 in cairo_test_for_target (ctx=0xffbffb80, target=0x2990c, dev_offset=<value optimized out>, similar=0) at cairo-test.c:663 #4 0x00014530 in cairo_test_run (ctx=0xffbffb80) at cairo-test.c:988 #5 0x00014cc0 in cairo_test (test=0x17ec0) at cairo-test.c:1167 #6 0x00012450 in _start () at ../.././gcc/config/sparc/sol2-c1.asm:106 Ok, those stack traces are crashes in the tests - which happen to have cut'n'paste the same function for creating the scaled font, and failed to check for errors from fontconfig. (So we can fix the crash, but the test will still ultimately fail.) So that means that we are failing to find the required fonts for the test suite, so we can expect ~46 failures due to the missing fonts. As for the others, we can write off the xlib failures as buggy drivers where there is not a corresponding image failure. (Obviously they merit further investigation, but for now...) Which reduces the list down to invalid-matrix and solid-pattern-cache-stress. Can you paste/attach invalid-matrix.log and solid-pattern-cache-stress.log? The out-of-memory errors are unlikely in normal functionality. My build machine has 1 gb physical (plus four more of swap), with 700 Mb free of physical and all swap empty. And regarding the missing fonts, if there's a list somewhere of which fonts the test suite expects, I'll see about tracking them down and installing them. (If nothing else, I have RHEL 5 hosts that I can pillage.) invalid-matrix.log: Testing invalid-matrix with image target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: image FORMAT: argb32 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing invalid-matrix with image target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: image FORMAT: rgb24 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing invalid-matrix with xlib target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: xlib FORMAT: argb32 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing invalid-matrix with (similar) xlib target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: xlib FORMAT: argb32 OFFSET: 0 SIMILAR: 1 RESULT: FAIL Testing invalid-matrix with xlib target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: xlib FORMAT: rgb24 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing invalid-matrix with (similar) xlib target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: xlib FORMAT: rgb24 OFFSET: 0 SIMILAR: 1 RESULT: FAIL Testing invalid-matrix with xlib-fallback target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: xlib-fallback FORMAT: rgb24 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing invalid-matrix with (similar) xlib-fallback target (dev offset 0) Error: cairo_scaled_font_create(invalid) with invalid matrix returned unexpected status (1): out of memory Error: Function under test failed TEST: invalid-matrix TARGET: xlib-fallback FORMAT: rgb24 OFFSET: 0 SIMILAR: 1 RESULT: FAIL solid-pattern-cache-stress.log: Testing solid-pattern-cache-stress with image target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: image FORMAT: argb32 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing solid-pattern-cache-stress with image target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: image FORMAT: rgb24 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing solid-pattern-cache-stress with xlib target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: xlib FORMAT: argb32 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing solid-pattern-cache-stress with (similar) xlib target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: xlib FORMAT: argb32 OFFSET: 0 SIMILAR: 1 RESULT: FAIL Testing solid-pattern-cache-stress with xlib target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: xlib FORMAT: rgb24 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing solid-pattern-cache-stress with (similar) xlib target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: xlib FORMAT: rgb24 OFFSET: 0 SIMILAR: 1 RESULT: FAIL Testing solid-pattern-cache-stress with xlib-fallback target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: xlib-fallback FORMAT: rgb24 OFFSET: 0 SIMILAR: 0 RESULT: FAIL Testing solid-pattern-cache-stress with (similar) xlib-fallback target (dev offset 0) Error: Function under test left cairo status in an error state: out of memory TEST: solid-pattern-cache-stress TARGET: xlib-fallback FORMAT: rgb24 OFFSET: 0 SIMILAR: 1 RESULT: FAIL Ok those two also failed to find the font (with the NULLs being returned by fontconfig being misinterpreted as NO_MEMORY). Therefore I feel quite confident that all the image failures are due to the missing fonts. To be honest, I'm not sure what the fonts actually used by the test suite are. Will take a bit of probing to find out just what fonts are actually used... "Bitstream Vera Sans" -> Verta.ttf "Bitstream Vera Sans Mono" -> VeraMono.ttf "Bitstream Vera Serif" VeraSe.ttf "Nimbus Sans L" -> n019003l.pfb Ok those two also failed to find the font (with the NULLs being returned by fontconfig being misinterpreted as NO_MEMORY). Therefore I feel quite confident that all the image failures are due to the missing fonts. To be honest, I'm not sure what the fonts actually used by the test suite are. Will take a bit of probing to find out just what fonts are actually used... "Bitstream Vera Sans" -> Vera.ttf "Bitstream Vera Sans Mono" -> VeraMono.ttf "Bitstream Vera Serif" VeraSe.ttf "Nimbus Sans L" -> n019003l.pfb By the simple expedient of ln -s /usr/openwin/lib/X11/fonts /usr/share/fonts, I reduced the number of unexpected test results to 21. None crashed. ======================================================================== 21 of 189 tests did not behave as expected (10 unexpected passes) (7 tests were not run) Please report to http://bugs.freedesktop.org/enter_bug.cgi?product=cairo ======================================================================== make[5]: *** [check-TESTS] Error 1 Failed tests: a1-image-sample: xlib xlib-fallback a1-traps-sample: xlib xlib-fallback device-offset-fractional: xlib xlib-fallback rectangle-rounding-error: xlib xlib-fallback rotate-image-surface-paint: xlib xlib-fallback smask: image xlib xlib-fallback smask-text: image xlib xlib-fallback unantialiased-shapes: xlib xlib-fallback unbounded-operator: xlib ft-text-vertical-layout-type1: image xlib xlib-fallback Failures per surface - xlib: 10, xlib-fallback: 9, image: 3. xlib [10]: a1-image-sample a1-traps-sample device-offset-fractional rect angle-rounding-error rotate-image-surface-paint smask smask-text unantialiased-s hapes unbounded-operator ft-text-vertical-layout-type1 xlib-fallback [9]: a1-image-sample a1-traps-sample device-offset-fractio nal rectangle-rounding-error rotate-image-surface-paint smask smask-text unantia liased-shapes ft-text-vertical-layout-type1 image [3]: smask smask-text ft-text-vertical-layout-type1 The unexecpted failures were apparently addressed (according to previous comments), the expected ones were expected. ;-) |
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.