I’ve been a huge fan of Fly.io and use it for all my personal projects, which are mostly Phoenix-powered. One workflow that I find quite useful is opening a remote IEx console to do some debugging directly in production. Unfortunately, the command to open the console started failing recently and I don’t understand why. This is the error that I receive:
$ flyctl ssh console --pty -C "/app/bin/glossia remote"
Connecting to fdaa:2:7a0c:a7b:c207:9322:bd9c:2... complete
Could not start IEx CLI due to reason: :noconnection
Error: ssh shell: Process exited with status 1
A quick googling reveals that :noconnection is an error that happens when a node could not be started for IEx to connect to. A lot of this is arcane Elixir/Erlang/Beam terminology to me; but a possible reason for the node to be unstartable might be OOM. You could try either stopping processes to free up some memory for IEx to start, or bumping the memory in your VMs a bit.
By the way, if you check the “Monitoring” tab in your app’s dashboard, you should be able to see the OOM errors; you can even tail the logs with flyctl logs in one terminal and then try to invoke IEx in another one. Maybe you can catch the OOM in the act!
Please let me know what you find, I might be totally wrong