You are not logged in.
Hi,
I'm a great fan of Cinnamon, however the first slow startup upon boot drives me nuts. I'm running it using /usr/bin/startx + ~/.xinitrc, but the problem persists with any other login manager. First launch takes around ~40 seconds, further are ~10 times faster. Problem persists on various ArchLinux PCs that I tested. Here's what I figured out:
[anderson@osprey ~]$ egrep -v '\s{5}0.' ~/cinnamon.trace -B 3 | head -n 30
0.000079 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x7fe60ca60200}, NULL, 8) = 0 <0.000014>
0.000068 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000014>
0.000058 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}], 7, 11527) = 1 ([{fd=3, revents=POLLIN}]) <3.428440>
3.428537 write(6, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000008>
--
0.000049 read(6, "\3\0\0\0\0\0\0\0", 16) = 8 <0.000009>
0.000032 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000008>
0.000030 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 7, 8097) = 0 (Timeout) <8.105136>
8.105225 read(6, 0x7fff67d7a250, 16) = -1 EAGAIN (Resource temporarily unavailable) <0.000041>
0.000136 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000044>
0.000105 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 7, 14992) = 0 (Timeout) <15.007143>
15.007417 writev(2, [{"cinnamon-session[434]: WARNING: "..., 113}], 1) = 113 <0.000167>
--
0.000308 wait4(596, 0x1535b14, WNOHANG, NULL) = 0 <0.000110>
0.000270 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000031>
0.000148 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 7, 29906) = 1 ([{fd=3, revents=POLLIN}]) <2.213184>
2.213334 write(6, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000076>
--
0.000084 read(6, "\4\0\0\0\0\0\0\0", 16) = 8 <0.000016>
0.000113 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000017>
0.000063 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN}, {fd=17, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 8, 16398) = 1 ([{fd=3, revents=POLLIN}]) <3.363225>
3.363316 read(6, 0x7fff67d7a250, 16) = -1 EAGAIN (Resource temporarily unavailable) <0.000013>
--
0.000093 read(6, "\3\0\0\0\0\0\0\0", 16) = 8 <0.000017>
0.000071 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000018>
0.000068 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN}, {fd=17, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 8, 13034) = 1 ([{fd=3, revents=POLLIN}]) <1.542147>
1.542275 read(6, 0x7fff67d7a250, 16) = -1 EAGAIN (Resource temporarily unavailable) <0.000015>
--
0.000071 read(6, "\3\0\0\0\0\0\0\0", 16) = 8 <0.000014>
0.000057 recvmsg(7, 0x7fff67d7a0a0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000016>if [ $TL_DR ]; then echo "Take a look at these lines in particular:"; fi
0.000030 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 7, 8097) = 0 (Timeout) <8.105136>
0.000063 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN}, {fd=17, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 8, 16398) = 1 ([{fd=3, revents=POLLIN}]) <3.363225>
0.000068 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=15, events=POLLIN}, {fd=10, events=POLLIN}, {fd=17, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 8, 13034) = 1 ([{fd=3, revents=POLLIN}]) <1.542147>
0.000105 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 7, 14992) = 0 (Timeout) <15.007143>
0.000148 poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=10, events=POLLIN}, {fd=15, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 7, 29906) = 1 ([{fd=3, revents=POLLIN}]) <2.213184>Take a look at system call duration at the end of each line in triangular brackets... Those polls take up to 15 seconds each! However, I'm not so good with strace and wanted to ask here: what the heck is it polling so long? "File descriptor 7" is not so informative.
Full log posted here (~5.5 M): wget http://sprunge.us/UPIP -O cinnamon.strace
TIA!
Andrew
Last edited by Anderson (2014-10-07 21:22:04)
Offline
Not a Pacman issue, moving to Apps and DEs...
Offline