Fix crash dump replay script for image data replay (#16277)

This commit is contained in:
Chenxi Li
2026-01-02 13:42:22 -08:00
committed by GitHub
parent f0195627a9
commit b7c7e03d93

View File

@@ -22,6 +22,35 @@ from sglang.bench_serving import set_ulimit
from sglang.utils import get_exception_traceback
def normalize_mm_data_item(item):
if isinstance(item, dict) and "url" in item:
return item["url"]
return item
def normalize_mm_data(data):
if data is None:
return None
if isinstance(data, list):
return [
(
[normalize_mm_data_item(item) for item in sublist]
if isinstance(sublist, list)
else normalize_mm_data_item(sublist)
)
for sublist in data
]
return normalize_mm_data_item(data)
def normalize_request_data(json_data):
"""Normalize multimodal fields in request data for replay compatibility."""
for field in ["image_data", "video_data", "audio_data"]:
if field in json_data and json_data[field] is not None:
json_data[field] = normalize_mm_data(json_data[field])
return json_data
def read_records(files):
records = []
for f in files:
@@ -43,7 +72,7 @@ def run_one_request_internal(record):
else:
recorded_completion_tokens = ""
json_data = asdict(req)
json_data = normalize_request_data(asdict(req))
stream = json_data["stream"]
if args.ignore_eos: