I’m seeing OOMs happen reliably during the linking step in the #19460 Cirrus “[multiprocess, DEBUG] [focal]” build after pushing an update to the PR yesterday to fix a silent merge conflict. Since there is not a big difference between #19640 and #10102, I’m afraid the same problem will happen in all other multiprocess PRs next time I need to update them.
The build output https://cirrus-ci.com/task/5424472971804672 shows a “Container errored with ‘OOMKilled’” error during the CXXLD bitcoin-gui
build step after memory usage spikes to 7.50GB. I’ve haven’t seen this error before, and I’m not sure if it started happening now due to different container settings, or due to different debug build options, or for another reason. I’m not sure what the simplest fix would be either. It doesn’t seem like 7.5GB is a huge amount of memory to need for a debug build of a c++ program with some generated code and a lot of template usage, so maybe the container memory limit could just be increased. But at the same time it could also be helpful to know what might have changed recently that could cause the new error, and if there’s a simple change to build settings that could be reverted in some other case where we might want to reduce memory usage.