I’m seeing continuous 100% CPU usage by PID 1 /fly/init in one of my apps. Inside the container is a Go service managed by supervisord
. The name of this app is logshipper-1
.
Attaching an strace
log from PID 1 in case that’s useful:
Looks like an infinite loop of futex and eventfd operations. fd 3/4 appearing in the log are eventfd
and eventpoll
:
0 lrwx------ 1 root root 64 Oct 6 15:06 3 -> 'anon_inode:[eventpoll]'
0 lrwx------ 1 root root 64 Oct 6 15:06 4 -> 'anon_inode:[eventfd]'
gdb cannot resolve symbols so not able to provide stacktrace. Maybe it would be a good idea to make /fly/init
accessible?
Hi @losfair
Very odd. I’m curious if you have tried stopping your Go service, supervisorctl stop <service>
to see if that makes any difference?
Here’s my supervisor.conf
, just in case:
[supervisord]
logfile=/dev/stdout
logfile_maxbytes=0
loglevel=info
pidfile=/tmp/supervisord.pid
nodaemon=true
user=root
[unix_http_server]
file=/tmp/supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:redacted]
command=[redacted]
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
Can you please try redeploying your app?
Redeploying fixed it. Was it a bug in /fly/init
?
Yes, it was a bug. We reverted you to a previous version and are investigating. Sorry for the issues.
2 Likes