On Thu, 24 Nov 2005, Rich FitzJohn wrote: > Hi, > > Infinite recursion in S3 methods seem to crash R on Windows 2000 (R > terminating with the ("Rgui.exe has generated errors...") message, > rather than throwing an error. This happens with both Rgui and Rterm. > > The following toy example triggers this: > myf <- function(x, ...) > UseMethod("myf") > > myf.default <- function(x, ...) > myf(x) > > myf(1) > ...R crashes... > > Which I would expect to terminate with the usual "evaluation nested > too deeply: infinite recursion" or protect stack overflow message. > > This may be related to the reported bug 8203 - apologies if this has > been fixed. I couldn't find specific mention of this in the NEWS > file.
PR#8203 is attributed to C-stack overflow, and there is a prominent message (quoted below) in NEWS. > This does not happen on R 2.1.0 on Windows 2000 (same machine), or on > R 2.2.0 on Linux. R/Machine version below. What is happening is that the Windows C stack is being overflowed before the evaluation limit is reached, and what happens thereafter is random. So it would probably also crash in 2.1.0 eventually. This has already been fixed, and the R-patched NEWS file says USER-VISIBLE CHANGES o options("expressions") has been reduced to 1000: the limit of 5000 introduced in 2.1.0 was liable to give crashes from C stack overflow. and the Windows CHANGES file says The maximum C stack size for RGui.exe and Rterm.exe has been increased to 10Mb (from 2Mb); this is comparable with the default on Linux systems and may allow some larger programs to run without crashes. -- 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