EasyGBS内存错误导致崩溃该如何解决?

国标视频云服务EasyGBS支持设备/平台通过国标GB28181协议注册接入,并能实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。平台部署简单、可拓展性强,支持将接入的视频流进行全终端、全平台分发,分发的视频流包括RTSP、RTMP、FLV、HLS、WebRTC等格式。

 

 


有用户反馈EasyGBS中go的内存错误导致平台出现如下崩溃现象:“runtime: marked free object in span 0x7f8e806df8b0, elemsize=16 freeindex=43 (bad use of unsafe.Pointer? try -d=checkptr)”

 

 

技术人员收到反馈后立即开展排查分析。首先查看日志,在查看日志时出现以下的日志信息。开始播放流未完成,就立刻停止播放此句柄。导致找不到停止的句柄,随后go层也删除掉了保存在本地的缓存信息。

 

 

而正常的打印都会有一个句柄,如下:

 

 

从打印的结果可以判断问题原因是内存错误。

 

 

解决方法:

出现以上情况时需判断此实时流是不是返回成功,若没有返回成功,则此实时流的句柄是空的。只需在代码中判断句柄是否为空即可。

 

 

EasyGBS平台已经实现了十分丰富的安防视频功能,在线下也有大量落地应用,包括明厨亮灶、雪亮工程、美好乡村、智慧工地、智慧仓库监控等等。感兴趣的用户可以前往演示平台进行体验或部署测试。

 

posted on 2022-07-12 17:41  EasyGBS  阅读(43)  评论(0编辑  收藏  举报