[Rd] eval(match.call()) (PR#9339)
harringt at stat.ubc.ca
harringt at stat.ubc.ca
Fri Nov 3 23:31:11 CET 2006
Peter Dalgaard wrote:
> Marc Schwartz <marc_schwartz at comcast.net> writes:
>
>
>> On Fri, 2006-11-03 at 21:15 +0100, Peter Dalgaard wrote:
>>
>>> harringt at 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
>>
>> ?
>>
>
> Yes, I'm on FC6 since yum had updated the 1229 packages this morning.
>
> I see the crash with the FC6 RPM but not with a self-compiled R-patched.
>
>
For what it's worth, I also get the same error when trying it on my
(freshly updated) FC4 machine (Linux md.stat.ubc.ca 2.6.17-1.2142_FC4 #1
Tue Jul 11 22:41:14 EDT 2006 i686 i686 i386 GNU/Linux) with R version
2.4.0 (2006-10-03)
Justin
More information about the R-devel
mailing list