Last updated on 2023-02-02 18:54:25 CET.
Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
---|---|---|---|---|---|---|
r-devel-linux-x86_64-debian-clang | 1.30.0 | 10.09 | 253.87 | 263.96 | OK | |
r-devel-linux-x86_64-debian-gcc | 1.31.0 | 6.97 | 186.17 | 193.14 | OK | |
r-devel-linux-x86_64-fedora-clang | 1.31.0 | 322.40 | OK | |||
r-devel-linux-x86_64-fedora-gcc | 1.31.0 | 344.03 | OK | |||
r-devel-windows-x86_64 | 1.30.0 | 87.00 | 390.00 | 477.00 | ERROR | |
r-patched-linux-x86_64 | 1.30.0 | 11.55 | 237.53 | 249.08 | OK | |
r-release-linux-x86_64 | 1.31.0 | 8.06 | 224.50 | 232.56 | OK | |
r-release-macos-arm64 | 1.31.0 | 177.00 | OK | |||
r-release-macos-x86_64 | 1.30.0 | 279.00 | OK | |||
r-release-windows-x86_64 | 1.30.0 | 90.00 | 386.00 | 476.00 | OK | |
r-oldrel-macos-arm64 | 1.31.0 | 165.00 | OK | |||
r-oldrel-macos-x86_64 | 1.30.0 | 267.00 | OK | |||
r-oldrel-windows-ix86+x86_64 | 1.31.0 | 16.00 | 393.00 | 409.00 | OK |
Version: 1.30.0
Check: tests
Result: ERROR
Running '000.sessionDetails.R' [1s]
Running 'ClusterRegistry.R' [4s]
Running 'Future-class.R' [2s]
Running 'FutureError.R' [1s]
Running 'FutureGlobals.R' [1s]
Running 'FutureRegistry.R' [1s]
Running 'adhoc_native_to_utf8.R' [1s]
Running 'backtrace.R' [6s]
Running 'bquote.R' [1s]
Running 'cluster,worker-termination.R' [2s]
Running 'cluster-missing-future-pkg.R' [2s]
Running 'cluster.R' [8s]
Running 'constant.R' [1s]
Running 'demo.R' [15s]
Running 'dotdotdot.R' [3s]
Running 'early-signaling.R' [5s]
Running 'future,labels.R' [3s]
Running 'future,optsenvvars.R' [2s]
Running 'future.R' [1s]
Running 'futureAssign.R' [3s]
Running 'futureAssign_OP.R' [4s]
Running 'futureAssign_OP_with_environment.R' [1s]
Running 'futureAssign_OP_with_listenv.R' [1s]
Running 'futureCall.R' [4s]
Running 'futureOf.R' [1s]
Running 'futureOf_with_environment.R' [1s]
Running 'futureOf_with_listenv.R' [1s]
Running 'futureSessionInfo.R' [1s]
Running 'futures.R' [11s]
Running 'globals,NSE.R' [4s]
Running 'globals,S4methods.R' [3s]
Running 'globals,formulas.R' [4s]
Running 'globals,locals.R' [2s]
Running 'globals,manual.R' [0s]
Running 'globals,resolve.R' [0s]
Running 'globals,subassignment.R' [4s]
Running 'globals,toolarge.R' [2s]
Running 'globals,tricky.R' [8s]
Running 'globals,tricky_recursive.R' [3s]
Running 'globalsOf,tweaks.R' [1s]
Running 'immediateCondition.R' [5s]
Running 'invalid-owner.R' [3s]
Running 'mandelbrot.R' [1s]
Running 'mpi.R' [1s]
Running 'multicore,multithreading.R' [1s]
Running 'multicore,worker-termination.R' [1s]
Running 'multicore.R' [2s]
Running 'multiprocess.R' [4s]
Running 'multisession.R' [6s]
Running 'nbrOfWorkers.R' [5s]
Running 'nested_futures,mc.cores.R' [6s]
Running 'nested_futures.R' [6s]
Running 'non-exportable,connections.R' [3s]
Running 'objectSize.R' [1s]
Running 'plan.R' [4s]
Running 'relaying,muffle.R' [1s]
Running 'relaying,split.R' [1s]
Running 'relaying.R' [6s]
Running 'remote.R' [1s]
Running 'requestCore.R' [1s]
Running 'requestNode.R' [8s]
Running 'reserved-keyword-functions.R' [2s]
Running 'resolve.R' [25s]
Running 'resolved-non-blocking-test.R' [13s]
Running 'rng.R' [12s]
Running 'rng_utils.R' [1s]
Running 'sequential.R' [1s]
Running 'sessionDetails.R' [1s]
Running 'startup.R' [5s]
Running 'stdout.R' [3s]
Running 'transparent.R' [1s]
Running 'tweak.R' [2s]
Running 'utils.R' [6s]
Running 'uuid.R' [1s]
Running 'whichIndex.R' [1s]
Running the tests in 'tests/globals,locals.R' failed.
Complete output:
> source("incl/start.R")
[09:17:17.786] plan(): Setting new future strategy stack:
[09:17:17.790] List of future strategies:
[09:17:17.790] 1. sequential:
[09:17:17.790] - args: function (..., envir = parent.frame())
[09:17:17.790] - tweaked: FALSE
[09:17:17.790] - call: future::plan("sequential")
[09:17:17.839] plan(): nbrOfWorkers() = 1
> library("listenv")
> oopts <- c(oopts, options(
+ future.debug = FALSE
+ ))
>
> message("*** Globals inside local() environments ...")
*** Globals inside local() environments ...
>
> for (strategy in supportedStrategies()) {
+ message(sprintf("- plan('%s') ...", strategy))
+ plan(strategy)
+
+ message("- Missing global variable")
+ g <- function() a
+ h <- function() {
+ a <- 1
+ g()
+ }
+ res <- tryCatch({
+ f <- future(h())
+ v <- value(f)
+ }, error = identity)
+ stopifnot(inherits(res, "error"))
+
+ message("- Missing global variable (v2)")
+ g <- function() a
+ h <- function(g) {
+ a <- 1
+ g()
+ }
+ res <- tryCatch({
+ f <- future(h(g))
+ v <- value(f)
+ }, error = identity)
+ stopifnot(inherits(res, "error"))
+
+ message("- Missing global variable (v3)")
+ g <- function() a
+ res <- tryCatch({
+ f <- future(local({
+ a <- 1
+ g()
+ }))
+ v <- value(f)
+ }, error = identity)
+ stopifnot(inherits(res, "error"))
+
+ message("- Non-missing global variable")
+ a <- 2
+ g <- function() a
+ f <- future(local({
+ a <- 1
+ g()
+ }), lazy = TRUE)
+ rm(list = "a")
+
+ if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) {
+ v <- value(f)
+ stopifnot(v == 2)
+ } else {
+ if (packageVersion("future") > "1.25.0-9017") {
+ v <- value(f)
+ stopifnot(v == 2)
+ } else {
+ res <- tryCatch(v <- value(f), error = identity)
+ print(res)
+ stopifnot(inherits(res, "error"))
+ }
+ }
+
+
+ message("- Non-missing global variable (inside local())")
+ ## FIXME: This works and fails in non-expected ways /HB 2022-05-26
+ local({
+ a <- 2
+ g <- function() a
+ f <- future(local({
+ a <- 1
+ g()
+ }), lazy = TRUE)
+ rm(list = "a")
+
+ truth <- 2
+ message("truth: ", truth)
+
+ res <- tryCatch({ v <- value(f) }, error = identity)
+ print(res)
+
+ if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) {
+ stopifnot(identical(v, truth))
+ } else if (isTRUE(getOption("future.globals.keepWhere", FALSE))) {
+ if (isTRUE(getOption("future.globals.globalsOf.locals", TRUE))) {
+ if (strategy %in% c("sequential", "multicore")) {
+ stopifnot(inherits(res, "error"))
+ } else {
+ stopifnot(identical(v, truth))
+ }
+ } else {
+ stopifnot(identical(v, truth))
+ }
+ } else {
+ stopifnot(identical(v, truth))
+ }
+ })
+
+
+ message("- Name clashing of globals across local() environments")
+
+ ## Closures with local globals of the same name
+ g <- local({ a <- 2; function() a })
+ h <- local({ a <- 1; function() a })
+ truth <- g() + h()
+ message("truth: ", truth)
+
+ ## FIXME: This works and fails in non-expected ways /HB 2022-05-26
+ ## With:
+ ##
+ ## f <- future(g() + h())
+ ##
+ ## there is a risk that global 'a' of g() overwrites global 'a' of h(),
+ ## resulting in h() == 2, rather than h() == 1. Vice versa, with:
+ ##
+ ## f <- future(h() + g())
+ ##
+ ## 'a' of h() might overwride 'a' of g() so that g() == 1.
+ ## This has to be fixed.
+ ##
+ ## See also https://github.com/HenrikBengtsson/future/issues/608
+
+ f <- future(g() + h())
+ v <- tryCatch(value(f), error = identity)
+
+ utils::str(list(strategy = strategy, v = v))
+
+ if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) {
+ stopifnot(identical(v, truth))
+ } else if (isTRUE(getOption("future.globals.keepWhere", FALSE))) {
+ if (isTRUE(getOption("future.globals.globalsOf.locals", TRUE))) {
+ stopifnot(identical(v, truth))
+ } else {
+ stopifnot(identical(v, truth))
+ }
+ } else {
+ if (isTRUE(getOption("future.globals.globalsOf.locals", TRUE))) {
+ if (strategy %in% c("sequential", "multicore")) {
+ stopifnot(identical(v, 4)) ## <= SERIOUS BUG!
+ } else {
+ stopifnot(identical(v, truth))
+ }
+ } else {
+ if (strategy %in% c("sequential", "multicore")) {
+ stopifnot(inherits(v, "error"))
+ } else {
+ stopifnot(identical(v, truth))
+ }
+ }
+ }
+ } ## for (strategy ...)
- plan('sequential') ...
- Missing global variable
- Missing global variable (v2)
- Missing global variable (v3)
- Non-missing global variable
- Non-missing global variable (inside local())
truth: 2
[1] 2
- Name clashing of globals across local() environments
truth: 3
List of 2
$ strategy: chr "sequential"
$ v : num 4
- plan('multisession') ...
Warning in system2(bin, args = "--version", stdout = TRUE, stderr = TRUE) :
running command '"D:/RCompile/recent/R/bin/x64/Rscript.exe" --version' had status 301
Error in assert_system_is_supported() :
Calls: plan ... makeNode -> useWorkerPID -> assert_system_is_supported
Execution halted
Running the tests in 'tests/globals,manual.R' failed.
Complete output:
Running the tests in 'tests/globals,resolve.R' failed.
Complete output:
Flavor: r-devel-windows-x86_64