Efficient Use of rr to Analyze and Fix MemorySanitizer Errors

Abstract

The various sanitizers that built into clang (a subset of them also in GCC) are a great way of finding tricky bugs. One challenge is to find where some data should have been initialized but wasn’t. We will explain how MemorySanitizer (clang -fsanitize=memory) and AddressSanitizer (-fsanitizer=address) differ from Valgrind memcheck, and demonstrate how data watchpoints together with reverse execution can be used for quickly catching any issue, without any understanding of the code base.

Marko Mäkelä, MariaDB Corporation

Marko switched to GNU/Linux in 1993. He has been working on the InnoDB storage engine since 2003, the MariaDB variant of it since 2016.