-
Notifications
You must be signed in to change notification settings - Fork 691
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
可能存在内存泄漏? #53
可能存在内存泄漏? #53
Conversation
这里附我在 docker 跑的一些结果
|
|
上面用的 docker 镜像是这个 https://hub.docker.com/r/qinwf/cppjieba-ubsan ,可能有点大。 自己用 GCC-5 编译应该也能有类似的结果。 |
|
我跑了一下 valgrind test.run 的结果。有点晚了,先睡了~ 88 |
@qinwf 我刚才也刚好正在用 valgrind 测试,也发现了这个问题,没想到碰巧你也正在测试,非常感谢你,这么晚了还在帮忙定位bug。
所以希望使用老版本的cppjieba的用户也不必担心。 目前最新代码使用 valgrind 内存检查是没有问题了,但是不知道你说的那个gcc5的检测是否仍然有问题,我预计应该是没有问题了。不过我这边没有对应的环境,希望你能更新一下最新代码试试,期待你的反馈,如果反馈一切正常了,我再打包个新版本 v4.4.1 release 。非常感谢!如果你有空来北京的话,希望能请你吃顿饭以表谢意。 |
travis 没有报错了,应该修复了,谢谢! |
最近R包仓库上的管理者通知代码要在 GCC 5 和 Clang 3.8 上编译的上跑测试。最近这两个编译器都带了 UBSAN 和 内存泄漏等测试。我跑 R 接口的时候发现有内存泄漏。
这里改了一下 cppjieba 的 travis 和 CMakeLists.txt 的文件,在 travis 上跑,发现也有内存泄漏。
travis 运行结果
Clang-3.6 with UBSAN https://travis-ci.org/qinwf/cppjieba/jobs/105404339,
GCC-5 with UBSAN https://travis-ci.org/qinwf/cppjieba/jobs/105404340.
具体泄漏的内容,通过 travis 上的 make test 可能看不到。直接运行 ./test/test.run ./load_test 在程序 exit 的时候就可以看到了。