[OpenIndiana-discuss] MATE 1.20 and updated GTK+3 for hipster

Predrag Zečević - Technical Support Analyst predrag.zecevic at 2e-systems.com
Tue Oct 23 13:44:57 UTC 2018


On 10/23/18 15:02, Udo Grabowski (IMK) wrote:
> On 18/10/2018 16:59, Alan Coopersmith wrote:
>> On 10/18/18 05:55 AM, Udo Grabowski (IMK) wrote:
>>> This is strange, why in the world should the settings-daemon
>>> read the fontpathes in an infinite loop ? Looks like its constantly
>>> thinking the mate font configuration has changed.
>>
>> I don't know about infinite loop, but you'll see libfontconfig iterating
>> through all the fonts in all the directories when it thinks its font
>> caches are out of date.   On Solarish systems, we have an SMF service
>> svc:/application/font/fc-cache to ensure the caches are up-to-date at
>> system boot and when IPS packages with fonts are installed, so it would
>> be good to check that's running and not reporting any errors in the SMF
>> logs for it.
>>
> 
> For what I see from the 2483 time-sliderd truss output, it does the
> following for each /etc/X11/fontpath.d/*/ directory:
> 
> 1) with a convoluted procedure, produce a lock file .uuid inside
>    that directory
> 
> 2) Then use utimensat to update access and modification times of
>    that directory   *********
> 
> 3) Open RDONLY  *.cache-n file in /var/cache/fontconfig/
>             /export/home/predrag_zecevic/.cache/fontconfig/
>             /export/home/predrag_zecevic/.fontconfig/
>    (there are none)
> 
> 4) Do the same RDWR (there are still none)
> 
> 5) fstat all .pcf files and fonts.dir and files mentioned therein
>    in the fontpath.d dir and mmap them
> 
> 6) do something (not seen in truss) and unmap them
> 
> 7) remove the .uuid file
> 
> 8) repeat from 1)
> 
> Could it be that the change of the modification time (2) from 2483
> triggers the reread by 2484 (mate-settings-daemon) ?
> 
Hi,

many thanks fo looking at truss files!

No idea modification time changes triggers more actions (could it be)...
New MATE has (obviously) introduced more checks/processes/etc.

Since, this is narrowed to fonts re-reading/re-caching - may I ask you
to share contents (at least figures) from your desktop, of font
directories (and packages)?

> And by the way, if I counted correctly, this system has over 24.000
> individual fonts, so the caching procedure a) really takes a while,
> and b) makes no sense at all since almost all of them are obviously
> unused. And indeed, the 2484 truss shows no loop up to the truncation
> point, these are all different fonts...

No idea, to me, this is not so big number:

$ for dir in /var/cache/fontconfig
/export/home/predrag_zecevic/.cache/fontconfig /etc/X11/fontpath.d; do
printf "%50s:" $dir; find ${dir} -type f | wc -l; done
                             /var/cache/fontconfig:408
    /export/home/predrag_zecevic/.cache/fontconfig:199
                               /etc/X11/fontpath.d:0


[Latest one contains just links to some fonts, presumably created by
fc-cache service]. Here count of sym-links:
$ for dir in /var/cache/fontconfig
/export/home/predrag_zecevic/.cache/fontconfig /etc/X11/fontpath.d; do
printf "%50s:" $dir; find ${dir} -type l | wc -l; done
                             /var/cache/fontconfig:0
    /export/home/predrag_zecevic/.cache/fontconfig:0
                               /etc/X11/fontpath.d:90


Creation time of caches:
$ ls -l /var/cache/fontconfig | grep -v ^total | awk '{printf("%3s %2s
%4s\n", $6,$7, $8)}' | sort | uniq -c | sort -rn
    197 Sep 21 11:46
    196 Sep 21 11:56
      9 Sep 21 11:49
      3 Sep 21 11:29
      1 Sep 24 09:04
      1 Oct 23 13:39
      1 Oct 23 13:37

$ ls -l /export/home/predrag_zecevic/.cache/fontconfig | grep -v ^total
| awk '{printf("%3s %2s %4s\n", $6,$7, $8)}' | sort | uniq -c | sort -rn
    188 Jan 11 2016
      8 Mar 14 2016
      2 Feb 10 2016
      1 Jan 19 2016
[NOTE: /export/home is not located within rpool, so this stays same
across BEs]

*BUT*, if I mount problematic BE:

$ pfexec beadm mount oi_181018 /beadm

and count files:
$ find /beadm/var/cache/fontconfig/ -type f | wc -l
121138
[I can imagine that, if I have left system running long enough, this
will be much bigger number]

$ find /beadm/etc/X11/fontpath.d/ -type l | wc -l
90

So, font cache fails to "recognize" fonts, and just keeps system busy
with creating cache, over and over.

How to solve that situation?

With best regards.
Predrag Zečević

P.S: (/beadm is mount point of BE which behaves slow)

$ du -shc /beadm/var/cache/fontconfig/ /var/cache/fontconfig/
152M    /beadm/var/cache/fontconfig/
15M     /var/cache/fontconfig/

-- 
Predrag Zečević
Technical Support Analyst
2e Systems GmbH

tel: +49 - 6196 - 95058 - 15
mob: +49 - 174 - 3109288
fax: +49 - 6196 - 95058 - 94
e-mail: predrag.zecevic at 2e-systems.com

headquarter: 2e Systems GmbH, Koenigsteiner Str. 87, 65812 Bad Soden am
Taunus, Germany
registration: Amtsgericht Koenigstein (Germany), HRB 7303
managing director: Phil Douglas

http://www.2e-systems.com/ - Making your business fly!



More information about the openindiana-discuss mailing list