Continuous 100% CPU usage by PID 1 /fly/init

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?

That doesn’t seem to make a 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