Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#45599 closed defect (fixed)

cairo runtime messages/crash regarding obsolete CGFontGetGlyphPath

Reported by: nerdling (Jeremy Lavergne) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.3.99
Keywords: yosemite haspatch Cc: lambert@…, mkae (Marko Käning)
Port: cairo, cairo-devel

Description (last modified by ryandesign (Ryan Carsten Schmidt))

See possible patch at

http://comments.gmane.org/gmane.comp.lib.cairo/24875

This runtime message is emitted twice then the process crashes:

<Error>: The function CGFontGetGlyphPath is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance.

Change History (12)

comment:1 Changed 10 years ago by nerdling (Jeremy Lavergne)

Keywords: yosemite added

comment:2 Changed 10 years ago by nerdling (Jeremy Lavergne)

Description: modified (diff)
Summary: cairo runtime messages regarding obsolete CGFontGetGlyphPathcairo runtime messages/crash regarding obsolete CGFontGetGlyphPath

comment:3 Changed 10 years ago by nerdling (Jeremy Lavergne)

Keywords: haspatch added

Upstream ticket has a patch.

comment:4 in reply to:  3 Changed 10 years ago by nerdling (Jeremy Lavergne)

Upstream has an updated patch available.

comment:5 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

cairo 1.14.2 includes this change, however because it makes cairo incompatible with Tiger, and because it is a small change, I have reverted the change in MacPorts cairo to retain Tiger compatibility (r135960). Upstream is currently considering whether to reinstate Tiger support or whether to make the removal of Tiger support final by removing the many other bits of Tiger compatibility code in cairo.

comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Port: cairo-devel added

I should add that when I decided to revert this change, I was thinking only of restoring Tiger support. I realized that there were compile-time warnings on Yosemite (and Mavericks?) about the function being obsolete, but I did not remember this ticket, did not remember there were runtime error message as well, which are annoying.

comment:7 Changed 9 years ago by lambert@…

Since upgrading to Yosemite I get this message both from gnuplot (using "set terminal pdf" or "pdfcairo") and from rsvg-convert (using "-f pdf"). No crash, but the annoying thing is that the fonts are all wrong. These are tools I use regularly. Any hope this will be fixed some time in the future?

$ port installed cairo gnuplot librsvg        
The following ports are currently installed:
  cairo @1.14.2_1+quartz+x11 (active)
  gnuplot @5.0.1_0+aquaterm+luaterm+pangocairo+wxwidgets+x11 (active)
  librsvg @2.40.9_0 (active)

comment:8 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

I don't know why using this old API would cause crashes, contribute to an overall degradation of system performance, or cause fonts to be wrong, so my suspicion is that your issue is caused by something else. You could confirm this by editing the Portfile, removing the line "patchfiles-append patch-tiger.diff", then rebuilding the port with "sudo port -ns upgrade --force cairo". You should no longer see the messages about CGFontGetGlyphPath, but I suspect you will still see the problems you were seeing. Let us know either way.

comment:9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

comment:10 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Has duplicate #48883.

comment:11 in reply to:  5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: lambert@… added
Resolution: fixed
Status: newclosed

Replying to ryandesign@…:

cairo 1.14.2 includes this change, however because it makes cairo incompatible with Tiger, and because it is a small change, I have reverted the change in MacPorts cairo to retain Tiger compatibility (r135960).

Along with updating cairo to 1.14.4, in r142163 I changed the port to only use this patch when Tiger support is requested. That should remove the warning messages (and perhaps even the incorrect behavior) seen on Yosemite and later.

comment:12 Changed 9 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

Note: See TracTickets for help on using tickets.