{"record":{"id":"ed83aeb7bc8b13d7","repo":"sgl-project/sglang","slug":"sglang-rust-server-1-no-native-rust-mm-pipeline-f","errorCode":null,"errorMessage":"SGLANG_RUST_SERVER=1: no native Rust MM pipeline for model_type={scheduler.model_config.hf_config.model_type!r} (supported: {', '.join(supported)}; images only). Unset SGLANG_RUST_SERVER to serve this model.","messagePattern":"SGLANG_RUST_SERVER=1: no native Rust MM pipeline for model_type=(.+?) \\(supported: (.+?); images only\\)\\. Unset SGLANG_RUST_SERVER to serve this model\\.","errorType":"error_code","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/managers/rust_server.py","lineNumber":450,"sourceCode":"            # preempt the scheduler loop and inflate inter-token latency.\n            if server_cores is not None:\n                try:\n                    os.sched_setaffinity(0, set(server_cores))\n                except OSError as e:\n                    logger.warning(\n                        \"rust server: cannot confine mm threads to server cores: %s\", e\n                    )\n            mm_host = NativeMmHost(\n                server_args=server_args,\n                model_config=scheduler.model_config,\n                processor=scheduler.processor,\n            )\n            mm_spec = mm_host.resolve_native_spec()\n            if mm_spec is None:\n                supported = sorted(\n                    set(chain.from_iterable(f.model_types for f in NATIVE_MM_FAMILIES))\n                )\n                raise RuntimeError(\n                    \"SGLANG_RUST_SERVER=1: no native Rust MM pipeline for \"\n                    f\"model_type={scheduler.model_config.hf_config.model_type!r} \"\n                    f\"(supported: {', '.join(supported)}; \"\n                    \"images only). Unset SGLANG_RUST_SERVER to serve this model.\"\n                )\n            server.start_mm_workers(cls._build_mm_spec(mm_spec), mm_host.mm_workers)\n\n        # Narrow the scheduler thread only after the server threads are launched.\n        if launch_cores is not None:\n            try:\n                # pid 0 == this thread (the scheduler event-loop / launch thread).\n                os.sched_setaffinity(0, set(launch_cores))\n            except OSError as e:\n                logger.warning(\"rust server: cannot pin scheduler launch thread: %s\", e)\n\n        # Under DP every rank runs its own server on its own port, so the rank is\n        # what tells two otherwise identical startup lines apart.\n        dp_note = (","sourceCodeStart":432,"sourceCodeEnd":468,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/managers/rust_server.py#L432-L468","documentation":"With SGLANG_RUST_SERVER=1 and a multimodal model, launch requires a native Rust MM preprocessing pipeline for the model's model_type. Only a limited set of image-only families (NATIVE_MM_FAMILIES) are supported; anything else raises RuntimeError at startup.","triggerScenarios":"Serving a VLM whose model_type is not in any NATIVE_MM_FAMILIES entry (e.g. audio/video models or unsupported architectures) with the rust ingress enabled.","commonSituations":"Trying the rust fast-path on a newly released or video/audio-capable VLM; enabling SGLANG_RUST_SERVER globally via env then launching an MM model.","solutions":["Unset SGLANG_RUST_SERVER and use the standard Python server","Use a supported image-only model family (see the error's supported list)","Upgrade SGLang — native MM family coverage grows over time"],"exampleFix":"# before\nSGLANG_RUST_SERVER=1 python -m sglang.launch_server --model Qwen2-VL...\n# after\npython -m sglang.launch_server --model Qwen2-VL...","handlingStrategy":"fallback","validationCode":"model_type = model_config.hf_config.model_type\nsupported = {mt for f in NATIVE_MM_FAMILIES for mt in f.model_types}\nif os.environ.get('SGLANG_RUST_SERVER') and model_type not in supported:\n    os.environ.pop('SGLANG_RUST_SERVER', None)","typeGuard":null,"tryCatchPattern":"try:\n    launch(...)\nexcept RuntimeError as e:\n    if 'no native Rust MM pipeline' in str(e):\n        os.environ.pop('SGLANG_RUST_SERVER', None); launch(...)\n    raise","preventionTips":["Restrict SGLANG_RUST_SERVER to supported image-only families","Upgrade sglang for broader native MM coverage"],"tags":["sglang","rust-server","multimodal","unsupported-model","startup"],"backgroundTag":"unsupported-model-architecture","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}