Bug 6678

Summary: Fontconfig CVS introduces huge performance issue
Product: fontconfig Reporter: Wouter Bolsterlee <uws+freedesktop>
Component: libraryAssignee: Keith Packard <keithp>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high    
Version: 2_1   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Wouter Bolsterlee 2006-04-20 18:17:40 UTC
The commits to fontconfig (fc-2_4_branch) at 2006-04-13 introduce REALLY bad
performance issues, eg. it takes 3 seconds to open a new tab in gnome-terminal,
while it's almost instantly with fontconfig from the day before (2006-04-12).

No problems:
  cvs -z3 -q -d :pserver:anoncvs@anoncvs.freedesktop.org:/cvs/fontconfig update
-D2006-04-12 -dP -r fc-2_4_branch .

Here it becomes REALLY slow:
  cvs -z3 -q -d :pserver:anoncvs@anoncvs.freedesktop.org:/cvs/fontconfig update
-D2006-04-13 -dP -r fc-2_4_branch .


The commit messages say:
2006-04-12  Frederic Crozat  <fcrozat@mandriva.com>
	reviewed by: plam
	
	* src/fcpat.c: (FcPatternFreeze):
	Fix memory leak (Coverity defect #2089).

	* src/fcfreetype.c: (GetScriptTags):
	Ignore script if subtable is missing (Coverity defect #2088).

2006-04-12  Patrick Lam  <plam@mit.edu>
	* src/fccfg.c (FcConfigSubstituteWithPat):

	Fix possible null pointer dereference (Coverity defect #784)
	and memory leak (Coverity defects #785, #786).

2006-04-12  Patrick Lam  <plam@mit.edu>
	* src/fcmatch.c (FcSortWalk, FcFontSetSort):

	Don't copy FcCharSet if we're going to throw it away anyway.
	(Reported by Kenichi Handa).



Any clue what might be causing this and how to revert it?
Comment 1 Wouter Bolsterlee 2006-04-20 18:49:15 UTC
Ok, I'm pretty sure this commit caused it:

http://webcvs.freedesktop.org/fontconfig/fontconfig/src/fcmatch.c?r1=1.28.2.16&r2=1.28.2.17&only_with_tag=fc-2_4_branch
Comment 2 Patrick Lam 2006-04-21 01:46:57 UTC
gnome-terminal uses FcFontSort in a rather different way than the test program
in 6508 (which may also be the way that gdmgreeter uses it, by the way).

I'm looking into this problem.
Comment 3 Patrick Lam 2006-04-21 02:58:15 UTC
Ok, that's fixed.  I didn't really get the conditional right in bug 6508,
despite sleeping on it.  Oops.
Comment 4 Patrick Lam 2006-04-21 02:59:36 UTC
Marking fixed.
Comment 5 Wouter Bolsterlee 2006-04-21 08:15:51 UTC
Confirming current CVS has fixed the problem. Thanks for the quick patch!

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.