[Rd] R CMD check . segfault on re-building vignettes
Sebastian Meyer
Sebastian.Meyer at ifspm.uzh.ch
Mon Apr 30 17:48:38 CEST 2012
(Warning: There is some potential that this message is redundant.)
I think that i have spotted an issue with R CMD check that does not
trace back to a rare case, so it must have been reported already or i am
doing something stupid. However, to be sure and because I did not find
any comments on this while searching the R mailing lists, here is what i
did:
R CMD check .
from within a package source directory which has some vignettes in
inst/doc. When the check finally comes to
"checking re-building of vignette PDFs ..."
i get the following error
*** caught segfault ***
address 0x7fff6073c998, cause 'memory not mapped'
Traceback:
1: file.copy(pkgdir, vd2, recursive = TRUE)
2: run_vignettes(desc)
3: check_pkg(pkgdir, pkgname, pkgoutdir, startdir, libdir, desc,
is_base_pkg, is_rec_pkg, thispkg_subdirs, extra_arch)
4: tools:::.check_packages()
aborting ...
Segmentation fault (core dumped)
as one can see, the error stems from the call
file.copy(pkgdir, vd2, recursive = TRUE)
in the run_vignettes function defined in the tools:::.check_packages
function. this call will copy the contents of "pkgdir" (the source
directory) to the ..Rcheck/vign_test/ directory _recursively_, the
problem of which being that the "..Rcheck" directory is part of
"pkgdir". Thus we get into a loop of copying pkgdir into
pkgdir/..Rcheck/vign_test, which is interrupted at some point by a
segfault (at least on my x86_64 GNU/Linux machine running Ubuntu 12.04
and R 2.15.0; the OS might be crucial for this issue).
I can reproduce the error by e.g.:
pkgdir <- tempdir()
file.create(file.path(pkgdir,"DESCRIPTION")) # not necessary
vd2 <- file.path(pkgdir,"..Rcheck/vign_test")
dir.create(vd2, recursive=TRUE)
### Better Do NOT run -> buffer overflow
# file.copy(pkgdir, vd2, recursive=TRUE)
###
Can anybody confirm this problem? Of course, a workaround is to run R
CMD check from outside the source directory (which is probably the
preferred way).
Thanks in advance,
Sebastian
--
Sebastian Meyer
Division of Biostatistics
Institute of Social and Preventive Medicine
University of Zurich
More information about the R-devel
mailing list