Subject: Re: bug#17771: 24.3.91; SIGSEGV in cleanup_vector

From: Stephen Berman <[email-masked]>
Date: Tue, 17 Jun 2014 15:41:34 +0200

On Tue, 17 Jun 2014 06:09:26 +0400 Dmitry Antipov <[email-masked]> wrote:

> On 06/17/2014 01:33 AM, Stephen Berman wrote:
>
>>      36.00%    emacs  libfontconfig.so.1.8.0         [.] 0x000000000001f643
>>      31.34%    emacs  libc-2.18.so                   [.] __strchr_sse2
>>       6.78%    emacs  [kernel.kallsyms]              [k] 0xffffffff8103aef6
>>       4.12%    emacs  libz.so.1.2.8                  [.] 0x0000000000007cc6
>>       1.15%    emacs  libfontconfig.so.1.8.0         [.] FcCharSetSubtractCount
>
> Please also install fontconfig-debuginfo package to get all libfontconfig.so
> samples resolved to function names.
>
> Just for the record, I'm seeing the following:
>
>      6.68%        emacs  libc-2.18.so                [.] _IO_getc
>      3.90%        emacs  emacs                       [.] mark_object
>      2.73%        emacs  emacs                       [.] decode_coding_iso_2022
>      2.46%        emacs  emacs                       [.] exec_byte_code
>      1.76%        emacs  libgobject-2.0.so.0.3800.2  [.] g_type_check_instance_is_a
>      1.65%        emacs  ld-2.18.so                  [.] do_lookup_x
>      1.31%        emacs  libglib-2.0.so.0.3800.2     [.] g_private_get_impl
>      1.29%        emacs  libc-2.18.so                [.] __strchr_sse2
>      1.29%        emacs  libfontconfig.so.1.8.0      [.] FcCompareFamily
>      1.22%        emacs  libc-2.18.so                [.] _int_malloc
>      1.20%        emacs  libX11.so.6.3.0             [.] parsestringfile
>      1.19%        emacs  emacs                       [.] mark_char_table
>      1.18%        emacs  libfontconfig.so.1.8.0      [.] FcStrCaseWalkerNext.part.3
>      1.17%        emacs  libfontconfig.so.1.8.0      [.] __popcountdi2
>      1.12%        emacs  libglib-2.0.so.0.3800.2     [.] g_mutex_get_impl
>      1.02%        emacs  libc-2.18.so                [.] malloc
>
> Probably there is a bottleneck in fontconfig which can't scale from hundreds to
> thousands of fonts well enough.

With fontconfig-debuginfo installed I get this:

    33.61%    emacs  libc-2.18.so                   [.] __strchr_sse2             
    15.77%    emacs  libfontconfig.so.1.8.0         [.] FcStrCaseWalkerNext.part.3
     4.75%    emacs  [kernel.kallsyms]              [k] 0xffffffff8103aef6        
     4.21%    emacs  libz.so.1.2.8                  [.] 0x0000000000007b2d        
     4.18%    emacs  libfontconfig.so.1.8.0         [.] FcPatternObjectPosition   
     2.91%    emacs  libfontconfig.so.1.8.0         [.] __popcountdi2             
     2.47%    emacs  libfontconfig.so.1.8.0         [.] FcStrCmpIgnoreCaseAndDelim
     1.95%    emacs  libfontconfig.so.1.8.0         [.] FcConfigPromote.isra.0    
     1.79%    emacs  libfontconfig.so.1.8.0         [.] FcListPatternMatchAny     
     1.63%    emacs  libfontconfig.so.1.8.0         [.] FcStrCaseWalkerNext       
     1.05%    emacs  libfontconfig.so.1.8.0         [.] FcCharSetSubtractCount    
     1.00%    emacs  libfontconfig.so.1.8.0         [.] FcConfigCompareValue      
     0.87%    emacs  libfontconfig.so.1.8.0         [.] FcValueCanonicalize       
     0.85%    emacs  libc-2.18.so                   [.] memset
     0.83%    emacs  libfontconfig.so.1.8.0         [.] FcCompareValueList        
     0.76%    emacs  libfontconfig.so.1.8.0         [.] strchr@plt
     0.73%    emacs  libfreetype.so.6.10.2          [.] 0x000000000005f039     
     0.66%    emacs  libfreetype.so.6.10.2          [.] FT_Stream_ReadFields   
     0.63%    emacs  emacs                          [.] hash_string            
     0.58%    emacs  emacs                          [.] mark_object            
     0.58%    emacs  libz.so.1.2.8                  [.] inflate                
     0.52%    emacs  emacs                          [.] sxhash_combine         
     0.51%    emacs  libfontconfig.so.1.8.0         [.] FcPatternObjectFindElt 
     0.50%    emacs  libfontconfig.so.1.8.0         [.] FcFontSetList          
     0.48%    emacs  emacs                          [.] ftfont_get_fc_charset  
     0.46%    emacs  libc-2.18.so                   [.] __memcpy_sse2_unaligned
     0.43%    emacs  libfontconfig.so.1.8.0         [.] FcCompareFamily        
     0.42%    emacs  libfontconfig.so.1.8.0         [.] FcCharSetFindLeafForwar
     0.41%    emacs  libc-2.18.so                   [.] _int_malloc
     
Let me know if you want the whole output.

Steve Berman