Opened 3 years ago

Closed 21 months ago

Last modified 21 months ago

#45599 closed defect (fixed)

cairo runtime messages/crash regarding obsolete CGFontGetGlyphPath

Reported by: nerdling (Jeremy Lavergne) Owned by: ryandesign (Ryan 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 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 3 years ago by nerdling (Jeremy Lavergne)

  • Keywords yosemite added

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

  • Description modified (diff)
  • Summary changed from cairo runtime messages regarding obsolete CGFontGetGlyphPath to cairo runtime messages/crash regarding obsolete CGFontGetGlyphPath

comment:3 follow-up: Changed 3 years ago by nerdling (Jeremy Lavergne)

  • Keywords haspatch added

Upstream ticket has a patch.

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

Upstream has an updated patch available.

comment:5 follow-up: Changed 2 years ago by ryandesign (Ryan 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 2 years ago by ryandesign (Ryan 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 2 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 2 years ago by ryandesign (Ryan 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 23 months ago by ryandesign (Ryan Schmidt)

  • Description modified (diff)

comment:10 Changed 23 months ago by ryandesign (Ryan Schmidt)

Has duplicate #48883.

comment:11 in reply to: ↑ 5 Changed 21 months ago by ryandesign (Ryan Schmidt)

  • Cc lambert@… added
  • Resolution set to fixed
  • Status changed from new to closed

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 21 months ago by mkae (Marko Käning)

  • Cc mk@… added

Cc Me!

Note: See TracTickets for help on using tickets.