Skip to content

Add suppressions to run tests with sanitizers#940

Merged
tmadlener merged 3 commits intoAIDASoft:masterfrom
jmcarcell:sanitizers
Mar 5, 2026
Merged

Add suppressions to run tests with sanitizers#940
tmadlener merged 3 commits intoAIDASoft:masterfrom
jmcarcell:sanitizers

Conversation

@jmcarcell
Copy link
Member

@jmcarcell jmcarcell commented Mar 3, 2026

BEGINRELEASENOTES

  • Prefer to add suppressions instead of ignoring tests with sanitizers. This allows to known where issues come from, avoid introducing issues in tests that are being ignored and possibly make it easier to add new tests since it is possible the suppression they need (if any) is already there.

ENDRELEASENOTES

For Clang 19 with ubsan what I did is to ignore almost every test since they all fail. I propose to just keep ignoring them and once a LCG stack with a more modern Clang appears then we can see since I can not reproduce locally with Clang 21. As a next step maybe someone can start to check the suppressions one by one and either report them or fix them...

Copy link
Collaborator

@tmadlener tmadlener left a comment

Choose a reason for hiding this comment

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

Very nice, thank you.

Since any given build will only ever have either an Address or a Thread sanitizer enabled could the setup code in cmake be simplified and only define a PODIO_SANITIZER_LIBRARY variable so that the pre-loading part could be done with less logic, effectively something along the lines of

if (ARG_PYTHON AND PODIO_SANITIZER_LIBRARY)
  list(APPPEND test_environment "LD_PRELOAD=${PODIO_SANITIZER_LIBRARY}:$ENV{LD_PRELOAD}"
endif()

Looking at the suppression files it looks like all of them are outside of podio? Could we thus say that #884 is fixed with this?

Co-authored-by: Thomas Madlener <thomas.madlener@desy.de>
@jmcarcell
Copy link
Member Author

Looking at the suppression files it looks like all of them are outside of podio? Could we thus say that #884 is fixed with this?

Yes, actually I didn't see that there was an issue for that 😃

@jmcarcell jmcarcell linked an issue Mar 4, 2026 that may be closed by this pull request
Copy link
Collaborator

@tmadlener tmadlener left a comment

Choose a reason for hiding this comment

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

Thanks again for this. I really like that we can now run more tests with the sanitizers.

@tmadlener tmadlener enabled auto-merge (squash) March 5, 2026 09:23
@tmadlener tmadlener merged commit 636b2be into AIDASoft:master Mar 5, 2026
33 of 35 checks passed
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.

Suppress non podio related sanitizer issues

2 participants