{"record":{"id":"ac9d1d07c58210b5","repo":"sgl-project/sglang","slug":"unsupported-msgpack-byte-b","errorCode":null,"errorMessage":"Unsupported msgpack byte ${b}","messagePattern":"Unsupported msgpack byte (.+?)","errorType":"error_code","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/apps/realtime_webui/app.js","lineNumber":2030,"sourceCode":"      return value;\n    }\n    if (b === 0xc4) return readBin(buf[i++]);\n    if (b === 0xc5) return readBin((buf[i++] << 8) | buf[i++]);\n    if (b === 0xc6) {\n      return readBin(\n        (buf[i++] * 16777216) + (buf[i++] << 16) + (buf[i++] << 8) + buf[i++],\n      );\n    }\n    if (b === 0xdc) return Array.from({ length: (buf[i++] << 8) | buf[i++] }, read);\n    if (b === 0xdd) {\n      return Array.from({\n        length: (buf[i++] * 16777216) + (buf[i++] << 16) + (buf[i++] << 8) + buf[i++],\n      }, read);\n    }\n    if (b === 0xd9) return readStr(buf[i++]);\n    if (b === 0xda) return readStr((buf[i++] << 8) | buf[i++]);\n    if (b === 0xde) return readMap((buf[i++] << 8) | buf[i++]);\n    throw new Error(`Unsupported msgpack byte ${b}`);\n  };\n  const readStr = (n) => text.decode(buf.slice(i, i += n));\n  const readBin = (n) => buf.subarray(i, i += n);\n  const readMap = (n) => {\n    const obj = {};\n    for (let j = 0; j < n; j++) obj[read()] = read();\n    return obj;\n  };\n  return read();\n}\n\nrenderPresets();\ndrawIdle();\nsetPreviewScale(DEFAULT_PREVIEW_SCALE);\nupdateSuperResolutionControls();\napplyQueryParams()\n  .then(async (query) => {\n    if (!query.preset) await applyPreset(presets[0], { sendRuntimeEvents: false });","sourceCodeStart":2012,"sourceCodeEnd":2048,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/apps/realtime_webui/app.js#L2012-L2048","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"if use_hicache:\n    assert tree_backend != \"tree_v2\", \"tree_v2 loading_onboard is not implemented with hicache\"","typeGuard":null,"tryCatchPattern":"try:\n    tree.loading_onboard(handle, kv)\nexcept RuntimeError as e:\n    if \"Not implemented yet\" in str(e):\n        # degrade to device-only cache hit/miss\n        pass\n    else:\n        raise","preventionTips":["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"],"tags":["radix-tree","hicache","not-implemented","kv-cache-load"],"backgroundTag":"unsupported-operation-not-implemented","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}