Prhub

#27955 [CI] Fix GB300 TestDummyWithSBO crash: disable NaN assert and coredump for dummy weights

原始 PR 作者 hnyls2002 合并时间 2026-06-12 05:17 文件变更 1 提交数 1 评论 3 代码增减 +10 / -0

执行摘要

禁用虚权重测试的 NaN 断言崩溃

Dummy random weights legitimately produce NaN logits, which now trip the CI async NaN assert added in #27883 and kill the scheduler during warmup. 需要禁用该测试的崩溃机制,让 NaN 以节流告警方式处理。

该 PR 是典型的测试基础设施修复,改动简单直接,适合快速合并。开发者在类似场景(虚权重测试)中可参考此模式来避免断言影响。

讨论亮点

无 review 讨论。

实现拆解

仅修改 test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py 中 setUpClass 方法的 env 字典,添加 4 个环境变量覆盖:

  1. SGLANG_ENABLE_ASYNC_ASSERT=0:禁用异步 NaN 断言。
  2. SGLANG_CUDA_COREDUMP=0:禁用 GPU coredump。
  3. CUDA_ENABLE_COREDUMP_ON_EXCEPTION=0:显式覆盖,因为当 SGLANG_CUDA_COREDUMP=1 时该变量已注入环境。
  4. SGLANG_CUDA_COREDUMP_BEFORE_CRASH=0:禁用崩溃前 coredump。
文件 模块 状态 重要度
test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py 测试 modified 4.25

关键源码片段

test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py test-coverage

唯一变更文件,通过环境变量禁用异步 NaN 断言和 GPU coredump,修复虚权重导致的 CI 崩溃。

# 在 setUpClass 方法中启动服务器时,通过环境变量传递
# Dummy 随机权重会正常产生 NaN logits,因此需要关闭 CI 崩溃机制
# 使用 NaN 告警而非崩溃调度器
cls.process = popen_launch_server(
    cls.model,
    cls.base_url,
    timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
    other_args=other_args,
    env={
        **os.environ,
        "SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK": "256",
        "SGLANG_MOE_NVFP4_DISPATCH": "0",
        # Dummy random weights legitimately produce NaN logits; turn
        # off the CI crash machinery (async assert, coredump on GPU
        # exception, crash-time coredump) so NaN is sanitized with a
        # warning instead of killing the scheduler.
        "SGLANG_ENABLE_ASYNC_ASSERT": "0", # 禁用异步 NaN 断言
        "SGLANG_CUDA_COREDUMP": "0", # 禁用 GPU coredump
        # 当 SGLANG_CUDA_COREDUMP=1 时该变量已被注入环境,需要显式覆盖
        "CUDA_ENABLE_COREDUMP_ON_EXCEPTION": "0",
        "SGLANG_CUDA_COREDUMP_BEFORE_CRASH": "0",
    },
)

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

该变更加入的条件检查仅在测试环境有效,不影响生产代码。风险极低,因为环境变量只在该测试的子进程中生效,且只是关闭了断言和 coredump,不会引入新问题。

仅影响 DeepSeek V3 CuteDSL 4 GPU 测试,修复了因虚权重导致的 CI 崩溃,恢复该测试的稳定性。对其他测试和功能无影响。

仅测试环境变更

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论