Skip to content

Commit 6aacbff

Browse files
dfguerrerommaartenbreddels
authored andcommitted
fix: sanitize infinite values in /resourcez JSON response
1 parent 10e0be5 commit 6aacbff

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

solara/server/starlette.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,13 @@ def readyz(request: Request):
638638
return JSONResponse(json, status_code=status)
639639

640640

641+
def _sanitize_for_json(value):
642+
"""Convert infinite values to None for JSON serialization."""
643+
if isinstance(value, (int, float)) and math.isinf(value):
644+
return None
645+
return value
646+
647+
641648
async def resourcez(request: Request):
642649
_ensure_limiter()
643650
assert limiter is not None
@@ -664,16 +671,16 @@ async def resourcez(request: Request):
664671
"has_disconnected": len([k for k in contexts if kernel_context.PageStatus.DISCONNECTED in k.page_status.values()]),
665672
"has_closed": len([k for k in contexts if kernel_context.PageStatus.CLOSED in k.page_status.values()]),
666673
"limiter": {
667-
"total_tokens": limiter.total_tokens,
668-
"borrowed_tokens": limiter.borrowed_tokens,
669-
"available_tokens": limiter.available_tokens,
674+
"total_tokens": _sanitize_for_json(limiter.total_tokens),
675+
"borrowed_tokens": _sanitize_for_json(limiter.borrowed_tokens),
676+
"available_tokens": _sanitize_for_json(limiter.available_tokens),
670677
},
671678
}
672679
default_limiter = anyio.to_thread.current_default_thread_limiter()
673680
data["anyio.to_thread.limiter"] = {
674-
"total_tokens": default_limiter.total_tokens,
675-
"borrowed_tokens": default_limiter.borrowed_tokens,
676-
"available_tokens": default_limiter.available_tokens,
681+
"total_tokens": _sanitize_for_json(default_limiter.total_tokens),
682+
"borrowed_tokens": _sanitize_for_json(default_limiter.borrowed_tokens),
683+
"available_tokens": _sanitize_for_json(default_limiter.available_tokens),
677684
}
678685
if verbose:
679686
try:

0 commit comments

Comments
 (0)