diff --git a/python/sglang/srt/state_capturer/base.py b/python/sglang/srt/state_capturer/base.py index 7bedeb445..0fa8bcdad 100644 --- a/python/sglang/srt/state_capturer/base.py +++ b/python/sglang/srt/state_capturer/base.py @@ -176,9 +176,10 @@ class BaseTopkCapturer: forward_batch, can_run_graph, cuda_graph_batch ) if no_copy_to_cpu: + # Clone before the next overlapping forward reuses these buffers. return TopkCaptureOutput( - out_cache_loc=forward_batch.out_cache_loc, - topk=slice_gpu, + out_cache_loc=forward_batch.out_cache_loc.clone(), + topk=slice_gpu.clone(), host_cache=self.host_cache, ) out_cache_loc_cpu = forward_batch.out_cache_loc.cpu()