# uname -srm NetBSD 3.0_STABLE i386 # gcc -v Using built-in specs. Configured with: /home/nick/work/netbsd/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=i386-unknown-netbsdelf2.0. --host=i386--netbsdelf --target=i386--netbsdelf Thread model: posix gcc version 3.3.3 (NetBSD nb3 20040520) # make check . . . pthread-show-text: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: pthread-show-text [1] Segmentation fault (core dumped) ${dir}${tst} FAIL: ft-font-create-for-ft-face
# gdb ft-font-create-for-ft-face ft-font-create-f.core GNU gdb 5.3nb1 Copyright 2002 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 "i386--netbsdelf"... Core was generated by `ft-font-create-f'. Program terminated with signal 11, Segmentation fault. #0 0x0818bbc0 in strlen () (gdb) where #0 0x0818bbc0 in strlen () #1 0x080b761c in FcStrCopy (s=0x746e6f66 <Address 0x746e6f66 out of bounds>) at fcstr.c:37 #2 0x080b56d8 in FcValueSave (v= {type = FcTypeString, u = {s = 0x746e6f66 <Address 0x746e6f66 out of bounds>, i = 1953394534, b = 1953394534, d = -0.1245351108795468, m = 0x746e6f66, c = 0x746e6f66, f = 0x746e6f66, p = 0x746e6f66, l = 0x746e6f66}}) at fcpat.c:72 #3 0x080b6979 in FcPatternAddWithBinding (p=0x825f0b0, object=0x81d23c4 "family", value= {type = FcTypeString, u = {s = 0x746e6f66 <Address 0x746e6f66 out of bounds>, i = 1953394534, b = 1953394534, d = -0.1245351108795468, m = 0x746e6f66, c = 0x746e6f66, f = 0x746e6f66, p = 0x746e6f66, l = 0x746e6f66}}, binding=FcValueBindingStrong, append=1) at fcpat.c:753 #4 0x080b6ac8 in FcPatternAdd (p=0x825f0b0, object=0x81d23c4 "family", value= {type = FcTypeString, u = {s = 0x746e6f66 <Address 0x746e6f66 out of bounds>, i = 1953394534, b = 1953394534, d = -0.1245351108795468, m = 0x746e6f66, c = 0x746e6f66, f = 0x746e6f66, p = 0x746e6f66, l = 0x746e6f66}}, append=1) at fcpat.c:805 #5 0x080b6cf3 in FcPatternAddString (p=0x825f0b0, object=0x81d23c4 "family", s=0x746e6f66 <Address 0x746e6f66 out of bounds>) at fcpat.c:890 #6 0x0805ff57 in _cairo_ft_scaled_font_create_toy (toy_face=0x81d10e0, font_matrix=0xbfbfe3d0, ctm=0xbfbfe3a0, options=0x825f090, font=0xbfbfe29c) at cairo-ft-font.c:1566 ---Type <return> to continue, or q <return> to quit--- #7 0x0804d083 in _cairo_toy_font_face_scaled_font_create ( abstract_font_face=0x81d10e0, font_matrix=0xbfbfe3d0, ctm=0xbfbfe3a0, options=0x825f090, scaled_font=0xbfbfe29c) at cairo-font.c:407 #8 0x0804d548 in cairo_scaled_font_create (font_face=0x81d10e0, font_matrix=0xbfbfe3d0, ctm=0xbfbfe3a0, options=0x825f090) at cairo-font.c:725 #9 0x080483a1 in draw (cr=0x82740c0, width=0, height=0) at ft-font-create-for-ft-face.c:61 #10 0x08048aac in cairo_test_for_target (test=0x824a010, draw=0x8048328 <draw>, target=0xbfbfe4b0) at cairo-test.c:483 #11 0x08048c98 in cairo_test_expecting (test=0x824a010, draw=0x8048328 <draw>, expectation=CAIRO_TEST_SUCCESS) at cairo-test.c:575 #12 0x08048dce in cairo_test (test=0x824a010, draw=0x8048328 <draw>) at cairo-test.c:620 #13 0x0804849f in main () at ft-font-create-for-ft-face.c:101 #14 0x08048166 in ___start () (gdb)
Note that 1.0.4 also suffers many similar problems on NetBSD/i386-3.0: /usr/bin/make check-TESTS a8-mask is expected to fail: image backend fails because libpixman only handles (stride % sizeof(pixman_bits) == 0) a8-mask-image: XFAIL a8-mask-xlib: UNTESTED FAIL: a8-mask caps-joins-image: PASS caps-joins-xlib: UNTESTED PASS: caps-joins caps-sub-paths-image: PASS caps-sub-paths-xlib: UNTESTED PASS: caps-sub-paths clip-all-image: PASS clip-all-xlib: UNTESTED PASS: clip-all clip-nesting-image: PASS clip-nesting-xlib: UNTESTED PASS: clip-nesting clip-operator: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: clip-operator clip-twice-image: PASS clip-twice-xlib: UNTESTED PASS: clip-twice composite-integer-translate-source-image: PASS composite-integer-translate-source-xlib: UNTESTED PASS: composite-integer-translate-source composite-integer-translate-over-image: PASS composite-integer-translate-over-xlib: UNTESTED PASS: composite-integer-translate-over composite-integer-translate-over-repeat-image: PASS composite-integer-translate-over-repeat-xlib: UNTESTED PASS: composite-integer-translate-over-repeat create-from-png-image: PASS create-from-png-xlib: UNTESTED PASS: create-from-png create-from-png-stream-image: PASS create-from-png-stream-xlib: UNTESTED PASS: create-from-png-stream dash-caps-joins-image: PASS dash-caps-joins-xlib: UNTESTED PASS: dash-caps-joins dash-offset-negative-image: PASS dash-offset-negative-xlib: UNTESTED PASS: dash-offset-negative fill-and-stroke-image: PASS fill-and-stroke-xlib: UNTESTED PASS: fill-and-stroke fill-rule-image: PASS fill-rule-xlib: UNTESTED PASS: fill-rule filter-nearest-offset is expected to fail: wrong sampling location for nearest-neighbor filter in libpixman and Render filter-nearest-offset-image: XFAIL filter-nearest-offset-xlib: UNTESTED FAIL: filter-nearest-offset get-and-set-image: PASS get-and-set-xlib: UNTESTED PASS: get-and-set gradient-alpha-image: PASS gradient-alpha-xlib: UNTESTED PASS: gradient-alpha leaky-polygon-image: PASS leaky-polygon-xlib: UNTESTED PASS: leaky-polygon line-width-image: PASS line-width-xlib: UNTESTED PASS: line-width linear-gradient-image: PASS linear-gradient-xlib: UNTESTED PASS: linear-gradient mask-image: PASS mask-xlib: UNTESTED PASS: mask mask-ctm-image: PASS mask-ctm-xlib: UNTESTED PASS: mask-ctm mask-surface-ctm-image: PASS mask-surface-ctm-xlib: UNTESTED PASS: mask-surface-ctm move-to-show-surface-image: PASS move-to-show-surface-xlib: UNTESTED PASS: move-to-show-surface nil-surface-image: PASS nil-surface-xlib: UNTESTED PASS: nil-surface operator-clear: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: operator-clear operator-source: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: operator-source paint-image: PASS paint-xlib: UNTESTED PASS: paint paint-with-alpha-image: PASS paint-with-alpha-xlib: UNTESTED PASS: paint-with-alpha path-data-image: PASS path-data-xlib: UNTESTED PASS: path-data pixman-rotate is expected to fail: known off-by-one bug when rotating a pixman image pixman-rotate-image: XFAIL pixman-rotate-xlib: UNTESTED FAIL: pixman-rotate rectangle-rounding-error-image: PASS rectangle-rounding-error-xlib: UNTESTED PASS: rectangle-rounding-error scale-source-surface-paint-image: PASS scale-source-surface-paint-xlib: UNTESTED PASS: scale-source-surface-paint select-font-no-show-text-image: PASS select-font-no-show-text-xlib: UNTESTED PASS: select-font-no-show-text self-copy-image: PASS self-copy-xlib: UNTESTED PASS: self-copy self-intersecting is expected to fail: Self-intersecting strokes are wrong due to incremental trapezoidization. self-intersecting-image: XFAIL self-intersecting-xlib: UNTESTED FAIL: self-intersecting set-source-image: PASS set-source-xlib: UNTESTED PASS: set-source show-glyphs-many: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: show-glyphs-many show-text-current-point: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: show-text-current-point source-clip-image: PASS source-clip-xlib: UNTESTED PASS: source-clip source-surface-scale-paint-image: PASS source-surface-scale-paint-xlib: UNTESTED PASS: source-surface-scale-paint surface-finish-twice-image: PASS surface-finish-twice-xlib: UNTESTED PASS: surface-finish-twice surface-pattern-image: PASS surface-pattern-xlib: UNTESTED PASS: surface-pattern text-antialias-gray: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: text-antialias-gray text-antialias-none: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: text-antialias-none text-antialias-subpixel: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: text-antialias-subpixel text-cache-crash: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: text-cache-crash text-pattern: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: text-pattern text-rotate is expected to fail: minor bugs in positioning rotated glyphs text-rotate: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. XFAIL: text-rotate transforms-image: PASS transforms-xlib: UNTESTED PASS: transforms translate-show-surface-image: PASS translate-show-surface-xlib: UNTESTED PASS: translate-show-surface trap-clip-image: PASS trap-clip-xlib: UNTESTED PASS: trap-clip unantialiased-shapes-image: PASS unantialiased-shapes-xlib: UNTESTED PASS: unantialiased-shapes unbounded-operator: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: unbounded-operator PASS: user-data rel-path-image: PASS rel-path-xlib: UNTESTED PASS: rel-path pthread-show-text: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: pthread-show-text ft-font-create-for-ft-face: Error detected by libpthread: Unlocking unlocked mutex. Detected by file "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c", line 362, function "pthread_mutex_unlock". See pthread(3) for information. FAIL: ft-font-create-for-ft-face pdf-surface: Please check pdf-surface.pdf to make sure it looks happy. PASS: pdf-surface pdf-surface: Please check pdf-clip.pdf to make sure it looks happy. PASS: pdf-clip ps-surface: Please check ps-surface.ps to make sure it looks happy. PASS: ps-surface PASS: xlib-surface ======================================================================== 17 of 64 tests failed Please report to http://bugs.freedesktop.org/enter_bug.cgi?product=cairo ========================================================================
The locking has since been completely revamped (a few times in fact). The last time I ran cairo with a lock debugger it did not generate any warning. However, if you have any fresh reports of warnings, please do report them. Thanks.
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.