{"record":{"id":"d6f8d9c621c8e66e","repo":"nats-io/nats-server","slug":"processroutedoriginclustermsgargs-bad-or-missing-h","errorCode":null,"errorMessage":"processRoutedOriginClusterMsgArgs Bad or Missing Header Size: '%s'","messagePattern":"processRoutedOriginClusterMsgArgs Bad or Missing Header Size: '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/route.go","lineNumber":262,"sourceCode":"\t\t}\n\n\t\t// Grab header size.\n\t\tc.pa.hdb = args[len(args)-2]\n\t\tc.pa.hdr = parseSize(c.pa.hdb)\n\n\t\t// Grab size.\n\t\tc.pa.szb = args[len(args)-1]\n\t\tc.pa.size = parseSize(c.pa.szb)\n\n\t\t// Grab queue names.\n\t\tif c.pa.reply != nil {\n\t\t\tc.pa.queues = args[5 : len(args)-2]\n\t\t} else {\n\t\t\tc.pa.queues = args[4 : len(args)-2]\n\t\t}\n\t}\n\tif c.pa.hdr < 0 {\n\t\treturn fmt.Errorf(\"processRoutedOriginClusterMsgArgs Bad or Missing Header Size: '%s'\", arg)\n\t}\n\tif c.pa.size < 0 {\n\t\treturn fmt.Errorf(\"processRoutedOriginClusterMsgArgs Bad or Missing Size: '%s'\", args)\n\t}\n\tif c.pa.hdr > c.pa.size {\n\t\treturn fmt.Errorf(\"processRoutedOriginClusterMsgArgs Header Size larger then TotalSize: '%s'\", arg)\n\t}\n\n\t// Common ones processed after check for arg length\n\tc.pa.origin = args[0]\n\tc.pa.account = args[1]\n\tc.pa.subject = args[2]\n\tif len(an) > 0 {\n\t\tc.pa.pacache = c.pa.subject\n\t} else {\n\t\tc.pa.pacache = arg[len(args[0])+1 : len(args[0])+len(args[1])+len(args[2])+2]\n\t}\n\treturn nil","sourceCodeStart":244,"sourceCodeEnd":280,"githubUrl":"https://github.com/nats-io/nats-server/blob/3a66a489d262bf89b71a71c955c94920394532f3/server/route.go#L244-L280","documentation":"After parsing, the header-size token of the routed origin-cluster message produced a negative value via parseSize — i.e. the token could not be parsed as a non-negative size (parseSize returns -1 on failure). The offending raw argument line is echoed. Causes: non-numeric header size field or a protocol/version mismatch shifting field positions.","triggerScenarios":"Thrown at server/route.go:262 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the header size token is a plain decimal byte count","Check for route protocol version mismatch between peers","Ensure nothing altered the message between sender and receiver"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3a66a489d262bf89b71a71c955c94920394532f3","analyzedAt":"2026-09-02T04:41:54.247Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}