[R-SIG-Mac] Segfault with rWishart in R 2.15.1

peter dalgaard pdalgd at gmail.com
Wed Jul 4 09:35:44 CEST 2012

On Jul 4, 2012, at 03:12 , Michael Braun wrote:

> I just upgraded to R 2.15.1, and I am getting a segmentation fault when using the rWishart function (from the stats package) to sample moderately-size matrices.
> Here is the output when I run R within gdb.  720 appears to be the dimensionality cut-off.  Anything smaller works fine.  Anything larger crashes.
>> x=rWishart(1,700,diag(700)) // this works
>> x=rWishart(1,720,diag(720))
> Error: C stack usage is too close to the limit
>> x=rWishart(1,722,diag(722))

That'll be due to allocating memory off the C stack with alloca(). Please file a bug report on this (nothing to do with Mac, much less with the age of your computer).

In a tight spot, you can run R from the terminal after raising the C stack limit with, say, "ulimit -s 32768", but of course the trouble returns at twice the matrix size. 

Notice that there are really two issues here. One is that the R_CheckStack() safeguards are failing. The other is why we're using stack allocation in the first place.  

Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

More information about the R-SIG-Mac mailing list