Skip to main content
Version: v0.2.0

sflow Error Analysis

Triage Flow

  1. Identify category from the error message (see table below)
  2. Locate source -- check the file/line hint or task log
  3. Apply fix from the quick-fix table or error-catalog.md

Error Categories

CategoryMarkerWhere to Look
Config loadingConfiguration error:, File not found:CLI output / sflow.log
YAML syntaxError parsing YAMLCLI output
ExpressionUndefined variable, Invalid expression syntaxCLI output
ArtifactArtifact path validation failedCLI output / dry-run
Merge conflictVersion conflict, Workflow name conflictCLI output (multi-file)
SLURMsalloc failed, sbatch failedCLI / sbatch stderr
Probe timeoutTask stuck waiting<task>/<task>.log
Task failureTraceback, non-zero exit<task>/<task>.log
Batch/CSVCSV file, sflow_config_file columnCLI output

Log Locations

<output_dir>/<run_id>/
sflow.log # orchestrator log
<task_name>/<task_name>.log # task stdout/stderr
<task_name>_0/ # replica 0

Batch jobs: also check the .sh script and sbatch stdout/stderr files.

Quick-Fix Table

Error TextFix
Configuration file not found: <path>Check -f path
Error parsing YAML configuration: <detail>Fix YAML syntax at indicated line
Configuration validation failed: <detail>Check field types/values (schema-reference.md)
Variable '<key>' specified in overrides is not definedDeclare variable in YAML first
Undefined variable in expressionFix spelling; ensure variable is declared
Invalid expression syntaxFix ${{ }} Jinja2 syntax
Artifact path validation failedFix fs:// path or create it
Version conflictAll files must use version: "0.1"
Probe timeout (task hangs)Check task log; adjust regex_pattern / timeout
Traceback in task logRead traceback for root cause
salloc failedCheck partition/account/availability
CSV file must contain a 'sflow_config_file' columnAdd required column to CSV

Quick Diagnostic Commands

# Validate config without executing
sflow run -f config.yaml --dry-run

# See resolved expressions
sflow compose file1.yaml file2.yaml --resolve -o merged.yaml

# Check SLURM environment
sinfo -p <partition>
sacctmgr show account <name>

# Parse errors from log
python scripts/parse_sflow_errors.py <sflow.log>
python scripts/parse_sflow_errors.py - < <(sflow run -f config.yaml --dry-run 2>&1)

# Summarize a run's output
python scripts/summarize_run.py <output_dir>/<run_id>/

Common Runtime Issues

  • OOM: Reduce batch size, TP/DP, or model size
  • Port conflict: Kill stale processes or adjust port offsets
  • Container not found: Verify image URI and registry access
  • NCCL errors: Set NCCL_SOCKET_IFNAME, check inter-node network
  • Probe mismatch: Server output doesn't match regex_pattern

Additional Resources