[Rd] arima() bug
Prof Brian Ripley
ripley at stats.ox.ac.uk
Sun Jun 15 16:15:30 CEST 2008
On Thu, 12 Jun 2008, Prof Brian Ripley wrote:
> On Thu, 12 Jun 2008, Antonio, Fabio Di Narzo wrote:
>
>> No segfault with my r-patched version on linux-i686:
>>
>>> set.seed(1); x <- ts(20*sin((1:731)*2*pi/365) + 10 + rnorm(731, 0, 4),
>>> freq=365)
>>> arima(x, c(1, 0, 1), c(1, 0, 1))
>> Errore: cannot allocate vector of size 1010.9 Mb
>
> Yes, you need a lot of memory to reproduce it. It's a nonsensical
> calculation but nevertheless we need to track down the cause.
Which is an integer overflow in an integer calculation of a dimension.
The current code is only able to code with lags up to 350, and this is
attempting a fit with lag 366. I've added an explicit check.
>
>>
>> F.
>>
>>> R.version
>> _
>> platform i686-pc-linux-gnu
>> arch i686
>> os linux-gnu
>> system i686, linux-gnu
>> status Patched
>> major 2
>> minor 7.0
>> year 2008
>> month 05
>> day 29
>> svn rev 45820
>> language R
>> version.string R version 2.7.0 Patched (2008-05-29 r45820)
>>
>>
>> 2008/6/12 Ray Brownrigg <Ray.Brownrigg at mcs.vuw.ac.nz>:
>>> I guess this is more r-devel than r-help.
>>>
>>> Note, I am just the messenger - I have no idea what the user is trying to
>>> model here.
>>>
>>> arima() crashes R (segfault) with Linux R-2.7.0, Solaris R-2.6.0:
>>>
>>> *** caught segfault ***
>>> address 42400000, cause 'memory not mapped'
>>>
>>> Traceback:
>>> 1: .Call(R_getQ0, phi, theta)
>>> 2: makeARIMA(trarma[[1]], trarma[[2]], Delta, kappa)
>>> 3: arima(x, c(1, 0, 1), c(1, 0, 1))
>>>
>>> Under rw-2.7.0 or R version 2.8.0 Under development (unstable) (2008-06-10
>>> r45893)
>>> it gets:
>>> Error: cannot allocate vector of size 1010.9 Mb
>>> In addition: Warning messages:
>>> 1: In makeARIMA(trarma[[1]], trarma[[2]], Delta, kappa) :
>>> Reached total allocation of 447Mb: see help(memory.size)
>>> 2: In makeARIMA(trarma[[1]], trarma[[2]], Delta, kappa) :
>>> Reached total allocation of 447Mb: see help(memory.size)
>>> 3: In makeARIMA(trarma[[1]], trarma[[2]], Delta, kappa) :
>>> Reached total allocation of 447Mb: see help(memory.size)
>>> 4: In makeARIMA(trarma[[1]], trarma[[2]], Delta, kappa) :
>>> Reached total allocation of 447Mb: see help(memory.size)
>>>
>>> Reproduce by:
>>>
>>> # 2 years of daily temperature data
>>> set.seed(1); x <- ts(20*sin((1:731)*2*pi/365) + 10 + rnorm(731, 0, 4),
>>> freq=365)
>>> arima(x, c(1, 0, 1), c(1, 0, 1))
>>>
>>> Ray Brownrigg
>>>
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>
>>
>>
>> --
>> Antonio, Fabio Di Narzo
>> Ph.D. student at
>> Department of Statistical Sciences
>> University of Bologna, Italy
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> --
> Brian D. Ripley, ripley at stats.ox.ac.uk
> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list