Subject: bug#48910: Very slow startup of GTK+ applications

From: Leo Famulari <[email-masked]>
Date: Mon, 7 Jun 2021 18:30:10 -0400

For the last couple months, I've noticed that GTK+ applications can be
very slow to start on my Guix / Debian system. It may take up to a
minute before they finish launching.

Here's an strace log of 'mousepad' startup. The pause occurs at line
3638, and then resumes after the the timeout is reached. Excerpt:

------
3621 [pid 10026] poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
3622 [pid 10026] poll([{fd=6, events=POLLIN}], 1, 0) = 1 ([{fd=6, revents=POLLIN}])
3623 [pid 10026] recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\f\0\0\0005\0\0\0", iov_len=16}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG     _CMSG_CLOEXEC) = 16
3624 [pid 10026] poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
3625 [pid 10026] poll([{fd=6, events=POLLIN}], 1, 0) = 1 ([{fd=6, revents=POLLIN}])
3626 [pid 10026] recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\6\1s\0\6\0\0\0:1.337\0\0\5\1u\0\n\0\0\0\7\1s\0\24\0\0\0"..., iov_len=56}], msg_iovlen=1, msg_controllen=0, msg_f     lags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 56
3627 [pid 10026] poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
3628 [pid 10026] poll([{fd=6, events=POLLIN}], 1, 0) = 1 ([{fd=6, revents=POLLIN}])
3629 [pid 10026] recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\r\0\0\0005\0\0\0", iov_len=16}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG     _CMSG_CLOEXEC) = 16
3630 [pid 10026] poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
3631 [pid 10026] poll([{fd=6, events=POLLIN}], 1, 0) = 1 ([{fd=6, revents=POLLIN}])
3632 [pid 10026] recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\6\1s\0\6\0\0\0:1.337\0\0\5\1u\0\v\0\0\0\7\1s\0\24\0\0\0"..., iov_len=56}], msg_iovlen=1, msg_controllen=0, msg_f     lags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 56
3633 [pid 10026] poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
3634 [pid 10026] poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
3635 [pid 10026] write(7, "\1\0\0\0\0\0\0\0", 8) = 8
3636 [pid 10026] poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 2, -1) = 1 ([{fd=7, revents=POLLIN}])
3637 [pid 10026] read(7, "\1\0\0\0\0\0\0\0", 16) = 8
3638 [pid 10026] poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 2, -1 <unfinished ...>
3639 [pid 10024] <... poll resumed> )        = 0 (Timeout)
------