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

Bizarre memory issue #59

Open
AntonioGMuriana opened this issue Mar 21, 2019 · 2 comments
Open

Bizarre memory issue #59

AntonioGMuriana opened this issue Mar 21, 2019 · 2 comments

Comments

@AntonioGMuriana
Copy link
Contributor

Hello,

We are having an issue with OpenPGM (called via ZeroMQ from a .NET app). The app is running with around 70 MB but at some point the memory of the process starts to grow linearly until it fills up all the memory (<3GB)

We have profiled the application and the memory is filled up with millions of instances of pgm_sk_buff_t structs of 1684 bytes generated with this stack trace:

StackTrace

Any guidance for troubleshooting this?

@steve-o
Copy link
Owner

steve-o commented Mar 21, 2019 via email

@AntonioGMuriana
Copy link
Contributor Author

AntonioGMuriana commented Mar 26, 2019

Hello,

After further debugging, this is my current findings:

ZMQ_RATE = 1Gbps (ok, it's not realistic, i know)
ZMQ_RECOVERY_IVL = 10s (default value)

On the receiving side, there a socket with a window with the following characteristics:
window->alloc = 833333
window->lead = 4824387
window->commit_lead = 3991059
window->trail = 3991055
window->committed_count = 4
window->rxw_trail = 4539359

window[commit_lead]->state = PGM_PKT_STATE_LOST_DATA

The lead cannot move because the window is full, so all received data is being lost. The trail cannot move because there are commit data not delivered, but it is never delivered, because all data received is discarded and commit_lead doesn't move because it's outside rxw_trail.

The trace log shows a lot of NCF retries and then a pair of "Locking trail at commit window".

How is suppoused the window to move on this situation?

Note: Memory is not exhausted (it just grows to maximum receiving buffer of 1.5 GB)

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