Skip to content
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

steady memory leaks with ICE when broadcasting proxy with DataStorm #13

Closed
zengdaiwei opened this issue May 2, 2022 · 4 comments
Closed

Comments

@zengdaiwei
Copy link

zengdaiwei commented May 2, 2022

Version(please complete the following information):

  • Ice Version 3.7.6
  • OS: Windows
  • Distribution: nuget

Describe the bug
1, create a Proxy with DataStorm::Node's communicator, then broadcast the proxy.
2, If the proxy is not received by any Client, try to destroy it.
3, repeat step 1、2
4, obvious memory leak shown in VS analyzer;

here is my demo project to show the bug:
https://github.com/zengdaiwei/ICEMemoryLeak.git
run with visual studio 2019, compile and run; just keep "Enter" key down for a minutes or so, to reproduce the problem.

Expected behavior
no steady memory leaks with "creating proxy"--"broadcasting proxy"--"destroy proxy" loops.

Additional context
test projects to reproduce the bug: https://github.com/zengdaiwei/ICEMemoryLeak.git

@bentoi
Copy link
Member

bentoi commented May 2, 2022

You don't indicate if you're using DataStorm 1.0 or the GitHub latest version. If you're using 1.0, can you try to build DataStorm from the GitHub repository and see if this fixes the problem?

@zengdaiwei
Copy link
Author

I used nuget from https://nuget.cdn.azure, which has only DataStorm 1.0.0;
As you suggested, I compiled the latest-version DataStorm GitHub, and tried it with the test project "https://github.com/zengdaiwei/ICEMemoryLeak.git" again. The leaking problem still exists. I am sure the latest DataStorm code is used.
Please have a look at the test code and take a little time to try it out.

@bentoi
Copy link
Member

bentoi commented Aug 12, 2022

Sorry for the late feedback on this one. There's a leak in your test case, you should call adapter->destroy() instead of just adapter->deactivate(). Can you try again with this fix?

@zengdaiwei
Copy link
Author

It works. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants