Skip to content

R windows crash (PR#9426)

3 messages · robert.denham at nrm.qld.gov.au, Peter Dalgaard, Brian Ripley

#
Full_Name: Robert Denham
Version: R-2.4.1
OS: Windows Xp
Submission from: (NULL) (61.88.57.1)


R gui exits without warning when I run a function which has an argument with a
default that is not found.  

This was a result of an error in a function I wrote, but I thought that it
should exit more gracefully than it does. Here is an example:


testfun <- function(aa=aa) {
    aa <- lm(y~x,data=aa)
    return(aa)
}

testfun() #R then exits.

Note that 

testfun <- function(aa=bb) {
    aa <- lm(y~x,data=aa)
    return(aa)
}

works as it should, giving "object bb not found".
#
robert.denham at nrm.qld.gov.au wrote:
This seems reproducible on  Linux, except that it goes into an infinite 
loop. The lm call seems to be the real culprit:

 > testfun <- function(aa=aa) return(aa)
 > testfun()
Error in testfun() : recursive default argument reference
 > testfun <- function(aa=aa) lm(x~y,data=aa)
 > testfun()
(*poof*)
#
On Thu, 21 Dec 2006, Peter Dalgaard wrote:
[...]
The difference is in argument evaluation between closures and internal 
functions (c() in my example, return() in yours).