This post is a copy of the github issue I’ve just created to report a bug, but maybe it is us after all because it doesn’t occur with every project. Then it is not a bug but we do need help
Since the release of hex v0.20.2, we have a problem with one - but not all - of our projects. It’s an umbrella with 5 apps. When we try to execute mix.deps.get , the terminal hangs at Resolving Hex dependencies... . The process then starts to eat all available memory and swap, until (apparently) the kernel has had enough and kills it. I’ve tried this on a machine with 32GB of ram and it happily eats all of it. This issue occurs in- and out of Docker containers with multiple Elixir versions, both alpine- and debian based. The issue does not occur with hex v0.20.1 or lower.
When the process is killed, there’s some additional output (screenshot from GitLab build):
… which is weird, because it sure as hell uses a lot more than 24MB.
To demonstrate the bug, I’ve put together a repo with our mix files: https://github.com/juulSme/hex-0.20.2-to-5-bug. Cloning and running docker build . will cause the issue. Adapting the Dockerfile to use hex v0.20.1 solves it. Maybe the problem is in our mix files somewhere, because we don’t experience it with all of our projects.
Update: I’ve narrowed down the issue a bit further. I’ve removed some dependencies and some umbrella apps. There’s 2 apps left down from 5, my_app and my_app_endpoint that apparently cause the issue together. They don’t share any dependencies except for gettext ~> 0.14.