maintainer-feedback requested: [Bug 275218] editors/libreoffice: very slow startup times in presence of iosevka font

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 20 Nov 2023 17:32:18 UTC
Bugzilla Automation <bugzilla@FreeBSD.org> has asked FreeBSD Office Team
<office@FreeBSD.org> for maintainer-feedback:
Bug 275218: editors/libreoffice: very slow startup times in presence of iosevka
font
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275218



--- Description ---
libreoffice takes around 40 seconds to start on my core i7 laptop. Judging by
ktrace, what it does is reading iosevka fonts. This fragment:

```
 56210 soffice.bin CALL  openat(AT_FDCWD,0x898551f08,0<O_RDONLY>)
 56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka.ttc"
 56210 soffice.bin RET	 openat 24/0x18
 56210 soffice.bin CALL  fstat(0x18,0x821158f60)
 56210 soffice.bin STRU  struct stat {dev=6602381364165455651, ino=853229,
mode=0100644, nlink=1, uid=0, gid=0, rdev=18446744073709551615,
atime=1700500430.680679000, mtime=1700500431.123096000,
ctime=1700500463.811403000, birthtime=1700500431.123096000, size=261945172,
blksize=131072, blocks=205593, flags=0x800 }
 56210 soffice.bin RET	 fstat 0
 56210 soffice.bin CALL 
mmap(0,0xf9cf754,0x1<PROT_READ>,0x1<MAP_SHARED>,0x18,0)
 56210 soffice.bin RET	 mmap 38558236672/0x8fa400000
 56210 soffice.bin CALL  close(0x18)
 56210 soffice.bin RET	 close 0
 56210 soffice.bin CALL  munmap(0x8fa400000,0xf9cf754)
 56210 soffice.bin RET	 munmap 0
```

Repeats up to 26568 times for each iosevka .ttc file:

```
% kdump  | grep iosevka | uniq -c
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka.ttc"
 783  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-aile.ttc"
8856  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-curly.ttc"
8856  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-curly-slab.ttc"
 783  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-etoile.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka.ttc"
8856  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-curly.ttc"
8856  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-curly-slab.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss01.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss02.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss03.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss04.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss05.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss06.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss07.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss08.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss09.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss10.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss11.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss12.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss13.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss14.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss15.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss16.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss17.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss18.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-slab.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss01.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss02.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss03.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss04.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss05.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss06.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss07.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss08.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss09.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss10.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss11.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss12.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss13.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss14.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss15.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss16.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss17.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss18.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-slab.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka.ttc"
8856  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-curly.ttc"
8856  56210 soffice.bin NAMI 
"/usr/local/share/fonts/Iosevka/iosevka-curly-slab.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss01.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss02.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss03.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss04.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss05.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss06.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss07.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss08.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss09.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss10.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss11.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss12.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss13.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss14.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss15.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss16.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss17.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-ss18.ttc"
8856  56210 soffice.bin NAMI  "/usr/local/share/fonts/Iosevka/iosevka-slab.ttc"
```

Workaround to fix the slow startup is thus to remove iosevka font.

I think it should be reported upstream, just leaving it here for searchability
and for the workaround.