{"record":{"id":"297cb9bcdbe33f11","repo":"XTLS/Xray-core","slug":"padding-chunks-total-d-want-d","errorCode":null,"errorMessage":"padding chunks total %d, want %d","messagePattern":"padding chunks total (.+?), want (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"transport/internet/finalmask/xmc/padding.go","lineNumber":220,"sourceCode":"\t\tif i < len(delays) {\n\t\t\tdelay, delayErr := randomPaddingDelay(delays[i])\n\t\t\tif delayErr != nil {\n\t\t\t\treturn fmt.Errorf(\"select padding chunk %d delay: %w\", i, delayErr)\n\t\t\t}\n\t\t\tif delay > 0 {\n\t\t\t\tsleep(delay)\n\t\t\t}\n\t\t}\n\t\tif err = writeFull(w, buffer[:chunkLength]); err != nil {\n\t\t\treturn fmt.Errorf(\"write padding chunk %d: %w\", i, err)\n\t\t}\n\t\twritten += chunkLength\n\t\tif i == 0 {\n\t\t\tclear(buffer[:header.Len()])\n\t\t}\n\t}\n\tif written != recordLength {\n\t\treturn fmt.Errorf(\"padding chunks total %d, want %d\", written, recordLength)\n\t}\n\treturn nil\n}\n\nfunc readPaddingTurn(r io.Reader, turn paddingTurn, prefixLength int) error {\n\tencodedLength, headerLength, err := readVarintWithLength(r)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"read padding header: %w\", err)\n\t}\n\trecordLength := int(encodedLength)\n\tif recordLength < headerLength || recordLength > maxPaddingTurnLength {\n\t\treturn fmt.Errorf(\"invalid padding record length: %d\", recordLength)\n\t}\n\ttotalLength := prefixLength + recordLength\n\tif !paddingTurnAcceptsLength(turn, totalLength) {\n\t\tif len(turn.variants) > 0 {\n\t\t\treturn fmt.Errorf(\"padding turn length %d is not an allowed variant\", totalLength)\n\t\t}","sourceCodeStart":202,"sourceCodeEnd":238,"githubUrl":"https://github.com/XTLS/Xray-core/blob/7d214f8b094f75322fa3990f8aadad1c912f24f5/transport/internet/finalmask/xmc/padding.go#L202-L238","documentation":"Error \"padding chunks total %d, want %d\" thrown in XTLS/Xray-core.","triggerScenarios":"Thrown at transport/internet/finalmask/xmc/padding.go:220 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d214f8b094f75322fa3990f8aadad1c912f24f5","analyzedAt":"2026-08-15T14:26:24.325Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}