Re: [Rd] eval(match.call()) (PR#9339)

From: <marc_schwartz_at_comcast.net>
Date: Fri 03 Nov 2006 - 20:27:30 GMT


On Fri, 2006-11-03 at 21:15 +0100, Peter Dalgaard wrote:
> harringt@stat.ubc.ca writes:
>
> > Full_Name: Justin Harrington
> > Version: 2.4.0
> > OS: Fedora Core 6
> > Submission from: (NULL) (142.103.121.203)
> >
> >
> > When I type the (albeit stupid) command
> >
> > eval(match.call())
> >
> > R crashes with the following messages (truncated):
> >
> > *** buffer overflow detected ***: /usr/lib/R/bin/exec/R terminated
>
> Yes, don't do that then ;-)

Indeed... ;-)

> Part of the puzzle is that
>
> > match.call()
> match.call()
>
> which looks like something with potential for infinite recursion, but
> that doesn't seem to be issue since
>
> > f <- function(call = sys.call(sys.parent()))call
> > f()
> f()
> > eval(f())
> f()
>
> does not exhibit the same crash. And indeed
>
> > x <- quote(match.call())
> > eval(x)
> *** buffer overflow detected ***: /usr/lib/R/bin/exec/R terminated
> ======= Backtrace: =========
> /lib/libc.so.6(__chk_fail+0x41)[0x1f1161]
> /lib/libc.so.6[0x1f0617]
>
> does look like something that just Should Not Happen...

Peter, are you on FC6?

On FC5, I cannot replicate your crash:

> x <- quote(match.call())
> eval(x)
Error in match.call(definition, call, expand.dots) :

        '.Primitive...' is not a function

?

Regards,

Marc



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sat Nov 04 10:16:57 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Fri 03 Nov 2006 - 23:30:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.