parthenon-hpc-lab / parthenon

Parthenon AMR infrastructure
https://parthenon-hpc-lab.github.io/parthenon/
Other
112 stars 33 forks source link

Enable sanitizers for extended CI host build #1114

Closed BenWibking closed 3 months ago

BenWibking commented 3 months ago

PR Summary

Enable sanitizers (e.g., AddressSanitizer, UndefinedBehaviorSanitizer, etc.) for the extended CI host build. It is not enabled for the CUDA build, since CUDA does not support sanitizers.

Memory leak detection is currently disabled (does not work with OpenMPI, several unit tests have memory leaks).

Depends on:

PR Checklist

BenWibking commented 3 months ago

Tests are expected to fail until the issues are fixed in other PRs: https://github.com/parthenon-hpc-lab/parthenon/actions/runs/9522754529/job/26252926684

BenWibking commented 3 months ago

Probably need to disable LeakSanitizer for MPI runs due to the memory leaks in OpenMPI we can't do anything about...

BenWibking commented 3 months ago

AddressSanitizer and UndefinedBehaviorSanitizer run without workings, but some tests have memory leaks that cause LeakDetector to fail.

BenWibking commented 3 months ago

Rather than try to chase down every memory leak in the unit tests, I've just disabled memory leak detection entirely.

Yurlungur commented 3 months ago

Rather than try to chase down every memory leak in the unit tests, I've just disabled memory leak detection entirely.

I think that's the right thing but we should leave the memory leak test in place in the cmake so we can trigger it locally. Because someone should start trying to track these down over time. :)