sgl-project/sglang · error · Error
Unsupported msgpack byte ${b}
Error message
Unsupported msgpack byte ${b} What it means
RadixTree::loading_onboard in tree_v2 is a stub: it returns an empty result when the tree is disabled, but otherwise throws 'Not implemented yet'. The load-and-onboard path (pulling KV from the host tier back onto device) is not yet written for this tree version.
Source
Thrown at python/sglang/multimodal_gen/apps/realtime_webui/app.js:2030
return value;
}
if (b === 0xc4) return readBin(buf[i++]);
if (b === 0xc5) return readBin((buf[i++] << 8) | buf[i++]);
if (b === 0xc6) {
return readBin(
(buf[i++] * 16777216) + (buf[i++] << 16) + (buf[i++] << 8) + buf[i++],
);
}
if (b === 0xdc) return Array.from({ length: (buf[i++] << 8) | buf[i++] }, read);
if (b === 0xdd) {
return Array.from({
length: (buf[i++] * 16777216) + (buf[i++] << 16) + (buf[i++] << 8) + buf[i++],
}, read);
}
if (b === 0xd9) return readStr(buf[i++]);
if (b === 0xda) return readStr((buf[i++] << 8) | buf[i++]);
if (b === 0xde) return readMap((buf[i++] << 8) | buf[i++]);
throw new Error(`Unsupported msgpack byte ${b}`);
};
const readStr = (n) => text.decode(buf.slice(i, i += n));
const readBin = (n) => buf.subarray(i, i += n);
const readMap = (n) => {
const obj = {};
for (let j = 0; j < n; j++) obj[read()] = read();
return obj;
};
return read();
}
renderPresets();
drawIdle();
setPreviewScale(DEFAULT_PREVIEW_SCALE);
updateSuperResolutionControls();
applyQueryParams()
.then(async (query) => {
if (!query.preset) await applyPreset(presets[0], { sendRuntimeEvents: false });View on GitHub (pinned to 0132848349)
Solutions
- Disable hierarchical caching when using tree_v2
- Switch back to the v1 cpp radix tree or the default radix cache implementation for hicache workloads
- Wait for/upgrade to a version where tree_v2 loading_onboard is implemented
Defensive patterns
Strategy: fallback
Validate before calling
if use_hicache:
assert tree_backend != "tree_v2", "tree_v2 loading_onboard is not implemented with hicache" Try / catch
try:
tree.loading_onboard(handle, kv)
except RuntimeError as e:
if "Not implemented yet" in str(e):
# degrade to device-only cache hit/miss
pass
else:
raise Prevention
- Run hicache workloads on the v1 cpp radix tree or Python radix cache
- Smoke-test prefix reuse across offload/onload cycles when switching tree backends
- Version-lock tree_v2 experiments to CI configs known to pass
When it happens
Trigger: Running tree_v2 with hierarchical caching enabled and triggering an onboard/load of cached KV from host memory into GPU — e.g. a request hitting a prefix resident in the host tier while use_hicache is on.
Common situations: Enabling HiCache with the experimental tree_v2 backend and serving requests whose prefixes were previously offloaded; scheduled retrieval/offload paths that call loading_onboard during scheduling.
Related errors
- /v1/models ${response.status}
- This browser does not support gzip stream decoding
- Ascend PD transfer does not support HiSparse destination dev
- get_split_heads_page_buffer_meta requires layout='page_head'
- Host cache is not supported yet
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/ac9d1d07c58210b5.
Report an issue: GitHub.