mlswg / mls-implementations

Coordination of implementation and interop specific details
113 stars 14 forks source link

deep_random.json Interop test goes OOM #187

Open OtaK opened 7 months ago

OtaK commented 7 months ago

Hi,

I tried a test run of the interop deep_random.json test and it OOMs pretty reliably after taking more than 30GB of RAM:

5006   │ Mar 16 15:07:21 localhost kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=3,mems_
       │ allowed=0,global_oom,task_memcg=/docker/f86b435b10037000fe30a62a0137bd84e5a7aa7a6ff0411fc980dd6dfee6
       │ ff42,task=test-runner,pid=12491,uid=1000
5007   │ Mar 16 15:07:23 localhost kernel: oom_reaper: reaped process 12491 (test-runner), now anon-rss:3172k
       │ B, file-rss:0kB, shmem-rss:0kB

Here's the command I use to run it:

 docker compose run spec-runner -suite 1 -client c1:50875 -client c2:50052 -config=../configs/deep_random.json | jq '[.scripts[][] | select(.error) | {cs: .cipher_suite, actors: .actors,error: .error,failed_step: .failed_step,failed_step_json: .failed_step_json | fromjson}]'

Seems like the Go GC isn't doing its job there, what can we do to allow it to run?