[R] R keeps crashing when executing 'rlogspline'
Charles C. Berry
cberry at tajo.ucsd.edu
Fri Jun 1 01:56:36 CEST 2007
On Thu, 31 May 2007, Jacques Wagnor wrote:
> Dear List,
>
> I have a simple model as follows:
>
> x <- rnorm(500)
> library(logspline)
> fit <- logspline(x)
> n <- 1000000
> y <- replicate(n, sum(rlogspline(rpois(1,10), fit))) # last line
>
What you do not see in RGui is this:
*** caught segfault ***
address (nil), cause 'memory not mapped'
Traceback:
1: .C("rpqlsd", as.double(c(fit$coef.pol, fit$coef.kts)),
as.double(fit$knots), as.double(fit$bound), as.integer(0), qq =
as.double(p), as.integer(length(fit$knots)), as.integer(length(p)),
PACKAGE = "logspline")
2: qlogspline(pp, fit)
[rest deleted]
I think you are getting zero from rpois(1,10) with larger values of n.
rlogspline does not check for n==0
This results in calling qlogspline( numeric(0), fit ) and generates the
segfault, I guess.
So figure out what should happen when rpois(1,10) returns zero and avoid
calling rlogspline in those cases.
If 'zero.value' is a suitable value, then this will work:
> library(logspline)
> x <- rnorm(500)
> fit <- logspline(x)
> res <- sapply(1:50, function(x) sum(rlogspline(x, fit)))
> n <- 1000000
> rp <- rpois(n,10)
> y <- c( zero.value, res )[ rp+1 ] ## table lookup is faster!
Chuck
> The problem I keep getting is Rcrashes when doing the last line. It
> seems to be fine if n is small, but not if n is 1000000. The message
> I keep getting is:
>
> "R for Windows GUI front-end has encountered a problem and needs to
> close. We are sorry for the inconvenience. If you were in the middle
> of something, the information you were working on might be lost."
>
> Any insights would be appreciated,
>
> Jacques
>
> platform i386-pc-mingw32
> arch i386
> os mingw32
> system i386, mingw32
> status
> major 2
> minor 5.0
> year 2007
> month 04
> day 23
> svn rev 41293
> language R
> version.string R version 2.5.0 (2007-04-23)
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://biostat.ucsd.edu/~cberry/ La Jolla, San Diego 92093-0901
More information about the R-help
mailing list