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

Run Memory Profiling using Valgrind #381

Open
jalalmostafa opened this issue Jul 24, 2024 · 2 comments
Open

Run Memory Profiling using Valgrind #381

jalalmostafa opened this issue Jul 24, 2024 · 2 comments

Comments

@jalalmostafa
Copy link
Contributor

CNDP seems to have multiple memory issues including double frees and memory leaks
I think we should do memory profiling e.g. using valgrind.
An example is in PR #380

@maryamtahhan
Copy link
Contributor

maryamtahhan commented Jul 29, 2024

Hi @jalalmostafa
I added a workflow to run cppcheck, the next thing will be to fixup all the reported issues in https://github.com/CloudNativeDataPlane/cndp/actions/runs/10115180237/job/27975372401 (expand the cat report section of the action)
I can't find a marketplace action that can look for leaks without running a binary which introduces some complications into the workflow that I need to think about.
If you have any ideas re possible actions please give me a shout

@jalalmostafa
Copy link
Contributor Author

Hi @maryamtahhan

Thanks for adding cppcheck. Coverity Scan seems to have memory profiling using static analysis and it has an unofficial Github Action in the marketplace: https://github.com/marketplace/actions/unofficial-coverity-scan
I have not used it before though.

Running the binary will catch more errors for sure. What kind of complications are there?
Conceptually, I think we can run cnet-graph in a Github-hosted runner using a veth interface in AF_XDP copy mode.
I use the xdp-tutorial veth scripts as a development environment.

https://github.com/xdp-project/xdp-tutorial/tree/48872cf472be83dc902d49c2b75e69c68af5c7de/testenv

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