FAQ
- 启动服务或执行证书导入脚本时,kmc初始化随机数阻塞但未抛出Error,等待时间不定可恢复,阻塞状态如下。
错误1、 level:3, msg:b"M:WSEC_CBB-F:-L:72(UTC) 2021-06-21 02:09:24 WsecRegFuncEx success\n" level:3, msg:b"init kmc with role master" level:3, msg:b"create process lock for 538318102" level:3, msg:b"get sem 0" level:3, msg:b"M:WSEC_CBB-F:-L:101:(UTC) 2021-06-21 02:09:24 WSEC locks initialized successful.\n" 错误2、 INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'M:WSEC_CBB-F:-L:196:(UTC) 2022-02-10 08:28:11 Mask initialize failed 1.\n' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'M:WSEC_CBB-F:-L:216:(UTC) 2022-02-10 08:28:11 KmcInitializeEx failed 601, Finalize ret 0.\n' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'M:WSEC_CBB-F:-L:55:(UTC) 2022-02-10 08:28:11 WSEC initialize failed.\n' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'WSEC_InitializeEx failed, ret=601' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'failed to convert error code 601' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'init error code 601' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'M:WSEC_CBB-F:-L:87:(UTC) 2022-02-10 08:28:11 KMC not running.\n' INFO 2022-02-10 16:28:11 [kmc.py:72] level:1, msg:b'M:WSEC_CBB-F:-L:68:(UTC) 2022-02-10 08:28:11 KmcCheckKmcCtx fail 155\n' INFO 2022-02-10 16:28:11 [kmc.py:260] KeInitialize ret=601 ERROR 2022-02-10 16:28:11 [kmc.py:262] KeInitialized Failed. ret=601 close alarm signal. ERROR 2022-02-10 16:28:11 [ai_server.py:275] kmc init error. ERROR 2022-02-10 16:28:11 [ai_server.py:360] ERROR: kmc init failed! ERROR 2022-02-10 16:28:11 [ai_server.py:361] ai_server startup failed.
- 原因分析:/dev/random 产生随机数阻塞。
- 解决方案:通过添加 haveged 服务解决随机数阻塞问题,Ubuntu系统使用:apt-get install -y haveged
- 建议:遇到kmc初始化失败等问题,优先安装haveged服务尝试解决。
- 服务启动时,可能会发生以下类似问题:
Traceback (most recent call last): File "service/main.py", line 10, in <module>import ai_server File "/home/mxAOIService/service/ai_server.py", line 37, in <module>from model_infer_api import ModelInference File "/home/mxAOIService/service/model_infer_api.py", line 18, in <module>from StreamManagerApi import StreamManagerApi, MxDataInput, RoiBox, RoiBoxVector File "/home/mxManufacture/python/StreamManagerApi.py", line 17, in <module>import _StreamManagerApiImportError: libstreammanager.so: cannot open shared object file: No such file or directory
- 原因分析:SDK库没引入到当前环境变量LD_LIBRARY_PATH中。
- 解决方案:安装完SDK包之后要进入SDK的安装路径,运行以下命令,让MindX SDK的环境变量生效。
. set_env.sh
具体执行路径,请按照实际安装为准。
- 服务启动成功,在调用推理服务时,可能会发生以下问题:
ERROR : Failed getting result with error code [6010], and message [Time out, can not get result in time.]
- 原因分析:推理服务获取推理结果超时,默认时长是5s。
- 解决方案:用户可增加获取推理结果超时时间进行避免,通过配置“config.yaml”文件的以下字段:
# Set get model result maximum timeout, default 5000ms. get_result_timeout: 5000
- 执行证书导入脚本“/tools/cert_importer.py”,工作秘钥更新脚本“check_and_update_master_key.py”、根秘钥更新脚本“update_root_key.py”时,可能遇到下列报错。
process encrypt begin. level:1, msg:b'get sem errno = 13' level:1, msg:b'Failed to CreateSem' level:1, msg:b'M:WSEC_CBB-F:-L:98:(UTC) 2021-07-26 03:42:19 WsecInitializeLock failed with 1.\n' level:1, msg:b'WSEC_InitializeEx failed, ret=1' level:1, msg:b'init error code 2001' KeInitialize ret=2001 kmc init error.
- 问题原因:KMC密钥文件锁信号量默认权限为“600”,属主为运行KMC的进程(root或其他用户),非root用户无权限访问root用户创建的信号量,导致无权访问(errno=13)。
- 解决方案:需要删除用户创建的信号量。运行ipcs -s查看信号量。
------ Semaphore Arrays -------- key semid owner perms nsems 0x00105b6b 65536 root 600 1 0x00105b6c 98305 root 666 1 0x20161516 524290 root 600 1
使用ipcrm命令删除root用户创建的信号量(0x2016****),执行如下指令 。
ipcrm -s 524290 #以输入semid方式删除