Checklist
Describe the bug
I encountered an error when running the benchmark:
AttributeError: 'NoneType' object has no attribute 'parent'
File "radix_cache.py", line 655, in _update_agent_to_last_nodes
n = n.parent
It seems n reaches None before hitting self.root_node in _update_agent_to_last_nodes.
Could you help clarify:
Is there a fix for this bug?
What exact benchmark script and data did you use to reproduce the results in the paper?
Is there a complete setup guide we may have missed?
Thank you for your great work!
Reproduction
python -m sglang.launch_server --model-path /data/models/Qwen3-8B --port 30000
python3 bench_sglang.py --num-questions 100
benchmark reac
Environment
Python: 3.11.14 | packaged by conda-forge | (main, Oct 13 2025, 14:09:32) [GCC 14.3.0]
CUDA available: True
GPU 0,1,2,3,4,5,6,7: NVIDIA A100-PCIE-40GB
GPU 0,1,2,3,4,5,6,7 Compute Capability: 8.0
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 12.8, V12.8.93
CUDA Driver Version: 595.58.03
PyTorch: 2.8.0+cu128
sglang: 0.5.2rc1
sgl_kernel: 0.3.8
flashinfer_python: 0.3.0
triton: 3.4.0
transformers: 4.56.0
torchao: 0.9.0
numpy: 2.3.3
aiohttp: 3.13.5
fastapi: 0.136.1
hf_transfer: 0.1.9
huggingface_hub: 0.36.2
interegular: 0.3.3
modelscope: 1.36.3
orjson: 3.11.9
outlines: 0.1.11
packaging: 25.0
psutil: 7.1.0
pydantic: 2.13.4
python-multipart: 0.0.28
pyzmq: 27.1.0
uvicorn: 0.47.0
uvloop: 0.22.1
vllm: Module Not Found
xgrammar: 0.1.23
openai: 1.99.1
tiktoken: 0.13.0
anthropic: 0.102.0
litellm: Module Not Found
decord: 0.6.0
NVIDIA Topology:
GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 NIC0 NIC1 CPU Affinity NUMA Affinity GPU NUMA ID
GPU0 X PIX PIX PIX SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU1 PIX X PIX PIX SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU2 PIX PIX X PIX SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU3 PIX PIX PIX X SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU4 SYS SYS SYS SYS X PIX PIX PIX SYS PIX 24-47,72-95 1 N/A
GPU5 SYS SYS SYS SYS PIX X PIX PIX SYS PIX 24-47,72-95 1 N/A
GPU6 SYS SYS SYS SYS PIX PIX X PIX SYS PIX 24-47,72-95 1 N/A
GPU7 SYS SYS SYS SYS PIX PIX PIX X SYS PIX 24-47,72-95 1 N/A
NIC0 PIX PIX PIX PIX SYS SYS SYS SYS X SYS
NIC1 SYS SYS SYS SYS PIX PIX PIX PIX SYS X
Legend:
X = Self
SYS = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
PHB = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
PXB = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
PIX = Connection traversing at most a single PCIe bridge
NV# = Connection traversing a bonded set of # NVLinks
NIC Legend:
NIC0: mlx5_0
NIC1: mlx5_1
ulimit soft: 1024
Checklist
Describe the bug
I encountered an error when running the benchmark:
AttributeError: 'NoneType' object has no attribute 'parent'
File "radix_cache.py", line 655, in _update_agent_to_last_nodes
n = n.parent
It seems n reaches None before hitting self.root_node in _update_agent_to_last_nodes.
Could you help clarify:
Is there a fix for this bug?
What exact benchmark script and data did you use to reproduce the results in the paper?
Is there a complete setup guide we may have missed?
Thank you for your great work!
Reproduction
python -m sglang.launch_server --model-path /data/models/Qwen3-8B --port 30000
benchmark reac
Environment
Python: 3.11.14 | packaged by conda-forge | (main, Oct 13 2025, 14:09:32) [GCC 14.3.0]
CUDA available: True
GPU 0,1,2,3,4,5,6,7: NVIDIA A100-PCIE-40GB
GPU 0,1,2,3,4,5,6,7 Compute Capability: 8.0
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 12.8, V12.8.93
CUDA Driver Version: 595.58.03
PyTorch: 2.8.0+cu128
sglang: 0.5.2rc1
sgl_kernel: 0.3.8
flashinfer_python: 0.3.0
triton: 3.4.0
transformers: 4.56.0
torchao: 0.9.0
numpy: 2.3.3
aiohttp: 3.13.5
fastapi: 0.136.1
hf_transfer: 0.1.9
huggingface_hub: 0.36.2
interegular: 0.3.3
modelscope: 1.36.3
orjson: 3.11.9
outlines: 0.1.11
packaging: 25.0
psutil: 7.1.0
pydantic: 2.13.4
python-multipart: 0.0.28
pyzmq: 27.1.0
uvicorn: 0.47.0
uvloop: 0.22.1
vllm: Module Not Found
xgrammar: 0.1.23
openai: 1.99.1
tiktoken: 0.13.0
anthropic: 0.102.0
litellm: Module Not Found
decord: 0.6.0
NVIDIA Topology:
GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 NIC0 NIC1 CPU Affinity NUMA Affinity GPU NUMA ID
GPU0 X PIX PIX PIX SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU1 PIX X PIX PIX SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU2 PIX PIX X PIX SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU3 PIX PIX PIX X SYS SYS SYS SYS PIX SYS 0-23,48-71 0 N/A
GPU4 SYS SYS SYS SYS X PIX PIX PIX SYS PIX 24-47,72-95 1 N/A
GPU5 SYS SYS SYS SYS PIX X PIX PIX SYS PIX 24-47,72-95 1 N/A
GPU6 SYS SYS SYS SYS PIX PIX X PIX SYS PIX 24-47,72-95 1 N/A
GPU7 SYS SYS SYS SYS PIX PIX PIX X SYS PIX 24-47,72-95 1 N/A
NIC0 PIX PIX PIX PIX SYS SYS SYS SYS X SYS
NIC1 SYS SYS SYS SYS PIX PIX PIX PIX SYS X
Legend:
X = Self
SYS = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
PHB = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
PXB = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
PIX = Connection traversing at most a single PCIe bridge
NV# = Connection traversing a bonded set of # NVLinks
NIC Legend:
NIC0: mlx5_0
NIC1: mlx5_1
ulimit soft: 1024