{"record":{"id":"70f9ff0285216b90","repo":"vllm-project/vllm","slug":"at-most-limit-modality-s-may-be-provided-in-o","errorCode":null,"errorMessage":"At most {limit} {modality}(s) may be provided in one prompt.","messagePattern":"At most (.+?) (.+?)\\(s\\) may be provided in one prompt\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"rust/src/chat/src/error.rs","lineNumber":26,"sourceCode":"\n#[derive(Debug, Error, Macro)]\n#[thiserror_ext(macro(path = \"crate::error\"))]\npub enum Error {\n    #[error(\"chat request must contain at least one message\")]\n    EmptyMessages,\n    #[error(\"cannot continue the final message when the last message is not from the assistant\")]\n    ContinueFinalAssistantWithoutFinalAssistant,\n    #[error(\"chat template is required but none was configured\")]\n    MissingChatTemplate,\n    #[error(\"chat template error: {0}\")]\n    ChatTemplate(String),\n    #[error(\"multimodal input is not supported by this chat renderer\")]\n    UnsupportedMultimodalRenderer,\n    #[error(\"unsupported multimodal content: {0}\")]\n    UnsupportedMultimodalContent(&'static str),\n    #[error(\"`{modality}` input is not supported by this model\")]\n    UnsupportedModality { modality: String },\n    #[error(\"At most {limit} {modality}(s) may be provided in one prompt.\")]\n    MmLimitExceeded { modality: String, limit: usize },\n    #[error(\"multimodal preprocessing error: {0}\")]\n    Multimodal(#[message] String),\n    #[error(\"{kind} parsing is not available for model `{model_id}`\")]\n    ParserUnavailableForModel {\n        kind: &'static str,\n        model_id: String,\n    },\n    #[error(\"{kind} parsing is disabled by frontend configuration\")]\n    ParserDisabled { kind: &'static str },\n    #[error(\n        \"{kind} parser `{name}` is not registered{}\",\n        available_parser_hint(.available_names)\n    )]\n    ParserUnavailableByName {\n        kind: &'static str,\n        name: String,\n        available_names: Vec<String>,","sourceCodeStart":8,"sourceCodeEnd":44,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/rust/src/chat/src/error.rs#L8-L44","documentation":"The EPLB communicator factory reached the end of its dispatch chain without matching the backend string. Recognized values are 'nixl', 'torch_gloo', 'torch_nccl', and 'pynccl'; anything else (including typos) raises this ValueError.","triggerScenarios":"Calling the factory with an arbitrary or misspelled backend string, e.g. 'gloo', 'nccl', or 'NIXL' (case-sensitive).","commonSituations":"User-supplied config strings; case mismatches; backends removed or renamed across vLLM versions.","solutions":["Use one of: 'nixl', 'torch_gloo', 'torch_nccl', 'pynccl' (exact lowercase)","Validate/normalize the backend string at config load time instead of deep in the factory"],"exampleFix":"# before\nbackend = \"nccl\"\n\n# after\nbackend = \"torch_nccl\"","handlingStrategy":"type-guard","validationCode":"VALID_EPLB_BACKENDS = {'nixl', 'torch_gloo', 'torch_nccl', 'pynccl'}\nassert backend in VALID_EPLB_BACKENDS, f'backend must be one of {VALID_EPLB_BACKENDS}'","typeGuard":"def is_valid_eplb_backend(backend: str) -> bool:\n    return backend in ('nixl', 'torch_gloo', 'torch_nccl', 'pynccl')","tryCatchPattern":null,"preventionTips":["Validate the backend string at config-load time with an explicit allow-list","Normalize case and strip whitespace on user-supplied backend values"],"tags":["eplb","backend-selection","invalid-argument","vllm"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}