nats-io/nats-server · error
processRoutedOriginClusterMsgArgs Header Size larger then To
Error message
processRoutedOriginClusterMsgArgs Header Size larger then TotalSize: '%s'
What it means
Sanity check after parsing the routed origin-cluster message: the declared header size exceeds the declared total message size, which is impossible for a well-formed message (headers are a prefix of the payload). The full raw arg line is echoed; indicates corrupted size fields or misaligned parsing of the argument tokens.
Source
Thrown at server/route.go:268
// Grab size.
c.pa.szb = args[len(args)-1]
c.pa.size = parseSize(c.pa.szb)
// Grab queue names.
if c.pa.reply != nil {
c.pa.queues = args[5 : len(args)-2]
} else {
c.pa.queues = args[4 : len(args)-2]
}
}
if c.pa.hdr < 0 {
return fmt.Errorf("processRoutedOriginClusterMsgArgs Bad or Missing Header Size: '%s'", arg)
}
if c.pa.size < 0 {
return fmt.Errorf("processRoutedOriginClusterMsgArgs Bad or Missing Size: '%s'", args)
}
if c.pa.hdr > c.pa.size {
return fmt.Errorf("processRoutedOriginClusterMsgArgs Header Size larger then TotalSize: '%s'", arg)
}
// Common ones processed after check for arg length
c.pa.origin = args[0]
c.pa.account = args[1]
c.pa.subject = args[2]
if len(an) > 0 {
c.pa.pacache = c.pa.subject
} else {
c.pa.pacache = arg[len(args[0])+1 : len(args[0])+len(args[1])+len(args[2])+2]
}
return nil
}
// Process an inbound HMSG specification from the remote route.
func (c *client) processRoutedHeaderMsgArgs(arg []byte) error {
// Unroll splitArgs to avoid runtime/heap issues
args := c.argsa[:0]View on GitHub (pinned to 3a66a489d2)
Solutions
- Inspect the echoed arg line to see the header vs total size values
- Verify peers run compatible nats-server versions
- Check for intermediaries corrupting route traffic
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/route.go:268 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nats-io/nats-server@3a66a489d2 (2026-09-02).
Data as JSON: /api/errors/705ce78b89304da4.
Report an issue: GitHub.