[R-pkg-devel] Reproducing the clang-UBSAN test environment in rhub or somewhere else?

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Sat Nov 8 02:35:38 CET 2025


On 7 November 2025 at 15:14, Peter Carbonetto wrote:
| However, I was not able to reproduce the exact errors Dirk obtained by
| running the R code purl'ed from the single_cell_rnaseq_basic.Rmd vignette.
| I thought that this might work:
| 
| R -d valgrind --vanilla < single_cell_rnaseq_basic.R
| 
| but this did not produce any of the "runtime errors" such as:
| 
| /usr/local/lib/R/site-library/RcppArmadillo/include/current/armadillo_bits/Mat_meat.hpp:7043:26:
| runtime error: reference binding to null pointer of type 'const double'
| 
| Dirk, could you please share the exact R or Rscript command you ran to
| obtain these errors? In addition, do I need to install fastTopics and the
| other R packages in a specific way as well? That is, are there special
| flags (perhaps existing somewhere in
| https://www.stats.ox.ac.uk/pub/bdr/memtests/README.txt) that are needed to
| activate these extra debugging checks?

You want 'RD', not 'R'.  From the container's github repo README.mdL

   Note that the instrumented version of R is available on the path as
   Rdevel, symbolically linked as RD, and that the instrumented versions of
   Rscript is Rscriptdevel with symbolic link RDscript. Based on the R-devel
   sources, they use the sanitizer setup that is the focuse here whereas the
   R and Rscript binaries come from the standard binary package and
   correspond to R-release without any sanitizer instrumentation. So use RD
   and RDscript to inspect undefined behavior.

Also not sure why you added '-d valgrind'. That is a very fine tool, but its
use tends to be independent of ASAN/UBSAN and result in separate reports.

Best, Dirk

-- 
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-package-devel mailing list