Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dealing (gracefully?) with problematic fonts #3903

Closed
HubertHolin opened this issue Dec 10, 2014 · 7 comments
Closed

Dealing (gracefully?) with problematic fonts #3903

HubertHolin opened this issue Dec 10, 2014 · 7 comments

Comments

@HubertHolin
Copy link
Contributor

[Reposted from matplotlib-devel, as it seems it never got out, and updated]

The transition to MacOS X 10.10 (and more precisely 10.10.1) is proving quite problematic. One problem I am currently stuck with prevents me from using matplotlib.

Whether using matplotlib 1.4.2 and freetype 2.3.12 (combination A), matplotlib 59eda22 and freetype 2.5.3 (combination B), or matplotlib 543a222 and freetype 2.5.4 (combination C) importing matplotlib.pylab results in a crash. I have not tried other combinations…

In the case of combination A, the crash occurs because FT_Set_Char_Size (ft2font.cpp, line 909) returns an error because of the font “/System/Library/Fonts/Apple Color Emoji.ttf” and an uncaught exception is then thrown on line 916.

In the case of combination B and combination C, the crash occurs because FT_Set_Char_Size (ft2font.cpp, line 508) returns an error because of an unidentified font (I could not quickly find a way, in this version of the file, to access the name of the font being tested…) and an uncaught exception is then thrown on line 510.

As the font “/System/Library/Fonts/Apple Color Emoji.ttf” is a system font, and therefore off-limits to most users, it would be unadvisable to mess with it (including removing it from the system), and even though I would personally be quite unlikely to use it in conjunction with matplotlib, our Japanese colleagues might see things differently. At any rate, it does not seem to be corrupt (it may be complex, though, as TypeTool displays it differently from Font Book, which is hardly surprising as it is a color font…).

Note that in the case of combination C, removing the font “/System/Library/Fonts/Apple Color Emoji.ttf” still results in a crash, at the same place, but after a more lengthy processing, which likely implies that at least another (unidentified) font is problematic.

Barring a more sophisticated treatment of such fonts, could it be possible to catch the exception, just not take these fonts into account, and move on to the rest of the work? I have not grasped the organisation of the source that well to know where to propose a patch. Any hint welcome!

@tacaswell
Copy link
Member

I thought that @jenshnielsen had a recent PR ##3853 that addressed something similar.

Can you please post the full backtraces (or links to them?)

@HubertHolin
Copy link
Contributor Author

This is all the console input and output:

Last login: Wed Dec 10 21:49:17 on console
hubert-holins-mac-pro:~ hubertholin$ python3
Python 3.4.2 (default, Nov 23 2014, 00:54:57) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>> import matplotlib.pylab
terminate called after throwing an instance of 'char const*'
Abort trap: 6
hubert-holins-mac-pro:~ hubertholin$ 

(import matplotlib.pyplot instead of import matplotlib.pylab yields the same result)

and this is the crash reporter's dump (sorry it's long!):

Process:               Python [824]
Path:                  /Library/Frameworks/Python.framework/Versions/3.4/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               3.4.2 (3.4.2)
Code Type:             X86-64 (Native)
Parent Process:        bash [821]
Responsible:           Terminal [817]
User ID:               501

Date/Time:             2014-12-10 22:27:46.758 +0100
OS Version:            Mac OS X 10.10.1 (14B25)
Report Version:        11
Anonymous UUID:        60B71C0F-A033-BF55-3E18-D114DEE24484

Sleep/Wake UUID:       ABCD68B0-D8F2-497A-82EB-9F5DB429CBBA

Time Awake Since Boot: 5800 seconds
Time Since Wake:       2300 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Application Specific Information:
abort() called

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff9147e282 __pthread_kill + 10
1   libsystem_c.dylib               0x00007fff928e6b73 abort + 129
2   libstdc++.6.dylib               0x000000010aa1d35c __gnu_cxx::__verbose_terminate_handler() + 348 (vterminate.cc:93)
3   libstdc++.6.dylib               0x000000010aa1b0a8 __cxxabiv1::__terminate(void (*)()) + 8 (eh_terminate.cc:48)
4   libstdc++.6.dylib               0x000000010aa1b0f3 std::terminate() + 19
5   libstdc++.6.dylib               0x000000010aa1b338 __cxa_throw + 104
6   ft2font.so                      0x000000010ae3cdac FT2Font::FT2Font(FT_Open_Args_&, long) + 332 (ft2font.cpp:510)
7   ft2font.so                      0x000000010ae432fb PyFT2Font_init(PyFT2Font*, _object*, _object*) + 1211 (ft2font_wrapper.cpp:518)
8   org.python.python               0x00000001094b4ff9 type_call + 297
9   org.python.python               0x0000000109462fc7 PyObject_Call + 103
10  org.python.python               0x000000010951880c PyEval_EvalFrameEx + 21964
11  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
12  org.python.python               0x000000010951c075 fast_function + 325
13  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
14  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
15  org.python.python               0x000000010948895d function_call + 381
16  org.python.python               0x0000000109462fc7 PyObject_Call + 103
17  org.python.python               0x0000000109476c9d method_call + 141
18  org.python.python               0x0000000109462fc7 PyObject_Call + 103
19  org.python.python               0x00000001094b86dd slot_tp_init + 125
20  org.python.python               0x00000001094b4ff9 type_call + 297
21  org.python.python               0x0000000109462fc7 PyObject_Call + 103
22  org.python.python               0x000000010951880c PyEval_EvalFrameEx + 21964
23  org.python.python               0x000000010951bfff fast_function + 207
24  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
25  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
26  org.python.python               0x000000010951273f PyEval_EvalCode + 63
27  org.python.python               0x000000010950ff58 builtin_exec + 536
28  org.python.python               0x0000000109519304 PyEval_EvalFrameEx + 24772
29  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
30  org.python.python               0x000000010951c075 fast_function + 325
31  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
32  org.python.python               0x000000010951bfff fast_function + 207
33  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
34  org.python.python               0x000000010951bfff fast_function + 207
35  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
36  org.python.python               0x000000010951bfff fast_function + 207
37  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
38  org.python.python               0x000000010951bfff fast_function + 207
39  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
40  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
41  org.python.python               0x000000010948895d function_call + 381
42  org.python.python               0x0000000109462fc7 PyObject_Call + 103
43  org.python.python               0x0000000109463aa5 _PyObject_CallMethodIdObjArgs + 373
44  org.python.python               0x0000000109532fbf PyImport_ImportModuleLevelObject + 1935
45  org.python.python               0x000000010950f547 builtin___import__ + 135
46  org.python.python               0x0000000109462fc7 PyObject_Call + 103
47  org.python.python               0x0000000109517017 PyEval_EvalFrameEx + 15831
48  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
49  org.python.python               0x000000010951273f PyEval_EvalCode + 63
50  org.python.python               0x000000010950ff58 builtin_exec + 536
51  org.python.python               0x0000000109519304 PyEval_EvalFrameEx + 24772
52  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
53  org.python.python               0x000000010951c075 fast_function + 325
54  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
55  org.python.python               0x000000010951bfff fast_function + 207
56  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
57  org.python.python               0x000000010951bfff fast_function + 207
58  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
59  org.python.python               0x000000010951bfff fast_function + 207
60  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
61  org.python.python               0x000000010951bfff fast_function + 207
62  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
63  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
64  org.python.python               0x000000010948895d function_call + 381
65  org.python.python               0x0000000109462fc7 PyObject_Call + 103
66  org.python.python               0x0000000109463aa5 _PyObject_CallMethodIdObjArgs + 373
67  org.python.python               0x0000000109532fbf PyImport_ImportModuleLevelObject + 1935
68  org.python.python               0x000000010950f547 builtin___import__ + 135
69  org.python.python               0x0000000109462fc7 PyObject_Call + 103
70  org.python.python               0x0000000109517017 PyEval_EvalFrameEx + 15831
71  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
72  org.python.python               0x000000010951273f PyEval_EvalCode + 63
73  org.python.python               0x000000010950ff58 builtin_exec + 536
74  org.python.python               0x0000000109519304 PyEval_EvalFrameEx + 24772
75  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
76  org.python.python               0x000000010951c075 fast_function + 325
77  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
78  org.python.python               0x000000010951bfff fast_function + 207
79  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
80  org.python.python               0x000000010951bfff fast_function + 207
81  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
82  org.python.python               0x000000010951bfff fast_function + 207
83  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
84  org.python.python               0x000000010951bfff fast_function + 207
85  org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
86  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
87  org.python.python               0x000000010948895d function_call + 381
88  org.python.python               0x0000000109462fc7 PyObject_Call + 103
89  org.python.python               0x0000000109463aa5 _PyObject_CallMethodIdObjArgs + 373
90  org.python.python               0x0000000109532fbf PyImport_ImportModuleLevelObject + 1935
91  org.python.python               0x000000010950f547 builtin___import__ + 135
92  org.python.python               0x0000000109462fc7 PyObject_Call + 103
93  org.python.python               0x0000000109517017 PyEval_EvalFrameEx + 15831
94  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
95  org.python.python               0x000000010951273f PyEval_EvalCode + 63
96  org.python.python               0x000000010950ff58 builtin_exec + 536
97  org.python.python               0x0000000109519304 PyEval_EvalFrameEx + 24772
98  org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
99  org.python.python               0x000000010951c075 fast_function + 325
100 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
101 org.python.python               0x000000010951bfff fast_function + 207
102 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
103 org.python.python               0x000000010951bfff fast_function + 207
104 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
105 org.python.python               0x000000010951bfff fast_function + 207
106 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
107 org.python.python               0x000000010951bfff fast_function + 207
108 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
109 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
110 org.python.python               0x000000010948895d function_call + 381
111 org.python.python               0x0000000109462fc7 PyObject_Call + 103
112 org.python.python               0x0000000109463aa5 _PyObject_CallMethodIdObjArgs + 373
113 org.python.python               0x0000000109532fbf PyImport_ImportModuleLevelObject + 1935
114 org.python.python               0x000000010950f547 builtin___import__ + 135
115 org.python.python               0x0000000109462fc7 PyObject_Call + 103
116 org.python.python               0x0000000109517017 PyEval_EvalFrameEx + 15831
117 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
118 org.python.python               0x000000010951273f PyEval_EvalCode + 63
119 org.python.python               0x000000010950ff58 builtin_exec + 536
120 org.python.python               0x0000000109519304 PyEval_EvalFrameEx + 24772
121 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
122 org.python.python               0x000000010951c075 fast_function + 325
123 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
124 org.python.python               0x000000010951bfff fast_function + 207
125 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
126 org.python.python               0x000000010951bfff fast_function + 207
127 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
128 org.python.python               0x000000010951bfff fast_function + 207
129 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
130 org.python.python               0x000000010951bfff fast_function + 207
131 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
132 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
133 org.python.python               0x000000010948895d function_call + 381
134 org.python.python               0x0000000109462fc7 PyObject_Call + 103
135 org.python.python               0x0000000109463aa5 _PyObject_CallMethodIdObjArgs + 373
136 org.python.python               0x0000000109532fbf PyImport_ImportModuleLevelObject + 1935
137 org.python.python               0x000000010950f547 builtin___import__ + 135
138 org.python.python               0x0000000109462fc7 PyObject_Call + 103
139 org.python.python               0x0000000109517017 PyEval_EvalFrameEx + 15831
140 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
141 org.python.python               0x000000010951273f PyEval_EvalCode + 63
142 org.python.python               0x000000010950ff58 builtin_exec + 536
143 org.python.python               0x0000000109519304 PyEval_EvalFrameEx + 24772
144 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
145 org.python.python               0x000000010951c075 fast_function + 325
146 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
147 org.python.python               0x000000010951bfff fast_function + 207
148 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
149 org.python.python               0x000000010951bfff fast_function + 207
150 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
151 org.python.python               0x000000010951bfff fast_function + 207
152 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
153 org.python.python               0x000000010951bfff fast_function + 207
154 org.python.python               0x0000000109518575 PyEval_EvalFrameEx + 21301
155 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
156 org.python.python               0x000000010948895d function_call + 381
157 org.python.python               0x0000000109462fc7 PyObject_Call + 103
158 org.python.python               0x0000000109463aa5 _PyObject_CallMethodIdObjArgs + 373
159 org.python.python               0x0000000109532fbf PyImport_ImportModuleLevelObject + 1935
160 org.python.python               0x000000010950f547 builtin___import__ + 135
161 org.python.python               0x0000000109462fc7 PyObject_Call + 103
162 org.python.python               0x0000000109517017 PyEval_EvalFrameEx + 15831
163 org.python.python               0x0000000109513076 PyEval_EvalCodeEx + 2342
164 org.python.python               0x000000010951273f PyEval_EvalCode + 63
165 org.python.python               0x00000001095413d6 PyRun_InteractiveOneObject + 582
166 org.python.python               0x0000000109540cde PyRun_InteractiveLoopFlags + 222
167 org.python.python               0x0000000109540b68 PyRun_AnyFileExFlags + 136
168 org.python.python               0x000000010955871d Py_Main + 3197
169 org.python.python               0x0000000109453e18 0x109453000 + 3608
170 libdyld.dylib                   0x00007fff978455c9 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000006  rcx: 0x00007fff567a5e28  rdx: 0x0000000000000000
  rdi: 0x0000000000000713  rsi: 0x0000000000000006  rbp: 0x00007fff567a5e50  rsp: 0x00007fff567a5e28
   r8: 0x0000000000000000   r9: 0x0000000000000001  r10: 0x0000000008000000  r11: 0x0000000000000206
  r12: 0x00007fa963504560  r13: 0x00007fa963505110  r14: 0x00007fff7a3bb300  r15: 0x0000000000000008
  rip: 0x00007fff9147e282  rfl: 0x0000000000000206  cr2: 0x00007fff7a218fd8

Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133


Binary Images:
       0x109453000 -        0x109453fff +org.python.python (3.4.2 - 3.4.2) <A412405B-7212-342B-B1B8-724B092F131A> /Library/Frameworks/Python.framework/Versions/3.4/Resources/Python.app/Contents/MacOS/Python
       0x109456000 -        0x1095e5ff7 +org.python.python (3.4.2, [c] 2004-2014 Python Software Foundation. - 3.4.2) <66267FB7-C574-330C-BC69-FC50133F0315> /Library/Frameworks/Python.framework/Versions/3.4/Python
       0x1096f9000 -        0x109701ff7 +libintl.8.dylib (0) <A40EC744-5FDA-32E0-80DC-B74EED9AEE45> /usr/local/lib/libintl.8.dylib
       0x10970b000 -        0x1097feff7 +libiconv.2.dylib (0) <AA7A5547-59C6-3F9F-ACF7-F0534968A3E1> /usr/local/lib/libiconv.2.dylib
       0x109a79000 -        0x109a7bfff +readline.so (0) <6D4AA8D5-1BE3-3E85-9C6F-9335878929EE> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/readline.so
       0x109a82000 -        0x109aa7ff7 +libreadline.6.dylib (0) <85108D15-8924-305C-B101-628BD2392DAD> /usr/local/lib/libreadline.6.dylib
       0x109ace000 -        0x109b00ff7 +libncurses.5.dylib (5) <39ABF825-A4F4-C1AD-8805-754510B5D6FE> /usr/local/lib/libncurses.5.dylib
       0x109b8d000 -        0x109b8eff7 +_heapq.so (0) <4A8D884D-B124-3C0E-994F-D848FC35A525> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_heapq.so
       0x109d3b000 -        0x109d3ffff +_struct.so (0) <4E14CD1E-1DCA-3DF8-83A8-EF5850A2CCD0> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_struct.so
       0x109d47000 -        0x109d4aff7 +binascii.so (0) <CAC382FA-9D5F-36F0-9017-2FA6BADFF3AF> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/binascii.so
       0x109d4e000 -        0x109d60fef +libz.1.dylib (0) <A1822698-981D-3C77-8692-DC281836952F> /usr/local/lib/libz.1.dylib
       0x109d64000 -        0x109d64ff7 +_bisect.so (0) <37F90052-D4D8-3693-85AD-FDE62F9D8FC7> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_bisect.so
       0x109d67000 -        0x109d68ff7 +_hashlib.so (0) <A9178667-6D16-395D-A85E-428D1B0C5E64> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_hashlib.so
       0x109d6c000 -        0x109da1ff7  libssl.0.9.8.dylib (52) <70680606-475F-3C89-BB5F-E274253DC7C6> /usr/lib/libssl.0.9.8.dylib
       0x109df7000 -        0x109df9fff +time.so (0) <F57D8E27-A79B-3648-A008-4E7DAFC81E90> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/time.so
       0x109e00000 -        0x109e04ff7 +math.so (0) <40A07E04-B53E-3041-BD50-70EB41965BE4> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/math.so
       0x109e0b000 -        0x109e0cff7 +_random.so (0) <06FB7EA8-B8B0-3F91-B7A4-D07FE3E2EC8C> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_random.so
       0x109e0f000 -        0x109e18fff +_socket.so (0) <D5A7DD5D-40CD-3795-878B-05B4A22EAE14> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_socket.so
       0x109e64000 -        0x109e6fff7 +_datetime.so (0) <9413644F-2F84-3B07-AB73-9C11C7CCA0C1> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_datetime.so
       0x109efa000 -        0x109f04ff7 +_ssl.so (0) <A2837BAB-4FD2-36CC-976C-044B544206E5> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_ssl.so
       0x109f50000 -        0x109f50ff7 +grp.so (0) <E1E89520-B450-37CD-9073-EA6E2F693371> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/grp.so
       0x109fd3000 -        0x109fe2fef +_bz2.so (0) <23470985-ADE0-35BA-9ADA-53FBFA2A4A6E> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_bz2.so
       0x109fe9000 -        0x109fe9ff7 +_scproxy.so (0) <953842FC-6D51-3F0C-A697-0FE5BDB4E11D> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_scproxy.so
       0x10a02c000 -        0x10a02fff7 +zlib.so (0) <939275A8-5EDE-3499-90DB-EAF28E5E7CE0> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/zlib.so
       0x10a063000 -        0x10a17cff7 +multiarray.so (0) <0D946697-23BC-30F8-AC31-148AAD115666> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/core/multiarray.so
       0x10a277000 -        0x10a2e6ff7 +umath.so (0) <7EF862E9-240D-3BE8-A2F7-4E0E8A6315FC> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/core/umath.so
       0x10a35e000 -        0x10a36ffff +_pickle.so (0) <FCA08725-582D-30E8-AB7F-F443BF7465D8> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_pickle.so
       0x10a53c000 -        0x10a540ff7 +_compiled_base.so (0) <8E6A7560-C7E0-37FD-AA3D-CE8A234312D8> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/lib/_compiled_base.so
       0x10a584000 -        0x10a585ff7 +lapack_lite.so (0) <47175EF9-8079-3C4B-832F-CF589E15A9E4> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/linalg/lapack_lite.so
       0x10a589000 -        0x10a59aff7 +_umath_linalg.so (0) <C7FEE46E-E541-343C-B560-CA4D175155A5> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/linalg/_umath_linalg.so
       0x10a5e6000 -        0x10a5eeff7 +fftpack_lite.so (0) <6C4A3E39-AFC1-3026-B1AB-AD83AA8410BE> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/fft/fftpack_lite.so
       0x10a632000 -        0x10a692fff +mtrand.so (0) <44AF2279-D754-3E64-8DFE-AAF9EDD7030B> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/random/mtrand.so
       0x10a727000 -        0x10a736fff +_ctypes.so (0) <30E87DE2-AD55-3AF7-AA70-87CD72EDBE55> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_ctypes.so
       0x10a746000 -        0x10a74bff7 +libffi.6.dylib (0) <30896F93-3D62-39E0-B4DF-0F31FCEAFF3E> /usr/local/lib/libffi.6.dylib
       0x10a835000 -        0x10a836fff +_posixsubprocess.so (0) <07205307-BDBF-3078-8EFD-A0A1A2CBFD60> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_posixsubprocess.so
       0x10a83a000 -        0x10a83cff7 +select.so (0) <D714AA59-D2F5-3299-99C0-A32889AA62D7> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/select.so
       0x10a944000 -        0x10a989ff7 +_decimal.so (0) <818C504F-777E-373E-A923-968096FE4AF3> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_decimal.so
       0x10a9e7000 -        0x10aa05fff +_path.so (0) <2AA9C831-BE00-326C-AABF-B1CBC2ECA17D> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/_path.so
       0x10aa17000 -        0x10aacefd7 +libstdc++.6.dylib (0) <C02FD649-460B-3573-9D90-179DFDF87AA6> /usr/local/lib/libstdc++.6.dylib
       0x10abcf000 -        0x10abe4ff7 +libgcc_s.1.dylib (0) <83DDE191-9C2E-3541-9CF4-2CFFF79AADFB> /usr/local/lib/libgcc_s.1.dylib
       0x10acaf000 -        0x10acafff7 +_opcode.so (0) <53455437-6148-3EEE-9632-E3010DC04930> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_opcode.so
       0x10ad32000 -        0x10ad35fff +_csv.so (0) <D50A5AF2-7899-3653-85D2-3D7DD59313A6> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_csv.so
       0x10ae3b000 -        0x10ae48fff +ft2font.so (0) <E63C370D-84F4-3A8D-8530-43ECB02C0259> /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/ft2font.so
       0x10ae55000 -        0x10aef9fef +libfreetype.6.dylib (18.3) <0D48AB3A-C52A-370D-9F8C-40919190B072> /usr/local/lib/libfreetype.6.dylib
       0x10af33000 -        0x10af5fff7 +libpng16.16.dylib (0) <638A6822-5109-3DD0-8D3D-FBF5E00D2591> /usr/local/lib/libpng16.16.dylib
    0x7fff6ae90000 -     0x7fff6aec6837  dyld (353.2.1) <4696A982-1500-34EC-9777-1EF7A03E2659> /usr/lib/dyld
    0x7fff8899b000 -     0x7fff889e1ff7  libauto.dylib (186) <A260789B-D4D8-316A-9490-254767B8A5F1> /usr/lib/libauto.dylib
    0x7fff88ed4000 -     0x7fff88efffff  libc++abi.dylib (125) <88A22A0F-87C6-3002-BFBA-AC0F2808B8B9> /usr/lib/libc++abi.dylib
    0x7fff89060000 -     0x7fff89245ff3  libicucore.A.dylib (531.30) <EF0E7544-E317-3550-A962-6AE65E78AF17> /usr/lib/libicucore.A.dylib
    0x7fff89b68000 -     0x7fff89c4bfff  libcrypto.0.9.8.dylib (52) <7208EEE2-C090-383E-AADD-7E1BD1321BEC> /usr/lib/libcrypto.0.9.8.dylib
    0x7fff89fdf000 -     0x7fff8a007fff  libxpc.dylib (559.1.22) <9437C02E-A07B-38C8-91CB-299FAA63083D> /usr/lib/system/libxpc.dylib
    0x7fff8a6c6000 -     0x7fff8a6c7fff  libsystem_secinit.dylib (18) <581DAD0F-6B63-3A48-B63B-917AF799ABAA> /usr/lib/system/libsystem_secinit.dylib
    0x7fff8afc8000 -     0x7fff8afc9fff  libSystem.B.dylib (1213) <DA954461-EC6A-3DF0-8551-6FC810627627> /usr/lib/libSystem.B.dylib
    0x7fff8b967000 -     0x7fff8bcfdfff  com.apple.CoreFoundation (6.9 - 1151.16) <F2B088AF-A5C6-3FAE-9EB4-7931AF6359E4> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff8bdb9000 -     0x7fff8bdc1fff  libsystem_platform.dylib (63) <64E34079-D712-3D66-9CE2-418624A5C040> /usr/lib/system/libsystem_platform.dylib
    0x7fff8d640000 -     0x7fff8d703ff7  libvMisc.dylib (512) <A4E39464-52EA-34CB-9FFE-53E79B3C65F5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff8d704000 -     0x7fff8d708fff  libsystem_stats.dylib (163.1.4) <1DB04436-5974-3F16-86CC-5FF5F390339C> /usr/lib/system/libsystem_stats.dylib
    0x7fff8dad7000 -     0x7fff8db2bfff  libc++.1.dylib (120) <1B9530FD-989B-3174-BB1C-BDC159501710> /usr/lib/libc++.1.dylib
    0x7fff8dc65000 -     0x7fff8dc6aff7  libunwind.dylib (35.3) <BE7E51A0-B6EA-3A54-9CCA-9D88F683A6D6> /usr/lib/system/libunwind.dylib
    0x7fff8dfef000 -     0x7fff8e005ff7  libsystem_asl.dylib (267) <F153AC5B-0542-356E-88C8-20A62CA704E2> /usr/lib/system/libsystem_asl.dylib
    0x7fff8e006000 -     0x7fff8e017ff7  libsystem_coretls.dylib (35.1.2) <EBBF7EF6-80D8-3F8F-825C-B412BD6D22C0> /usr/lib/system/libsystem_coretls.dylib
    0x7fff8e90e000 -     0x7fff8e910fff  libsystem_configuration.dylib (699.1.5) <9FBA1CE4-97D0-347E-A443-93ED94512E92> /usr/lib/system/libsystem_configuration.dylib
    0x7fff8ecfe000 -     0x7fff8ed06ffb  libcopyfile.dylib (118.1.2) <0C68D3A6-ACDD-3EF3-991A-CC82C32AB836> /usr/lib/system/libcopyfile.dylib
    0x7fff8ed1a000 -     0x7fff8ed36ff7  libsystem_malloc.dylib (53.1.1) <19BCC257-5717-3502-A71F-95D65AFA861B> /usr/lib/system/libsystem_malloc.dylib
    0x7fff8eeaa000 -     0x7fff8eee2ffb  libsystem_network.dylib (411) <C0B2313D-47BE-38A9-BEE6-2634A4F5E14B> /usr/lib/system/libsystem_network.dylib
    0x7fff8ef43000 -     0x7fff8ef53ff7  libbsm.0.dylib (34) <A3A2E56C-2B65-37C7-B43A-A1F926E1A0BB> /usr/lib/libbsm.0.dylib
    0x7fff8f498000 -     0x7fff8f499ff7  libsystem_blocks.dylib (65) <9615D10A-FCA7-3BE4-AA1A-1B195DACE1A1> /usr/lib/system/libsystem_blocks.dylib
    0x7fff8f4c7000 -     0x7fff8f8d4ff7  libLAPACK.dylib (1128) <F9201AE7-B031-36DB-BCF8-971E994EF7C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff8fd2d000 -     0x7fff8fd2effb  libremovefile.dylib (35) <3485B5F4-6CE8-3C62-8DFD-8736ED6E8531> /usr/lib/system/libremovefile.dylib
    0x7fff8ff5d000 -     0x7fff8ff66ff7  libsystem_notify.dylib (133.1.1) <61147800-F320-3DAA-850C-BADF33855F29> /usr/lib/system/libsystem_notify.dylib
    0x7fff9003b000 -     0x7fff9006bff7  libncurses.5.4.dylib (44) <F09809A4-53B9-3E91-A8FA-D3F584C03AA3> /usr/lib/libncurses.5.4.dylib
    0x7fff901cd000 -     0x7fff903b2267  libobjc.A.dylib (646) <3B60CD90-74A2-3A5D-9686-B0772159792A> /usr/lib/libobjc.A.dylib
    0x7fff9050c000 -     0x7fff9050cff7  libunc.dylib (29) <5676F7EA-C1DF-329F-B006-D2C3022B7D70> /usr/lib/system/libunc.dylib
    0x7fff9143d000 -     0x7fff9143dff7  libkeymgr.dylib (28) <77845842-DE70-3CC5-BD01-C3D14227CED5> /usr/lib/system/libkeymgr.dylib
    0x7fff91468000 -     0x7fff91485fff  libsystem_kernel.dylib (2782.1.97) <93E0E0A9-75B6-3904-BB4E-4BC7C05F4B6B> /usr/lib/system/libsystem_kernel.dylib
    0x7fff91486000 -     0x7fff91486fff  com.apple.Accelerate (1.10 - Accelerate 1.10) <227E2491-1DDB-336F-BF83-773CECEC66F1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff922ac000 -     0x7fff922acff7  liblaunch.dylib (559.1.22) <8A988924-8BE7-35FE-BF7D-322E90EFE49E> /usr/lib/system/liblaunch.dylib
    0x7fff92861000 -     0x7fff92863ff7  libquarantine.dylib (76) <DC041627-2D92-361C-BABF-A869A5C72293> /usr/lib/system/libquarantine.dylib
    0x7fff92889000 -     0x7fff92915fff  libsystem_c.dylib (1044.1.2) <C185E862-7424-3210-B528-6B822577A4B8> /usr/lib/system/libsystem_c.dylib
    0x7fff9295d000 -     0x7fff9295fff7  libsystem_coreservices.dylib (9) <41B7C578-5A53-31C8-A96F-C73E030B0938> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff9296c000 -     0x7fff92afafff  libBLAS.dylib (1128) <497912C1-A98E-3281-BED7-E9C751552F61> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff93c3e000 -     0x7fff93c47fff  libsystem_pthread.dylib (105.1.4) <26B1897F-0CD3-30F3-B55A-37CB45062D73> /usr/lib/system/libsystem_pthread.dylib
    0x7fff93c48000 -     0x7fff93c4dff7  libmacho.dylib (862) <126CA2ED-DE91-308F-8881-B9DAEC3C63B6> /usr/lib/system/libmacho.dylib
    0x7fff9473f000 -     0x7fff94856fe7  libvDSP.dylib (512) <52777555-F051-3BC2-A2D2-9645907E836D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff94ad8000 -     0x7fff94adfff7  libcompiler_rt.dylib (35) <BF8FC133-EE10-3DA6-9B90-92039E28678F> /usr/lib/system/libcompiler_rt.dylib
    0x7fff94e4c000 -     0x7fff94e52ff7  libsystem_networkextension.dylib (167.1.10) <29AB225B-D7FB-30ED-9600-65D44B9A9442> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff95345000 -     0x7fff95346fff  com.apple.TrustEvaluationAgent (2.0 - 25) <2D61A2C3-C83E-3A3F-8EC1-736DBEC250AB> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff953e7000 -     0x7fff953e9ff7  libsystem_sandbox.dylib (358.1.1) <DB9962EF-8898-31CC-9B87-E01F8CE74C9D> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff95406000 -     0x7fff95407fff  libDiagnosticMessagesClient.dylib (100) <2EE8E436-5CDC-34C5-9959-5BA218D507FB> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff95408000 -     0x7fff9541fff7  libLinearAlgebra.dylib (1128) <E78CCBAA-A999-3B65-8EC9-06DB15E67C37> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff95458000 -     0x7fff95480fff  libsystem_info.dylib (459) <B85A85D5-8530-3A93-B0C3-4DEC41F79478> /usr/lib/system/libsystem_info.dylib
    0x7fff95560000 -     0x7fff95571ff7  libz.1.dylib (55) <88C7C7DE-04B8-316F-8B74-ACD9F3DE1AA1> /usr/lib/libz.1.dylib
    0x7fff95b8d000 -     0x7fff95b98fff  libcommonCrypto.dylib (60061) <D381EBC6-69D8-31D3-8084-5A80A32CB748> /usr/lib/system/libcommonCrypto.dylib
    0x7fff95b99000 -     0x7fff95b9ffff  libsystem_trace.dylib (72.1.3) <A9E6B7D8-C327-3742-AC54-86C94218B1DF> /usr/lib/system/libsystem_trace.dylib
    0x7fff95d12000 -     0x7fff95d16fff  libcache.dylib (69) <45E9A2E7-99C4-36B2-BEE3-0C4E11614AD1> /usr/lib/system/libcache.dylib
    0x7fff95d17000 -     0x7fff95d1ffff  libsystem_dnssd.dylib (561.1.1) <62B70ECA-E40D-3C63-896E-7F00EC386DDB> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff95f73000 -     0x7fff963c6fc7  com.apple.vImage (8.0 - 8.0) <33BE7B31-72DB-3364-B37E-C322A32748C5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff963c7000 -     0x7fff963f1ff7  libdispatch.dylib (442.1.4) <502CF32B-669B-3709-8862-08188225E4F0> /usr/lib/system/libdispatch.dylib
    0x7fff963f2000 -     0x7fff96468fe7  libcorecrypto.dylib (233.1.2) <E1789801-3985-3949-B736-6B3378873301> /usr/lib/system/libcorecrypto.dylib
    0x7fff97842000 -     0x7fff97845ff7  libdyld.dylib (353.2.1) <19FAF435-C165-3374-9DEF-D7BBA7D61DB6> /usr/lib/system/libdyld.dylib
    0x7fff97be1000 -     0x7fff97c11fff  libsystem_m.dylib (3086.1) <1E12AB45-6D96-36D0-A226-F24D9FB0D9D6> /usr/lib/system/libsystem_m.dylib
    0x7fff97f86000 -     0x7fff97ffeff7  com.apple.SystemConfiguration (1.14 - 1.14) <C269BCFD-ACAB-3331-BC7C-0430F0E84817> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff9808d000 -     0x7fff9808dfff  com.apple.Accelerate.vecLib (3.10 - vecLib 3.10) <A48738CA-5B6F-3D14-97E9-2BFDFC3DCC06> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 2813
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=106.3M resident=22.7M(21%) swapped_out_or_unallocated=83.6M(79%)
Writable regions: Total=108.5M written=21.8M(20%) resident=28.9M(27%) swapped_out=0K(0%) unallocated=79.6M(73%)

REGION TYPE                      VIRTUAL
===========                      =======
Kernel Alloc Once                     4K
MALLOC                             91.2M
MALLOC (admin)                       16K
MALLOC_LARGE (reserved)             512K        reserved VM address space (unallocated)
STACK GUARD                           4K
Stack                              16.0M
VM_ALLOCATE                          16K
__DATA                             2824K
__LINKEDIT                         73.7M
__TEXT                             32.6M
__UNICODE                           544K
shared memory                         4K
===========                      =======
TOTAL                             217.4M
TOTAL, minus reserved VM space    216.9M


Model: MacPro3,1, BootROM MP31.006C.B05, 8 processors, Quad-Core Intel Xeon, 2.8 GHz, 4 GB, SMC 1.25f4
Graphics: NVIDIA GeForce 8800 GT, NVIDIA GeForce 8800 GT, PCIe, 512 MB
Memory Module: DIMM Riser B/DIMM 1, 1 GB, DDR2 FB-DIMM, 800 MHz, 0x802C, 0x3138484631323837324A4438304544364434
Memory Module: DIMM Riser B/DIMM 2, 1 GB, DDR2 FB-DIMM, 800 MHz, 0x802C, 0x3138484631323837324A4438304544364434
Memory Module: DIMM Riser A/DIMM 1, 1 GB, DDR2 FB-DIMM, 800 MHz, 0x802C, 0x3138484631323837324A4438304544364434
Memory Module: DIMM Riser A/DIMM 2, 1 GB, DDR2 FB-DIMM, 800 MHz, 0x802C, 0x3138484631323837324A4438304544364434
Bluetooth: Version 4.3.1f2 15015, 3 services, 26 devices, 1 incoming serial ports
Network Service: Ethernet 1, Ethernet, en0
PCI Card: NVIDIA GeForce 8800 GT, Display Controller, Slot-1
Serial ATA Device: Hitachi HDS721010KLA330, 1 TB
Serial ATA Device: TOSHIBA DT01ABA200, 2 TB
Parallel ATA Device: OPTIARC DVD RW AD-7170A
USB Device: USB2.0 Hub
USB Device: Logitech Camera
USB Device: USB2.0 Hub
USB Device: LaCie PocketDrive USB2
USB Device: USB to Serial-ATA bridge
USB Device: USB to ATA/ATAPI bridge
USB Device: Hub
USB Device: SNAPSCAN e40
USB Device: GD-0912-U
USB Device: SpaceNavigator
USB Device: Bluetooth USB Host Controller
USB Device: Apple USB Modem
FireWire Device: built-in_hub, Up to 800 Mb/sec
Thunderbolt Bus: 

@jenshnielsen
Copy link
Member

I think this issue is different from the ones that I fixed. I haven't seen this one but I will try to have a look.

How did you install python and matplotlib? Which version of freetype have you got ( freetype-config --ftversion)

@HubertHolin
Copy link
Contributor Author

Python and ferrotype are installed from unmodified sources (config files modified as necessary for freetype). Installed as super-user (sudo).

  • Python: 3.4.2 with the following configuration options
./configure --enable-big-digits --enable-framework --with-system-ffi --with-system-expat --with-signal-module --with-threads --with-dbmliborder=gdbm --without-ensurepip
  • Freetype: 2.5.4 (freetype-config --ftversion yields 2.5.4 as expected) with the following configuration options
./configure --with-old-mac-fonts

module.cfg has been modified on line 132 (uncommented the option)

AUX_MODULES += otvalid

ftoption.h has not been modified for 2.5.4 (some configurations for earlier versions)

@HubertHolin
Copy link
Contributor Author

Just pinging because I still can't use matplotlib under MacOS 10.10.1 with Python 3.4.2. Latest (failing) configuration is freetype 2.5.5 (no modification) with matplotlib 174b126 .

@jenshnielsen
Copy link
Member

I tried reproducing the issue but can't reproduce it on Yosemite.

I use homebrew python and freetype and tried modifying freetype to enable otvalid and old-mac-fonts but I still don't see the issue.

I have “/System/Library/Fonts/Apple Color Emoji.ttf” and fc-list shows the font as expected.

Could you try to reproduce the issue with a more standard python build such as homebrew?

@HubertHolin
Copy link
Contributor Author

As it turned out, this was not a matplotlib problem per se. An older instal of freetype had left a ft2build.h at a place where it was seen before the newer version. Removing it (and updating quite a few other libraries) solved the problem.

Still there remains, at least in my view, a problem of uncaught exceptions (the one I have encountered here and another when outputting to pdf), but that will be the topic of another discussion.

Finally, I would rather not use homebrew (or fink, for that matter), unless as a last resort. That is no slight agains these endeavours, it is just that it adds yet another wrinkle in the complexity of which item will be invoqued, or linked against, or considered for inclusion etc.. And I would lose, I believe, the freedom to configure at will my components. Still, as the dependency trees have gotten increasingly long and intertwined as the years went by, using it would have certainly saved me a lot of time (but, hey, what would be life with less stress :-< ?), especially on the Mac platform with its recent invasion of doppelgängers…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants