XTLS/Xray-core · error

invalid send variant index: %d

Error message

invalid send variant index: %d

What it means

Error "invalid send variant index: %d" thrown in XTLS/Xray-core.

Source

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

		}
		targetLength, err := randomPaddingTarget(minimum, maximum)
		return targetLength, nil, nil, err
	}

	indices := turn.sendVariants
	if len(indices) == 0 {
		indices = make([]int, len(turn.variants))
		for i := range indices {
			indices[i] = i
		}
	}
	selected, err := randomPaddingIndex(len(indices))
	if err != nil {
		return 0, nil, nil, err
	}
	variantIndex := indices[selected]
	if variantIndex < 0 || variantIndex >= len(turn.variants) {
		return 0, nil, nil, fmt.Errorf("invalid send variant index: %d", variantIndex)
	}
	variant := turn.variants[variantIndex]
	targetLength := paddingVariantLength(variant)
	chunks, delays, err := trimPaddingPrefix(variant, prefixLength)
	if err != nil {
		return 0, nil, nil, err
	}
	return targetLength, chunks, delays, nil
}

func trimPaddingPrefix(variant paddingVariant, prefixLength int) ([]int, []paddingDelayRange, error) {
	remainingPrefix := prefixLength
	firstChunk := 0
	for firstChunk < len(variant.chunks) && remainingPrefix > 0 {
		chunkLength := variant.chunks[firstChunk]
		if remainingPrefix < chunkLength {
			return nil, nil, fmt.Errorf("prefix length %d splits chunk %d", prefixLength, firstChunk)
		}

View on GitHub (pinned to 7d214f8b09)

When it happens

Trigger: Thrown at transport/internet/finalmask/xmc/padding.go:277 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/cd0e1c1fa1d08251. Report an issue: GitHub.