On Tue, 11 Apr 2006, Jeffrey Horner wrote: > 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. I have just fixed the detection for OS X, so you shouldn't > > My question may be unrelated, but I stumbled across it while trying to > understand the above problem. The following is from R-trunk r37731 > src/unix/system.c in Rf_initialize_R() and is run when the os is neither > linux nor freebsd: > > if(R_running_as_main_program) { > /* This is not the main program, but unless embedded it is > near the top, 5540 bytes away when checked. */ > R_CStackStart = (uintptr_t) &i + 6000; > } > > This is run before we know which direction the stack grows: > > { > int ii; > /* 1 is downwards */ > R_CStackDir = ((uintptr_t)&i > (uintptr_t)&ii) ? 1 : -1; > } > > So, R_CStackStart is being set to the address of i (on the stack) plus > 6000 bytes, an approximation to somewhere near the beginning of the > stack, but this presumes the stack grows down, right? What if it grows > up? Then shouldn't we subtract 6000 bytes?
Probably, but is 12000 bytes important (stack sizes are around 10Mb)? Do you know of an R platform on which it grows up, BTW (I don't)? -- Brian D. Ripley, [EMAIL PROTECTED] 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 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel