{"record":{"id":"6f07cd27266ed260","repo":"vllm-project/vllm","slug":"invalid-repetition-detection-params-message","errorCode":null,"errorMessage":"invalid repetition detection params: {message}","messagePattern":"invalid repetition detection params: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":400,"severity":"error","filePath":"rust/src/text/src/error.rs","lineNumber":38,"sourceCode":"    #[error(\n        \"this model's maximum context length is {max_model_len} tokens, \\\n         but the prompt contains {prompt_len} input tokens\"\n    )]\n    PromptTooLong { max_model_len: u32, prompt_len: u32 },\n    #[error(transparent)]\n    Logprobs(#[from] LogprobsError),\n    #[error(transparent)]\n    TokenIds(#[from] TokenIdsError),\n    #[error(transparent)]\n    SamplingParams(#[from] SamplingParamsError),\n    #[error(\n        \"`min_tokens` must be less than or equal to `max_tokens`, \\\n         got min_tokens={min_tokens}, max_tokens={max_tokens}\"\n    )]\n    MinTokensExceedsMaxTokens { min_tokens: u32, max_tokens: u32 },\n    #[error(\"`thinking_token_budget` must be a non-negative integer or -1 for unlimited.\")]\n    InvalidThinkingTokenBudget,\n    #[error(\"invalid repetition detection params: {message}\")]\n    InvalidRepetitionDetection { message: String },\n    #[error(\"text request stream `{request_id}` closed before terminal output\")]\n    StreamClosedBeforeTerminalOutput { request_id: String },\n    #[error(transparent)]\n    Llm(#[from] LlmError),\n    #[error(transparent)]\n    EngineCore(#[from] EngineCoreError),\n}\n\npub type Result<T> = std::result::Result<T, Error>;\n\nimpl Error {\n    /// Whether this error represents invalid user request parameters.\n    pub fn is_request_validation_error(&self) -> bool {\n        match self {\n            Self::PromptTooLong { .. }\n            | Self::EmptyPromptTokenIds { .. }\n            | Self::EmptyStopString { .. }","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/rust/src/text/src/error.rs#L20-L56","documentation":"Carries a free-form message describing an invalid `repetition_detection` parameter block; the enum message is `invalid repetition detection params: {message}`. Produced by `validate_repetition_detection` (rust/src/text/src/lower.rs:212-237) in exactly two cases: `min_pattern_size > max_pattern_size`, or `max_pattern_size > 0` while `min_count < 2`. Request-validation error.","triggerScenarios":"Sending a request with `repetition_detection` where min_pattern_size exceeds max_pattern_size, or where detection is enabled (max_pattern_size > 0) but min_count is 0 or 1.","commonSituations":"Tuning anti-repetition heuristics by hand and inverting the size bounds; copying example configs from a different vLLM version with different defaults; setting min_count=1 thinking it means 'report first occurrence'.","solutions":["Set min_pattern_size <= max_pattern_size","Set min_count >= 2 when max_pattern_size > 0","To disable repetition detection, omit the block or use the API's disabled form (a disabled block is filtered out before validation)"],"exampleFix":"// before\nrepetition_detection = { min_pattern_size: 10, max_pattern_size: 5, min_count: 1 }\n\n// after\nrepetition_detection = { min_pattern_size: 5, max_pattern_size: 10, min_count: 3 }","handlingStrategy":"validation","validationCode":"if let Some(rd) = &request.repetition_detection {\n    assert!(rd.min_pattern_size <= rd.max_pattern_size);\n    if rd.max_pattern_size > 0 {\n        assert!(rd.min_count >= 2);\n    }\n}","typeGuard":"fn is_repetition_detection_error(e: &Error) -> bool {\n    matches!(e, Error::InvalidRepetitionDetection { .. })\n}","tryCatchPattern":"match lower_request(params) {\n    Err(Error::InvalidRepetitionDetection { message }) => bad_request(message),\n    other => other,\n}","preventionTips":["Keep min_pattern_size <= max_pattern_size and min_count >= 2 in any repetition-detection preset","Omit the block entirely to disable detection rather than zeroing fields"],"tags":["rust","validation","repetition-detection","vllm"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}