sgl-project/sglang · error · ValueError
Unknown dumper control method: {method!r}
Error message
Unknown dumper control method: {method!r} What it means
The dumper's control endpoint dispatches a small fixed set of methods (configure, reset, and siblings) by string lookup in _handle_request_inner. Any other method name in the request body hits the else branch and raises this ValueError, which the HTTP/RPC layer surfaces to the caller.
Source
Thrown at python/sglang/srt/debug_utils/dumper.py:1386
# ------------------------------- public ---------------------------------
def handle_request(self, *, method: str, body: dict[str, Any]) -> list[dict]:
return self._rpc_broadcast._handle_request_inner(method=method, body=body)
# ------------------------------- private ---------------------------------
def _handle_request_inner(self, *, method: str, body: dict[str, Any]) -> dict:
if method == "get_state":
return self._dumper.get_state()
elif method == "configure":
self._dumper.configure(**body)
return {}
elif method == "reset":
self._dumper.reset()
return {}
else:
raise ValueError(f"Unknown dumper control method: {method!r}")
# -------------------------------------- http control server ------------------------------------------
def _start_http_server(*, prefix: str, target: object, http_port: int):
handler_class = _make_http_handler(prefix=prefix, target=target)
server = HTTPServer(("0.0.0.0", http_port), handler_class)
thread = threading.Thread(target=server.serve_forever, daemon=True)
thread.start()
def _make_http_handler(*, prefix: str, target):
class _HTTPHandler(BaseHTTPRequestHandler):
def do_POST(self):
if not self.path.startswith(prefix):
self.send_error(404)
returnView on GitHub (pinned to 0132848349)
Solutions
- Check the method strings dispatched in _handle_request_inner (configure, reset, ...) and use exactly those
- Upgrade/downgrade the client to match the server's sglang version
- List methods via any introspection endpoint or read the source before scripting the control API
Example fix
# before
{"method": "confgiure", "body": {...}}
# after
{"method": "configure", "body": {...}} Defensive patterns
Strategy: validation
Validate before calling
VALID_METHODS = {"configure", "reset"} # mirror _handle_request_inner
assert req["method"] in VALID_METHODS, f"method must be one of {VALID_METHODS}" Try / catch
try:
resp = handle_request(req)
except ValueError as e:
if "Unknown dumper control method" in str(e):
# check dispatch table in source, correct method name, retry once Prevention
- Keep client and server on the same sglang version
- Centralize control-method names as constants shared by client and server
When it happens
Trigger: POSTing {'method': 'confgiure', ...} (typo), or calling handle_request with a method added in a different sglang version than the client speaks.
Common situations: Client/server version skew after upgrade; hand-crafted curl requests to the control port; stale helper scripts using removed method names.
Related errors
- Failed to generate MiniMax-H3 video: {str(e)}
- scheduler_rpc_timeout must be None or an integer between 1 a
- RPC error on {self._debug_name}: {response['error']}
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/b957ea5bce113b5d.
Report an issue: GitHub.