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

SCOOP Memory Leak 1 #65

Open
maharjun opened this issue Jun 6, 2017 · 1 comment · May be fixed by #67
Open

SCOOP Memory Leak 1 #65

maharjun opened this issue Jun 6, 2017 · 1 comment · May be fixed by #67

Comments

@maharjun
Copy link
Contributor

maharjun commented Jun 6, 2017

Since the termination signal via sendReply is not given upon the completion of local futures, consider the following situation.

  1. Root process spawns many futures
  2. Root process calls 'sendFuture' on these processes thereby creating entries in the broker process
  3. Root process fetches one of these futures later as part of 'execQueue.pop()'
  4. Root process executes said future and completes it
  5. Now being a local future that has completed, sendReply is not called and future is returned directly to parents executing coroutine. This means that STATUS_DONE is not sent to the broker process for the current future thereby not deleting it from the assigned_tasks queue. The only way this is handled currently is by the periodic STATUS_UPDATE which has its own set of issues (see SCOOP is Losing Futures #64 )

I would suggest that the STATUS_DONE be sent by all futures when they are completed and their result has been returned to the origin process.

@soravux
Copy link
Owner

soravux commented Jun 7, 2017

Sorry you had this issue. I sadly don't have the time to fix it currently. I'll accept any pull request fixing memory accumulation problems.

@maharjun maharjun linked a pull request Jun 7, 2017 that will close this issue
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

Successfully merging a pull request may close this issue.

2 participants