手动捕获进程异常信息并清理,导致应用进程异常
2023/08/07
141
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型推理 | 应用开发AscendCL | runtime、资源释放 |
问题现象描述
用户捕获异常退出信号,并在信号处理函数中释放已申请资源,下一次执行时会报执行失败。查看应用类日志,日志中的报错信息示例如下:
[ERROR] TSCH(-1,null):2023-01-01-02:53:45.850.781 1 (cpuid:0) task_scheduler_engine.c:707 proc_model_stream_unbind: unbind model stream failed, stream is running. stream->model_id=512, model_id=512, task.sq_id=514, task.task_id=3
原因分析
进程异常时,Host侧内核态驱动会自动检测并发起对应进程Device侧资源释放的流程,不需要用户捕获进程异常的信号并主动完成清理。若用户主动释放,会影响到系统本身的资源释放流程。
解决措施
修改应用程序,删除主动捕获进程异常的信号的代码逻辑。
本页内容