
aclInit初始化失败常见原因排查【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime问题现象描述现象1调用aclInit接口返回参数错误码调用 aclInit 接口时返回 ACL_ERROR_RT_PARAM_INVALID错误码 107000表示参数无效。报错日志示例如下aclInit failed, ret 107000现象2调用aclInit接口返回重复初始化错误码调用 aclInit 接口时返回 ACL_ERROR_REPEAT_INITIALIZE错误码 100002表示重复初始化错误。报错日志示例如下aclInit failed, ret 100002, repeat initialize现象3配置文件解析失败aclInit 接口传入的配置文件路径错误或格式不正确导致解析失败。报错日志示例如下Failed to parse config file: /path/to/acl.json可能原因配置文件路径不存在或权限不足aclInit 接口传入的配置文件路径错误或文件不可读。json 配置格式错误配置文件括号层级超限最多10层、字段拼写错误、格式不符合 json 规范。多次 aclInit 调用配置不一致重复调用 aclInit 时配置必须保持一致否则后续调用可能报错或配置无效。处理步骤原因1配置文件路径不存在或权限不足解决方法使用绝对路径传入完整的文件路径例如/home/user/acl.json检查文件权限确保文件可读使用ls -l /path/to/acl.json查看权限如果默认配置满足需求传入 nullptr 或配置空 json 串{}示例代码// 使用绝对路径 aclError ret aclInit(/home/user/config/acl.json); // 使用默认配置传入 nullptr aclError ret aclInit(nullptr); // 使用空配置传入空 json // acl.json 内容{} aclError ret aclInit(../acl.json);原因2json 配置格式错误解决方法检查括号层级json 文件内{层级最多10层[层级最多10层验证字段拼写参考 API 文档中的配置示例使用 json 验证工具在线 json 验证器检查格式正确性典型配置示例{ defaultDevice:{ default_device:0 } }原因3多次 aclInit 调用配置不一致解决方法保持配置一致每次调用 aclInit 时使用相同的配置文件路径和内容忽略重复初始化错误aclInit 重复调用会返回 ACL_ERROR_REPEAT_INITIALIZE可忽略该错误继续业务处理成对调用初始化和去初始化支持重复初始化和去初始化时序为aclInit → 业务处理 → aclFinalize → aclInit → 业务处理 → aclFinalize示例代码// 正确的重复初始化方式 aclError ret1 aclInit(nullptr); // 首次初始化 // ... 业务处理 ... aclError ret2 aclFinalize(); // 去初始化 aclError ret3 aclInit(nullptr); // 再次初始化配置一致 // ... 业务处理 ... aclError ret4 aclFinalize(); // 再次去初始化相关 issue暂无相关Issue。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考