Data.table: eplusr revdep: entre error interno

Creado en 16 may. 2019  ·  3Comentarios  ·  Fuente: Rdatatable/data.table

Con el último maestro, eplusr muestra: 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

Comentario más útil

@hongyuanjia Gracias por sus amables palabras. Afortunadamente, debido a que usó data.table con tanta frecuencia y realizó pruebas, pudimos detectar una regresión en la versión de desarrollo de data.table (al realizar la verificación de dependencia inversa) antes del lanzamiento a CRAN. ¡Así que gracias por eso!

Todos 3 comentarios

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

Soy el desarrollador del paquete eplusr. Acabo de ver este problema cuando traté de buscar otros temas de problemas en data.table repo.

Mi paquete se basa en gran medida en el paquete data.table. Tal vez este no sea el lugar correcto, pero aún así quiero expresar mi profundo aprecio y agradecimiento por los paquetes de data.table y también los esfuerzos continuos que ustedes hicieron para hacer que data.table sea aún mejor.

@hongyuanjia Gracias por sus amables palabras. Afortunadamente, debido a que usó data.table con tanta frecuencia y realizó pruebas, pudimos detectar una regresión en la versión de desarrollo de data.table (al realizar la verificación de dependencia inversa) antes del lanzamiento a CRAN. ¡Así que gracias por eso!

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

arunsrinivasan picture arunsrinivasan  ·  3Comentarios

sengoku93 picture sengoku93  ·  3Comentarios

nachti picture nachti  ·  3Comentarios

andschar picture andschar  ·  3Comentarios

rafapereirabr picture rafapereirabr  ·  3Comentarios