I'm basically submitting this report to document what I'm about to fix.
TinyScheme sometimes runs out of memory when it should have plenty, ie when sc->last_cell_seg is much less than CELL_NSEGMENT.
This happens, as I discovered under gdb, because get_consecutive_cells, even if it succeeds in finding cells on the second try, will try a third time. That can fail under the right conditions. Then it assumes it already tried allocating more memory.
Stress test: Runs out of memory prematurely