font problems: fc-list takes up 100% of CPU and runs forever

I distribute a Mac application using matplotlib.

Recent versions that use matplotlib 1.3.0 fail to run on some new
accounts. The symptoms are that the application never finishes loading
and a task named "fc-list" takes up 100% of a core -- for as long as
we've let it run (a good fraction of an hour).

The only solution we've found is to copy ~/.matplotlib from an account
where it works to the new account.

It is reproducible on some machines, but unfortunately not mine. When I
create a new account on my machine I do not see the problem. Thus I have
not yet been able to come up with a minimal case that shows the problem.
I'll try to get more info.

Is this is a known issue?

-- Russell

I haven't heard of this issue before.

fc-list comes from the fontconfig project. It is used to get a list of all of the fonts installed on the system. It sounds like there is some bug there -- the usual culprit is that there is a slightly non-standard font installed on the system and fontconfig has a hard time parsing it. You could try updating fc-list (it's in all the major package managers).

As for a workaround from our end, we could try to set a timeout on fc-list and just skip it if it takes too long. We can't rely on it being there on a Mac at all, so already we gracefully degrade to a less thorough search for fonts when fc-list can't be found.

Mike

···

On 10/01/2013 08:15 PM, Russell E. Owen wrote:

I distribute a Mac application using matplotlib.

Recent versions that use matplotlib 1.3.0 fail to run on some new
accounts. The symptoms are that the application never finishes loading
and a task named "fc-list" takes up 100% of a core -- for as long as
we've let it run (a good fraction of an hour).

The only solution we've found is to copy ~/.matplotlib from an account
where it works to the new account.

It is reproducible on some machines, but unfortunately not mine. When I
create a new account on my machine I do not see the problem. Thus I have
not yet been able to come up with a minimal case that shows the problem.
I'll try to get more info.

Is this is a known issue?

-- Russell

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

--
                    _

\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _
>>(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com