XTLS/Xray-core · error

write padding chunk %d: %w

Error message

write padding chunk %d: %w

What it means

Error "write padding chunk %d: %w" thrown in XTLS/Xray-core.

Source

Thrown at transport/internet/finalmask/xmc/padding.go:212

			*reusableBuffer = make([]byte, maxChunkLength)
		}
		buffer = (*reusableBuffer)[:maxChunkLength]
		clear(buffer)
	}
	copy(buffer, header.Bytes())
	written := 0
	for i, chunkLength := range chunks {
		if i < len(delays) {
			delay, delayErr := randomPaddingDelay(delays[i])
			if delayErr != nil {
				return fmt.Errorf("select padding chunk %d delay: %w", i, delayErr)
			}
			if delay > 0 {
				sleep(delay)
			}
		}
		if err = writeFull(w, buffer[:chunkLength]); err != nil {
			return fmt.Errorf("write padding chunk %d: %w", i, err)
		}
		written += chunkLength
		if i == 0 {
			clear(buffer[:header.Len()])
		}
	}
	if written != recordLength {
		return fmt.Errorf("padding chunks total %d, want %d", written, recordLength)
	}
	return nil
}

func readPaddingTurn(r io.Reader, turn paddingTurn, prefixLength int) error {
	encodedLength, headerLength, err := readVarintWithLength(r)
	if err != nil {
		return fmt.Errorf("read padding header: %w", err)
	}
	recordLength := int(encodedLength)

View on GitHub (pinned to 7d214f8b09)

When it happens

Trigger: Thrown at transport/internet/finalmask/xmc/padding.go:212 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of XTLS/Xray-core@7d214f8b09 (2026-08-15). Data as JSON: /api/errors/638794db4067e0cf. Report an issue: GitHub.