-
Notifications
You must be signed in to change notification settings - Fork 95
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
Add a GithubCI job to test oqs-provider against memory leaks. #246
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for this "long-term" memory consistency protection for the project! Please feel free to merge if you'd like to keep this on CCI for some reason and for the time being. Otherwise, a switch to github CI would be nice.
There is no reason to that, it's just that I'm used to CircleCI, but let me try to move it to GitHub actions instead.! |
OK -- sorry I noticed this update here only now. The code looks good (and failure is as expected :) -- but is keeping it in a separate job the best approach? Reason for asking: The way it is right now it's not really represented "at a glance" (in the README.md's CI status buttons). Given it's really a Linux test, would it be (more) sensible to add it within the existing Linux test (to see a failure suitably highlighted?). Also it's not really telling us too much about Windows or MacOS memory leaks, does it? It's unlikely there should be (different) leaks on those platforms but we don't really know without running an "asan-equivalent" there, right? |
Ho, I haven't thought about it.
Should I put it in the
I know that we can compile everything with ASan on MacOS, but I'm not sure about Windows. |
That would (have) be(en) my preference, Yes. Before you do it, please read on.
They simply show whether the latest run (on the given branch --"main" in our case) was successful or not. So any test failure would be flagged (and make us aware of something wrong).
I just very nearly stated "If we can do MacOS too, then Yes, please also add it there." But I'm reconsidering/wondering: Is Asan really finding platform-specific problems or any issues with the code (happening on every platform)? If the latter were the case, I'd revisit my statements from above and keep things as you did them now (and only ask you to change the job title to "Safety Checks" and add that job's CI button to the README): What's your take, @thb-sb ? |
Okay, got it! Thank you.
It may happen that some bits of code are platform-specific, but usually it's all about optimization using platform-specific hw instructions etc, and it would be very unlikely that those bits have something to do with allocating / de-allocating things. Do you agree on that?
Since I consider that we're not in that case, I'll move the ASan test in the |
This commit introduces a new CircleCI job called `check-ASan-tests` that compiles OpenSSL 3, liboqs and oqs-provider with ASan (`-fsanitize=address`). Then, it runs the CTest suite. If any memory leak occurs somewhere and is triggered in one of the various unit tests, then this CircleCI job fails and displays the ASan trace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Runs in parallel to the other Linux jobs, i.e., doesn't lie on the critical path or add CI time: LGTM. Thanks again. OK to merge? Will you want to rebase #245 afterwards?
Yes, OK to merge and then I'll rebase 245 on top of Thank you for your comments.! |
…uantum-safe#246) This commit introduces a new CI job that compiles OpenSSL 3, liboqs and oqs-provider with ASan (`-fsanitize=address`). Then, it runs the CTest suite. If any memory leak occurs somewhere and is triggered in one of the various unit tests, then this CI job fails and displays the ASan trace. Signed-off-by: Felipe Ventura <[email protected]>
This commit introduces a new CircleCI job called
check-ASan-tests
that compiles OpenSSL 3, liboqs and oqs-provider with ASan (-fsanitize=address
). Then, it runs the CTest suite.If any memory leak occurs somewhere and is triggered in one of the various unit tests, then this CircleCI job fails and displays the ASan trace.
This job should fail until #245 is merged.