[R] segfault caused by `icfit` in `interval` package
Uwe Ligges
ligges at statistik.tu-dortmund.de
Sun Oct 10 19:16:26 CEST 2010
On 10.10.2010 19:10, Yuliya Matveyeva wrote:
> On the main site I have only found
> R-2.11.1.tar.gz<http://cran.gis-lab.info/src/base/R-2/R-2.11.1.tar.gz>to
> be the latest release (the latest stable release as far as I
> understand
> it). But unfortunately it doesn't pass the `make check` on my system (that
> is probably the reason why the `emerge` command keeps telling me that my R
> version is up-to-date). May be I should post a separate message about this
> fact, but I am guessing I shouldn't because making a new release suitable
> for all OS's is probably just a matter of time.
> But before I write to the package maintainer directly could you please tell
> if there might be a non-package-specific reason for a segfault in my case ?
Probably it is the package, but we would need a reproducible example to
check it.
Uwe Ligges
> Sincerely yours,
> Yuliya Matveyeva.
>
> 2010/10/10 Uwe Ligges<ligges at statistik.tu-dortmund.de>
>
>> Please try with the R-2.12.0 ReleaseCandidate and thwe most recent version
>> of the package (please report its version number!).
>>
>> If it still fails, it may be a good idea to contact the package maintainer
>> of interval first.
>>
>> Uwe Ligges
>>
>>
>>
>>
>> On 10.10.2010 17:33, Yuliya Matveyeva wrote:
>>
>>> Dear R community,
>>> I am using the R package `interval` in order to perform some modelling
>>> tests of the
>>> NPMLE convergence in the case of censoring. So all I am doing is drawing a
>>> sample
>>> from exponential distribution, making it a censored sample and computing
>>> the
>>> NPMLE of
>>> its distribution function. But when run on Linux Calculate 10.4 the
>>> program
>>> keeps
>>> crashing and reporting a segmentation fault
>>> after the call to the `icfit` function when the sample size gets to 70.
>>> When run on Windows 7 it seems to be fine.
>>> That is why I am totally confused and have decided to ask for help.
>>>
>>> I have attached the code I am running which results in a segmentation
>>> fault
>>> if run on Linux Calculate.
>>> It has the seed set to the value which leads to this error. But it is
>>> important to note
>>> that if the parameters used in the program and the seed are changed it
>>> doesn't
>>> necessarily crash.
>>>
>>> Here is the description of my R version and OS:
>>>
>>> sessionInfo()
>>>>
>>> R version 2.10.1 (2009-12-14)
>>> i686-pc-linux-gnu
>>>
>>> locale:
>>> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
>>> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
>>> [5] LC_MONETARY=C LC_MESSAGES=en_US.UTF-8
>>> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
>>> [9] LC_ADDRESS=C LC_TELEPHONE=C
>>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>>
>>> attached base packages:
>>> [1] stats graphics grDevices utils datasets methods base
>>>
>>> After calling `icfit` the program quits with the following output
>>> (I have replaced the output concerning the arguments passed to
>>> initcomputeMLE by
>>> <<<<< arguments passed to initcomputeMLE>>>>> so that the description of
>>> the
>>>
>>> output wouldn't be too long):
>>>
>>> *** caught segfault ***
>>> address 0xc, cause 'memory not mapped'
>>>
>>> Traceback:
>>> 1: .Call("ComputeMLEForR", R, B, max.inner, max.outer, tol)
>>> 2: computeMLE(R, B, max.inner = max.inner, max.outer = max.outer, tol
>>> =
>>> tol)
>>> 3: initcomputeMLE(<<<<< arguments passed to initcomputeMLE>>>>>)
>>> 4: do.call(initfit, args = list(L = L, R = R, Lin = Lin, Rin = Rin, A
>>> =
>>> A))
>>> 5: doTryCatch(return(expr), name, parentenv, handler)
>>> 6: tryCatchOne(expr, names, parentenv, handlers[[1L]])
>>> 7: tryCatchList(expr, classes, parentenv, handlers)
>>> 8: tryCatch(expr, error = function(e) { call<- conditionCall(e) if
>>> (!is.null(call)) { if (identical(call[[1L]],
>>> quote(doTryCatch))) call<- sys.call(-4L) dcall<-
>>> deparse(call)[1L] prefix<- paste("Error in", dcall, ": ")
>>> LONG<- 75L msg<- conditionMessage(e) sm<- strsplit(msg,
>>> "\n")[[1L]] w<- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type
>>> = "w") if (is.na(w)) w<- 14L + nchar(dcall, type =
>>> "b")
>>> + nchar(sm[1L], type = "b") if (w> LONG)
>>> prefix<- paste(prefix, "\n ", sep = "") } else prefix<- "Error :
>>> " msg<- paste(prefix, conditionMessage(e), "\n", sep = "")
>>> .Internal(seterrmessage(msg[1L])) if (!silent&&
>>> identical(getOption("show.error.messages"), TRUE)) {
>>> cat(msg,
>>> file = stderr()) .Internal(printDeferredWarnings()) }
>>> invisible(structure(msg, class = "try-error"))})
>>> 9: try(do.call(initfit, args = list(L = L, R = R, Lin = Lin, Rin = Rin,
>>> A = A)))
>>> 10: icfit.default(L = left, R = right)
>>> 11: icfit(L = left, R = right)
>>>
>>> Possible actions:
>>> 1: abort (with core dump, if enabled)
>>> 2: normal R exit
>>> 3: exit R without saving workspace
>>> 4: exit R saving workspace
>>>
>>> I would greatly appreciate any help provided.
>>> Sincerely yours,
>>> Yuliya Matveyeva.
>>>
>>>
>>>
>>> ______________________________________________
>>> R-help at r-project.org 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.
>>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org 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.
More information about the R-help
mailing list