[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
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275218

            Bug ID: 275218
           Summary: editors/libreoffice: very slow startup times in
                    presence of iosevka font
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: office@FreeBSD.org
          Reporter: amdmi3@FreeBSD.org
             Flags: maintainer-feedback?(office@FreeBSD.org)
          Assignee: office@FreeBSD.org

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.

-- 
You are receiving this mail because:
You are the assignee for the bug.