[Rd] R crashes for large formulas in lm() (PR#8180)

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Oct 5 18:01:28 CEST 2005


On Thu, 6 Oct 2005, Ei-ji Nakama wrote:

> Hi,
>
> Wed, 5 Oct 2005 13:38:12 +0100 (BST)
> Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote.
>> This is almost certainly C stack overflow, which will be _very_
>> OS-specific. I can run this 9-var example in Linux with a stacksize of
>> 30Mb, but not the default 10Mb. I tried it with the default stack under
>> valgrind, and it works.
>>
>> Windows versions of R have I believe a stack of 8Mb, and so I suspect are
>> running close to that with 8-var example.
>>
>> The problem appears to be recursion in StripTerm.
>
> default of stack of ld for Mingw seems to be 2M.

Yes thanks I have since found that (from ld --help)

> see. binutils-2.16.91-20050827-1/ld/emultempl/pe.em
>   289    D(SizeOfStackReserve,"__size_of_stack_reserve__", 0x200000),
>
> How about adding the following to MkRules?
> MINGW32LDFLAG=-Wl,--stack=33554432

I have been trying that but I cannot make it work (checking the header).
It seems the way that does work is -Wl,--stack=0xA00000.  That does allow 
this example (with 8 vars) to always run on WinXP.

-- 
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