ed8a225106
Deploy / deploy (push) Successful in 6m5s
Blender renders failed with "produced no output for 600s" on every attempt while rendering perfectly well. Two causes, both mine. BeginOutputReadLine raises an event per newline, and Blender writes its render status with a carriage return so it overwrites one line in place — a frame taking longer than the stall timeout emits no newline for its whole duration. stdout is now read as a character stream with CR and LF both ending a line. The watchdog was also stricter than its own message: it only accepted a recognised Fra:/Saved: line as a sign of life, so any output we were not parsing counted as silence. Any output now proves Blender is alive, which is what "produced no output" is asking; finished frames still drive progress, since a single frame emits hundreds of status updates. Also passes -noaudio: a render node has no sound device, and initialising audio under a session-less service account is a known way to hang. Covered by tests over a realistic stdout chunk where progress is CR-separated and only the saved lines end in LF — newline-only splitting yields one unusable blob and no progress at all. Worker 1.5.1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>