已关闭
[Bug-Report|缺陷反馈]: analyze_ops_time.py 在 build 目录缺失时崩溃 #509
liu-wei创建于  6月9日关闭于  6月9日
liu-wei
liu-wei成员
6月9日 创建

问题描述

scripts/ci/analyze_ops_time.py 在脚本主体直接 for child in Path(workdir).iterdir(),未对 workdir(即 build/binary)是否存在做检查。

按算子筛选运行的 CI 流水线中,目标 SoC 的 build/binary/<soc>/bin/build_logs 目录不会被创建,脚本立即抛出 FileNotFoundError 并以非 0 退出码失败,污染 CI。

复现步骤

  1. 删除 build/binary 目录(或在按算子筛选的 CI 中跳过 SoC 全量构建)
  2. 执行 python3 scripts/ci/analyze_ops_time.py
  3. 实际:抛 FileNotFoundError 异常,进程非 0 退出
  4. 预期:脚本识别到 workdir 缺失,输出 info 日志并 exit 0

期望行为

workdir 不存在时视为"无活干、跳过",正常退出,不阻断 CI。

实际行为

Path.iterdirFileNotFoundError: [Errno 2] No such file or directory: '.../build/binary',进程以非 0 退出码失败。

解决方案

在脚本入口遍历前增加:

if not os.path.exists(workdir):
    logging.info(f"Workdir not exist: {workdir}")
    exit(0)

关联 PR

PR #961:fix: exit gracefully when build workdir is missing(+4/-0,scripts/ci/analyze_ops_time.py)

likedislike
liu-weiliu-wei成员
6月9日 将 liu-wei 设为负责人
CANN-robotCANN-robot成员
6月9日 关闭了 issue
CANN-robotCANN-robot成员
6月9日 添加了label:resolved