专栏算法工具链AIExpress——运行自己编写的Method报错

AIExpress——运行自己编写的Method报错

已解决
BrokenDusk2021-04-12
184
5

1.硬件环境

X3 sdb,2G。没有额外的传感器。

2.软件环境

不清楚……系统没刷过镜像,用的最新的AIExpress。输入用的jpg回灌模式。

3.问题

运行自己编写的Method时,可以运行两帧(就是终端里面会出现2次SmartMessage Serialize的提示),之后就报错,周期性提示如下错误,

(vpsmodule.cpp:1368): pipe_id: 0 HB_VPS_GetChnFrame error, ret: -268696588

[ERROR][][vps/hb_vps_api.c:2230] [4894.959256]HB_VPS_GetChnFrame[2230]: VPS error get chn6 frame timeout

4.分析

(1) Method没有报错,可正常运行两帧。同时,我在开发机上也可以正常运行。所以不太可能是源码的问题。

(2) 我自己写的其它Method可以运行,所以Method的配置应该也没问题。

(3) 这个Method是策略Method,与其它Method最大的区别是,它相对比较复杂,使用了很多std库和模板。但是没有使用第三方库。如前所述,功能上应该是正常的。我对太底层的东西不是很熟悉,是不是有些std库你们的芯片不支持?按理说编译完成后全是机器码,应该不至于,但是这个Method与其它Method唯一的区别就是用的std库多了一些。

(4) 所以我现在就想知道,那个错是什么意思,由什么导致的,以及什么情况下会出现前两帧能正常运行,之后就会导致那个错误?

算法工具链
评论2
0/1000
  • BrokenDusk
    Lv.1

    不是参考实例,从头自己实现的。问题解决了,因为有个地方出现了除0得到nan的情况,并且导致了后续处理中出现了死循环。看起来VPS error get chn6 frame timeout这个错可能是因为死循环占用了主程序,导致无法响应VPS取图片的请求?

    2021-04-12
    0
    3
    • shaun回复BrokenDusk:

      您好,请问能分享下如何调试自己写方法的经验吗?方便加个微信交流吗??

      2021-04-19
      2
    • BrokenDusk回复shaun:

      才注意到你的消息,自己写方法的话可以参考已有的method进行改动,实际上也不是很复杂,就是容易出bug,麻烦……所以调试工具就很重要了。可以使用gdbserver配合vscode进行debug,虽然作用也很有限,但是还会比单纯的print方便很多。微信你可以找那个admin加,他是官方的,应该能解决大部分问题,我有问题也会找他问。我也在整理自己使用的使用心得,因为是以一个从零开始的角度写的,可能会比官方的更适合新手看(不得不说官方的资料太乱了……),之后有机会会分享出来吧。

      2021-05-09
      2
    • admin回复BrokenDusk:

      新版本的用户手册有gdb_server 教程,可以参考使用

      2021-05-10
      0
  • yanghangjun
    Lv.1

    想确认下是跑的什么参考示例。

    VPS error get chn6 frame timeout 这个错误的原因是图像获取底层的buffer被占用(上层取了两帧,但是一直未释放导致)。

    可以确认下新增的method,是不是对图像对象做了缓存未释放导致。

    2021-04-12
    0
    0