Sebastian Meyer
2012-Apr-30 15:48 UTC
[Rd] R CMD check . segfault on re-building vignettes
(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
Reasonably Related Threads
- file.copy(src, src, recursive=TRUE) causes a segfault (Was: Re: R CMD check . segfault on re-building vignettes)
- vectors into a matrix
- rebuilding vignettes in 2.13-0-alpha fails if name of source dir is not package name
- Problems encountered/fixed making CrossCompileBuild
- OpenSSH-3.1p1 AIX buildbff.sh patch