CRAN Package Check Results for Package future

Last updated on 2023-02-03 06:50:17 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 8.27 186.27 194.54 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 105.00 345.00 450.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

Check Details

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