vllm-project/vllm · error · Error

{kind} parsing is not available for model `{model_id}`

Error message

{kind} parsing is not available for model `{model_id}`

What it means

The KV-events endpoint is made DP-rank-unique by rewriting it, which only works for ZeroMQ inproc:// transports and tcp:// addresses. The provided endpoint string contains neither 'inproc' nor 'tcp', so no unique per-rank endpoint can be derived.

Source

Thrown at rust/src/chat/src/error.rs:30

    #[error("chat request must contain at least one message")]
    EmptyMessages,
    #[error("cannot continue the final message when the last message is not from the assistant")]
    ContinueFinalAssistantWithoutFinalAssistant,
    #[error("chat template is required but none was configured")]
    MissingChatTemplate,
    #[error("chat template error: {0}")]
    ChatTemplate(String),
    #[error("multimodal input is not supported by this chat renderer")]
    UnsupportedMultimodalRenderer,
    #[error("unsupported multimodal content: {0}")]
    UnsupportedMultimodalContent(&'static str),
    #[error("`{modality}` input is not supported by this model")]
    UnsupportedModality { modality: String },
    #[error("At most {limit} {modality}(s) may be provided in one prompt.")]
    MmLimitExceeded { modality: String, limit: usize },
    #[error("multimodal preprocessing error: {0}")]
    Multimodal(#[message] String),
    #[error("{kind} parsing is not available for model `{model_id}`")]
    ParserUnavailableForModel {
        kind: &'static str,
        model_id: String,
    },
    #[error("{kind} parsing is disabled by frontend configuration")]
    ParserDisabled { kind: &'static str },
    #[error(
        "{kind} parser `{name}` is not registered{}",
        available_parser_hint(.available_names)
    )]
    ParserUnavailableByName {
        kind: &'static str,
        name: String,
        available_names: Vec<String>,
    },
    #[error("failed to initialize {kind} parser `{name}`")]
    ParserInitialization {
        kind: &'static str,

View on GitHub (pinned to c794754062)

Solutions

  1. Use tcp://host:port (e.g. tcp://127.0.0.1:5557) or an inproc:// endpoint
  2. If a custom publisher scheme is needed, ensure its endpoint string contains 'tcp' or 'inproc', or bypass DP-suffixing by using a transport that already deduplicates ranks

Example fix

# before
kv_events_config.endpoint = "ipc:///tmp/kv"

# after
kv_events_config.endpoint = "tcp://127.0.0.1:5557"
Defensive patterns

Strategy: validation

Validate before calling

endpoint = kv_events_config.endpoint
assert 'inproc' in endpoint or 'tcp' in endpoint, "endpoint must be inproc:// or tcp://host:port"

Type guard

def is_supported_kv_events_endpoint(endpoint: str) -> bool:
    return 'inproc' in endpoint or 'tcp' in endpoint

Prevention

When it happens

Trigger: Setting kv_events_config.endpoint to a scheme like udp://, ipc://, or a bare hostname without a tcp scheme while data-parallel rank > 0 must be disambiguated.

Common situations: Custom event transports added via EventPublisherFactory.register_publisher whose endpoints use non-tcp schemes; typos in the endpoint such as 'tpc://...' or missing '://'.

Related errors


AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14). Data as JSON: /api/errors/c0e63f4a2971d92d. Report an issue: GitHub.