Two things in vc_render_tifxyz that both fail quietly.
--cache-gb defaults to 16. On a Docker host with a 15 GB memory limit the container sits at the ceiling and produces no output and no log line for as long as you leave it — indistinguishable from a slow render. I killed it twice before thinking to look at the memory graph, where it was sitting at 14.33 GB / 15.17 GB. With --cache-gb 4 the same surface renders at about 5.7 GB resident.
Clamping the default to something under the visible container limit, or just warning when the requested cache exceeds available memory, would save people that hour.
An interrupted render leaves zero-byte TIFFs, and the resume path counts them as done. After the first kill, re-running printed:
[tif] all slices exist, skipping.
The check tests whether the file exists rather than whether it decodes, so a crashed render permanently poisons its own output directory until the stubs are deleted by hand. Checking that each existing slice actually opens would make resume safe after a crash, which is the case where you most want it.
Two things in
vc_render_tifxyzthat both fail quietly.--cache-gbdefaults to 16. On a Docker host with a 15 GB memory limit the container sits at the ceiling and produces no output and no log line for as long as you leave it — indistinguishable from a slow render. I killed it twice before thinking to look at the memory graph, where it was sitting at 14.33 GB / 15.17 GB. With--cache-gb 4the same surface renders at about 5.7 GB resident.Clamping the default to something under the visible container limit, or just warning when the requested cache exceeds available memory, would save people that hour.
An interrupted render leaves zero-byte TIFFs, and the resume path counts them as done. After the first kill, re-running printed:
The check tests whether the file exists rather than whether it decodes, so a crashed render permanently poisons its own output directory until the stubs are deleted by hand. Checking that each existing slice actually opens would make resume safe after a crash, which is the case where you most want it.