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)
Best regards,
Jan
On Mon, Jun 29, 2020 at 5:42 PM Martin Maechler
<maechler at stat.math.ethz.ch> wrote:>
> >>>>> Kurt Hornik
> >>>>> on Mon, 29 Jun 2020 16:13:03 +0200 writes:
>
> >>>>> Jan Gorecki writes:
> >> So the unique.default is from the R tools package during
> >> checks. I don't see those issues on CRAN checks.
>
> > I cannot reproduce this locally (and have no clues about
> > docker). Perhaps you can try to debug this on your end?
> > And see what env_list is when the error occurs?
>
> > Best -k
>
> Indeed, if it is a bug in R (as opposed to being an assumption
> that 'data.table' makes about undocumented R internals), it
> should be reproducible with a very small dummy package instead
> of data.table. ... or actually reproducible with relatively
> simple R code calling unique() not envolving any non base package.
>
> Martin
>
>
> >> Exact environment where I am reproducing this issue is a
> >> fresh ubuntu, no R packages pre-installed docker pull
> >> registry.gitlab.com/jangorecki/dockerfiles/r-devel
> >>
https://gitlab.com/jangorecki/dockerfiles/-/raw/master/r-devel/Dockerfile
>
> >> On Sat, Jun 27, 2020 at 12:37 AM Jan Gorecki
> >> <j.gorecki at wit.edu.pl> wrote:
> >>>
> >>> Hi R developers,
> >>>
> >>> On R-devel (2020-06-24 r78746) I am getting those two
> >>> new exceptions during R check. I found a change which
> >>> eventually may be related
> >>>
https://github.com/wch/r-source/commit/69de92b9fb1b7f2a7c8d1394b8d56050881a5465
> >>> I think this may be a regression. I grep'ed package
> >>> manuals and R code for unique.default but don't see
> >>> any. Usage section of the unique method looks fine as
> >>> well. Errors look a little bit like internal errors.
> >>>
> >>> * checking Rd \usage sections ... NOTE Error in
> >>> unique.default(env_list) : LENGTH or similar applied to
> >>> environment object Calls: <Anonymous>
> >>> ... .get_S3_generics_as_seen_from_package -> unique
->
> >>> unique.default Execution halted The \usage entries for
> >>> S3 methods should use the \method markup and not their
> >>> full name. * checking S3 generic/method consistency
> >>> ... WARNING Error in unique.default(env_list) : LENGTH
> >>> or similar applied to environment object Calls:
> >>> <Anonymous> ...
.get_S3_generics_as_seen_from_package ->
> >>> unique -> unique.default
> >>>
> >>> I don't think if it is related but I build R-devel
with
> >>> extra args: --with-recommended-packages
> >>> --enable-strict-barrier --disable-long-double I check
> >>> with: --as-cran --no-manual To reproduce download
> >>> current data.table from CRAN (1.12.8) and run R check
> >>>
> >>> Best regards, Jan Gorecki
>
> >> ______________________________________________
> >> R-devel at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-devel
>
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>> 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> Best regards, > Jan> On Mon, Jun 29, 2020 at 5:42 PM Martin Maechler > <maechler at stat.math.ethz.ch> wrote: >> >> >>>>> Kurt Hornik >> >>>>> on Mon, 29 Jun 2020 16:13:03 +0200 writes: >> >> >>>>> Jan Gorecki writes: >> >> So the unique.default is from the R tools package during >> >> checks. I don't see those issues on CRAN checks. >> >> > I cannot reproduce this locally (and have no clues about >> > docker). Perhaps you can try to debug this on your end? >> > And see what env_list is when the error occurs? >> >> > Best -k >> >> Indeed, if it is a bug in R (as opposed to being an assumption >> that 'data.table' makes about undocumented R internals), it >> should be reproducible with a very small dummy package instead >> of data.table. ... or actually reproducible with relatively >> simple R code calling unique() not envolving any non base package. >> >> Martin >> >> >> >> Exact environment where I am reproducing this issue is a >> >> fresh ubuntu, no R packages pre-installed docker pull >> >> registry.gitlab.com/jangorecki/dockerfiles/r-devel >> >> https://gitlab.com/jangorecki/dockerfiles/-/raw/master/r-devel/Dockerfile >> >> >> On Sat, Jun 27, 2020 at 12:37 AM Jan Gorecki >> >> <j.gorecki at wit.edu.pl> wrote: >> >>> >> >>> Hi R developers, >> >>> >> >>> On R-devel (2020-06-24 r78746) I am getting those two >> >>> new exceptions during R check. I found a change which >> >>> eventually may be related >> >>> https://github.com/wch/r-source/commit/69de92b9fb1b7f2a7c8d1394b8d56050881a5465 >> >>> I think this may be a regression. I grep'ed package >> >>> manuals and R code for unique.default but don't see >> >>> any. Usage section of the unique method looks fine as >> >>> well. Errors look a little bit like internal errors. >> >>> >> >>> * checking Rd \usage sections ... NOTE Error in >> >>> unique.default(env_list) : LENGTH or similar applied to >> >>> environment object Calls: <Anonymous> >> >>> ... .get_S3_generics_as_seen_from_package -> unique -> >> >>> unique.default Execution halted The \usage entries for >> >>> S3 methods should use the \method markup and not their >> >>> full name. * checking S3 generic/method consistency >> >>> ... WARNING Error in unique.default(env_list) : LENGTH >> >>> or similar applied to environment object Calls: >> >>> <Anonymous> ... .get_S3_generics_as_seen_from_package -> >> >>> unique -> unique.default >> >>> >> >>> I don't think if it is related but I build R-devel with >> >>> extra args: --with-recommended-packages >> >>> --enable-strict-barrier --disable-long-double I check >> >>> with: --as-cran --no-manual To reproduce download >> >>> current data.table from CRAN (1.12.8) and run R check >> >>> >> >>> Best regards, Jan Gorecki >> >> >> ______________________________________________ >> >> R-devel at r-project.org mailing list >> >> https://stat.ethz.ch/mailman/listinfo/r-devel >> >> > ______________________________________________ >> > R-devel at r-project.org mailing list >> > https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>> 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 ? Martin