Description: Following a patch to openSUSE today that included several updates related to LibreOffice -- bringing everything in LO up to "6.4.2.2-1p151.3.12.3" -- launching oowriter (or another component, i.e., oocalc) now takes 2-3 minutes to launch---even to an empty document. The splash progress bar stops at about 20% completion for an inordinate amount of time. If I run oowriter by hand using strace (from a terminal) and pipe it the results through a script that times how long each line of output took to be outputted, I see that a call to "wait()" is the culprit. (See log file below) Prior to today's patches (i.e. yesterday), this behavior was not seen. The previous set of patches applied to LO were on 2020-04-01 and brought it to 6.3.3.2-lp151.3.9.1. There were no slow launch problems seen following that update. According to openSUSE's logging of the patch process, no errors were encountered while applying the patches that resulted in 6.4.2.2-xxx. Thinking that this could have been some sort of user profile corruption, I've followed the instructions for starting LO in safe mode, and reset my profile back to "factory settings" (I don't lose much by doing this and it's easily resetable) but that has not resulting in normal (a few seconds) startup time. Steps to Reproduce: 1. Open LibreOffice Writer from openSUSE panel menu, OR... 2. Open terminal emulator 3. oowriter Actual Results: (Note: "timetagger -d" is a local utility that times the interval between successive lines out output.) $ strace oowriter 2>&1 | timetagger -d | cat -n | tee oowriter.log 1 0000-00:00:00 execve("/usr/bin/oowriter", ["oowriter"], 0x7fff54d3ccd0 /* 148 vars */) = 0 2 0000-00:00:00 brk(NULL) = 0x55b968aeb000 3 0000-00:00:00 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 4 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/tls/x86_64/x86_64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 5 0000-00:00:00 stat("/lib64/bash/tls/x86_64/x86_64", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 6 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/tls/x86_64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 7 0000-00:00:00 stat("/lib64/bash/tls/x86_64", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 8 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/tls/x86_64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 9 0000-00:00:00 stat("/lib64/bash/tls/x86_64", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 10 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/tls/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 11 0000-00:00:00 stat("/lib64/bash/tls", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 12 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/x86_64/x86_64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 13 0000-00:00:00 stat("/lib64/bash/x86_64/x86_64", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 14 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/x86_64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 15 0000-00:00:00 stat("/lib64/bash/x86_64", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 16 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/x86_64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 17 0000-00:00:00 stat("/lib64/bash/x86_64", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 18 0000-00:00:00 openat(AT_FDCWD, "/lib64/bash/libreadline.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 19 0000-00:00:00 stat("/lib64/bash", 0x7fff6b812de0) = -1 ENOENT (No such file or directory) 20 0000-00:00:00 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 21 0000-00:00:00 fstat(3, {st_mode=S_IFREG|0644, st_size=258374, ...}) = 0 22 0000-00:00:00 mmap(NULL, 258374, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd631aa7000 23 0000-00:00:00 close(3) = 0 24 0000-00:00:00 openat(AT_FDCWD, "/lib64/libreadline.so.7", O_RDONLY|O_CLOEXEC) = 3 25 0000-00:00:00 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \213\1\0\0\0\0\0"..., 832) = 832 26 0000-00:00:00 fstat(3, {st_mode=S_IFREG|0755, st_size=317440, ...}) = 0 27 0000-00:00:00 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd631aa5000 28 0000-00:00:00 mmap(NULL, 2417928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd631673000 29 0000-00:00:00 mprotect(0x7fd6316b9000, 2093056, PROT_NONE) = 0 30 0000-00:00:00 mmap(0x7fd6318b8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x45000) = 0x7fd6318b8000 31 0000-00:00:00 mmap(0x7fd6318c0000, 5384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd6318c0000 32 0000-00:00:00 close(3) = 0 33 0000-00:00:00 openat(AT_FDCWD, "/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 34 0000-00:00:00 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\20\0\0\0\0\0\0"..., 832) = 832 35 0000-00:00:00 fstat(3, {st_mode=S_IFREG|0755, st_size=18400, ...}) = 0 36 0000-00:00:00 mmap(NULL, 2109584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd63146f000 37 0000-00:00:00 mprotect(0x7fd631472000, 2093056, PROT_NONE) = 0 38 0000-00:00:00 mmap(0x7fd631671000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fd631671000 39 0000-00:00:00 close(3) = 0 40 0000-00:00:00 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 41 0000-00:00:00 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`D\2\0\0\0\0\0"..., 832) = 832 42 0000-00:00:00 fstat(3, {st_mode=S_IFREG|0755, st_size=2038480, ...}) = 0 43 0000-00:00:00 mmap(NULL, 3909496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd6310b4000 44 0000-00:00:00 mprotect(0x7fd631265000, 2097152, PROT_NONE) = 0 45 0000-00:00:00 mmap(0x7fd631465000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b1000) = 0x7fd631465000 46 0000-00:00:00 mmap(0x7fd63146b000, 14200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd63146b000 47 0000-00:00:00 close(3) = 0 48 0000-00:00:00 openat(AT_FDCWD, "/lib64/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 3 49 0000-00:00:00 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\225\0\0\0\0\0\0"..., 832) = 832 50 0000-00:00:00 fstat(3, {st_mode=S_IFREG|0755, st_size=189296, ...}) = 0 51 0000-00:00:00 mmap(NULL, 2285344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd630e86000 52 0000-00:00:00 mprotect(0x7fd630eac000, 2093056, PROT_NONE) = 0 53 0000-00:00:00 mmap(0x7fd6310ab000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fd6310ab000 54 0000-00:00:00 close(3) = 0 55 0000-00:00:00 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd631aa3000 56 0000-00:00:00 arch_prctl(ARCH_SET_FS, 0x7fd631aa3b80) = 0 57 0000-00:00:00 mprotect(0x7fd631465000, 12288, PROT_READ) = 0 58 0000-00:00:00 mprotect(0x7fd6310ab000, 4096, PROT_READ) = 0 59 0000-00:00:00 mprotect(0x7fd631671000, 4096, PROT_READ) = 0 60 0000-00:00:00 mprotect(0x7fd6318b8000, 8192, PROT_READ) = 0 61 0000-00:00:00 mprotect(0x55b968618000, 8192, PROT_READ) = 0 62 0000-00:00:00 mprotect(0x7fd631ae7000, 4096, PROT_READ) = 0 63 0000-00:00:00 munmap(0x7fd631aa7000, 258374) = 0 64 0000-00:00:00 openat(AT_FDCWD, "/dev/tty", O_RDWR|O_NONBLOCK) = 3 65 0000-00:00:00 close(3) = 0 66 0000-00:00:00 stat("/usr/lib/locale/locale-archive", 0x7fff6b8133f0) = -1 ENOENT (No such file or directory) 67 0000-00:00:00 brk(NULL) = 0x55b968aeb000 68 0000-00:00:00 brk(0x55b968b0c000) = 0x55b968b0c000 69 0000-00:00:00 getuid() = 1234 70 0000-00:00:00 getgid() = 1234 71 0000-00:00:00 geteuid() = 1234 72 0000-00:00:00 getegid() = 1234 73 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 74 0000-00:00:00 ioctl(-1, TIOCGPGRP, 0x7fff6b813474) = -1 EBADF (Bad file descriptor) 75 0000-00:00:00 sysinfo({uptime=381892, loads=[21056, 38720, 49024], totalram=8299536384, freeram=736120832, sharedram=395673600, bufferram=273969152, totalswap=40807415808, freeswap=38982631424, procs=998, totalhigh=0, freehigh=0, mem_unit=1}) = 0 76 0000-00:00:00 rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 77 0000-00:00:00 rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd6310ed5a0}, 8) = 0 78 0000-00:00:00 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 79 0000-00:00:00 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 80 0000-00:00:00 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 81 0000-00:00:00 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 82 0000-00:00:00 rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 83 0000-00:00:00 rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 84 0000-00:00:00 rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 85 0000-00:00:00 rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 86 0000-00:00:00 rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 87 0000-00:00:00 rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_NODEFER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 88 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 89 0000-00:00:00 rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 90 0000-00:00:00 uname({sysname="Linux", nodename="kadath", ...}) = 0 91 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 92 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 93 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 94 0000-00:00:00 stat("/home/rnturn", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 95 0000-00:00:00 stat(".", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 96 0000-00:00:00 stat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 97 0000-00:00:00 stat("/home/rnturn", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 98 0000-00:00:00 stat("/home/rnturn/etc/profile.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 99 0000-00:00:00 getpid() = 17103 100 0000-00:00:00 getppid() = 17098 101 0000-00:00:00 getpid() = 17103 102 0000-00:00:00 getpgrp() = 17098 103 0000-00:00:00 ioctl(2, TIOCGPGRP, 0x7fff6b813344) = -1 ENOTTY (Inappropriate ioctl for device) 104 0000-00:00:00 rt_sigaction(SIGCHLD, {sa_handler=0x55b9683e4c70, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd6310ed5a0}, 8) = 0 105 0000-00:00:00 ioctl(2, TIOCGPGRP, 0x7fff6b813324) = -1 ENOTTY (Inappropriate ioctl for device) 106 0000-00:00:00 prlimit64(0, RLIMIT_NPROC, NULL, {rlim_cur=30695, rlim_max=30695}) = 0 107 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 108 0000-00:00:00 openat(AT_FDCWD, "/usr/bin/oowriter", O_RDONLY) = 3 109 0000-00:00:00 stat("/usr/bin/oowriter", {st_mode=S_IFREG|0755, st_size=63, ...}) = 0 110 0000-00:00:00 ioctl(3, TCGETS, 0x7fff6b813400) = -1 ENOTTY (Inappropriate ioctl for device) 111 0000-00:00:00 lseek(3, 0, SEEK_CUR) = 0 112 0000-00:00:00 read(3, "#!/bin/sh\n/usr/lib64/libreoffice"..., 80) = 63 113 0000-00:00:00 lseek(3, 0, SEEK_SET) = 0 114 0000-00:00:00 prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=4*1024}) = 0 115 0000-00:00:00 fcntl(255, F_GETFD) = -1 EBADF (Bad file descriptor) 116 0000-00:00:00 dup2(3, 255) = 255 117 0000-00:00:00 close(3) = 0 118 0000-00:00:00 fcntl(255, F_SETFD, FD_CLOEXEC) = 0 119 0000-00:00:00 fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) 120 0000-00:00:00 fstat(255, {st_mode=S_IFREG|0755, st_size=63, ...}) = 0 121 0000-00:00:00 lseek(255, 0, SEEK_CUR) = 0 122 0000-00:00:00 read(255, "#!/bin/sh\n/usr/lib64/libreoffice"..., 63) = 63 123 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 124 0000-00:00:00 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd631aa3e50) = 17104 125 0000-00:00:00 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 126 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 127 0000-00:00:00 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 128 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 129 0000-00:00:00 rt_sigaction(SIGINT, {sa_handler=0x55b9683dfe30, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 130 0000-00:02:36 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 17104 131 0000-00:00:00 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, {sa_handler=0x55b9683dfe30, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd6310ed5a0}, 8) = 0 132 0000-00:00:00 ioctl(2, TIOCGWINSZ, 0x7fff6b8131c0) = -1 ENOTTY (Inappropriate ioctl for device) 133 0000-00:00:00 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 134 0000-00:00:00 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=17104, si_uid=1234, si_status=0, si_utime=0, si_stime=0} --- 135 0000-00:00:00 wait4(-1, 0x7fff6b812cd0, WNOHANG, NULL) = -1 ECHILD (No child processes) 136 0000-00:00:00 rt_sigreturn({mask=[]}) = 0 137 0000-00:00:00 read(255, "", 63) = 0 138 0000-00:00:00 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 139 0000-00:00:00 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 140 0000-00:00:00 exit_group(0) = ? 141 0000-00:00:00 +++ exited with 0 +++ 142 0000-00:00:00 EOD The timing in line 130 of the output is the problem. Launching "oocalc", "ooimpress", etc in a similar fashion results in that same "rt_sigaction()/wait()" to hang for roughly 2:40. Expected Results: Normally, launch time for oowriter is only a couple of seconds. The oowriter window did not appear for roughly 2:40. Reproducible: Always User Profile Reset: No OpenGL enabled: Yes Additional Info: Launch time for oowriter in only a couple of seconds.
Update: I have reset the user profile. The same long startup time is seen.
Does it work if you disable OpenGl ? -> https://wiki.documentfoundation.org/OpenGL I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' if the issue is still present
I disabled the use of OpenGL (I'd been using OpenGL v3.1) in the desktop settings -- setting it to `Xrender' -- and reran the command line I included in the initial report several times. The startup time of the rt_sigaction()/wait() calls (lines 129 and 130) jumped to ~3:50 with 3:21 being the quickest startup time. After oowriter finally started, I looked into the Open Expert Configuration settings and searched for OpenGL. All I found was two settings: UseOpenGL and ForceOpenGL. Both were defined as "boolean false". Until I determine the best way to revert to the previous version, I'll be looking into having oowriter start automatically when I launch my desktop so it can take its time starting up while I read my morning email.
After bouncing my desktop, oowriter began starting up in a more reasonable amount of time: ^6s-10s. Then I received a notice of additional patches (silly me... I thought Leap was the more-or-less stable version of openSUSE). After applying those, LO was starting up slowly again (minutes rather than seconds). I went back and disabled OpenGL and OpenCL via the safe-mode dialog and restarted using those settings (getting to that disalog took ~10 minutes). At this point startup was ~10s. Not horrible though Emacs starts up almost as fast as vi in comparison. Q: What desktop components (libraries, etc.) is LibreOffice sensitive to? The patch set that was applied today didn't include anything LO-related but until I bounced KDE, startup time was slow again. If I can predict, based on the list of pending patches, when it's all going to hit the fan, I can defer patching until I know it's not going to impact normal work.
I think if you still suffer from poor launch performance, you should report it to openSUSE. Btw. OpenGL UI rendering should normally not be active on Linux. The option is in Tools - Options - LibreOffice - View - Use OpenGL for all rendering. OpenCL has nothing to do with this topic: it is a method to speed up some Calc calculations by using the graphics processing unit to run them in parallel.