Data.table: eplusr revdep: entre erro interno

Criado em 16 mai. 2019  Â·  3ComentĂĄrios  Â·  Fonte: Rdatatable/data.table

Com o master mais recente, o eplusr mostra: Internal error in between: 'x' is not int, double or int64, should have been caught by now

$ R CMD check eplusr_0.10.2.tar.gz 
* using log directory ‘/home/mdowle/build/revdeplib/eplusr.Rcheck’
* using R version 3.6.0 (2019-04-26)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘eplusr/DESCRIPTION’ ... OK
* this is package ‘eplusr’ version ‘0.10.2’
* package encoding: UTF-8
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ‘eplusr’ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking ‘build’ directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking R/sysdata.rda ... OK
* checking installed files from ‘inst/doc’ ... OK
* checking files in ‘vignettes’ ... OK
* checking examples ... ERROR
Running examples in ‘eplusr-Ex.R’ failed
The error most likely occurred in:

> ### Name: is_eplus_ver
> ### Title: Check for Idd, Idf and Epw objects
> ### Aliases: is_eplus_ver is_idd_ver is_eplus_path is_idd is_idf
> ###   is_iddobject is_idfobject is_epw
> 
> ### ** Examples
> 
> is_eplus_ver(8.8)
[1] TRUE
> is_eplus_ver(8.0)
[1] FALSE
> is_eplus_ver("latest", strict = FALSE)
[1] TRUE
> 
> is_idd_ver("9.0.1")
[1] TRUE
> is_idd_ver("8.0.1")
[1] FALSE
> 
> is_eplus_path("C:/EnergyPlusV9-0-0")
[1] FALSE
> is_eplus_path("/usr/local/EnergyPlus-9-0-1")
[1] FALSE
> 
> is_idd(use_idd(8.8, download = "auto"))
[1] TRUE
> 
> idf <- read_idf(system.file("extdata/1ZoneUncontrolled.idf", package = "eplusr"),
+     idd = use_idd(8.8, download = "auto"))
> is_idf(idf)
[1] TRUE
> 
> is_iddobject(idd_object(8.8, "Version"))
[1] TRUE
> 
> is_idfobject(idf_object(idf, 1))
[1] TRUE
> 
> is_epw(read_epw(download_weather("los angeles.*tmy3", type = "epw", ask = FALSE, max_match = 1)))
One matched results found. Start downloading:
── USA_CA_Los.Angeles.Intl.AP.722950_TMY3 ──────────────────────────────────────
 * Country: United States of America
 * State or Province: CA
 * Location: CA_Los.Angeles.Intl.AP
 * WMO number: 722950
 * Source type: TMY3
 * Longitude: -118.4
 * Latitude: 33.93
trying URL 'https://energyplus.net/weather-download/north_and_central_america_wmo_region_4/USA/CA/USA_CA_Los.Angeles.Intl.AP.722950_TMY3/USA_CA_Los.Angeles.Intl.AP.722950_TMY3.epw'
downloaded 1.6 MB

Error in between(x, range$minimum, range$maximum, range$lower_incbounds) : 
  Internal error in between: 'x' is not int, double or int64, should have been caught by now
Calls: is_epw ... doTryCatch -> assert -> eval -> eval -> in_range -> between
Execution halted
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
  Running ‘testthat.R’
 ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
  ── 1. Error: list checking (@test_assert.R#60)  ────────────────────────────────
  Internal error in between: 'x' is not int, double or int64, should have been caught by now
  1: expect_true(has_len(1:2, ranger(0))) at testthat/test_assert.R:60
  2: quasi_label(enquo(object), label, arg = "object")
  3: eval_bare(get_expr(quo), get_env(quo))
  4: has_len(1:2, ranger(0))
  5: in_range(length(x), len)
  6: between(x, range$minimum, range$maximum, range$lower_incbounds)

  ══ testthat results  ═══════════════════════════════════════════════════════════
  OK: 994 SKIPPED: 7 WARNINGS: 0 FAILED: 1
  1. Error: list checking (@test_assert.R#60) 

  Error: testthat unit tests failed
  Execution halted
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in ‘inst/doc’ ... OK
* checking running R code from vignettes ...
   ‘eplusr.Rmd’ using ‘UTF-8’ ... OK
 NONE
* checking re-building of vignette outputs ... WARNING
Error(s) in re-building vignettes:
  ...
--- re-building ‘eplusr.Rmd’ using rmarkdown
trying URL 'https://github.com/NREL/EnergyPlus/releases/download/v8.8.0/EnergyPlus-8.8.0-7c3bbe4830-Linux-x86_64.tar.gz'
Content type 'application/octet-stream' length 101420148 bytes (96.7 MB)
==================================================
downloaded 96.7 MB

Quitting from lines 790-793 (eplusr.Rmd) 
Error: processing vignette 'eplusr.Rmd' failed with diagnostics:
Internal error in between: 'x' is not int, double or int64, should have been caught by now
--- failed re-building ‘eplusr.Rmd’

SUMMARY: processing the following file failed:
  ‘eplusr.Rmd’

Error: Vignette re-building failed.
Execution halted

* checking PDF version of manual ... OK
* DONE

Status: 2 ERRORs, 1 WARNING
See
  ‘/home/mdowle/build/revdeplib/eplusr.Rcheck/00check.log’
for details.
dev

ComentĂĄrios muito Ășteis

@hongyuanjia Obrigado pelas palavras gentis. Felizmente, por causa de vocĂȘ usar o data.table com tanta intensidade e ter testes implementados, conseguimos detectar a regressĂŁo na versĂŁo de desenvolvimento do data.table (ao fazer a verificação de dependĂȘncia reversa) antes do lançamento para o CRAN. EntĂŁo, obrigado por isso!

Todos 3 comentĂĄrios

simplificado

between(1:10, -Inf, Inf)
Error in between(1:10, -Inf, Inf) : 
  Internal error in between: 'x' is not int, double or int64, should have been caught by now

Eu sou o desenvolvedor do pacote eplusr. Acabei de ver esse problema quando tentei pesquisar outros tĂłpicos de problemas no repositĂłrio data.table.

Meu pacote Ă© fortemente baseado no pacote data.table. Talvez este nĂŁo seja o lugar certo, mas ainda assim quero expressar meu profundo apreço e gratidĂŁo pelos pacotes data.table e tambĂ©m pelos esforços contĂ­nuos que vocĂȘs fizeram para tornar o data.table ainda melhor!

@hongyuanjia Obrigado pelas palavras gentis. Felizmente, por causa de vocĂȘ usar o data.table com tanta intensidade e ter testes implementados, conseguimos detectar a regressĂŁo na versĂŁo de desenvolvimento do data.table (ao fazer a verificação de dependĂȘncia reversa) antes do lançamento para o CRAN. EntĂŁo, obrigado por isso!

Esta pĂĄgina foi Ăștil?
0 / 5 - 0 avaliaçÔes

QuestÔes relacionadas

MichaelChirico picture MichaelChirico  Â·  3ComentĂĄrios

st-pasha picture st-pasha  Â·  3ComentĂĄrios

arunsrinivasan picture arunsrinivasan  Â·  3ComentĂĄrios

tcederquist picture tcederquist  Â·  3ComentĂĄrios

andschar picture andschar  Â·  3ComentĂĄrios