The Writing R Extensions manual details in Section 4.3 how to check memory access. Two sections are devoted to Using the Address Sanitizer and to Using the Undefined Behaviour Sanitizer.
Both require a particularly instrumented binary of R. This repository provides a Docker container with such a binary, based on the R-devel sources.
This repository uses clang; a sibling repository uses gcc.
Note: This container must be run with docker run --cap-add SYS_PTRACE
, otherwise instrumented processes fail to start due to lacking permissions. Alternatively, an instrumented process can be run with ASAN_OPTIONS=detect_leaks=0
, but this turns off leak detection.
This repository is part of Rocker-Org where Rocker -- Docker containers of interest for R users -- is being developed.
All this is work in progress; talk to @eddelbuettel and @cboettig about how to get involved.
Documentation is being added at the Rocker Wiki.