lev2 is malloc-ed in the code you supplied. The new option Bill refers
to is about input variables in .C, i.e. lev and not lev2. Other array
overruns can be found by other tools: Bill mentioned valgrind, and
AddressSanitizer finds a different set of overruns. See
http://cran.r-project.org/do
Had you tried using the new-to-3.0.0 options(CBoundCheck=TRUE)?
[from the NEWS file]
There is a new option, options(CBoundsCheck=), which controls how .C()
and .Fortran() pass arguments to compiled code. If true (which can be
enabled by setting the environment variable R_C_BOUNDS_C
Update: I did eventually discover an error in the C code which is probably
ultimately responsible for the bug (the variable eff_size is allowed to get
too large, and overrun the end of lev2[]). However the behaviour of R (or
Rstudio) in response to this is still somewhat mystifying to me!
Robin
Dear Bill:
On 5/22/2013 2:12 PM, William Dunlap wrote:
I used svn to copy the current version of Ecdat from Rforge to my PC
C:\temp\packages>svn checkout svn://r-forge.r-project.org/svnroot/ecdat/
then fired up R to look at the rda files in it.
setwd("c:/temp/packages/Ecdat/ecdat/pkg/data"
I used svn to copy the current version of Ecdat from Rforge to my PC
C:\temp\packages>svn checkout svn://r-forge.r-project.org/svnroot/ecdat/
then fired up R to look at the rda files in it.
> setwd("c:/temp/packages/Ecdat/ecdat/pkg/data")
> read.dcf("../DESCRIPTION")[, c("Package","Version")]
Pa
On 5/21/2013 3:03 PM, William Dunlap wrote:
If you look at
data(package="Ecat")$results[,"Item"]
you will see the items "Hstarts", "Hstarts (Intratesm)", and "Hstarts
(Intratesq)"
which I think means that the dataset Hstarts is found in 3 .rda files,
"Hstarts.rda",
"Intratesq.rda", and "Int