Skip to content

Github sanitizer checks

Ashar edited this page Jun 29, 2020 · 1 revision

Sanitizer Checks

Sanitizers are cool tools to let the programmer know of some of the major runtime errors or exceptions that compilers can't figure out. Errors like use-after-free, uninitialized memory access and many more. In uBLAS's new CI system I have highly integrated sanitizers and these checks are run on both gcc and clang sanitizers. Below is the complete list of sanitizer checks that we run, each is run independently as a new job in the build matrix.

  • Thread Sanitizer: Checks for issues that can arise due to concurrent access to shared resources.
  • Undefined Behaviour Sanitizer: Checks for the issues that can potentially trigger undefined behaviour.
  • Address Sanitizer: Checks for address related issues, like use-after-free.

All Sanitizers are only run on Tensor and related files while compiling. because the old uBLAS does not passes address sanitizer and it is no longer receiving patches. I have completely skipped the checks for this code.