An experimental branch has been created called heap-size. The goal is for ECL to automatically resize the requested heap smaller, or to raise the soft OS process RLIMIT_DATA to satisfy the heap size. Without this, it's possible for ECL to freeze if it reaches the OS-imposed limit.
The latest commit includes a message on how to test it: https://gitlab.com/embeddable-common-lisp/ecl/commit/a9f0539cea3f3b451007f84...
Code testing and review is welcome. Notably hackish is heap_gap, which is a guess on the heap size ECL already needs other than the boehm-gc/general heap we're configuring with --heap-size. If it's always large enough, all should be fine, but if it's not, the freezing issue could still occur.
There might be other ways to solve the freeze at the allocator or boehm-gc levels. However, it will still be useful for ECL to adapt the heap to the OS-imposed limit, and to adapt the soft OS limit to the heap ECL wants to use.
This is unrelated to the new ECL release; once considered stable enough the heap-size branch should be merged on the develop branch.
Thanks,