Files
sglang/.claude/skills/clean-startup-log/references/noise-sources.md
T

4.4 KiB

Startup noise-source hints

Read this only for an observed signature that needs investigation. Paths and behaviors can change; search the current checkout and installed dependency before proposing a fix. The accepted-output policy in ../SKILL.md takes precedence. These are investigation hints, not a list of changes to apply.

Common signatures

Observed output Where to investigate Decision to verify
HF warning printed in two formats utils/common.py, HF logger handlers and propagation A library handler plus root propagation can emit the same record twice. Keep one timestamped copy, including before full server logging setup.
Skipping import of cpp extensions due to incompatible torch version torchao/__init__.py; imports through hf_transformers_patches.py and transformers quantizers Determine whether torchao is needed for the requested model before proposing narrow import-time suppression.
torch_dtype is deprecated Model code, loader, and HF utilities accessing config.torch_dtype Prefer config.dtype where supported; change and verify only affected, tested models.
BaseImageProcessorFast is deprecated Multimodal processor imports and type checks Check the installed transformers replacement and compatible isinstance behavior.
No platform detected. Using base SRTPlatform with defaults. Platform detection Decide whether fallback is expected on this machine or indicates a missing plugin.
Unexpected error during package walk in CUTE_DSL Installed cutlass package, its handler, root propagation, and CUTE_DSL_LOG_LEVEL Inspect the actual exception and duplicate-handler path; do not assume the current log level or hide all warnings.
Repeated dtype, hybrid-model, or tokenizer fallback messages Model-config and tokenizer construction in launcher, scheduler, and detokenizer Multiple constructors may explain repetition. Retain meaningful per-process information and distinguish these from handler duplication.
Repeated template detection messages managers/template_detection.py and managers/template_manager.py Check whether a summary already contains the same information.
KV cache dtype logged separately from allocation Model runner and memory pool Check whether the allocation summary already carries dtype; retain useful allocation and SWA details.
CUTLASS backend disabled during graph capture Attention backend selection Expected fallback may be useful information; retain the reason and selected behavior.
Ignore import error when loading ... Model, multimodal, or algorithm registries Distinguish an unused optional model dependency from failure to load the requested model.
Multiple NUMA nodes found for GPU ... utils/numa_utils.py This differs from the accepted NUMA permission warning; evaluate its context separately.
OpenAI Responses API (/v1/responses) disabled entrypoints/http_server.py, serving responses, and Harmony vocabulary loading A real endpoint limitation should remain visible even if generation warmup succeeds.
SyntaxWarning: invalid escape sequence from a dependency Installed package file named by the warning Identify the upstream issue; avoid editing the installed package as a repository fix.

Repeated constructors and separate processes are not blanket reasons to downgrade messages. Constructor counts and import paths vary by model and checkout. Likewise, cache-summary ordering and native library formats need no change merely because they differ from a historical reference log.

Targeted tracing

Start with source searches. For example:

rg -n 'SEARCH_STRING' python/sglang/srt/FOCUSED_DIRECTORY
rg -n '\.torch_dtype' python/sglang/srt/models/MODEL.py

If the emitter is clear but its call path is not, attach a temporary handler in an isolated reproduction:

import logging
import traceback


class TraceHandler(logging.Handler):
    def emit(self, record):
        if "SEARCH_STRING" in record.getMessage():
            traceback.print_stack()


target = logging.getLogger("TARGET_LOGGER_NAME")
handler = TraceHandler()
target.addHandler(handler)
try:
    reproduce_observed_warning()
finally:
    target.removeHandler(handler)

For suspected native output, search only the identified shared library:

strings /path/to/library.so | rg -F 'SEARCH_STRING'

Keep diagnostic instrumentation out of committed fixes and baseline logs.