[Rd] Difference in NA behavior in R-devel running under valgrind

Jonathan Keane jke@ne @end|ng |rom gm@||@com
Thu Apr 29 23:37:23 CEST 2021


Hello,

I'm debugging some valgrind issues, and noticed some odd behavior with
NA an R-devel under valgrind.

Using Winston Chang's r-debug image (and some of this reproductions form [1]):

r-devel (2021-04-27 r80232) without Valgrind returns NA:
# RD --quiet -e "sum(c(1, NA))"
> sum(c(1, NA))
[1] NA


r-devel with `-d valgrind` returns NaN:
# RD -d valgrind --quiet -e "sum(c(1, NA))"
==8901== Memcheck, a memory error detector
==8901== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==8901== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==8901== Command: /usr/local/RD/lib/R/bin/exec/R --quiet -e sum(c(1,~+~NA))
==8901==
> sum(c(1, NA))
[1] NaN


And finally release R (with valgrind) returns NA just like r-devel
while not under Valgrind:
# R -d valgrind --quiet -e "sum(c(1, NA))"
==8983== Memcheck, a memory error detector
==8983== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==8983== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==8983== Command: /usr/lib/R/bin/exec/R --quiet -e sum(c(1,~+~NA))
==8983==
> sum(c(1, NA))
[1] NA

Thanks

[1] - https://github.com/wch/r-debug/issues/18

-Jon



More information about the R-devel mailing list