-
Notifications
You must be signed in to change notification settings - Fork 444
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
CI: add sanitizers #3625
CI: add sanitizers #3625
Conversation
Note GCC has a similar (same) sanitizers that can be run there too. Also I noticed you had to disable the leak detection. I could find you can only disable it at runtime via the |
And clang somehow crashes in CI. |
Ready for review. |
Do you want this as a nightly test by any chance? Or should we merge the sanitizer test with the normal test runner? |
As the normal one. |
Then let's merge |
Okay. In sanitizers build gcc fires additional “maybe-uninitialized” warnings but there are quite noisy and so often not real issues basically. So these noisy warnings + -Werror by default would be problematic so.. A) disable them completely via -Wno-maybe-uninitialized WDYT? |
Are we actually looking at the “maybe-uninitialized” warnings? If not, I would go with the second option. Otherwise, we can keep the duplicate CI run. I am guessing we have to run the tests to trigger some sanitizer assertions, right? |
I look on them and they are highly unlikely to happen (be a real bug) in practice. What is worse, sometimes innocent code change triggers for example gcc's inliner and then gcc emits (from midend passes!) warnings randomly.. Second option sounds fine to me, so I will update this patch. And yes to the last question. |
@@ -32,9 +32,9 @@ jobs: | |||
key: test-${{ matrix.unified }}-${{ runner.os }}-gcc | |||
max-size: 1000M | |||
|
|||
- name: Build (Ubuntu Linux, GCC) | |||
- name: Build (Ubuntu Linux, GCC, Sanitizers) |
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.
Just a nit, maybe also rename the top-level test to include this name. Then the label immediately shows in the action panel.
Feel free to merge it if you are fine with the current version of this PR, @fruffy |
Thanks for the review and feedback, @fruffy |
Enable undefined behaviour sanitizer and address sanitizer.