2 jerryliun jerryliun 于 2017.09.04 10:58 提问

golang调用C库运行一段时间会core怎么办

我是通过golang调用c库,版本是 1.12.5,主要使用upsert接口,并发写入,高并发时达到上千,但发现运行一段时间后,就会core掉,信息如附件1.png所示,
图片说明
追踪代码至附件2.png所示。
图片说明
推测是 gethostbyname 返回结果直接调用 h_addr_list[0] 导致的错误,按理说返回值不是NULL,那么 h_addr_list有可能是NULL 吗?

1个回答

SequoiaDB_Official
SequoiaDB_Official   2017.09.04 11:01
已采纳

目前(v2.8)该问题已在内部修复,linux下应该用gethostbyname_r,带"_r"的表示可重入。
图片说明
1.12.5以后的版本已修复该问题。如果社区的用户需要,可自己下载sdb源码,编译C驱动(只有C驱动存在该问题),编译方式见github(https://github.com/SequoiaDB)。

Csdn user default icon
上传中...
上传图片
插入图片