taos.dll memory leak in 3.0.1.4
各位大佬,我遇到的问题是dll库内存泄露 ,目前我用的是TDEngine3.0.1.4,用c#调用c库taos.dll,功能一切正常,用的query函数插入,插入之后再free释放,但是释放之后仍然会内存泄露,最后内存一直增大,程序一天左右就会崩溃 我是每分钟连接一次,连接后use,然后插入数据,释放,插入大概20条数据,在断开连接,一直不断循环。我调试query后的结果是ok,free后的结果是指针无效,说明free有作用。如果不插入,只是连接,再断开连接,就不会内存泄露
代码片段
base.res=IntPtr.Zero; base.res = TDengine.Query(base.Connection, query); if (base.res == IntPtr.Zero || TDengine.ErrorNo(res) != 0) { string reason = "ExecuteNonQuery failure, "; if (base.res != IntPtr.Zero) { reason += TDengine.Error(base.res); } TDengine.FreeResult(base.res); throw new InvalidOperationException(reason + query); } TDengine.FreeResult(base.res);
there is a leak in the taos.dll where when i refer it;
可以拉取最新的main分支,编译加上 -DJEMALLOC_ENABLED=true 命令,再做尝试
可以拉取最新的main分支,编译加上 -DJEMALLOC_ENABLED=true 命令,再做尝试
@yu285 我的服务器是linux系统,是采用tar.gz安装。客户端是windows系统,是下载的exe安装包直接生成的taos.dll。内存泄漏发生在taos.dll中,改服务器的编译方式应该不会影响客户端这边,并且linux编译不会生成dll库文件呢。你们能否修改下taos.dll的源文件重新生成呢
3.0早期版本的bug 都已经都修复了,但是3.0.2.5 之前可能与现在的最新版(3.3.0.0)并不兼容,所以无法直接升级。因此建议重新部署一下最新的 3.3.0.0 ,后续升级都很方便,直接安装最新版软件即可。
开源版支持操作系统范围:https://docs.taosdata.com/reference/support-platform/
如果还有类似问题可以加微信 a15652223354