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

ci: fix false negative asan checks #3957

Merged

Conversation

scottwittenburg
Copy link
Collaborator

The asan tests have all been failing like this for some unknown amount of time, and it seems that kind of failure didn't trigger ctest to exit non-zero, which caused the check to look like it was passing.

To start with, let's see if we can get the test to actually run all those tests and see if there are any real failures. If there are, we will have to fix them here, before merging this.

@scottwittenburg scottwittenburg force-pushed the fix-sanitizer-issues branch 4 times, most recently from 6db9bef to 5967b65 Compare December 6, 2023 01:44
@scottwittenburg
Copy link
Collaborator Author

scottwittenburg commented Dec 6, 2023

Yikes, a lot of errors detected by asan now, but at least they're showing up properly in cdash.

And quite a few of them look very similar, so maybe not as many problem sources at it might seem at first.

@eisenhauer
Copy link
Member

eisenhauer commented Dec 6, 2023

OK, at least one seems to be BP5, perhaps related to support for readRandomAccess, which makes sense as we're jumping through a lot of hoops to keep all that metadata around and without msan we might have missed issues. I can take point on resolving the actual errors for the moment.

@scottwittenburg scottwittenburg changed the title ci: fix path to lsan suppressions, do not post cdash link to gh ci: fix false negative asan checks Dec 6, 2023
@scottwittenburg
Copy link
Collaborator Author

I can take point on resolving the actual errors for the moment.

@eisenhauer What do you think of using this ctest feature to ignore the current failures, so we can merge this PR asap? That way we can prevent new issues from creeping in while we work on fixing the existing failures (in a new PR that adds back the current failing tests).

@eisenhauer
Copy link
Member

I can take point on resolving the actual errors for the moment.

@eisenhauer What do you think of using this ctest feature to ignore the current failures, so we can merge this PR asap? That way we can prevent new issues from creeping in while we work on fixing the existing failures (in a new PR that adds back the current failing tests).

Hmm. My first reaction would be to try to kill a few of the easier sanitizer issues and then resort to ignore for those that aren't trivial. But a counter-argument might be that if we fix san bugs in separate PRs, that makes it easier to backport those fixes into release_29. I guess I don't have strong feelings either way...

@vicentebolea
Copy link
Collaborator

But a counter-argument might be that if we fix san bugs in separate PRs, that makes it easier to backport those fixes into release_29. I guess I don't have strong feelings either way...

Thats indeed important, we cannot backport API/ABI incompatible changes such as the change of the function signature. I suggest to first add the ignore directive and later we fix this issues one by one, this will make the backporting process much easier.

@eisenhauer
Copy link
Member

eisenhauer commented Dec 6, 2023

Thats indeed important, we cannot backport API/ABI incompatible changes such as the change of the function signature. I suggest to first add the ignore directive and later we fix this issues one by one, this will make the backporting process much easier.

Lets follow that approach. I'm also concerned that the overall MinMax fix may be more complex than my changes above, so I'd propose that you guys roll back my commits, add the CTEST_CUSTOM_MEMCHECK_IGNORE spec and merge this PR.

Copy link
Collaborator

@vicentebolea vicentebolea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work here 👍

@scottwittenburg
Copy link
Collaborator Author

Hmmm, all checks passed, approval from @vicentebolea, what requirements have yet to be met?

@scottwittenburg
Copy link
Collaborator Author

what requirements have yet to be met?

I guess we require branch to be up to date before merging.

@vicentebolea
Copy link
Collaborator

Hmmm, all checks passed, approval from @vicentebolea, what requirements have yet to be met?

The option requires PR to be uptodate was enabled. We had some issues in some earlier pull requests that the CI was passing with this automatic merge commit but once it was merged it broke some tests. Maybe the reason was that a new commit got to master right before that was merge and that change was not tested.

@vicentebolea
Copy link
Collaborator

vicentebolea commented Dec 7, 2023

I disabled it again since our CI is in a good state again. I enabled it because the CI was not in a good state and I was trying to avoid further issues until the current issues were resolved.

@scottwittenburg scottwittenburg merged commit 68c23fc into ornladios:master Dec 7, 2023
34 of 35 checks passed
@scottwittenburg scottwittenburg deleted the fix-sanitizer-issues branch December 7, 2023 19:16
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 this pull request may close these issues.

3 participants