On Wed, Apr 28, 2021 at 09:00:47AM +0200, Uwe Kleine-König wrote: > Package: webext-foxyproxy > Version: 7.5.1+dfsg-1 > Severity: normal > > Hello, > > occationally (I didn't find the trigger yet) a subprocess of firefox > occupies one complete cpu. There is no functional problem, all seems to > work just fine. > > It was not clear to me what part of firefox is responsible for it, but > now I think it is foxyproxy. I started a new profile and the problem > didn't occur until I enabled foxyproxy. Today I looked in more detail > into the process' status before closing firefox (which cures the > problem): > > According to strace the process (with pid 16443) does: > > read(8, "\372", 1) = 1 > recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource > temporarily unavailable) > recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource > temporarily unavailable) > poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, > events=POLLIN}], 3, 0) = 0 (Timeout) > write(9, "\372", 1) = 1 > recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource > temporarily unavailable) > recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource > temporarily unavailable) > poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, > events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) > > in a tight loop.
I checked now what that WebExtensions process does directly after starting, there it looks like following: 09:26:10.657028 restart_syscall(<... resuming interrupted read ...>) = 1 09:26:11.155145 read(8, "\372", 1) = 1 09:26:11.155647 futex(0x7ff2ccf2aeb4, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:11.156104 write(9, "\372", 1) = 1 09:26:11.156379 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.156848 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:11.157099 read(8, "\372", 1) = 1 09:26:11.157342 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.157457 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.157786 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.157940 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.158081 write(15, "\0", 1) = 1 09:26:11.158385 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.158535 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:11.158652 read(8, "\372", 1) = 1 09:26:11.158754 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.158852 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.158974 write(9, "\372", 1) = 1 09:26:11.159077 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.159174 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:11.159284 read(8, "\372", 1) = 1 09:26:11.159395 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.159496 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.159964 futex(0x7ff2ddd32404, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:11.160060 futex(0x7ff2ddd323a8, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:11.160201 write(15, "\0", 1) = 1 09:26:11.160340 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.160554 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.160786 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.160990 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.161118 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.161218 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:11.161320 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:11.161416 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, -1) = 1 ([{fd=8, revents=POLLIN}]) 09:26:15.812258 read(8, "\372", 1) = 1 09:26:15.812513 write(15, "\0", 1) = 1 09:26:15.812724 write(9, "\372", 1) = 1 09:26:15.813013 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:15.813422 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:15.813761 read(8, "\372", 1) = 1 09:26:15.813968 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:15.814089 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:15.814204 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:15.814317 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:15.814489 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:15.814621 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:15.814735 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:15.814832 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, -1) = 1 ([{fd=8, revents=POLLIN}]) 09:26:16.160900 read(8, "\372", 1) = 1 09:26:16.161383 futex(0x7ff2ccf2aeb0, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:16.161777 write(9, "\372", 1) = 1 09:26:16.162165 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.162330 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:16.162499 read(8, "\372", 1) = 1 09:26:16.162613 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.162713 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.162827 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.162924 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.163038 write(15, "\0", 1) = 1 09:26:16.163247 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.163551 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:16.163707 read(8, "\372", 1) = 1 09:26:16.163813 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.163917 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.164040 write(9, "\372", 1) = 1 09:26:16.164144 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.164242 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:16.164347 read(8, "\372", 1) = 1 09:26:16.164442 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.164539 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.164979 futex(0x7ff2ddd32400, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:16.165093 futex(0x7ff2ddd323a8, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:16.165325 write(15, "\0", 1) = 1 09:26:16.165524 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.165663 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.165780 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.165879 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.165989 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.166088 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:16.166187 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:16.166283 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, -1) = 1 ([{fd=17, revents=POLLIN}]) 09:26:20.210584 recvmsg(17, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="U\2\252\0)W\243\6\3\24\4\0\20\0\0\0\0\0\0\24\24\24\24\24\0\0\3\37%\2\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 09:26:20.211114 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:20.211507 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:20.211829 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, -1) = 1 ([{fd=8, revents=POLLIN}]) 09:26:21.165886 read(8, "\372", 1) = 1 09:26:21.166321 futex(0x7ff2ccf2aeb4, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:21.166762 write(9, "\372", 1) = 1 09:26:21.167163 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.167331 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:21.167582 read(8, "\372", 1) = 1 09:26:21.167842 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.167966 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.168159 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.168331 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.168465 write(15, "\0", 1) = 1 09:26:21.168673 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.168875 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:21.169007 read(8, "\372", 1) = 1 09:26:21.169112 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.169242 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.169376 write(9, "\372", 1) = 1 09:26:21.169503 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.169607 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 1 ([{fd=8, revents=POLLIN}]) 09:26:21.169715 read(8, "\372", 1) = 1 09:26:21.169820 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.169928 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.170383 futex(0x7ff2ddd32404, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:21.170484 futex(0x7ff2ddd323a8, FUTEX_WAKE_PRIVATE, 1) = 1 09:26:21.170715 write(15, "\0", 1) = 1 09:26:21.170927 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.171092 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.171210 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.171310 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.171419 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 09:26:21.171520 poll([{fd=8, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}], 3, 0) = 0 (Timeout) 09:26:21.171620 recvmsg(17, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) So it at least occasionally calls poll with a non-zero timeout. > ls /proc/16443 contains: > lrwxrwxrwx 1 uwe uwe 0 Apr 28 08:25 cwd -> '/proc/16444/fdinfo (deleted)' > lrwxrwxrwx 1 uwe uwe 0 Apr 28 08:25 root -> '/proc/16444/fdinfo (deleted)' this is similar directly after startup. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |
signature.asc
Description: PGP signature