nats-io/nats-server · error
too many slashes: %s
Error message
too many slashes: %s
What it means
getRange supports at most one '/' step modifier per cron field segment; a segment containing multiple slashes is rejected. The step syntax is 'range/step' where range may be '*', a number, or a 'low-high' range.
Source
Thrown at server/cron.go:218
}
switch len(rangeAndStep) {
case 1:
step = 1
case 2:
step, err = mustParseInt(rangeAndStep[1])
if err != nil {
return 0, err
}
// Special handling: "N/step" means "N-max/step".
if singleDigit {
end = r.max
}
if step > 1 {
extra = 0
}
default:
return 0, fmt.Errorf("too many slashes: %s", expr)
}
if start < r.min {
return 0, fmt.Errorf("beginning of range (%d) below minimum (%d): %s", start, r.min, expr)
}
if end > r.max {
return 0, fmt.Errorf("end of range (%d) above maximum (%d): %s", end, r.max, expr)
}
if start > end {
return 0, fmt.Errorf("beginning of range (%d) beyond end of range (%d): %s", start, end, expr)
}
if step == 0 {
return 0, fmt.Errorf("step of range should be a positive number: %s", expr)
}
return getBits(start, end, step) | extra, nil
}
// parseIntOrName returns the (possibly-named) integer contained in expr.View on GitHub (pinned to 3a66a489d2)
Solutions
- Use a single '/' per segment: "*/2"
- Combine distinct stepped values with commas: "0-10/2,20-30/3"
- Put the start into the range part instead of a second slash: "5-59/10"
Example fix
// before expr := "*/2/3" // after expr := "*/2"
Defensive patterns
Strategy: validation
Validate before calling
if strings.Count(seg, "/") > 1 {
return fmt.Errorf("at most one '/' step allowed in %q", seg)
} Prevention
- Use a single '/' per cron field segment
- Combine stepped ranges with commas instead of nested steps
When it happens
Trigger: A cron field containing more than one '/', e.g. minutes "*/2/3" or "1-10/2/2", parsed via parseCron -> getField -> getRange.
Common situations: Trying to compose 'every 2 starting at X' and 'every 3' in one segment instead of a comma list.
Related errors
- pattern requires 6 fields, got %d
- too many hyphens: %s
- beginning of range (%d) below minimum (%d): %s
- end of range (%d) above maximum (%d): %s
- beginning of range (%d) beyond end of range (%d): %s
AI-assisted analysis of nats-io/nats-server@3a66a489d2 (2026-09-02).
Data as JSON: /api/errors/7363ffa7fc952d67.
Report an issue: GitHub.