[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