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