[Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

Peter Simons simons at nospf.cryp.to
Mon Apr 23 12:33:04 CEST 2018


Hi,

I just tried to upgrade Nixpkgs to R 3.5.0, but unfortunately the new
version fails its regression test suite. We configure the build using
the flags "--without-recommended-packages", in case that's relevant. You
can see a complete build log with all relevant information at [1].
Anyway, the test failures look like this:

 | make[3]: Entering directory '/build/R-3.5.0/tests/Examples'
 | Testing examples for package 'base'
 | Testing examples for package 'tools'
 |   comparing 'tools-Ex.Rout' to 'tools-Ex.Rout.save' ... OK
 | Testing examples for package 'utils'
 | Testing examples for package 'grDevices'
 |   comparing 'grDevices-Ex.Rout' to 'grDevices-Ex.Rout.save' ... OK
 | Testing examples for package 'graphics'
 |   comparing 'graphics-Ex.Rout' to 'graphics-Ex.Rout.save' ... OK
 | Testing examples for package 'stats'
 |   comparing 'stats-Ex.Rout' to 'stats-Ex.Rout.save' ... NOTE
 |   6599c6599
 |   < Grand Mean: 291.5937
 |   ---
 |   > Grand Mean: 291.5938
 |   15124c15124
 |   < Grand Mean: 291.5937
 |   ---
 |   > Grand Mean: 291.5938
 |   17444c17444
 |   < assertCondition: caught "error"
 |   ---
 |   > assertCondition: caught 'error'
 | Testing examples for package 'datasets'
 |   comparing 'datasets-Ex.Rout' to 'datasets-Ex.Rout.save' ... OK
 | Testing examples for package 'methods'
 | Testing examples for package 'grid'
 |   comparing 'grid-Ex.Rout' to 'grid-Ex.Rout.save' ... OK
 | Testing examples for package 'splines'
 |   comparing 'splines-Ex.Rout' to 'splines-Ex.Rout.save' ... OK
 | Testing examples for package 'stats4'
 |   comparing 'stats4-Ex.Rout' to 'stats4-Ex.Rout.save' ... OK
 | Testing examples for package 'tcltk'
 | Testing examples for package 'compiler'
 | Testing examples for package 'parallel'
 | make[3]: Leaving directory '/build/R-3.5.0/tests/Examples'
 | make[2]: Leaving directory '/build/R-3.5.0/tests'
 | make[2]: Entering directory '/build/R-3.5.0/tests'
 | make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
 | running strict specific tests
 | make[3]: Entering directory '/build/R-3.5.0/tests'
 | running code in 'eval-etc.R' ... OK
 |   comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ...414,416c414,548
 | < Warning message:
 | < In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
 | <   there is no package called 'Matrix'
 | ---
 | > Trying some Matrix objects, too
 | >
 | > Matrix> Matrix(0, 3, 2)             # 3 by 2 matrix of zeros -> sparse
 | > 3 x 2 sparse Matrix of class "dgCMatrix"
 | >
 | > [1,] . .
 | > [2,] . .
 | > [3,] . .
 | >
 | > Matrix> Matrix(0, 3, 2, sparse=FALSE)# -> 'dense'
 | > 3 x 2 Matrix of class "dgeMatrix"
 | >      [,1] [,2]
 | > [1,]    0    0
 | > [2,]    0    0
 | > [3,]    0    0
 | >
 | > Matrix> Matrix(0, 2, 2, sparse=FALSE)# diagonal !
 | > 2 x 2 diagonal matrix of class "ddiMatrix"
 | >      [,1] [,2]
 | > [1,]    0    .
 | > [2,]    .    0
 | >
 | > Matrix> Matrix(0, 2, 2, sparse=FALSE, doDiag=FALSE)# -> dense
 | > 2 x 2 Matrix of class "dsyMatrix"
 | >      [,1] [,2]
 | > [1,]    0    0
 | > [2,]    0    0
 | >
 | > Matrix> Matrix(1:6, 3, 2)           # a 3 by 2 matrix (+ integer warning)
 | > 3 x 2 Matrix of class "dgeMatrix"
 | >      [,1] [,2]
 | > [1,]    1    4
 | > [2,]    2    5
 | > [3,]    3    6
 | >
 | > Matrix> Matrix(1:6 + 1, nrow=3)
 | > 3 x 2 Matrix of class "dgeMatrix"
 | >      [,1] [,2]
 | > [1,]    2    5
 | > [2,]    3    6
 | > [3,]    4    7
 | >
 | > Matrix> ## logical ones:
 | > Matrix> Matrix(diag(4) >  0)# -> "ldiMatrix" with diag = "U"
 | > 4 x 4 diagonal matrix of class "ldiMatrix"
 | >      [,1] [,2] [,3] [,4]
 | > [1,] TRUE    .    .    .
 | > [2,]    . TRUE    .    .
 | > [3,]    .    . TRUE    .
 | > [4,]    .    .    . TRUE
 | >
 | > Matrix> Matrix(diag(4) >  0, sparse=TRUE)# -> sparse...
 | > 4 x 4 sparse Matrix of class "lsCMatrix"
 | >
 | > [1,] | . . .
 | > [2,] . | . .
 | > [3,] . . | .
 | > [4,] . . . |
 | >
 | > Matrix> Matrix(diag(4) >= 0)# -> "lsyMatrix" (of all 'TRUE')
 | > 4 x 4 Matrix of class "lsyMatrix"
 | >      [,1] [,2] [,3] [,4]
 | > [1,] TRUE TRUE TRUE TRUE
 | > [2,] TRUE TRUE TRUE TRUE
 | > [3,] TRUE TRUE TRUE TRUE
 | > [4,] TRUE TRUE TRUE TRUE
 | >
 | > Matrix> ## triangular
 | > Matrix> l3 <- upper.tri(matrix(,3,3))
 | >
 | > Matrix> (M <- Matrix(l3))  # -> "ltCMatrix"
 | > 3 x 3 sparse Matrix of class "ltCMatrix"
 | >
 | > [1,] . | |
 | > [2,] . . |
 | > [3,] . . .
 | >
 | > Matrix> Matrix(! l3)# -> "ltrMatrix"
 | > 3 x 3 Matrix of class "ltrMatrix"
 | >      [,1]  [,2]  [,3]
 | > [1,]  TRUE     .     .
 | > [2,]  TRUE  TRUE     .
 | > [3,]  TRUE  TRUE  TRUE
 | >
 | > Matrix> as(l3, "CsparseMatrix")
 | > 3 x 3 sparse Matrix of class "lgCMatrix"
 | >
 | > [1,] . | |
 | > [2,] . . |
 | > [3,] . . .
 | >
 | > Matrix> Matrix(1:9, nrow=3,
 | > Matrix+        dimnames = list(c("a", "b", "c"), c("A", "B", "C")))
 | > 3 x 3 Matrix of class "dgeMatrix"
 | >   A B C
 | > a 1 4 7
 | > b 2 5 8
 | > c 3 6 9
 | >
 | > Matrix> (I3 <- Matrix(diag(3)))# identity, i.e., unit "diagonalMatrix"
 | > 3 x 3 diagonal matrix of class "ddiMatrix"
 | >      [,1] [,2] [,3]
 | > [1,]    1    .    .
 | > [2,]    .    1    .
 | > [3,]    .    .    1
 | >
 | > Matrix> str(I3) # note the empty 'x' slot
 | > Formal class 'ddiMatrix' [package "Matrix"] with 4 slots
 | >   ..@ diag    : chr "U"
 | >   ..@ Dim     : int [1:2] 3 3
 | >   ..@ Dimnames:List of 2
 | >   .. ..$ : NULL
 | >   .. ..$ : NULL
 | >   ..@ x       : num(0)
 | >
 | > Matrix> (A <- cbind(a=c(2,1), b=1:2))# symmetric *apart* from dimnames
 | >      a b
 | > [1,] 2 1
 | > [2,] 1 2
 | >
 | > Matrix> Matrix(A)                    # hence 'dgeMatrix'
 | > 2 x 2 Matrix of class "dgeMatrix"
 | >      a b
 | > [1,] 2 1
 | > [2,] 1 2
 | >
 | > Matrix> (As <- Matrix(A, dimnames = list(NULL,NULL)))# -> symmetric
 | > 2 x 2 Matrix of class "dsyMatrix"
 | >      [,1] [,2]
 | > [1,]    2    1
 | > [2,]    1    2
 | >
 | > Matrix> stopifnot(is(As, "symmetricMatrix"),
 | > Matrix+           is(Matrix(0, 3,3), "sparseMatrix"),
 | > Matrix+           is(Matrix(FALSE, 1,1), "sparseMatrix"))
 | 430,436c562,564
 | < A: function (x, y, ...)
 | < {
 | <     B <- function(a, b, ...) {
 | <         match.call()
 | <     }
 | <     B(x + y, ...)
 | < }
 | ---
 | > A: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list(
 | >     NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), factors = list())
 | 438,444c566,589
 | < checking body(.):
 | < quote({
 | <     B <- function(a, b, ...) {
 | <         match.call()
 | <     }
 | <     B(x + y, ...)
 | < })
 | ---
 | > --=--=--=--=--
 | > A.: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list(
 | >     NULL, NULL), x = c(2, 21, 28, 35, 14, 42, 49), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > A1: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list(
 | >     NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > AA: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
 | > 7L, 7L, 7L, 7L), Dim = c(10L, 20L), Dimnames = list(NULL, NULL),
 | >     x = c(7, 21, 28, 35, 14, 42, 49), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > Aa: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list(
 | >     NULL, NULL), x = c(9, 21, 28, 35, 14, 42, 49), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > As: new("dsyMatrix", x = c(2, 1, 1, 2), Dim = c(2L, 2L), Dimnames = list(
 | >     NULL, NULL), uplo = "U", factors = list())
 | 446,448d590
 | < checking formals(.):
 | < as.pairlist(alist(x = , y = , ... = ))
 | < __ not parse()able __: hasMissObj(.) is true
 | 551a694,701
 | > D5.: new("ddiMatrix", diag = "N", Dim = c(5L, 5L), Dimnames = list(
 | >     NULL, NULL), x = c(5, 4, 3, 2, 1))
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > D5N: new("ddiMatrix", diag = "N", Dim = c(5L, 5L), Dimnames = list(
 | >     NULL, NULL), x = c(5, 4, 3, 2, NA))
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 564a715,718
 | > I3: new("ddiMatrix", diag = "U", Dim = c(3L, 3L), Dimnames = list(
 | >     NULL, NULL), x = numeric(0))
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 588a743,747
 | > M: new("ltCMatrix", i = c(0L, 0L, 1L), p = c(0L, 0L, 1L, 3L), Dim = c(3L,
 | > 3L), Dimnames = list(NULL, NULL), x = c(TRUE, TRUE, TRUE), uplo = "U",
 | >     diag = "N")
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 612a772,776
 | > args: structure(list(i = c(1, 3, 4, 5, 6, 7, 8, 1), j = c(2, 9, 6,
 | > 7, 8, 9, 10, 2), x = c(7, 14, 21, 28, 35, 42, 49, 2)), class = "data.frame", row.names = c(NA,
 | > -8L))
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 732,733c896,901
 | < e: <environment>
 | < __ not parse()able __: environment
 | ---
 | > dn: list(c("A", "B", "C"), c("a", "b", "c", "d", "e"))
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > e: new("ngCMatrix", i = integer(0), p = c(0L, 0L, 0L, 0L, 0L, 0L,
 | > 0L), Dim = c(4L, 6L), Dimnames = list(NULL, NULL), factors = list())
 | >  --> checking list(*): Ok
 | 844a1013,1015
 | > i: c(1, 3, 4, 5, 6, 7, 8)
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 876a1048,1050
 | > j: c(2, 9, 6, 7, 8, 9, 10)
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 886a1061,1064
 | > l3: structure(c(FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE,
 | > FALSE), .Dim = c(3L, 3L))
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 891a1070,1074
 | > m: new("dgCMatrix", i = c(2L, 0L, 1L, 2L, 0L, 1L), p = c(0L, 1L,
 | > 2L, 4L, 4L, 6L), Dim = c(3L, 5L), Dimnames = list(c("A", "B",
 | > "C"), c("a", "b", "c", "d", "e")), x = c(1, 2, 4, 3, 6, 5), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 944a1128,1136
 | > n: new("ngCMatrix", i = 5:0, p = c(0L, 0L, 1L, 2L, 3L, 4L, 5L, 6L
 | > ), Dim = 6:7, Dimnames = list(NULL, NULL), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | > nA: new("ngCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list(
 | >     NULL, NULL), factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 961a1154,1156
 | > perm: c(2L, 3L, 6L, 4L, 1L, 7L, 5L)
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 1010a1206,1211
 | > sA: new("dsCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(10L, 10L), Dimnames = list(
 | >     NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), uplo = "U",
 | >     factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 1014a1216,1220
 | > sy: new("dsCMatrix", i = c(1L, 3L, 4L, 2L, 3L), p = c(0L, 0L, 0L,
 | > 0L, 1L, 3L, 4L, 5L), Dim = c(7L, 7L), Dimnames = list(NULL, NULL),
 | >     x = c(1, 4, 5, 3, 2), uplo = "U", factors = list())
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 1018a1225,1230
 | > tA: new("dtCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L,
 | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(10L, 10L), Dimnames = list(
 | >     NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), uplo = "U",
 | >     diag = "N")
 | >  --> checking list(*): Ok
 | > --=--=--=--=--
 | 1048c1260,1261
 | < 2: In dput(x, control = control) : deparse may be incomplete
 | ---
 | > 2: In deparse(expr, backtick = backtick, control = control, ...) :
 | >   deparse may be incomplete
 | 1051c1264,1265
 | < 4: In deparse(expr, backtick = backtick, control = control, ...) :
 | ---
 | > 4: In dput(x, control = control) : deparse may be incomplete
 | > 5: In deparse(expr, backtick = backtick, control = control, ...) :
 | 1053d1266
 | < 5: In dput(x, control = control) : deparse may be incomplete
 | 1056c1269,1270
 | < 7: In deparse(expr, backtick = backtick, control = control, ...) :
 | ---
 | > 7: In dput(x, control = control) : deparse may be incomplete
 | > 8: In deparse(expr, backtick = backtick, control = control, ...) :
 | 1058d1271
 | < 8: In dput(x, control = control) : deparse may be incomplete
 | 1061,1062d1273
 | < 10: In deparse(expr, backtick = backtick, control = control, ...) :
 | <   deparse may be incomplete
 | 1064c1275
 | < Summary of (a total of 10) warning messages:
 | ---
 | > Summary of (a total of 9) warning messages:
 | 1066c1277
 | < 4x : In deparse(expr, backtick = backtick, control = control,  ... :
 | ---
 | > 3x : In deparse(expr, backtick = backtick, control = control,  ... :
 | make[3]: *** [Makefile.common:106: eval-etc.Rout] Error 1

Now, I'm not quite sure how to interpret that output. Some of these
issues seem harmless, really, and not indicative of a serious problem in
R. Still, I reckon that it would be nice if the test suite would pass
and for all I know other people might run into the same issue as we did,
so I felt I should report it to the devs.

If there is any advice how to remedy this issues, then I'd very much
appreciate it.

Best regards,
Peter

[1] https://hydra.nixos.org/build/73154582/nixlog/3



More information about the R-devel mailing list