Skip to content

feat(workflow): per-step and per-tile log files - #30

Merged
lguerard merged 1 commit into
mainfrom
feat/workflow-logs
Jun 25, 2026
Merged

feat(workflow): per-step and per-tile log files#30
lguerard merged 1 commit into
mainfrom
feat/workflow-logs

Conversation

@lguerard

Copy link
Copy Markdown
Contributor

Summary

SLURM job logs came back empty on failures (message: None), making segment crashes undebuggable. Add file logging in the work dir:

  • logs/steps.log — shared by the sequential CPU steps (convert / prepare / merge)
  • logs/segment/<index>.log — one per GPU tile

_pw.start_log() tees stdout, stderr and library logging into the file, line-buffered, so a traceback (or all output up to an OOM/walltime SIGKILL) survives even when the SLURM .log is empty.

Each rule now declares log:; each script calls start_log(snakemake.log[0]).

Also reverts the earlier segment: mem_mb bump — sacct showed MaxRSS ≈ 1 GB, so the real failure is a Python error (ExitCode 1:0), not OOM.

Test

Local run 12/12; logs/steps.log holds the merge logs, logs/segment/3.log holds that tile's output.

🤖 Generated with Claude Code

Add a shared logs/steps.log for the sequential CPU steps
(convert/prepare/merge) and a logs/segment/<index>.log per GPU tile.
A line-buffered tee in _pw.start_log mirrors stdout/stderr and library
logging into the file, so a Python traceback (or output up to an OOM/
walltime kill) is preserved even when the SLURM job log is empty — which
is exactly the blind spot we hit debugging segment failures.

Also revert the segment mem_mb bump: sacct showed MaxRSS ~1 GB, so the
failure was a Python error (exit 1), not OOM.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lguerard
lguerard merged commit d64ac68 into main Jun 25, 2026
2 checks passed
@lguerard
lguerard deleted the feat/workflow-logs branch June 25, 2026 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant