Duncan Murdoch
2022-Feb-25 17:27 UTC
[Rd] Making CRAN memory access checks more accessible?
On 25/02/2022 11:31 a.m., Micha? Bojanowski wrote:> Dear colleagues, > > Two days after successfully submitting a package to CRAN I received a > message about "additional issues" with the package's C++ code > (clang-UBSAN to be precise) with a two-week deadline to resolve. While > attempting to somewhat blind-foldedly fix the problem I was wondering > whether it is sensible and feasible for base R to: > > 1. Implement/expose all these memory-related tests (c.f. > https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Checking-memory-access) > to package developers e.g. via options to R CMD check, much like > --use-gct or --use-valgrind are already? Or via a script etc.?Many users won't be able to run them.> > or > > 2. Expand the chapter > https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Checking-memory-access > with unequivocal and straightforward instructions how to setup and run > these tests locally on different platforms? I believe that the current > version of the manual is inaccessible to anybody but hardcore C/C++ > developers while there is a broader spectrum of ppl able to write some > C without the deep understanding of the internals.I doubt if the instructions in WRE could be simplified and still work.> > While I noticed that a similar problem has triggered some heat on > Twitter recently I independently decided to write to you all here to > ask the question above. I believe it might be rather difficult for > package contributors to adhere to tests which they are unable to > execute locally (or by a CI service). Alas, in the end it will end-up > with a developer playing package ping-pong with CRAN maintainers whose > time is a valuable resource.I think R-hub offers UBSAN services. Have you tried those? Duncan Murdoch
MichaĆ Bojanowski
2022-Feb-25 23:49 UTC
[Rd] Making CRAN memory access checks more accessible?
Ha! I was not aware of R-hub having this. Thank you! On Fri, Feb 25, 2022 at 6:27 PM Duncan Murdoch <murdoch.duncan at gmail.com> wrote:> > On 25/02/2022 11:31 a.m., Micha? Bojanowski wrote: > > Dear colleagues, > > > > Two days after successfully submitting a package to CRAN I received a > > message about "additional issues" with the package's C++ code > > (clang-UBSAN to be precise) with a two-week deadline to resolve. While > > attempting to somewhat blind-foldedly fix the problem I was wondering > > whether it is sensible and feasible for base R to: > > > > 1. Implement/expose all these memory-related tests (c.f. > > https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Checking-memory-access) > > to package developers e.g. via options to R CMD check, much like > > --use-gct or --use-valgrind are already? Or via a script etc.? > > Many users won't be able to run them. > > > > or > > > > 2. Expand the chapter > > https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Checking-memory-access > > with unequivocal and straightforward instructions how to setup and run > > these tests locally on different platforms? I believe that the current > > version of the manual is inaccessible to anybody but hardcore C/C++ > > developers while there is a broader spectrum of ppl able to write some > > C without the deep understanding of the internals. > > I doubt if the instructions in WRE could be simplified and still work. > > > > > > While I noticed that a similar problem has triggered some heat on > > Twitter recently I independently decided to write to you all here to > > ask the question above. I believe it might be rather difficult for > > package contributors to adhere to tests which they are unable to > > execute locally (or by a CI service). Alas, in the end it will end-up > > with a developer playing package ping-pong with CRAN maintainers whose > > time is a valuable resource. > > I think R-hub offers UBSAN services. Have you tried those? > > Duncan Murdoch