[Rd] Resizing a named vector crashes R with gctorture(TRUE) (PR#13837)

murdoch at stats.uwo.ca murdoch at stats.uwo.ca
Thu Jul 16 02:30:09 CEST 2009


On 15/07/2009 8:08 PM, Hervé Pagès wrote:
> Hi,
> 
>    > x <- c(a=10, b=20)
>    > length(x) <- 1
>    > x
>     a
>    10
> 
> But with gctorture turned on, I get:
> 
>    > gctorture(TRUE)
>    > x <- c(a=10, b=20)
>    > length(x) <- 1
>    > x
>      a
>    "a"   <---- ???
> 
>    > x <- c(a=10, b=20)
>    > length(x) <- 3
> 
>     *** caught segfault ***
>    address (nil), cause 'unknown'
> 
>    Possible actions:
>    1: abort (with core dump, if enabled)
>    2: normal R exit
>    3: exit R without saving workspace
>    4: exit R saving workspace
> 
> This seems to have been around for a while (I get this with R 2.10,
> 2.9 and 2.8). Note that I don't get this with an unnamed vector.
> 
> This problem affects the methods package. I found it while
> troubleshooting the "Protection stack overflow" I reported earlier
> (see https://stat.ethz.ch/pipermail/r-devel/2009-July/054030.html)
> but I can't tell yet whether the 2 issues are related or not.

That's clearly a bug (reproducible in today's R-devel build); I've cc'd 
this reply to r-bugs.  I'll take a look and see if I can track it down.

> It would be nice to see some reaction from the R developers
> about these issues. Thanks in advance!

You should post them as bug reports if they are as clearly bugs as this 
one; otherwise they can easily get lost in the noise.  I'm not going to 
offer to look into the other one; I don't know the insides of the 
methods package.

Duncan Murdoch

> 
> H.
> 
> 
> hpages at fhcrc.org wrote:
>> Hi,
>>
>>   > gctorture(TRUE)
>>   > setGeneric("foo", function(x, y) standardGeneric("foo"))
>>   [1] "foo"
>>   > setMethod("foo", c("ANY", "ANY"),
>>   +   function(x, y) cat("calling foo,ANY,ANY method\n")
>>   + )
>>   Error: protect(): protection stack overflow
>>
>> Sorry this is something I already reported one week ago here
>>   https://stat.ethz.ch/pipermail/r-devel/2009-July/053973.html
>> but I just had a 2nd look at it and realized that the problem
>> can in fact be reproduced out of the .onLoad() hook. So I'm
>> reporting it again with a different subject.
>>
>> See my sessionInfo() below. Thanks!
>> H.
>>
>>
>>> sessionInfo()
>> R version 2.10.0 Under development (unstable) (2009-06-26 r48837)
>> x86_64-unknown-linux-gnu
>>
>> locale:
>>  [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C
>>  [3] LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8
>>  [5] LC_MONETARY=C              LC_MESSAGES=en_CA.UTF-8
>>  [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C
>>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list