{"record":{"id":"4476123db632da3d","repo":"vllm-project/vllm","slug":"modality-input-is-not-supported-by-this-model","errorCode":null,"errorMessage":"`{modality}` input is not supported by this model","messagePattern":"`(.+?)` input is not supported by this model","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"rust/src/chat/src/error.rs","lineNumber":24,"sourceCode":"\ntype BoxedError = Box<dyn std::error::Error + Send + Sync>;\n\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,","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/rust/src/chat/src/error.rs#L6-L42","documentation":"The NixlEplbCommunicator constructor raised {exc}; the factory wraps and chains it. The underlying failure is usually inside agent creation, descriptor registration, or an assertion on empty weights/buffers (the constructor asserts non-empty all_expert_weights and expert_buffer).","triggerScenarios":"Passing empty all_expert_weights or expert_buffer; a NIXL agent/descriptor error from _init_step (see error 464) bubbling through the factory; invalid cpu_group for collective metadata exchange.","commonSituations":"Initializing EPLB before the model's expert weights are populated; fabric/UCX problems during agent creation; elastic ranks constructing the communicator with different world sizes.","solutions":["Check the chained exception text for the specific failing step — the factory re-raises the original cause","Confirm all_expert_weights and expert_buffer are non-empty and on the correct device","If the cause is a _init_step failure, follow the fixes for error 464 (UCX/NIXL environment)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"assert all_expert_weights and expert_weights, 'NixlEplbCommunicator requires non-empty weights and buffer'","typeGuard":null,"tryCatchPattern":"try:\n    comm = NixlEplbCommunicator(...)\nexcept RuntimeError as e:\n    if 'Failed to initialize NixlEplbCommunicator' in str(e):\n        log.error('cause: %r', e.__cause__)\n    raise","preventionTips":["Populate expert weights and buffers before constructing the communicator","Log the chained cause; the wrapper adds no new information"],"tags":["nixl","eplb","initialization","vllm"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}