From ripley at stats.ox.ac.uk  Wed Apr 12 07:43:22 2006
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed, 12 Apr 2006 06:43:22 +0100 (BST)
Subject: [Rd] Stack checking, core dumps, and embedding R
In-Reply-To: <E725DDAC-4044-4A6E-B9F6-007FAF7225DA@r-project.org>
References: <1abe3fa90604110234v1b4958c0w1e51e2b49f7ff9c5@mail.gmail.com>
	<E725DDAC-4044-4A6E-B9F6-007FAF7225DA@r-project.org>
Message-ID: <Pine.LNX.4.64.0604120640540.31187@gannet.stats.ox.ac.uk>

On Tue, 11 Apr 2006, Simon Urbanek wrote:

> On Apr 11, 2006, at 5:34 AM, A.J. Rossini wrote:
>
>> I've been experiencing some interesting stack warnings recently
>> when moving from R 2.2.x to the R 2.3.0 series and the R 2.4.0
>> series.  In particular, I'm getting warnings of "Error: C stack
>> usage is too close to the limit" before segfaulting, and this
>> wasn't happening under the 2.2.x series.
>>
>> Here's the question statement:  (ONLY) In the situation where one
>> is embedding R, is anyone else seeing this occur with recent (past
>> 2 weeks) versions of R (both the 2.3.x and 2.4.x series)?
>>
>
> When embedding R, the stack base is set to -1 (which is almost
> certainly wrong) if R cannot find the stack base using some system
> method.

Setting it to -1 means stack checking is disabled, so _no_ harm is done.
The test is

     if(R_CStackLimit != -1 && usage > 0.95 * R_CStackLimit) {

in errors.c.

> I have just fixed the detection for OS X, so you shouldn't
> get that message there anymore. However, I was wondering why to not
> set it to something reasonable - even if we are not the main
> application, IMHO less harm is done setting it to something based on
> the current stack pointer than using -1. The status quo relies on the
> embedding application to set the stack base - I don't know if that's
> a good idea. Opinions?

Wrong premise, wrong conclusion.

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



[Rd] Stack checking, core dumps, and embedding R
Prof Brian Ripley