[Rd] R crashes when printing a named numeric vector of a specific class - Bug?

Basil Abou El-Komboz Basil.Abou-El-Komboz at stat.uni-muenchen.de
Tue Sep 11 16:53:45 CEST 2012


Dear useR's,

today I stumbled over an interesting phenomenon: First, I created a
named numeric vector with a certain class and several attributes via the
structure() function. After that, I implemented a simple print method
for this class. When calling this function it produces an endless loop
of print calls until R crashes. :/

What is going on here? Is this a bug or have I done something completely
wrong? :)

Below is a minimal example which reproduces the behavior. Be careful
when calling foo() as this automatically calls print.bar() which causes
R to crash (at least on my PC, see further informations about my system below.)

Greetings,
Basil

--------------------------------------------------

Minimal example:

foo <- function () {
 x <- c("A" = 1.3, "B" = 0.7, "C" = -0.3)
 structure(x, class = "bar")
}

print.bar <- function (x, ...) {
  print(x, ...)
}

--------------------------------------------------

Further informations about my system:

> version
              _                            
platform       x86_64-unknown-linux-gnu     
arch           x86_64                       
os             linux-gnu                    
system         x86_64, linux-gnu            
status                                      
major          2                            
minor          15.1                         
year           2012                         
month          06                           
day            22                           
svn rev        59600                        
language       R                            
version.string R version 2.15.1 (2012-06-22)
nickname       Roasted Marshmallows         

> sessionInfo()

R version 2.15.1 (2012-06-22)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8   
 [6] LC_MESSAGES=en_US.UTF-8    LC_PAPER=C                 LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_2.15.1 tools_2.15.1



More information about the R-devel mailing list