diff --git a/python/sglang/srt/debug_utils/dumper.py b/python/sglang/srt/debug_utils/dumper.py index 6bd57c7a3..ffea36ce8 100644 --- a/python/sglang/srt/debug_utils/dumper.py +++ b/python/sglang/srt/debug_utils/dumper.py @@ -11,7 +11,7 @@ from dataclasses import asdict, dataclass, fields, replace from functools import cached_property from http.server import BaseHTTPRequestHandler, HTTPServer from pathlib import Path -from typing import Any, List, Literal, Optional, Self, Union, get_args, get_type_hints +from typing import Any, List, Literal, Optional, Union, get_args, get_type_hints import torch import torch.distributed as dist @@ -47,7 +47,7 @@ class _FrozenConfig(ABC): return f"{cls._env_prefix()}{field_name.upper()}" @classmethod - def from_env(cls) -> Self: + def from_env(cls) -> "_FrozenConfig": return cls( **{ f.name: cls._parse_env_field(cls._env_name(f.name), f.default) @@ -55,7 +55,7 @@ class _FrozenConfig(ABC): } ) - def with_defaults(self, **kwargs) -> Self: + def with_defaults(self, **kwargs) -> "_FrozenConfig": cls = type(self) actual = { key: value diff --git a/python/sglang/srt/managers/scheduler.py b/python/sglang/srt/managers/scheduler.py index 47945579c..a9ff0ac94 100644 --- a/python/sglang/srt/managers/scheduler.py +++ b/python/sglang/srt/managers/scheduler.py @@ -35,7 +35,6 @@ from torch.distributed import barrier from sglang.srt.configs.model_config import ModelConfig from sglang.srt.constrained.grammar_manager import GrammarManager -from sglang.srt.debug_utils.dumper import dumper from sglang.srt.disaggregation.decode import ( DecodePreallocQueue, DecodeTransferQueue, @@ -2965,6 +2964,8 @@ class Scheduler( return None def handle_dumper_control(self, recv_req: DumperControlReqInput): + from sglang.srt.debug_utils.dumper import dumper + try: response: list = [] if (