Closed mr-c closed 3 years ago
Note that the most current version of DelayedArray for BioC 3.12 is 0.16.1. I can't reproduce this unit test failure with DelayedArray 0.16.1:
> library(DelayedArray)
> DelayedArray:::.test()
Attaching package: ‘genefilter’
The following objects are masked from ‘package:MatrixGenerics’:
rowSds, rowVars
The following objects are masked from ‘package:matrixStats’:
rowSds, rowVars
Loading required package: stats4
Loading required package: Matrix
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: ‘BiocGenerics’
The following objects are masked from ‘package:parallel’:
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from ‘package:stats’:
IQR, mad, sd, var, xtabs
The following objects are masked from ‘package:base’:
anyDuplicated, append, as.data.frame, basename, cbind, colnames,
dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
union, unique, unsplit, which.max, which.min
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: ‘MatrixGenerics’
The following objects are masked from ‘package:matrixStats’:
colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
colWeightedMeans, colWeightedMedians, colWeightedSds,
colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
rowWeightedSds, rowWeightedVars
Loading required package: S4Vectors
Attaching package: ‘S4Vectors’
The following object is masked from ‘package:Matrix’:
expand
The following object is masked from ‘package:base’:
expand.grid
Loading required package: IRanges
Attaching package: ‘DelayedArray’
The following objects are masked from ‘package:base’:
aperm, apply, rowsum
Loading required package: stats4
Loading required package: Matrix
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: ‘BiocGenerics’
The following objects are masked from ‘package:parallel’:
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from ‘package:stats’:
IQR, mad, sd, var, xtabs
The following objects are masked from ‘package:base’:
anyDuplicated, append, as.data.frame, basename, cbind, colnames,
dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
union, unique, unsplit, which.max, which.min
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: ‘MatrixGenerics’
The following objects are masked from ‘package:matrixStats’:
colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
colWeightedMeans, colWeightedMedians, colWeightedSds,
colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
rowWeightedSds, rowWeightedVars
Loading required package: S4Vectors
Attaching package: ‘S4Vectors’
The following object is masked from ‘package:Matrix’:
expand
The following object is masked from ‘package:base’:
expand.grid
Loading required package: IRanges
Attaching package: ‘DelayedArray’
The following objects are masked from ‘package:base’:
aperm, apply, rowsum
Loading required package: stats4
Loading required package: Matrix
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: ‘BiocGenerics’
The following objects are masked from ‘package:parallel’:
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from ‘package:stats’:
IQR, mad, sd, var, xtabs
The following objects are masked from ‘package:base’:
anyDuplicated, append, as.data.frame, basename, cbind, colnames,
dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
union, unique, unsplit, which.max, which.min
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: ‘MatrixGenerics’
The following objects are masked from ‘package:matrixStats’:
colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
colWeightedMeans, colWeightedMedians, colWeightedSds,
colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
rowWeightedSds, rowWeightedVars
Loading required package: S4Vectors
Attaching package: ‘S4Vectors’
The following object is masked from ‘package:Matrix’:
expand
The following object is masked from ‘package:base’:
expand.grid
Loading required package: IRanges
Attaching package: ‘DelayedArray’
The following objects are masked from ‘package:base’:
aperm, apply, rowsum
Loading required package: stats4
Loading required package: Matrix
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: ‘BiocGenerics’
The following objects are masked from ‘package:parallel’:
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from ‘package:stats’:
IQR, mad, sd, var, xtabs
The following objects are masked from ‘package:base’:
anyDuplicated, append, as.data.frame, basename, cbind, colnames,
dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
union, unique, unsplit, which.max, which.min
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: ‘MatrixGenerics’
The following objects are masked from ‘package:matrixStats’:
colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
colWeightedMeans, colWeightedMedians, colWeightedSds,
colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
rowWeightedSds, rowWeightedVars
Loading required package: S4Vectors
Attaching package: ‘S4Vectors’
The following object is masked from ‘package:Matrix’:
expand
The following object is masked from ‘package:base’:
expand.grid
Loading required package: IRanges
Attaching package: ‘DelayedArray’
The following objects are masked from ‘package:base’:
aperm, apply, rowsum
Error in normarg_perm(perm, dim(seed)) : 'perm' must be an integer vector
In addition: Warning messages:
1: In log(a + 0.2) : NaNs produced
2: In match.fun(.Generic)(a) : NaNs produced
Error in validObject(.Object) : invalid class “DelayedAperm” object:
'perm' cannot be an empty vector
Error in validObject(.Object) : invalid class “DelayedAperm” object:
only dimensions equal to 1 can be dropped
Error in validObject(.Object) : invalid class “DelayedAperm” object:
all non-NA values in 'perm' must be >= 1 and <= 'length(dim(a))'
Error in validObject(.Object) : invalid class “DelayedAperm” object:
only dimensions equal to 1 can be dropped
Error in normarg_dimnames(dimnames, seed_dim) :
the supplied 'dimnames' must be NULL or a list
Error in normarg_dimnames(dimnames, seed_dim) :
the supplied 'dimnames' must have one list element per dimension
Error in FUN(X[[i]], ...) :
each list element in the supplied 'dimnames' must be NULL or a
character vector
Error in FUN(X[[i]], ...) :
length of 'dimnames[[1]]' (26) must equal the array extent (5)
Error in seed(x) :
seed() is not supported on a DelayedArray object with multiple seeds at
the moment. Note that you can check the number of seeds with nseed().
You can use 'seedApply(x, identity)' to extract all the seeds as a
list.
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘is_noop’ for signature ‘"DelayedNaryIsoOp"’
Error in seed(x) :
seed() is not supported on a DelayedArray object with multiple seeds at
the moment. Note that you can check the number of seeds with nseed().
You can use 'seedApply(x, identity)' to extract all the seeds as a
list.
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘is_noop’ for signature ‘"DelayedNaryIsoOp"’
Error in seed(x) :
seed() is not supported on a DelayedArray object with multiple seeds at
the moment. Note that you can check the number of seeds with nseed().
You can use 'seedApply(x, identity)' to extract all the seeds as a
list.
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘is_noop’ for signature ‘"DelayedNaryIsoOp"’
Error in seed(x) :
seed() is not supported on a DelayedArray object with multiple seeds at
the moment. Note that you can check the number of seeds with nseed().
You can use 'seedApply(x, identity)' to extract all the seeds as a
list.
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘is_noop’ for signature ‘"DelayedNaryIsoOp"’
Error in seed(x) :
seed() is not supported on a DelayedArray object with multiple seeds at
the moment. Note that you can check the number of seeds with nseed().
You can use 'seedApply(x, identity)' to extract all the seeds as a
list.
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘is_noop’ for signature ‘"DelayedNaryIsoOp"’
Error in match.fun(OP) : 'NULL' is not a function, character or symbol
Error in match.fun(OP) :
'list(NULL)' is not a function, character or symbol
Error in get(as.character(FUN), mode = "function", envir = envir) :
object 'not-an-existing-function' of mode 'function' was not found
Error in new_DelayedNaryIsoOp("<=", array(dim = 4:2), array(dim = 2:4)) :
non-conformable array-like objects
Error in normalizeNindex(Nindex, seed) :
'Nindex' must be a list with one list element per dimension in 'x'
Error in normalizeNindex(Nindex, seed) :
'Nindex' must be a list with one list element per dimension in 'x'
Error : subscript contains out-of-bounds indices
Error : subscript contains invalid names
Error : subscript contains out-of-bounds ranges
Error : subscript contains out-of-bounds ranges
Error in new_DelayedUnaryIsoOpStack(.TEST_SAS3, NULL) :
'OPS' must be a list
Error in FUN(X[[i]], ...) :
'OPS[[1L]]' is not a function, character or symbol
Error in get(as.character(FUN), mode = "function", envir = envir) :
object 'not-an-existing-function' of mode 'function' was not found
RUNIT TEST PROTOCOL -- Sun Feb 21 15:08:28 2021
***********************************************
Number of test functions: 50
Number of errors: 0
Number of failures: 0
1 Test Suite :
DelayedArray RUnit Tests - 50 test functions, 0 errors, 0 failures
Number of test functions: 50
Number of errors: 0
Number of failures: 0
Our daily builds can't reproduce this either: https://bioconductor.org/checkResults/3.12/bioc-LATEST/DelayedArray/
Here is my sessionInfo() (after running DelayedArray:::.test()
):
> sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.10
Matrix products: default
BLAS: /home/hpages/R/R-4.0.3/lib/libRblas.so
LAPACK: /home/hpages/R/R-4.0.3/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets
[8] methods base
other attached packages:
[1] genefilter_1.72.1 RUnit_0.4.32 DelayedArray_0.16.1
[4] IRanges_2.24.1 S4Vectors_0.28.1 MatrixGenerics_1.2.1
[7] matrixStats_0.58.0 BiocGenerics_0.36.0 Matrix_1.3-2
loaded via a namespace (and not attached):
[1] Rcpp_1.0.6 AnnotationDbi_1.52.0 splines_4.0.3
[4] BiocParallel_1.24.1 bit_4.0.4 xtable_1.8-4
[7] lattice_0.20-41 R6_2.5.0 rlang_0.4.10
[10] fastmap_1.1.0 blob_1.2.1 httr_1.4.2
[13] grid_4.0.3 Biobase_2.50.0 snow_0.4-3
[16] DBI_1.1.1 survival_3.2-7 bit64_4.0.5
[19] vctrs_0.3.6 cachem_1.0.4 memoise_2.0.0
[22] RSQLite_2.2.3 compiler_4.0.3 XML_3.99-0.5
[25] annotate_1.68.0
Check that all your packages are up-to-date with BiocManager::valid()
:
> BiocManager::valid()
[1] TRUE
Thanks @hpages ; we did upgrade the Debian package to 0.16.1 and the tests pass on amd64, arm64, i386, and s390x.
but not armhf
https://ci.debian.net/data/autopkgtest/testing/armhf/r/r-bioc-delayedarray/10578664/log.gz
nor ppc64el
https://ci.debian.net/data/autopkgtest/testing/ppc64el/r/r-bioc-delayedarray/10594805/log.gz
Never heard of these archs before and don't have access to them. Anyways, I suspect some floating point arithmetic rounding issues.
I just made some adjustments (see commit c3ae1bfed0a0b89cf642758a3904e405ef8740bc). They're in DelayedArray 0.16.2 (BioC 3.12) and DelayedArray 0.17.9 (BioC 3.13).
Should propagate and become available via BiocManager::install()
in the next 24h or so.
@mr-c Did this fix the issue on the armhf and ppc64el arch?
Let's assume it did. Closing this now.
Full log is at https://ci.debian.net/data/autopkgtest/testing/amd64/r/r-bioc-delayedarray/9476882/log.gz
possibly relevant excerpts from the log