[Rd] R-devel internal errors during check produce?

Deepayan Sarkar deep@y@n@@@rk@r @end|ng |rom gm@||@com
Tue Jun 30 12:10:48 CEST 2020


On Tue, Jun 30, 2020 at 1:32 PM Martin Maechler
<maechler using stat.math.ethz.ch> wrote:
>
> >>>>> Kurt Hornik
> >>>>>     on Tue, 30 Jun 2020 06:20:57 +0200 writes:
>
> >>>>> Jan Gorecki writes:
>     >> Thank you both, You are absolutely correct that example
>     >> should be minimal, so here it is.
>
>     >> l = list(a=new.env(), b=new.env()) unique(l)
>
>     >> Just for completeness, env_list during check that raises
>     >> error
>
>     >> env_list <- list(baseenv(),
>     >>   as.environment("package:graphics"),
>     >>   as.environment("package:stats"),
>     >>   as.environment("package:utils"),
>     >>   as.environment("package:methods") )
>
>     >> unique(env_list)
>
>     > Thanks ... but the above work fine for me.  E.g.,
>
>     R> l = list(a=new.env(), b=new.env())
>     R> unique(l)
>     > [[1]] <environment: 0x55695f2f6d20>
>
>     > [[2]] <environment: 0x55695f2f6930>
>
>     > Best -k
>
> Ditto here;  also your (Jan) 2nd example works fine.
>
> So, you must have loaded some (untidy) packages / code which redefine
> standard base R behavior ?

Looking inside Jan's Dockerfile, it turns out that he is configuring R with

./configure --with-recommended-packages --enable-strict-barrier
--disable-long-double

and with that I can reproduce:

> unique(list(new.env()))
Error in unique.default(list(new.env())) :
 LENGTH or similar applied to environment object

--enable-strict-barrier is enough to reproduce the error.

-Deepayan



More information about the R-devel mailing list