Re: [Rd] Infinite recursion in S3 methods crashes R on windows (related to PR#8203?)

From: Peter Dalgaard <p.dalgaard_at_biostat.ku.dk>
Date: Thu 24 Nov 2005 - 09:31:32 GMT

Rich FitzJohn <rich.fitzjohn@gmail.com> writes:

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

This is presumably an issue of C stack size. We increased options("expressions") in 2.2.0 from 500 to 5000, thinking that "machines are bigger than that these days", but apparently not.

So for 2.2.0 patched we have

    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 in R-devel

    o options(expressions) reverts to the default of 5000 now

        stack checking is in place.  

> Cheers,
> Rich
>
> Version:
> platform = i386-pc-mingw32
> arch = i386
> os = mingw32
> system = i386, mingw32
> status =
> major = 2
> minor = 2.0
> year = 2005
> month = 10
> day = 06
> svn rev = 35749
> language = R
>
> Windows 2000 Professional (build 2195) Service Pack 4.0
>
> Locale:
> LC_COLLATE=English_New Zealand.1252;LC_CTYPE=English_New
> Zealand.1252;LC_MONETARY=English_New
> Zealand.1252;LC_NUMERIC=C;LC_TIME=English_New Zealand.1252
>
> Search Path:
> .GlobalEnv, package:methods, package:stats, package:graphics,
> package:grDevices, package:utils, package:datasets, Autoloads,
> package:base
>
>
> --
> Rich FitzJohn
> rich.fitzjohn <at> gmail.com | http://homepages.paradise.net.nz/richa183
> You are in a maze of twisty little functions, all alike
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
   O__  ---- Peter Dalgaard             ěster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)                  FAX: (+45) 35327907

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Thu Nov 24 20:46:42 2005

This archive was generated by hypermail 2.1.8 : Thu 24 Nov 2005 - 11:21:01 GMT