<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - opening a file causes soffice.bin to use 100% CPU (one core), doing lstat calls all over the user's home dir, if profile exists"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=124622#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - opening a file causes soffice.bin to use 100% CPU (one core), doing lstat calls all over the user's home dir, if profile exists"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=124622">bug 124622</a>
              from <span class="vcard"><a class="email" href="mailto:buti@bux.at" title="till busch <buti@bux.at>"> <span class="fn">till busch</span></a>
</span></b>
        <pre>I'm seeing the same problem when I try to create a new document from a template
or when I open an existing document as a template (with command line -n
switch):

arch linux, LibreOffice 6.2.3.2 20(Build:2)

Reproducible: Always

I also tested with different java versions and with java disabled.

strace (strace -ff lowriter -n test1.odt) gives the most useful hints:

it starts off fine by entering .config/libreoffice and scanning for templates:
...
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] lstat("/home/till/.config", {st_mode=S_IFDIR|0755, st_size=6374,
...}) = 0
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] lstat("/home/till/.config", {st_mode=S_IFDIR|0755, st_size=6374,
...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice", {st_mode=S_IFDIR|0775,
st_size=2, ...}) = 0
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] lstat("/home/till/.config", {st_mode=S_IFDIR|0755, st_size=6374,
...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice", {st_mode=S_IFDIR|0775,
st_size=2, ...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice/4", {st_mode=S_IFDIR|0700,
st_size=28, ...}) = 0
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] lstat("/home/till/.config", {st_mode=S_IFDIR|0755, st_size=6374,
...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice", {st_mode=S_IFDIR|0775,
st_size=2, ...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice/4", {st_mode=S_IFDIR|0700,
st_size=28, ...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice/4/user",
{st_mode=S_IFDIR|0755, st_size=290, ...}) = 0
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] lstat("/home/till/.config", {st_mode=S_IFDIR|0755, st_size=6374,
...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice", {st_mode=S_IFDIR|0775,
st_size=2, ...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice/4", {st_mode=S_IFDIR|0700,
st_size=28, ...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice/4/user",
{st_mode=S_IFDIR|0755, st_size=290, ...}) = 0
[pid 13297] lstat("/home/till/.config/libreoffice/4/user/template",
{st_mode=S_IFDIR|0755, st_size=400, ...}) = 0
[pid 13297] access("/home/till/.config/libreoffice/4/user/template", F_OK) = 0
[pid 13297] openat(AT_FDCWD, "/home/till/.config/libreoffice/4/user/template",
O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
[pid 13297] fstat(3, {st_mode=S_IFDIR|0755, st_size=400, ...}) = 0
[pid 13297] getdents64(3, /* 12 entries */, 32768) = 472
[pid 13297] lstat("/home/till/.config/libreoffice/4/user/template/Presentation
Backgrounds", {st_mode=S_IFDIR|0755, st_size=18, ...}) = 0
[pid 13297] openat(AT_FDCWD,
"/home/till/.config/libreoffice/4/user/template/Presentation Backgrounds",
O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 22
[pid 13297] fstat(22, {st_mode=S_IFDIR|0755, st_size=18, ...}) = 0
[pid 13297] getdents64(22, /* 3 entries */, 32768) = 80
[pid 13297] lstat("/home/till/.config/libreoffice/4/user/template/Presentation
Backgrounds/white.otp", {st_mode=S_IFREG|0644, st_size=9024, ...}) = 0
[pid 13297] getdents64(22, /* 0 entries */, 32768) = 0
[pid 13297] close(22)                   = 0
[pid 13297]
lstat("/home/till/.config/libreoffice/4/user/template/groupuinames.xml",
{st_mode=S_IFREG|0600, st_size=288, ...}) = 0
...
[pid 13297] getdents64(3, /* 0 entries */, 32768) = 0
[pid 13297] close(3)                    = 0
...

here comes trouble -- why does it enter other .config directories at all? it
does getdents64() on every directory and proceeds recursively:

[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home", {st_mode=S_IFDIR|0755, st_size=130, ...}) = 0
[pid 13297] lstat("/home/till", {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] access("/home/till", F_OK)  = 0
[pid 13297] openat(AT_FDCWD, "/home/till",
O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
[pid 13297] fstat(3, {st_mode=S_IFDIR|0700, st_size=9428, ...}) = 0
[pid 13297] getdents64(3, /* 437 entries */, 32768) = 15120
[pid 13297] lstat("/home/till/.config", {st_mode=S_IFDIR|0755, st_size=6374,
...}) = 0
[pid 13297] openat(AT_FDCWD, "/home/till/.config",
O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 22
[pid 13297] fstat(22, {st_mode=S_IFDIR|0755, st_size=6374, ...}) = 0
[pid 13297] getdents64(22, /* 273 entries */, 32768) = 9640
[pid 13297] lstat("/home/till/.config/akonadi", {st_mode=S_IFDIR|0775,
st_size=2770, ...}) = 0
[pid 13297] openat(AT_FDCWD, "/home/till/.config/akonadi",
O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 23
[pid 13297] fstat(23, {st_mode=S_IFDIR|0775, st_size=2770, ...}) = 0
[pid 13297] getdents64(23, /* 34 entries */, 32768) = 2176


which leads to even more trouble -- libreoffice seems to get stuck in a loop of
cyclic symbolic links here ...

[pid 13297]
lstat("/home/till/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/c:/users/till/Meine
Dokumente/.local/share/wineprefixes/vc2008express/dosdevices/z:/home/till/.local/share/wineprefixes/vc2008express/dosdevices/z:/home/dev/OpenWrt-SDK-ar71xx-for-Linux-i686-gcc-4.3.3+cs_uClibc-0.9.30.1/staging_dir/target-mips_r2_uClibc-0.9.30.1/usr/share/ri/1.9/system/XMLEncoding_ja/cdesc-XMLEncoding_ja.ri",
0x7fffa62b6f80) = -1 ENOSYS (Function not implemented)</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>