Bug 10517

Summary: xlib text test cases crash on mac (macports 1.4.0)
Product: cairo Reporter: Brian Ewins <Brian.Ewins>
Component: xlib backendAssignee: Carl Worth <cworth>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.4.3   
Hardware: Other   
OS: Mac OS X (All)   
Whiteboard:
i915 platform: i915 features:

Description Brian Ewins 2007-04-03 09:06:40 UTC
After bisection, the bad commit is 
96d8f58daf279238d3a1dfcd4ed3710014e2aeea

My build has 2 patches applied - Chris Wilson's patch to get autoconf 1.10 working, and I changed the extend-reflect test to use extend-repeat, a different crasher that was interfering with bisection.

Part of the problem seems to be the last macports upgrade (now on 1.4.0) - previously I was getting the text in xlib ok, now they all segfault.
I notice it's pulled in XFree86, xrender and render as dependencies of various gnome bits and pango. 

I think this is really a macports bug, I'm filing it in case others see the same thing, and to see if that commit rings any bells.


Host Name:      Megalith
Date/Time:      2007-04-03 16:27:32.744 +0100
OS Version:     10.4.9 (Build 8P2137)
Report Version: 4

Command: text-antialias-none
Path:    /Users/brianewins/cairo/main/test/.libs/text-antialias-none
Parent:  sh [6888]

Version: ??? (???)

PID:    8433
Thread: 0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000004

Thread 0 Crashed:
0   libX11.6.dylib      	0x006ca39a XScreenNumberOfScreen + 7
1   libcairo.2.dylib    	0x0023e716 _cairo_xlib_screen_info_get_unlocked + 604 (cairo-xlib-screen.c:163)
2   libcairo.2.dylib    	0x0023e9c1 _cairo_xlib_remove_close_display_hook + 41 (cairo-xlib-screen.c:448)
3   libcairo.2.dylib    	0x0023d34d _cairo_xlib_surface_scaled_font_fini + 34 (cairo-xlib-surface.c:2322)
4   libcairo.2.dylib    	0x0021640e _cairo_scaled_font_fini + 79 (cairo-scaled-font.c:439)
5   libcairo.2.dylib    	0x0021648e _cairo_scaled_font_map_destroy + 100 (cairo-scaled-font.c:250)
6   libcairo.2.dylib    	0x0020ccd9 _cairo_font_reset_static_data + 18 (cairo-font.c:512)
7   libcairo.2.dylib    	0x0020c59c cairo_debug_reset_static_data + 16 (cairo-debug.c:71)
8   text-antialias-none 	0x00002c99 cairo_test_expecting + 1964 (cairo-test.c:354)
9   text-antialias-none 	0x0000230e main + 26 (text-antialias-none.c:84)
10  text-antialias-none 	0x000020ba _start + 216
11  text-antialias-none 	0x00001fe1 start + 41

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x0023e4c8  ecx: 0xffffffff  edx: 0x01801600
  edi: 0x01100770  esi: 0x00000000  ebp: 0xbffff4c8  esp: 0xbffff4c4
   ss: 0x0000001f  efl: 0x00010202  eip: 0x006ca39a   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037

Binary Images Description:
    0x1000 -     0x6fff text-antialias-none 	/Users/brianewins/cairo/main/test/.libs/text-antialias-none
   0x2f000 -    0x56fff libpng12.0.dylib 	/opt/local/lib/libpng12.0.dylib
   0x65000 -    0x81fff libfontconfig.1.dylib 	/opt/local/lib/libfontconfig.1.dylib
   0xe9000 -    0xfafff libz.1.dylib 	/opt/local/lib/libz.1.dylib
  0x205000 -   0x267fff libcairo.2.dylib 	/Users/brianewins/cairo/main/src/.libs/libcairo.2.dylib
  0x3ce000 -   0x432fff libfreetype.6.dylib 	/opt/local/lib/libfreetype.6.dylib
  0x5e5000 -   0x5fffff libexpat.1.dylib 	/opt/local/lib/libexpat.1.dylib
  0x63c000 -   0x641fff libXrender.1.dylib 	/opt/local/lib/libXrender.1.dylib
  0x699000 -   0x69dfff libSM.6.dylib 	/usr/X11R6/lib/libSM.6.dylib
  0x6a2000 -   0x6b1fff libICE.6.dylib 	/usr/X11R6/lib/libICE.6.dylib
  0x6b9000 -   0x776fff libX11.6.dylib 	/usr/X11R6/lib/libX11.6.dylib
0x8fe00000 - 0x8fe4afff dyld 46.12	/usr/lib/dyld
0x90000000 - 0x90172fff libSystem.B.dylib 	/usr/lib/libSystem.B.dylib
0x901c2000 - 0x901c4fff libmathCommon.A.dylib 	/usr/lib/system/libmathCommon.A.dylib
0x90bd2000 - 0x90bd9fff libgcc_s.1.dylib 	/usr/lib/libgcc_s.1.dylib
Comment 1 Brian Ewins 2007-04-03 16:26:16 UTC
Chris made a suggestion on IRC that this was a possible fix:

http://gitweb.freedesktop.org/?p=users/ickle/cairo.dirty;a=commit;h=90f8d34fb63ad41e1b38edd12fe9eb5bd9b6e678

It's not the same bug. I've nuked my dp setup, and reinstalled it clean (to do this you need to uninstall Apple X11 and install cairo, automake, libtool, and git-core). Testing with this quickly 1.4.0 is still working and passing the text tests, while HEAD crashes as above. I expect bisection will get me to the same place, the crash reports are still the same.
Comment 2 Brian Ewins 2007-04-03 16:27:38 UTC
uh, somewhat ambiguous in that last comment - it is cairo 1.4.0 that works correctly.
Comment 3 Brian Ewins 2007-04-04 15:57:26 UTC
Chris' latest patch:
http://gitweb.freedesktop.org/?p=users/ickle/cairo;a=commitdiff;h=6f4ee099385a58e40d5b04ae4bf389508a874c9e

resolves the bug for me.
Comment 4 Carl Worth 2007-04-12 12:38:24 UTC
I've pushed another version of the patch that Chris created, (by splitting the original up into about four pieces---two of which I've pushed). Here's the piece that should fix this bug:

http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=8c9f0f607b992c47b555b5eaff3c599a8c1eac57

Please test and let us know.

Thanks,

-Carl
Comment 5 Brian Ewins 2007-04-12 12:56:54 UTC
(In reply to comment #4)
> I've pushed another version of the patch that Chris created, (by splitting the
> original up into about four pieces---two of which I've pushed). Here's the
> piece that should fix this bug:
> 
> http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=8c9f0f607b992c47b555b5eaff3c599a8c1eac57
> 
> Please test and let us know.
> 
> Thanks,
> 
> -Carl
> 

Thanks, that's fixed it.

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.