R Under development (unstable) (2024-07-28 r86931 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [17:28:05.316] plan(): Setting new future strategy stack: [17:28:05.318] List of future strategies: [17:28:05.318] 1. sequential: [17:28:05.318] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.318] - tweaked: FALSE [17:28:05.318] - call: future::plan("sequential") [17:28:05.347] plan(): nbrOfWorkers() = 1 > library("listenv") > oopts <- c(oopts, options( + future.globals.resolve = TRUE, + future.globals.onMissing = "error" + )) > > message("*** Tricky use cases related to globals ...") *** Tricky use cases related to globals ... > > for (cores in 1:availCores) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + message("availableCores(): ", availableCores()) + + message("- Local variables with the same name as globals ...") + + for (strategy in supportedStrategies(cores)) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + + methods <- c("conservative", "ordered") + for (method in methods) { + options(future.globals.method = method) + message(sprintf("Method for identifying globals: '%s' ...", method)) + + a <- 3 + + yTruth <- local({ + b <- a + a <- 2 + a * b + }) + + y %<-% { + b <- a + a <- 2 + a * b + } + + rm(list = "a") + + res <- try(y, silent = TRUE) + if (method == "conservative" && strategy %in% c("multisession", "cluster")) { + str(list(res = res)) + stopifnot(inherits(res, "try-error")) + } else { + message(sprintf("y = %g", y)) + stopifnot(identical(y, yTruth)) + } + + + ## Same with forced lazy evaluation + a <- 3 + + y %<-% { + b <- a + a <- 2 + a * b + } %lazy% TRUE + + rm(list = "a") + + res <- try(y, silent = TRUE) + if (method == "conservative") { + str(list(res = res)) + stopifnot(inherits(res, "try-error")) + } else { + message(sprintf("y = %g", y)) + stopifnot(identical(y, yTruth)) + } + + + res <- listenv() + a <- 1 + for (ii in 1:3) { + res[[ii]] %<-% { + b <- a * ii + a <- 0 + b + } + } + rm(list = "a") + + res <- try(unlist(res), silent = TRUE) + if (method == "conservative" && strategy %in% c("multisession", "cluster")) { + str(list(res = res)) + stopifnot(inherits(res, "try-error")) + } else { + print(res) + stopifnot(all(res == 1:3)) + } + + + ## Same with forced lazy evaluation + res <- listenv() + a <- 1 + for (ii in 1:3) { + res[[ii]] %<-% { + b <- a * ii + a <- 0 + b + } %lazy% TRUE + } + rm(list = "a") + + res <- try(unlist(res), silent = TRUE) + if (method == "conservative") { + str(list(res = res)) + stopifnot(inherits(res, "try-error")) + } else { + print(res) + stopifnot(all(res == 1:3)) + } + + + ## Assert that `a` is resolved and turned into a constant future + ## at the moment when future `b` is created. + ## Requires options(future.globals.resolve = TRUE). + a <- future(1) + b <- future(value(a) + 1) + rm(list = "a") + message(sprintf("value(b) = %g", value(b))) + stopifnot(value(b) == 2) + + a <- future(1) + b <- future(value(a) + 1, lazy = TRUE) + rm(list = "a") + message(sprintf("value(b) = %g", value(b))) + stopifnot(value(b) == 2) + + a <- future(1, lazy = TRUE) + b <- future(value(a) + 1) + rm(list = "a") + message(sprintf("value(b) = %g", value(b))) + stopifnot(value(b) == 2) + + a <- future(1, lazy = TRUE) + b <- future(value(a) + 1, lazy = TRUE) + rm(list = "a") + message(sprintf("value(b) = %g", value(b))) + stopifnot(value(b) == 2) + + + ## BUG FIX: In future (<= 1.0.0) a global 'pkg' would be + ## overwritten by the name of the last package attached + ## by the future. + pkg <- "foo" + f <- sequential({ pkg }) + v <- value(f) + message(sprintf("value(f) = %s", sQuote(v))) + stopifnot(pkg == "foo", v == "foo") + + message(sprintf("Method for identifying globals: '%s' ... DONE", method)) + } + + ## BUG FIX: In globals (<= 0.10.3) a global 'x' in LHS of an assignment + ## would be missed. + options(future.globals.method = "ordered") + + ## A local + x <- 1 + f <- future({ x <- 0; x <- x + 1; x }) + v <- value(f) + message(sprintf("value(f) = %s", sQuote(v))) + stopifnot(v == 1) + + ## A global + x <- 1 + f <- future({ x <- x + 1; x }) + v <- value(f) + message(sprintf("value(f) = %s", sQuote(v))) + stopifnot(v == 2) + + ## A global + x <- function() TRUE + f <- future({ x <- x(); x }) + v <- value(f) + message(sprintf("value(f) = %s", sQuote(v))) + stopifnot(v == TRUE) + } ## for (strategy ...) + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) Testing with 1 cores ... availableCores(): 1 - Local variables with the same name as globals ... - plan('sequential') ... [17:28:05.604] plan(): Setting new future strategy stack: [17:28:05.604] List of future strategies: [17:28:05.604] 1. sequential: [17:28:05.604] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.604] - tweaked: FALSE [17:28:05.604] - call: plan(strategy) [17:28:05.633] plan(): nbrOfWorkers() = 1 Method for identifying globals: 'conservative' ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.637] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.638] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.657] - globals found: [3] '{', '<-', '*' [17:28:05.657] Searching for globals ... DONE [17:28:05.658] Resolving globals: TRUE [17:28:05.658] Resolving any globals that are futures ... [17:28:05.658] - globals: [3] '{', '<-', '*' [17:28:05.659] Resolving any globals that are futures ... DONE [17:28:05.660] [17:28:05.660] [17:28:05.661] getGlobalsAndPackages() ... DONE [17:28:05.662] run() for 'Future' ... [17:28:05.663] - state: 'created' [17:28:05.663] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:05.664] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:05.664] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:05.665] - Field: 'label' [17:28:05.665] - Field: 'local' [17:28:05.665] - Field: 'owner' [17:28:05.666] - Field: 'envir' [17:28:05.666] - Field: 'packages' [17:28:05.667] - Field: 'gc' [17:28:05.667] - Field: 'conditions' [17:28:05.667] - Field: 'expr' [17:28:05.668] - Field: 'uuid' [17:28:05.668] - Field: 'seed' [17:28:05.668] - Field: 'version' [17:28:05.669] - Field: 'result' [17:28:05.669] - Field: 'asynchronous' [17:28:05.669] - Field: 'calls' [17:28:05.670] - Field: 'globals' [17:28:05.670] - Field: 'stdout' [17:28:05.671] - Field: 'earlySignal' [17:28:05.671] - Field: 'lazy' [17:28:05.671] - Field: 'state' [17:28:05.672] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:05.672] - Launch lazy future ... [17:28:05.674] Packages needed by the future expression (n = 0): [17:28:05.674] Packages needed by future strategies (n = 0): [17:28:05.676] { [17:28:05.676] { [17:28:05.676] { [17:28:05.676] ...future.startTime <- base::Sys.time() [17:28:05.676] { [17:28:05.676] { [17:28:05.676] { [17:28:05.676] base::local({ [17:28:05.676] has_future <- base::requireNamespace("future", [17:28:05.676] quietly = TRUE) [17:28:05.676] if (has_future) { [17:28:05.676] ns <- base::getNamespace("future") [17:28:05.676] version <- ns[[".package"]][["version"]] [17:28:05.676] if (is.null(version)) [17:28:05.676] version <- utils::packageVersion("future") [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] version <- NULL [17:28:05.676] } [17:28:05.676] if (!has_future || version < "1.8.0") { [17:28:05.676] info <- base::c(r_version = base::gsub("R version ", [17:28:05.676] "", base::R.version$version.string), [17:28:05.676] platform = base::sprintf("%s (%s-bit)", [17:28:05.676] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:05.676] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:05.676] "release", "version")], collapse = " "), [17:28:05.676] hostname = base::Sys.info()[["nodename"]]) [17:28:05.676] info <- base::sprintf("%s: %s", base::names(info), [17:28:05.676] info) [17:28:05.676] info <- base::paste(info, collapse = "; ") [17:28:05.676] if (!has_future) { [17:28:05.676] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:05.676] info) [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:05.676] info, version) [17:28:05.676] } [17:28:05.676] base::stop(msg) [17:28:05.676] } [17:28:05.676] }) [17:28:05.676] } [17:28:05.676] ...future.strategy.old <- future::plan("list") [17:28:05.676] options(future.plan = NULL) [17:28:05.676] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.676] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:05.676] } [17:28:05.676] ...future.workdir <- getwd() [17:28:05.676] } [17:28:05.676] ...future.oldOptions <- base::as.list(base::.Options) [17:28:05.676] ...future.oldEnvVars <- base::Sys.getenv() [17:28:05.676] } [17:28:05.676] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:05.676] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:05.676] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:05.676] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:05.676] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:05.676] future.stdout.windows.reencode = NULL, width = 80L) [17:28:05.676] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:05.676] base::names(...future.oldOptions)) [17:28:05.676] } [17:28:05.676] if (FALSE) { [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] if (TRUE) { [17:28:05.676] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:05.676] open = "w") [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:05.676] windows = "NUL", "/dev/null"), open = "w") [17:28:05.676] } [17:28:05.676] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:05.676] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:05.676] base::sink(type = "output", split = FALSE) [17:28:05.676] base::close(...future.stdout) [17:28:05.676] }, add = TRUE) [17:28:05.676] } [17:28:05.676] ...future.frame <- base::sys.nframe() [17:28:05.676] ...future.conditions <- base::list() [17:28:05.676] ...future.rng <- base::globalenv()$.Random.seed [17:28:05.676] if (FALSE) { [17:28:05.676] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:05.676] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:05.676] } [17:28:05.676] ...future.result <- base::tryCatch({ [17:28:05.676] base::withCallingHandlers({ [17:28:05.676] ...future.value <- base::withVisible(base::local({ [17:28:05.676] b <- a [17:28:05.676] a <- 2 [17:28:05.676] a * b [17:28:05.676] })) [17:28:05.676] future::FutureResult(value = ...future.value$value, [17:28:05.676] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.676] ...future.rng), globalenv = if (FALSE) [17:28:05.676] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:05.676] ...future.globalenv.names)) [17:28:05.676] else NULL, started = ...future.startTime, version = "1.8") [17:28:05.676] }, condition = base::local({ [17:28:05.676] c <- base::c [17:28:05.676] inherits <- base::inherits [17:28:05.676] invokeRestart <- base::invokeRestart [17:28:05.676] length <- base::length [17:28:05.676] list <- base::list [17:28:05.676] seq.int <- base::seq.int [17:28:05.676] signalCondition <- base::signalCondition [17:28:05.676] sys.calls <- base::sys.calls [17:28:05.676] `[[` <- base::`[[` [17:28:05.676] `+` <- base::`+` [17:28:05.676] `<<-` <- base::`<<-` [17:28:05.676] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:05.676] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:05.676] 3L)] [17:28:05.676] } [17:28:05.676] function(cond) { [17:28:05.676] is_error <- inherits(cond, "error") [17:28:05.676] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:05.676] NULL) [17:28:05.676] if (is_error) { [17:28:05.676] sessionInformation <- function() { [17:28:05.676] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:05.676] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:05.676] search = base::search(), system = base::Sys.info()) [17:28:05.676] } [17:28:05.676] ...future.conditions[[length(...future.conditions) + [17:28:05.676] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:05.676] cond$call), session = sessionInformation(), [17:28:05.676] timestamp = base::Sys.time(), signaled = 0L) [17:28:05.676] signalCondition(cond) [17:28:05.676] } [17:28:05.676] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:05.676] "immediateCondition"))) { [17:28:05.676] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:05.676] ...future.conditions[[length(...future.conditions) + [17:28:05.676] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:05.676] if (TRUE && !signal) { [17:28:05.676] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.676] { [17:28:05.676] inherits <- base::inherits [17:28:05.676] invokeRestart <- base::invokeRestart [17:28:05.676] is.null <- base::is.null [17:28:05.676] muffled <- FALSE [17:28:05.676] if (inherits(cond, "message")) { [17:28:05.676] muffled <- grepl(pattern, "muffleMessage") [17:28:05.676] if (muffled) [17:28:05.676] invokeRestart("muffleMessage") [17:28:05.676] } [17:28:05.676] else if (inherits(cond, "warning")) { [17:28:05.676] muffled <- grepl(pattern, "muffleWarning") [17:28:05.676] if (muffled) [17:28:05.676] invokeRestart("muffleWarning") [17:28:05.676] } [17:28:05.676] else if (inherits(cond, "condition")) { [17:28:05.676] if (!is.null(pattern)) { [17:28:05.676] computeRestarts <- base::computeRestarts [17:28:05.676] grepl <- base::grepl [17:28:05.676] restarts <- computeRestarts(cond) [17:28:05.676] for (restart in restarts) { [17:28:05.676] name <- restart$name [17:28:05.676] if (is.null(name)) [17:28:05.676] next [17:28:05.676] if (!grepl(pattern, name)) [17:28:05.676] next [17:28:05.676] invokeRestart(restart) [17:28:05.676] muffled <- TRUE [17:28:05.676] break [17:28:05.676] } [17:28:05.676] } [17:28:05.676] } [17:28:05.676] invisible(muffled) [17:28:05.676] } [17:28:05.676] muffleCondition(cond, pattern = "^muffle") [17:28:05.676] } [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] if (TRUE) { [17:28:05.676] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.676] { [17:28:05.676] inherits <- base::inherits [17:28:05.676] invokeRestart <- base::invokeRestart [17:28:05.676] is.null <- base::is.null [17:28:05.676] muffled <- FALSE [17:28:05.676] if (inherits(cond, "message")) { [17:28:05.676] muffled <- grepl(pattern, "muffleMessage") [17:28:05.676] if (muffled) [17:28:05.676] invokeRestart("muffleMessage") [17:28:05.676] } [17:28:05.676] else if (inherits(cond, "warning")) { [17:28:05.676] muffled <- grepl(pattern, "muffleWarning") [17:28:05.676] if (muffled) [17:28:05.676] invokeRestart("muffleWarning") [17:28:05.676] } [17:28:05.676] else if (inherits(cond, "condition")) { [17:28:05.676] if (!is.null(pattern)) { [17:28:05.676] computeRestarts <- base::computeRestarts [17:28:05.676] grepl <- base::grepl [17:28:05.676] restarts <- computeRestarts(cond) [17:28:05.676] for (restart in restarts) { [17:28:05.676] name <- restart$name [17:28:05.676] if (is.null(name)) [17:28:05.676] next [17:28:05.676] if (!grepl(pattern, name)) [17:28:05.676] next [17:28:05.676] invokeRestart(restart) [17:28:05.676] muffled <- TRUE [17:28:05.676] break [17:28:05.676] } [17:28:05.676] } [17:28:05.676] } [17:28:05.676] invisible(muffled) [17:28:05.676] } [17:28:05.676] muffleCondition(cond, pattern = "^muffle") [17:28:05.676] } [17:28:05.676] } [17:28:05.676] } [17:28:05.676] })) [17:28:05.676] }, error = function(ex) { [17:28:05.676] base::structure(base::list(value = NULL, visible = NULL, [17:28:05.676] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.676] ...future.rng), started = ...future.startTime, [17:28:05.676] finished = Sys.time(), session_uuid = NA_character_, [17:28:05.676] version = "1.8"), class = "FutureResult") [17:28:05.676] }, finally = { [17:28:05.676] if (!identical(...future.workdir, getwd())) [17:28:05.676] setwd(...future.workdir) [17:28:05.676] { [17:28:05.676] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:05.676] ...future.oldOptions$nwarnings <- NULL [17:28:05.676] } [17:28:05.676] base::options(...future.oldOptions) [17:28:05.676] if (.Platform$OS.type == "windows") { [17:28:05.676] old_names <- names(...future.oldEnvVars) [17:28:05.676] envs <- base::Sys.getenv() [17:28:05.676] names <- names(envs) [17:28:05.676] common <- intersect(names, old_names) [17:28:05.676] added <- setdiff(names, old_names) [17:28:05.676] removed <- setdiff(old_names, names) [17:28:05.676] changed <- common[...future.oldEnvVars[common] != [17:28:05.676] envs[common]] [17:28:05.676] NAMES <- toupper(changed) [17:28:05.676] args <- list() [17:28:05.676] for (kk in seq_along(NAMES)) { [17:28:05.676] name <- changed[[kk]] [17:28:05.676] NAME <- NAMES[[kk]] [17:28:05.676] if (name != NAME && is.element(NAME, old_names)) [17:28:05.676] next [17:28:05.676] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.676] } [17:28:05.676] NAMES <- toupper(added) [17:28:05.676] for (kk in seq_along(NAMES)) { [17:28:05.676] name <- added[[kk]] [17:28:05.676] NAME <- NAMES[[kk]] [17:28:05.676] if (name != NAME && is.element(NAME, old_names)) [17:28:05.676] next [17:28:05.676] args[[name]] <- "" [17:28:05.676] } [17:28:05.676] NAMES <- toupper(removed) [17:28:05.676] for (kk in seq_along(NAMES)) { [17:28:05.676] name <- removed[[kk]] [17:28:05.676] NAME <- NAMES[[kk]] [17:28:05.676] if (name != NAME && is.element(NAME, old_names)) [17:28:05.676] next [17:28:05.676] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.676] } [17:28:05.676] if (length(args) > 0) [17:28:05.676] base::do.call(base::Sys.setenv, args = args) [17:28:05.676] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:05.676] } [17:28:05.676] { [17:28:05.676] if (base::length(...future.futureOptionsAdded) > [17:28:05.676] 0L) { [17:28:05.676] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:05.676] base::names(opts) <- ...future.futureOptionsAdded [17:28:05.676] base::options(opts) [17:28:05.676] } [17:28:05.676] { [17:28:05.676] { [17:28:05.676] NULL [17:28:05.676] RNGkind("Mersenne-Twister") [17:28:05.676] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:05.676] inherits = FALSE) [17:28:05.676] } [17:28:05.676] options(future.plan = NULL) [17:28:05.676] if (is.na(NA_character_)) [17:28:05.676] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.676] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:05.676] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:05.676] .init = FALSE) [17:28:05.676] } [17:28:05.676] } [17:28:05.676] } [17:28:05.676] }) [17:28:05.676] if (TRUE) { [17:28:05.676] base::sink(type = "output", split = FALSE) [17:28:05.676] if (TRUE) { [17:28:05.676] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:05.676] } [17:28:05.676] else { [17:28:05.676] ...future.result["stdout"] <- base::list(NULL) [17:28:05.676] } [17:28:05.676] base::close(...future.stdout) [17:28:05.676] ...future.stdout <- NULL [17:28:05.676] } [17:28:05.676] ...future.result$conditions <- ...future.conditions [17:28:05.676] ...future.result$finished <- base::Sys.time() [17:28:05.676] ...future.result [17:28:05.676] } [17:28:05.683] plan(): Setting new future strategy stack: [17:28:05.683] List of future strategies: [17:28:05.683] 1. sequential: [17:28:05.683] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.683] - tweaked: FALSE [17:28:05.683] - call: NULL [17:28:05.684] plan(): nbrOfWorkers() = 1 [17:28:05.686] plan(): Setting new future strategy stack: [17:28:05.686] List of future strategies: [17:28:05.686] 1. sequential: [17:28:05.686] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.686] - tweaked: FALSE [17:28:05.686] - call: plan(strategy) [17:28:05.687] plan(): nbrOfWorkers() = 1 [17:28:05.687] SequentialFuture started (and completed) [17:28:05.688] - Launch lazy future ... done [17:28:05.688] run() for 'SequentialFuture' ... done y = 6 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.690] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.690] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.692] - globals found: [3] '{', '<-', '*' [17:28:05.693] Searching for globals ... DONE [17:28:05.693] Resolving globals: TRUE [17:28:05.693] Resolving any globals that are futures ... [17:28:05.693] - globals: [3] '{', '<-', '*' [17:28:05.693] Resolving any globals that are futures ... DONE [17:28:05.694] [17:28:05.694] [17:28:05.694] getGlobalsAndPackages() ... DONE [17:28:05.695] run() for 'Future' ... [17:28:05.695] - state: 'created' [17:28:05.695] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:05.696] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:05.696] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:05.696] - Field: 'label' [17:28:05.696] - Field: 'local' [17:28:05.697] - Field: 'owner' [17:28:05.697] - Field: 'envir' [17:28:05.697] - Field: 'packages' [17:28:05.697] - Field: 'gc' [17:28:05.697] - Field: 'conditions' [17:28:05.697] - Field: 'expr' [17:28:05.698] - Field: 'uuid' [17:28:05.698] - Field: 'seed' [17:28:05.698] - Field: 'version' [17:28:05.698] - Field: 'result' [17:28:05.698] - Field: 'asynchronous' [17:28:05.699] - Field: 'calls' [17:28:05.699] - Field: 'globals' [17:28:05.699] - Field: 'stdout' [17:28:05.699] - Field: 'earlySignal' [17:28:05.699] - Field: 'lazy' [17:28:05.700] - Field: 'state' [17:28:05.700] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:05.700] - Launch lazy future ... [17:28:05.700] Packages needed by the future expression (n = 0): [17:28:05.701] Packages needed by future strategies (n = 0): [17:28:05.701] { [17:28:05.701] { [17:28:05.701] { [17:28:05.701] ...future.startTime <- base::Sys.time() [17:28:05.701] { [17:28:05.701] { [17:28:05.701] { [17:28:05.701] base::local({ [17:28:05.701] has_future <- base::requireNamespace("future", [17:28:05.701] quietly = TRUE) [17:28:05.701] if (has_future) { [17:28:05.701] ns <- base::getNamespace("future") [17:28:05.701] version <- ns[[".package"]][["version"]] [17:28:05.701] if (is.null(version)) [17:28:05.701] version <- utils::packageVersion("future") [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] version <- NULL [17:28:05.701] } [17:28:05.701] if (!has_future || version < "1.8.0") { [17:28:05.701] info <- base::c(r_version = base::gsub("R version ", [17:28:05.701] "", base::R.version$version.string), [17:28:05.701] platform = base::sprintf("%s (%s-bit)", [17:28:05.701] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:05.701] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:05.701] "release", "version")], collapse = " "), [17:28:05.701] hostname = base::Sys.info()[["nodename"]]) [17:28:05.701] info <- base::sprintf("%s: %s", base::names(info), [17:28:05.701] info) [17:28:05.701] info <- base::paste(info, collapse = "; ") [17:28:05.701] if (!has_future) { [17:28:05.701] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:05.701] info) [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:05.701] info, version) [17:28:05.701] } [17:28:05.701] base::stop(msg) [17:28:05.701] } [17:28:05.701] }) [17:28:05.701] } [17:28:05.701] ...future.strategy.old <- future::plan("list") [17:28:05.701] options(future.plan = NULL) [17:28:05.701] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.701] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:05.701] } [17:28:05.701] ...future.workdir <- getwd() [17:28:05.701] } [17:28:05.701] ...future.oldOptions <- base::as.list(base::.Options) [17:28:05.701] ...future.oldEnvVars <- base::Sys.getenv() [17:28:05.701] } [17:28:05.701] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:05.701] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:05.701] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:05.701] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:05.701] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:05.701] future.stdout.windows.reencode = NULL, width = 80L) [17:28:05.701] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:05.701] base::names(...future.oldOptions)) [17:28:05.701] } [17:28:05.701] if (FALSE) { [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] if (TRUE) { [17:28:05.701] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:05.701] open = "w") [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:05.701] windows = "NUL", "/dev/null"), open = "w") [17:28:05.701] } [17:28:05.701] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:05.701] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:05.701] base::sink(type = "output", split = FALSE) [17:28:05.701] base::close(...future.stdout) [17:28:05.701] }, add = TRUE) [17:28:05.701] } [17:28:05.701] ...future.frame <- base::sys.nframe() [17:28:05.701] ...future.conditions <- base::list() [17:28:05.701] ...future.rng <- base::globalenv()$.Random.seed [17:28:05.701] if (FALSE) { [17:28:05.701] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:05.701] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:05.701] } [17:28:05.701] ...future.result <- base::tryCatch({ [17:28:05.701] base::withCallingHandlers({ [17:28:05.701] ...future.value <- base::withVisible(base::local({ [17:28:05.701] b <- a [17:28:05.701] a <- 2 [17:28:05.701] a * b [17:28:05.701] })) [17:28:05.701] future::FutureResult(value = ...future.value$value, [17:28:05.701] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.701] ...future.rng), globalenv = if (FALSE) [17:28:05.701] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:05.701] ...future.globalenv.names)) [17:28:05.701] else NULL, started = ...future.startTime, version = "1.8") [17:28:05.701] }, condition = base::local({ [17:28:05.701] c <- base::c [17:28:05.701] inherits <- base::inherits [17:28:05.701] invokeRestart <- base::invokeRestart [17:28:05.701] length <- base::length [17:28:05.701] list <- base::list [17:28:05.701] seq.int <- base::seq.int [17:28:05.701] signalCondition <- base::signalCondition [17:28:05.701] sys.calls <- base::sys.calls [17:28:05.701] `[[` <- base::`[[` [17:28:05.701] `+` <- base::`+` [17:28:05.701] `<<-` <- base::`<<-` [17:28:05.701] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:05.701] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:05.701] 3L)] [17:28:05.701] } [17:28:05.701] function(cond) { [17:28:05.701] is_error <- inherits(cond, "error") [17:28:05.701] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:05.701] NULL) [17:28:05.701] if (is_error) { [17:28:05.701] sessionInformation <- function() { [17:28:05.701] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:05.701] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:05.701] search = base::search(), system = base::Sys.info()) [17:28:05.701] } [17:28:05.701] ...future.conditions[[length(...future.conditions) + [17:28:05.701] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:05.701] cond$call), session = sessionInformation(), [17:28:05.701] timestamp = base::Sys.time(), signaled = 0L) [17:28:05.701] signalCondition(cond) [17:28:05.701] } [17:28:05.701] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:05.701] "immediateCondition"))) { [17:28:05.701] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:05.701] ...future.conditions[[length(...future.conditions) + [17:28:05.701] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:05.701] if (TRUE && !signal) { [17:28:05.701] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.701] { [17:28:05.701] inherits <- base::inherits [17:28:05.701] invokeRestart <- base::invokeRestart [17:28:05.701] is.null <- base::is.null [17:28:05.701] muffled <- FALSE [17:28:05.701] if (inherits(cond, "message")) { [17:28:05.701] muffled <- grepl(pattern, "muffleMessage") [17:28:05.701] if (muffled) [17:28:05.701] invokeRestart("muffleMessage") [17:28:05.701] } [17:28:05.701] else if (inherits(cond, "warning")) { [17:28:05.701] muffled <- grepl(pattern, "muffleWarning") [17:28:05.701] if (muffled) [17:28:05.701] invokeRestart("muffleWarning") [17:28:05.701] } [17:28:05.701] else if (inherits(cond, "condition")) { [17:28:05.701] if (!is.null(pattern)) { [17:28:05.701] computeRestarts <- base::computeRestarts [17:28:05.701] grepl <- base::grepl [17:28:05.701] restarts <- computeRestarts(cond) [17:28:05.701] for (restart in restarts) { [17:28:05.701] name <- restart$name [17:28:05.701] if (is.null(name)) [17:28:05.701] next [17:28:05.701] if (!grepl(pattern, name)) [17:28:05.701] next [17:28:05.701] invokeRestart(restart) [17:28:05.701] muffled <- TRUE [17:28:05.701] break [17:28:05.701] } [17:28:05.701] } [17:28:05.701] } [17:28:05.701] invisible(muffled) [17:28:05.701] } [17:28:05.701] muffleCondition(cond, pattern = "^muffle") [17:28:05.701] } [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] if (TRUE) { [17:28:05.701] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.701] { [17:28:05.701] inherits <- base::inherits [17:28:05.701] invokeRestart <- base::invokeRestart [17:28:05.701] is.null <- base::is.null [17:28:05.701] muffled <- FALSE [17:28:05.701] if (inherits(cond, "message")) { [17:28:05.701] muffled <- grepl(pattern, "muffleMessage") [17:28:05.701] if (muffled) [17:28:05.701] invokeRestart("muffleMessage") [17:28:05.701] } [17:28:05.701] else if (inherits(cond, "warning")) { [17:28:05.701] muffled <- grepl(pattern, "muffleWarning") [17:28:05.701] if (muffled) [17:28:05.701] invokeRestart("muffleWarning") [17:28:05.701] } [17:28:05.701] else if (inherits(cond, "condition")) { [17:28:05.701] if (!is.null(pattern)) { [17:28:05.701] computeRestarts <- base::computeRestarts [17:28:05.701] grepl <- base::grepl [17:28:05.701] restarts <- computeRestarts(cond) [17:28:05.701] for (restart in restarts) { [17:28:05.701] name <- restart$name [17:28:05.701] if (is.null(name)) [17:28:05.701] next [17:28:05.701] if (!grepl(pattern, name)) [17:28:05.701] next [17:28:05.701] invokeRestart(restart) [17:28:05.701] muffled <- TRUE [17:28:05.701] break [17:28:05.701] } [17:28:05.701] } [17:28:05.701] } [17:28:05.701] invisible(muffled) [17:28:05.701] } [17:28:05.701] muffleCondition(cond, pattern = "^muffle") [17:28:05.701] } [17:28:05.701] } [17:28:05.701] } [17:28:05.701] })) [17:28:05.701] }, error = function(ex) { [17:28:05.701] base::structure(base::list(value = NULL, visible = NULL, [17:28:05.701] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.701] ...future.rng), started = ...future.startTime, [17:28:05.701] finished = Sys.time(), session_uuid = NA_character_, [17:28:05.701] version = "1.8"), class = "FutureResult") [17:28:05.701] }, finally = { [17:28:05.701] if (!identical(...future.workdir, getwd())) [17:28:05.701] setwd(...future.workdir) [17:28:05.701] { [17:28:05.701] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:05.701] ...future.oldOptions$nwarnings <- NULL [17:28:05.701] } [17:28:05.701] base::options(...future.oldOptions) [17:28:05.701] if (.Platform$OS.type == "windows") { [17:28:05.701] old_names <- names(...future.oldEnvVars) [17:28:05.701] envs <- base::Sys.getenv() [17:28:05.701] names <- names(envs) [17:28:05.701] common <- intersect(names, old_names) [17:28:05.701] added <- setdiff(names, old_names) [17:28:05.701] removed <- setdiff(old_names, names) [17:28:05.701] changed <- common[...future.oldEnvVars[common] != [17:28:05.701] envs[common]] [17:28:05.701] NAMES <- toupper(changed) [17:28:05.701] args <- list() [17:28:05.701] for (kk in seq_along(NAMES)) { [17:28:05.701] name <- changed[[kk]] [17:28:05.701] NAME <- NAMES[[kk]] [17:28:05.701] if (name != NAME && is.element(NAME, old_names)) [17:28:05.701] next [17:28:05.701] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.701] } [17:28:05.701] NAMES <- toupper(added) [17:28:05.701] for (kk in seq_along(NAMES)) { [17:28:05.701] name <- added[[kk]] [17:28:05.701] NAME <- NAMES[[kk]] [17:28:05.701] if (name != NAME && is.element(NAME, old_names)) [17:28:05.701] next [17:28:05.701] args[[name]] <- "" [17:28:05.701] } [17:28:05.701] NAMES <- toupper(removed) [17:28:05.701] for (kk in seq_along(NAMES)) { [17:28:05.701] name <- removed[[kk]] [17:28:05.701] NAME <- NAMES[[kk]] [17:28:05.701] if (name != NAME && is.element(NAME, old_names)) [17:28:05.701] next [17:28:05.701] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.701] } [17:28:05.701] if (length(args) > 0) [17:28:05.701] base::do.call(base::Sys.setenv, args = args) [17:28:05.701] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:05.701] } [17:28:05.701] { [17:28:05.701] if (base::length(...future.futureOptionsAdded) > [17:28:05.701] 0L) { [17:28:05.701] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:05.701] base::names(opts) <- ...future.futureOptionsAdded [17:28:05.701] base::options(opts) [17:28:05.701] } [17:28:05.701] { [17:28:05.701] { [17:28:05.701] NULL [17:28:05.701] RNGkind("Mersenne-Twister") [17:28:05.701] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:05.701] inherits = FALSE) [17:28:05.701] } [17:28:05.701] options(future.plan = NULL) [17:28:05.701] if (is.na(NA_character_)) [17:28:05.701] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.701] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:05.701] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:05.701] .init = FALSE) [17:28:05.701] } [17:28:05.701] } [17:28:05.701] } [17:28:05.701] }) [17:28:05.701] if (TRUE) { [17:28:05.701] base::sink(type = "output", split = FALSE) [17:28:05.701] if (TRUE) { [17:28:05.701] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:05.701] } [17:28:05.701] else { [17:28:05.701] ...future.result["stdout"] <- base::list(NULL) [17:28:05.701] } [17:28:05.701] base::close(...future.stdout) [17:28:05.701] ...future.stdout <- NULL [17:28:05.701] } [17:28:05.701] ...future.result$conditions <- ...future.conditions [17:28:05.701] ...future.result$finished <- base::Sys.time() [17:28:05.701] ...future.result [17:28:05.701] } [17:28:05.707] plan(): Setting new future strategy stack: [17:28:05.707] List of future strategies: [17:28:05.707] 1. sequential: [17:28:05.707] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.707] - tweaked: FALSE [17:28:05.707] - call: NULL [17:28:05.708] plan(): nbrOfWorkers() = 1 [17:28:05.711] plan(): Setting new future strategy stack: [17:28:05.711] List of future strategies: [17:28:05.711] 1. sequential: [17:28:05.711] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.711] - tweaked: FALSE [17:28:05.711] - call: plan(strategy) [17:28:05.712] plan(): nbrOfWorkers() = 1 [17:28:05.713] SequentialFuture started (and completed) [17:28:05.713] signalConditions() ... [17:28:05.714] - include = 'immediateCondition' [17:28:05.714] - exclude = [17:28:05.714] - resignal = FALSE [17:28:05.715] - Number of conditions: 1 [17:28:05.715] signalConditions() ... done [17:28:05.715] - Launch lazy future ... done [17:28:05.715] run() for 'SequentialFuture' ... done [17:28:05.716] signalConditions() ... [17:28:05.716] - include = 'immediateCondition' [17:28:05.717] - exclude = [17:28:05.717] - resignal = FALSE [17:28:05.717] - Number of conditions: 1 [17:28:05.718] signalConditions() ... done [17:28:05.718] Future state: 'finished' [17:28:05.718] signalConditions() ... [17:28:05.719] - include = 'condition' [17:28:05.719] - exclude = 'immediateCondition' [17:28:05.719] - resignal = TRUE [17:28:05.720] - Number of conditions: 1 [17:28:05.720] - Condition #1: 'simpleError', 'error', 'condition' [17:28:05.720] signalConditions() ... done List of 1 $ res: 'try-error' chr "Error in eval(quote({ : object 'a' not found\n" ..- attr(*, "condition")=List of 3 .. ..$ message : chr "object 'a' not found" .. ..$ call : language eval(quote({ b <- a ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ b <- a ... .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" .. .. ..$ calls :List of 11 .. .. .. ..$ : language y %<-% { b <- a ... .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language y %<-% { b <- a ... .. .. .. ..$ : language futureAssignInternal(target, expr, envir = envir, substitute = FALSE) .. .. .. ..$ : language futureAssign(name, expr, envir = envir, assign.env = assign.env, substitute = FALSE) .. .. .. ..$ : language do.call(future::future, args = future.args, envir = assign.env) .. .. .. ..$ : language (function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = FALSE, globals = TRUE, pack| __truncated__ ... .. .. .. ..$ : language Future(expr, substitute = FALSE, envir = envir, lazy = TRUE, seed = seed, globals = globals, packages = pack| __truncated__ ... .. .. .. ..$ : language eval(quote({ b <- a ... .. .. .. ..$ : language eval(quote({ b <- a ... .. .. ..$ session :List of 6 .. .. .. ..$ r :List of 15 .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" .. .. .. .. ..$ arch : chr "x86_64" .. .. .. .. ..$ os : chr "mingw32" .. .. .. .. ..$ crt : chr "ucrt" .. .. .. .. ..$ system : chr "x86_64, mingw32" .. .. .. .. ..$ status : chr "Under development (unstable)" .. .. .. .. ..$ major : chr "4" .. .. .. .. ..$ minor : chr "5.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "07" .. .. .. .. ..$ day : chr "28" .. .. .. .. ..$ svn rev : chr "86931" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-07-28 r86931 ucrt)" .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... .. .. .. ..$ search : chr [1:11] ".GlobalEnv" "package:listenv" "package:future" "package:stats" ... .. .. .. ..$ system : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. .. ..$ timestamp: POSIXct[1:1], format: "2024-07-29 17:28:05" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.762] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.763] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.766] - globals found: [4] '{', '<-', '*', 'ii' [17:28:05.767] Searching for globals ... DONE [17:28:05.767] Resolving globals: TRUE [17:28:05.767] Resolving any globals that are futures ... [17:28:05.768] - globals: [4] '{', '<-', '*', 'ii' [17:28:05.768] Resolving any globals that are futures ... DONE [17:28:05.769] Resolving futures part of globals (recursively) ... [17:28:05.770] resolve() on list ... [17:28:05.771] recursive: 99 [17:28:05.771] length: 1 [17:28:05.772] elements: 'ii' [17:28:05.772] length: 0 (resolved future 1) [17:28:05.772] resolve() on list ... DONE [17:28:05.773] - globals: [1] 'ii' [17:28:05.773] Resolving futures part of globals (recursively) ... DONE [17:28:05.774] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:05.779] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:05.779] - globals: [1] 'ii' [17:28:05.780] [17:28:05.780] getGlobalsAndPackages() ... DONE [17:28:05.781] run() for 'Future' ... [17:28:05.781] - state: 'created' [17:28:05.781] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:05.782] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:05.782] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:05.783] - Field: 'label' [17:28:05.783] - Field: 'local' [17:28:05.783] - Field: 'owner' [17:28:05.784] - Field: 'envir' [17:28:05.784] - Field: 'packages' [17:28:05.784] - Field: 'gc' [17:28:05.785] - Field: 'conditions' [17:28:05.785] - Field: 'expr' [17:28:05.785] - Field: 'uuid' [17:28:05.786] - Field: 'seed' [17:28:05.786] - Field: 'version' [17:28:05.786] - Field: 'result' [17:28:05.787] - Field: 'asynchronous' [17:28:05.787] - Field: 'calls' [17:28:05.787] - Field: 'globals' [17:28:05.788] - Field: 'stdout' [17:28:05.788] - Field: 'earlySignal' [17:28:05.788] - Field: 'lazy' [17:28:05.789] - Field: 'state' [17:28:05.789] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:05.789] - Launch lazy future ... [17:28:05.790] Packages needed by the future expression (n = 0): [17:28:05.790] Packages needed by future strategies (n = 0): [17:28:05.791] { [17:28:05.791] { [17:28:05.791] { [17:28:05.791] ...future.startTime <- base::Sys.time() [17:28:05.791] { [17:28:05.791] { [17:28:05.791] { [17:28:05.791] base::local({ [17:28:05.791] has_future <- base::requireNamespace("future", [17:28:05.791] quietly = TRUE) [17:28:05.791] if (has_future) { [17:28:05.791] ns <- base::getNamespace("future") [17:28:05.791] version <- ns[[".package"]][["version"]] [17:28:05.791] if (is.null(version)) [17:28:05.791] version <- utils::packageVersion("future") [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] version <- NULL [17:28:05.791] } [17:28:05.791] if (!has_future || version < "1.8.0") { [17:28:05.791] info <- base::c(r_version = base::gsub("R version ", [17:28:05.791] "", base::R.version$version.string), [17:28:05.791] platform = base::sprintf("%s (%s-bit)", [17:28:05.791] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:05.791] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:05.791] "release", "version")], collapse = " "), [17:28:05.791] hostname = base::Sys.info()[["nodename"]]) [17:28:05.791] info <- base::sprintf("%s: %s", base::names(info), [17:28:05.791] info) [17:28:05.791] info <- base::paste(info, collapse = "; ") [17:28:05.791] if (!has_future) { [17:28:05.791] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:05.791] info) [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:05.791] info, version) [17:28:05.791] } [17:28:05.791] base::stop(msg) [17:28:05.791] } [17:28:05.791] }) [17:28:05.791] } [17:28:05.791] ...future.strategy.old <- future::plan("list") [17:28:05.791] options(future.plan = NULL) [17:28:05.791] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.791] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:05.791] } [17:28:05.791] ...future.workdir <- getwd() [17:28:05.791] } [17:28:05.791] ...future.oldOptions <- base::as.list(base::.Options) [17:28:05.791] ...future.oldEnvVars <- base::Sys.getenv() [17:28:05.791] } [17:28:05.791] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:05.791] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:05.791] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:05.791] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:05.791] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:05.791] future.stdout.windows.reencode = NULL, width = 80L) [17:28:05.791] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:05.791] base::names(...future.oldOptions)) [17:28:05.791] } [17:28:05.791] if (FALSE) { [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] if (TRUE) { [17:28:05.791] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:05.791] open = "w") [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:05.791] windows = "NUL", "/dev/null"), open = "w") [17:28:05.791] } [17:28:05.791] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:05.791] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:05.791] base::sink(type = "output", split = FALSE) [17:28:05.791] base::close(...future.stdout) [17:28:05.791] }, add = TRUE) [17:28:05.791] } [17:28:05.791] ...future.frame <- base::sys.nframe() [17:28:05.791] ...future.conditions <- base::list() [17:28:05.791] ...future.rng <- base::globalenv()$.Random.seed [17:28:05.791] if (FALSE) { [17:28:05.791] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:05.791] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:05.791] } [17:28:05.791] ...future.result <- base::tryCatch({ [17:28:05.791] base::withCallingHandlers({ [17:28:05.791] ...future.value <- base::withVisible(base::local({ [17:28:05.791] b <- a * ii [17:28:05.791] a <- 0 [17:28:05.791] b [17:28:05.791] })) [17:28:05.791] future::FutureResult(value = ...future.value$value, [17:28:05.791] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.791] ...future.rng), globalenv = if (FALSE) [17:28:05.791] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:05.791] ...future.globalenv.names)) [17:28:05.791] else NULL, started = ...future.startTime, version = "1.8") [17:28:05.791] }, condition = base::local({ [17:28:05.791] c <- base::c [17:28:05.791] inherits <- base::inherits [17:28:05.791] invokeRestart <- base::invokeRestart [17:28:05.791] length <- base::length [17:28:05.791] list <- base::list [17:28:05.791] seq.int <- base::seq.int [17:28:05.791] signalCondition <- base::signalCondition [17:28:05.791] sys.calls <- base::sys.calls [17:28:05.791] `[[` <- base::`[[` [17:28:05.791] `+` <- base::`+` [17:28:05.791] `<<-` <- base::`<<-` [17:28:05.791] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:05.791] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:05.791] 3L)] [17:28:05.791] } [17:28:05.791] function(cond) { [17:28:05.791] is_error <- inherits(cond, "error") [17:28:05.791] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:05.791] NULL) [17:28:05.791] if (is_error) { [17:28:05.791] sessionInformation <- function() { [17:28:05.791] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:05.791] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:05.791] search = base::search(), system = base::Sys.info()) [17:28:05.791] } [17:28:05.791] ...future.conditions[[length(...future.conditions) + [17:28:05.791] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:05.791] cond$call), session = sessionInformation(), [17:28:05.791] timestamp = base::Sys.time(), signaled = 0L) [17:28:05.791] signalCondition(cond) [17:28:05.791] } [17:28:05.791] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:05.791] "immediateCondition"))) { [17:28:05.791] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:05.791] ...future.conditions[[length(...future.conditions) + [17:28:05.791] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:05.791] if (TRUE && !signal) { [17:28:05.791] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.791] { [17:28:05.791] inherits <- base::inherits [17:28:05.791] invokeRestart <- base::invokeRestart [17:28:05.791] is.null <- base::is.null [17:28:05.791] muffled <- FALSE [17:28:05.791] if (inherits(cond, "message")) { [17:28:05.791] muffled <- grepl(pattern, "muffleMessage") [17:28:05.791] if (muffled) [17:28:05.791] invokeRestart("muffleMessage") [17:28:05.791] } [17:28:05.791] else if (inherits(cond, "warning")) { [17:28:05.791] muffled <- grepl(pattern, "muffleWarning") [17:28:05.791] if (muffled) [17:28:05.791] invokeRestart("muffleWarning") [17:28:05.791] } [17:28:05.791] else if (inherits(cond, "condition")) { [17:28:05.791] if (!is.null(pattern)) { [17:28:05.791] computeRestarts <- base::computeRestarts [17:28:05.791] grepl <- base::grepl [17:28:05.791] restarts <- computeRestarts(cond) [17:28:05.791] for (restart in restarts) { [17:28:05.791] name <- restart$name [17:28:05.791] if (is.null(name)) [17:28:05.791] next [17:28:05.791] if (!grepl(pattern, name)) [17:28:05.791] next [17:28:05.791] invokeRestart(restart) [17:28:05.791] muffled <- TRUE [17:28:05.791] break [17:28:05.791] } [17:28:05.791] } [17:28:05.791] } [17:28:05.791] invisible(muffled) [17:28:05.791] } [17:28:05.791] muffleCondition(cond, pattern = "^muffle") [17:28:05.791] } [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] if (TRUE) { [17:28:05.791] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.791] { [17:28:05.791] inherits <- base::inherits [17:28:05.791] invokeRestart <- base::invokeRestart [17:28:05.791] is.null <- base::is.null [17:28:05.791] muffled <- FALSE [17:28:05.791] if (inherits(cond, "message")) { [17:28:05.791] muffled <- grepl(pattern, "muffleMessage") [17:28:05.791] if (muffled) [17:28:05.791] invokeRestart("muffleMessage") [17:28:05.791] } [17:28:05.791] else if (inherits(cond, "warning")) { [17:28:05.791] muffled <- grepl(pattern, "muffleWarning") [17:28:05.791] if (muffled) [17:28:05.791] invokeRestart("muffleWarning") [17:28:05.791] } [17:28:05.791] else if (inherits(cond, "condition")) { [17:28:05.791] if (!is.null(pattern)) { [17:28:05.791] computeRestarts <- base::computeRestarts [17:28:05.791] grepl <- base::grepl [17:28:05.791] restarts <- computeRestarts(cond) [17:28:05.791] for (restart in restarts) { [17:28:05.791] name <- restart$name [17:28:05.791] if (is.null(name)) [17:28:05.791] next [17:28:05.791] if (!grepl(pattern, name)) [17:28:05.791] next [17:28:05.791] invokeRestart(restart) [17:28:05.791] muffled <- TRUE [17:28:05.791] break [17:28:05.791] } [17:28:05.791] } [17:28:05.791] } [17:28:05.791] invisible(muffled) [17:28:05.791] } [17:28:05.791] muffleCondition(cond, pattern = "^muffle") [17:28:05.791] } [17:28:05.791] } [17:28:05.791] } [17:28:05.791] })) [17:28:05.791] }, error = function(ex) { [17:28:05.791] base::structure(base::list(value = NULL, visible = NULL, [17:28:05.791] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.791] ...future.rng), started = ...future.startTime, [17:28:05.791] finished = Sys.time(), session_uuid = NA_character_, [17:28:05.791] version = "1.8"), class = "FutureResult") [17:28:05.791] }, finally = { [17:28:05.791] if (!identical(...future.workdir, getwd())) [17:28:05.791] setwd(...future.workdir) [17:28:05.791] { [17:28:05.791] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:05.791] ...future.oldOptions$nwarnings <- NULL [17:28:05.791] } [17:28:05.791] base::options(...future.oldOptions) [17:28:05.791] if (.Platform$OS.type == "windows") { [17:28:05.791] old_names <- names(...future.oldEnvVars) [17:28:05.791] envs <- base::Sys.getenv() [17:28:05.791] names <- names(envs) [17:28:05.791] common <- intersect(names, old_names) [17:28:05.791] added <- setdiff(names, old_names) [17:28:05.791] removed <- setdiff(old_names, names) [17:28:05.791] changed <- common[...future.oldEnvVars[common] != [17:28:05.791] envs[common]] [17:28:05.791] NAMES <- toupper(changed) [17:28:05.791] args <- list() [17:28:05.791] for (kk in seq_along(NAMES)) { [17:28:05.791] name <- changed[[kk]] [17:28:05.791] NAME <- NAMES[[kk]] [17:28:05.791] if (name != NAME && is.element(NAME, old_names)) [17:28:05.791] next [17:28:05.791] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.791] } [17:28:05.791] NAMES <- toupper(added) [17:28:05.791] for (kk in seq_along(NAMES)) { [17:28:05.791] name <- added[[kk]] [17:28:05.791] NAME <- NAMES[[kk]] [17:28:05.791] if (name != NAME && is.element(NAME, old_names)) [17:28:05.791] next [17:28:05.791] args[[name]] <- "" [17:28:05.791] } [17:28:05.791] NAMES <- toupper(removed) [17:28:05.791] for (kk in seq_along(NAMES)) { [17:28:05.791] name <- removed[[kk]] [17:28:05.791] NAME <- NAMES[[kk]] [17:28:05.791] if (name != NAME && is.element(NAME, old_names)) [17:28:05.791] next [17:28:05.791] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.791] } [17:28:05.791] if (length(args) > 0) [17:28:05.791] base::do.call(base::Sys.setenv, args = args) [17:28:05.791] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:05.791] } [17:28:05.791] { [17:28:05.791] if (base::length(...future.futureOptionsAdded) > [17:28:05.791] 0L) { [17:28:05.791] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:05.791] base::names(opts) <- ...future.futureOptionsAdded [17:28:05.791] base::options(opts) [17:28:05.791] } [17:28:05.791] { [17:28:05.791] { [17:28:05.791] NULL [17:28:05.791] RNGkind("Mersenne-Twister") [17:28:05.791] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:05.791] inherits = FALSE) [17:28:05.791] } [17:28:05.791] options(future.plan = NULL) [17:28:05.791] if (is.na(NA_character_)) [17:28:05.791] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.791] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:05.791] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:05.791] .init = FALSE) [17:28:05.791] } [17:28:05.791] } [17:28:05.791] } [17:28:05.791] }) [17:28:05.791] if (TRUE) { [17:28:05.791] base::sink(type = "output", split = FALSE) [17:28:05.791] if (TRUE) { [17:28:05.791] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:05.791] } [17:28:05.791] else { [17:28:05.791] ...future.result["stdout"] <- base::list(NULL) [17:28:05.791] } [17:28:05.791] base::close(...future.stdout) [17:28:05.791] ...future.stdout <- NULL [17:28:05.791] } [17:28:05.791] ...future.result$conditions <- ...future.conditions [17:28:05.791] ...future.result$finished <- base::Sys.time() [17:28:05.791] ...future.result [17:28:05.791] } [17:28:05.798] assign_globals() ... [17:28:05.799] List of 1 [17:28:05.799] $ ii: int 1 [17:28:05.799] - attr(*, "where")=List of 1 [17:28:05.799] ..$ ii: [17:28:05.799] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:05.799] - attr(*, "resolved")= logi TRUE [17:28:05.799] - attr(*, "total_size")= int 35 [17:28:05.799] - attr(*, "already-done")= logi TRUE [17:28:05.805] - copied 'ii' to environment [17:28:05.805] assign_globals() ... done [17:28:05.806] plan(): Setting new future strategy stack: [17:28:05.806] List of future strategies: [17:28:05.806] 1. sequential: [17:28:05.806] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.806] - tweaked: FALSE [17:28:05.806] - call: NULL [17:28:05.807] plan(): nbrOfWorkers() = 1 [17:28:05.809] plan(): Setting new future strategy stack: [17:28:05.810] List of future strategies: [17:28:05.810] 1. sequential: [17:28:05.810] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.810] - tweaked: FALSE [17:28:05.810] - call: plan(strategy) [17:28:05.811] plan(): nbrOfWorkers() = 1 [17:28:05.811] SequentialFuture started (and completed) [17:28:05.812] - Launch lazy future ... done [17:28:05.812] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.813] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.814] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.817] - globals found: [4] '{', '<-', '*', 'ii' [17:28:05.818] Searching for globals ... DONE [17:28:05.818] Resolving globals: TRUE [17:28:05.818] Resolving any globals that are futures ... [17:28:05.819] - globals: [4] '{', '<-', '*', 'ii' [17:28:05.819] Resolving any globals that are futures ... DONE [17:28:05.820] Resolving futures part of globals (recursively) ... [17:28:05.821] resolve() on list ... [17:28:05.821] recursive: 99 [17:28:05.821] length: 1 [17:28:05.821] elements: 'ii' [17:28:05.822] length: 0 (resolved future 1) [17:28:05.822] resolve() on list ... DONE [17:28:05.822] - globals: [1] 'ii' [17:28:05.823] Resolving futures part of globals (recursively) ... DONE [17:28:05.823] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:05.824] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:05.824] - globals: [1] 'ii' [17:28:05.825] [17:28:05.825] getGlobalsAndPackages() ... DONE [17:28:05.826] run() for 'Future' ... [17:28:05.826] - state: 'created' [17:28:05.827] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:05.827] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:05.828] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:05.828] - Field: 'label' [17:28:05.828] - Field: 'local' [17:28:05.829] - Field: 'owner' [17:28:05.829] - Field: 'envir' [17:28:05.829] - Field: 'packages' [17:28:05.830] - Field: 'gc' [17:28:05.830] - Field: 'conditions' [17:28:05.830] - Field: 'expr' [17:28:05.831] - Field: 'uuid' [17:28:05.831] - Field: 'seed' [17:28:05.831] - Field: 'version' [17:28:05.832] - Field: 'result' [17:28:05.832] - Field: 'asynchronous' [17:28:05.832] - Field: 'calls' [17:28:05.833] - Field: 'globals' [17:28:05.833] - Field: 'stdout' [17:28:05.833] - Field: 'earlySignal' [17:28:05.834] - Field: 'lazy' [17:28:05.834] - Field: 'state' [17:28:05.834] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:05.835] - Launch lazy future ... [17:28:05.835] Packages needed by the future expression (n = 0): [17:28:05.835] Packages needed by future strategies (n = 0): [17:28:05.837] { [17:28:05.837] { [17:28:05.837] { [17:28:05.837] ...future.startTime <- base::Sys.time() [17:28:05.837] { [17:28:05.837] { [17:28:05.837] { [17:28:05.837] base::local({ [17:28:05.837] has_future <- base::requireNamespace("future", [17:28:05.837] quietly = TRUE) [17:28:05.837] if (has_future) { [17:28:05.837] ns <- base::getNamespace("future") [17:28:05.837] version <- ns[[".package"]][["version"]] [17:28:05.837] if (is.null(version)) [17:28:05.837] version <- utils::packageVersion("future") [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] version <- NULL [17:28:05.837] } [17:28:05.837] if (!has_future || version < "1.8.0") { [17:28:05.837] info <- base::c(r_version = base::gsub("R version ", [17:28:05.837] "", base::R.version$version.string), [17:28:05.837] platform = base::sprintf("%s (%s-bit)", [17:28:05.837] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:05.837] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:05.837] "release", "version")], collapse = " "), [17:28:05.837] hostname = base::Sys.info()[["nodename"]]) [17:28:05.837] info <- base::sprintf("%s: %s", base::names(info), [17:28:05.837] info) [17:28:05.837] info <- base::paste(info, collapse = "; ") [17:28:05.837] if (!has_future) { [17:28:05.837] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:05.837] info) [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:05.837] info, version) [17:28:05.837] } [17:28:05.837] base::stop(msg) [17:28:05.837] } [17:28:05.837] }) [17:28:05.837] } [17:28:05.837] ...future.strategy.old <- future::plan("list") [17:28:05.837] options(future.plan = NULL) [17:28:05.837] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.837] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:05.837] } [17:28:05.837] ...future.workdir <- getwd() [17:28:05.837] } [17:28:05.837] ...future.oldOptions <- base::as.list(base::.Options) [17:28:05.837] ...future.oldEnvVars <- base::Sys.getenv() [17:28:05.837] } [17:28:05.837] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:05.837] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:05.837] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:05.837] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:05.837] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:05.837] future.stdout.windows.reencode = NULL, width = 80L) [17:28:05.837] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:05.837] base::names(...future.oldOptions)) [17:28:05.837] } [17:28:05.837] if (FALSE) { [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] if (TRUE) { [17:28:05.837] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:05.837] open = "w") [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:05.837] windows = "NUL", "/dev/null"), open = "w") [17:28:05.837] } [17:28:05.837] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:05.837] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:05.837] base::sink(type = "output", split = FALSE) [17:28:05.837] base::close(...future.stdout) [17:28:05.837] }, add = TRUE) [17:28:05.837] } [17:28:05.837] ...future.frame <- base::sys.nframe() [17:28:05.837] ...future.conditions <- base::list() [17:28:05.837] ...future.rng <- base::globalenv()$.Random.seed [17:28:05.837] if (FALSE) { [17:28:05.837] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:05.837] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:05.837] } [17:28:05.837] ...future.result <- base::tryCatch({ [17:28:05.837] base::withCallingHandlers({ [17:28:05.837] ...future.value <- base::withVisible(base::local({ [17:28:05.837] b <- a * ii [17:28:05.837] a <- 0 [17:28:05.837] b [17:28:05.837] })) [17:28:05.837] future::FutureResult(value = ...future.value$value, [17:28:05.837] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.837] ...future.rng), globalenv = if (FALSE) [17:28:05.837] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:05.837] ...future.globalenv.names)) [17:28:05.837] else NULL, started = ...future.startTime, version = "1.8") [17:28:05.837] }, condition = base::local({ [17:28:05.837] c <- base::c [17:28:05.837] inherits <- base::inherits [17:28:05.837] invokeRestart <- base::invokeRestart [17:28:05.837] length <- base::length [17:28:05.837] list <- base::list [17:28:05.837] seq.int <- base::seq.int [17:28:05.837] signalCondition <- base::signalCondition [17:28:05.837] sys.calls <- base::sys.calls [17:28:05.837] `[[` <- base::`[[` [17:28:05.837] `+` <- base::`+` [17:28:05.837] `<<-` <- base::`<<-` [17:28:05.837] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:05.837] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:05.837] 3L)] [17:28:05.837] } [17:28:05.837] function(cond) { [17:28:05.837] is_error <- inherits(cond, "error") [17:28:05.837] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:05.837] NULL) [17:28:05.837] if (is_error) { [17:28:05.837] sessionInformation <- function() { [17:28:05.837] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:05.837] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:05.837] search = base::search(), system = base::Sys.info()) [17:28:05.837] } [17:28:05.837] ...future.conditions[[length(...future.conditions) + [17:28:05.837] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:05.837] cond$call), session = sessionInformation(), [17:28:05.837] timestamp = base::Sys.time(), signaled = 0L) [17:28:05.837] signalCondition(cond) [17:28:05.837] } [17:28:05.837] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:05.837] "immediateCondition"))) { [17:28:05.837] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:05.837] ...future.conditions[[length(...future.conditions) + [17:28:05.837] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:05.837] if (TRUE && !signal) { [17:28:05.837] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.837] { [17:28:05.837] inherits <- base::inherits [17:28:05.837] invokeRestart <- base::invokeRestart [17:28:05.837] is.null <- base::is.null [17:28:05.837] muffled <- FALSE [17:28:05.837] if (inherits(cond, "message")) { [17:28:05.837] muffled <- grepl(pattern, "muffleMessage") [17:28:05.837] if (muffled) [17:28:05.837] invokeRestart("muffleMessage") [17:28:05.837] } [17:28:05.837] else if (inherits(cond, "warning")) { [17:28:05.837] muffled <- grepl(pattern, "muffleWarning") [17:28:05.837] if (muffled) [17:28:05.837] invokeRestart("muffleWarning") [17:28:05.837] } [17:28:05.837] else if (inherits(cond, "condition")) { [17:28:05.837] if (!is.null(pattern)) { [17:28:05.837] computeRestarts <- base::computeRestarts [17:28:05.837] grepl <- base::grepl [17:28:05.837] restarts <- computeRestarts(cond) [17:28:05.837] for (restart in restarts) { [17:28:05.837] name <- restart$name [17:28:05.837] if (is.null(name)) [17:28:05.837] next [17:28:05.837] if (!grepl(pattern, name)) [17:28:05.837] next [17:28:05.837] invokeRestart(restart) [17:28:05.837] muffled <- TRUE [17:28:05.837] break [17:28:05.837] } [17:28:05.837] } [17:28:05.837] } [17:28:05.837] invisible(muffled) [17:28:05.837] } [17:28:05.837] muffleCondition(cond, pattern = "^muffle") [17:28:05.837] } [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] if (TRUE) { [17:28:05.837] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.837] { [17:28:05.837] inherits <- base::inherits [17:28:05.837] invokeRestart <- base::invokeRestart [17:28:05.837] is.null <- base::is.null [17:28:05.837] muffled <- FALSE [17:28:05.837] if (inherits(cond, "message")) { [17:28:05.837] muffled <- grepl(pattern, "muffleMessage") [17:28:05.837] if (muffled) [17:28:05.837] invokeRestart("muffleMessage") [17:28:05.837] } [17:28:05.837] else if (inherits(cond, "warning")) { [17:28:05.837] muffled <- grepl(pattern, "muffleWarning") [17:28:05.837] if (muffled) [17:28:05.837] invokeRestart("muffleWarning") [17:28:05.837] } [17:28:05.837] else if (inherits(cond, "condition")) { [17:28:05.837] if (!is.null(pattern)) { [17:28:05.837] computeRestarts <- base::computeRestarts [17:28:05.837] grepl <- base::grepl [17:28:05.837] restarts <- computeRestarts(cond) [17:28:05.837] for (restart in restarts) { [17:28:05.837] name <- restart$name [17:28:05.837] if (is.null(name)) [17:28:05.837] next [17:28:05.837] if (!grepl(pattern, name)) [17:28:05.837] next [17:28:05.837] invokeRestart(restart) [17:28:05.837] muffled <- TRUE [17:28:05.837] break [17:28:05.837] } [17:28:05.837] } [17:28:05.837] } [17:28:05.837] invisible(muffled) [17:28:05.837] } [17:28:05.837] muffleCondition(cond, pattern = "^muffle") [17:28:05.837] } [17:28:05.837] } [17:28:05.837] } [17:28:05.837] })) [17:28:05.837] }, error = function(ex) { [17:28:05.837] base::structure(base::list(value = NULL, visible = NULL, [17:28:05.837] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.837] ...future.rng), started = ...future.startTime, [17:28:05.837] finished = Sys.time(), session_uuid = NA_character_, [17:28:05.837] version = "1.8"), class = "FutureResult") [17:28:05.837] }, finally = { [17:28:05.837] if (!identical(...future.workdir, getwd())) [17:28:05.837] setwd(...future.workdir) [17:28:05.837] { [17:28:05.837] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:05.837] ...future.oldOptions$nwarnings <- NULL [17:28:05.837] } [17:28:05.837] base::options(...future.oldOptions) [17:28:05.837] if (.Platform$OS.type == "windows") { [17:28:05.837] old_names <- names(...future.oldEnvVars) [17:28:05.837] envs <- base::Sys.getenv() [17:28:05.837] names <- names(envs) [17:28:05.837] common <- intersect(names, old_names) [17:28:05.837] added <- setdiff(names, old_names) [17:28:05.837] removed <- setdiff(old_names, names) [17:28:05.837] changed <- common[...future.oldEnvVars[common] != [17:28:05.837] envs[common]] [17:28:05.837] NAMES <- toupper(changed) [17:28:05.837] args <- list() [17:28:05.837] for (kk in seq_along(NAMES)) { [17:28:05.837] name <- changed[[kk]] [17:28:05.837] NAME <- NAMES[[kk]] [17:28:05.837] if (name != NAME && is.element(NAME, old_names)) [17:28:05.837] next [17:28:05.837] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.837] } [17:28:05.837] NAMES <- toupper(added) [17:28:05.837] for (kk in seq_along(NAMES)) { [17:28:05.837] name <- added[[kk]] [17:28:05.837] NAME <- NAMES[[kk]] [17:28:05.837] if (name != NAME && is.element(NAME, old_names)) [17:28:05.837] next [17:28:05.837] args[[name]] <- "" [17:28:05.837] } [17:28:05.837] NAMES <- toupper(removed) [17:28:05.837] for (kk in seq_along(NAMES)) { [17:28:05.837] name <- removed[[kk]] [17:28:05.837] NAME <- NAMES[[kk]] [17:28:05.837] if (name != NAME && is.element(NAME, old_names)) [17:28:05.837] next [17:28:05.837] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.837] } [17:28:05.837] if (length(args) > 0) [17:28:05.837] base::do.call(base::Sys.setenv, args = args) [17:28:05.837] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:05.837] } [17:28:05.837] { [17:28:05.837] if (base::length(...future.futureOptionsAdded) > [17:28:05.837] 0L) { [17:28:05.837] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:05.837] base::names(opts) <- ...future.futureOptionsAdded [17:28:05.837] base::options(opts) [17:28:05.837] } [17:28:05.837] { [17:28:05.837] { [17:28:05.837] NULL [17:28:05.837] RNGkind("Mersenne-Twister") [17:28:05.837] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:05.837] inherits = FALSE) [17:28:05.837] } [17:28:05.837] options(future.plan = NULL) [17:28:05.837] if (is.na(NA_character_)) [17:28:05.837] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.837] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:05.837] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:05.837] .init = FALSE) [17:28:05.837] } [17:28:05.837] } [17:28:05.837] } [17:28:05.837] }) [17:28:05.837] if (TRUE) { [17:28:05.837] base::sink(type = "output", split = FALSE) [17:28:05.837] if (TRUE) { [17:28:05.837] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:05.837] } [17:28:05.837] else { [17:28:05.837] ...future.result["stdout"] <- base::list(NULL) [17:28:05.837] } [17:28:05.837] base::close(...future.stdout) [17:28:05.837] ...future.stdout <- NULL [17:28:05.837] } [17:28:05.837] ...future.result$conditions <- ...future.conditions [17:28:05.837] ...future.result$finished <- base::Sys.time() [17:28:05.837] ...future.result [17:28:05.837] } [17:28:05.847] assign_globals() ... [17:28:05.848] List of 1 [17:28:05.848] $ ii: int 2 [17:28:05.848] - attr(*, "where")=List of 1 [17:28:05.848] ..$ ii: [17:28:05.848] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:05.848] - attr(*, "resolved")= logi TRUE [17:28:05.848] - attr(*, "total_size")= int 35 [17:28:05.848] - attr(*, "already-done")= logi TRUE [17:28:05.853] - copied 'ii' to environment [17:28:05.854] assign_globals() ... done [17:28:05.854] plan(): Setting new future strategy stack: [17:28:05.855] List of future strategies: [17:28:05.855] 1. sequential: [17:28:05.855] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.855] - tweaked: FALSE [17:28:05.855] - call: NULL [17:28:05.856] plan(): nbrOfWorkers() = 1 [17:28:05.858] plan(): Setting new future strategy stack: [17:28:05.859] List of future strategies: [17:28:05.859] 1. sequential: [17:28:05.859] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.859] - tweaked: FALSE [17:28:05.859] - call: plan(strategy) [17:28:05.860] plan(): nbrOfWorkers() = 1 [17:28:05.860] SequentialFuture started (and completed) [17:28:05.861] - Launch lazy future ... done [17:28:05.861] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.862] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.863] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.866] - globals found: [4] '{', '<-', '*', 'ii' [17:28:05.867] Searching for globals ... DONE [17:28:05.867] Resolving globals: TRUE [17:28:05.867] Resolving any globals that are futures ... [17:28:05.867] - globals: [4] '{', '<-', '*', 'ii' [17:28:05.868] Resolving any globals that are futures ... DONE [17:28:05.869] Resolving futures part of globals (recursively) ... [17:28:05.869] resolve() on list ... [17:28:05.870] recursive: 99 [17:28:05.870] length: 1 [17:28:05.870] elements: 'ii' [17:28:05.871] length: 0 (resolved future 1) [17:28:05.871] resolve() on list ... DONE [17:28:05.871] - globals: [1] 'ii' [17:28:05.871] Resolving futures part of globals (recursively) ... DONE [17:28:05.872] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:05.873] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:05.873] - globals: [1] 'ii' [17:28:05.873] [17:28:05.874] getGlobalsAndPackages() ... DONE [17:28:05.874] run() for 'Future' ... [17:28:05.875] - state: 'created' [17:28:05.875] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:05.876] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:05.876] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:05.877] - Field: 'label' [17:28:05.877] - Field: 'local' [17:28:05.877] - Field: 'owner' [17:28:05.878] - Field: 'envir' [17:28:05.878] - Field: 'packages' [17:28:05.878] - Field: 'gc' [17:28:05.879] - Field: 'conditions' [17:28:05.879] - Field: 'expr' [17:28:05.879] - Field: 'uuid' [17:28:05.880] - Field: 'seed' [17:28:05.880] - Field: 'version' [17:28:05.880] - Field: 'result' [17:28:05.881] - Field: 'asynchronous' [17:28:05.881] - Field: 'calls' [17:28:05.881] - Field: 'globals' [17:28:05.882] - Field: 'stdout' [17:28:05.882] - Field: 'earlySignal' [17:28:05.882] - Field: 'lazy' [17:28:05.883] - Field: 'state' [17:28:05.883] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:05.883] - Launch lazy future ... [17:28:05.884] Packages needed by the future expression (n = 0): [17:28:05.884] Packages needed by future strategies (n = 0): [17:28:05.885] { [17:28:05.885] { [17:28:05.885] { [17:28:05.885] ...future.startTime <- base::Sys.time() [17:28:05.885] { [17:28:05.885] { [17:28:05.885] { [17:28:05.885] base::local({ [17:28:05.885] has_future <- base::requireNamespace("future", [17:28:05.885] quietly = TRUE) [17:28:05.885] if (has_future) { [17:28:05.885] ns <- base::getNamespace("future") [17:28:05.885] version <- ns[[".package"]][["version"]] [17:28:05.885] if (is.null(version)) [17:28:05.885] version <- utils::packageVersion("future") [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] version <- NULL [17:28:05.885] } [17:28:05.885] if (!has_future || version < "1.8.0") { [17:28:05.885] info <- base::c(r_version = base::gsub("R version ", [17:28:05.885] "", base::R.version$version.string), [17:28:05.885] platform = base::sprintf("%s (%s-bit)", [17:28:05.885] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:05.885] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:05.885] "release", "version")], collapse = " "), [17:28:05.885] hostname = base::Sys.info()[["nodename"]]) [17:28:05.885] info <- base::sprintf("%s: %s", base::names(info), [17:28:05.885] info) [17:28:05.885] info <- base::paste(info, collapse = "; ") [17:28:05.885] if (!has_future) { [17:28:05.885] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:05.885] info) [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:05.885] info, version) [17:28:05.885] } [17:28:05.885] base::stop(msg) [17:28:05.885] } [17:28:05.885] }) [17:28:05.885] } [17:28:05.885] ...future.strategy.old <- future::plan("list") [17:28:05.885] options(future.plan = NULL) [17:28:05.885] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.885] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:05.885] } [17:28:05.885] ...future.workdir <- getwd() [17:28:05.885] } [17:28:05.885] ...future.oldOptions <- base::as.list(base::.Options) [17:28:05.885] ...future.oldEnvVars <- base::Sys.getenv() [17:28:05.885] } [17:28:05.885] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:05.885] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:05.885] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:05.885] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:05.885] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:05.885] future.stdout.windows.reencode = NULL, width = 80L) [17:28:05.885] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:05.885] base::names(...future.oldOptions)) [17:28:05.885] } [17:28:05.885] if (FALSE) { [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] if (TRUE) { [17:28:05.885] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:05.885] open = "w") [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:05.885] windows = "NUL", "/dev/null"), open = "w") [17:28:05.885] } [17:28:05.885] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:05.885] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:05.885] base::sink(type = "output", split = FALSE) [17:28:05.885] base::close(...future.stdout) [17:28:05.885] }, add = TRUE) [17:28:05.885] } [17:28:05.885] ...future.frame <- base::sys.nframe() [17:28:05.885] ...future.conditions <- base::list() [17:28:05.885] ...future.rng <- base::globalenv()$.Random.seed [17:28:05.885] if (FALSE) { [17:28:05.885] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:05.885] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:05.885] } [17:28:05.885] ...future.result <- base::tryCatch({ [17:28:05.885] base::withCallingHandlers({ [17:28:05.885] ...future.value <- base::withVisible(base::local({ [17:28:05.885] b <- a * ii [17:28:05.885] a <- 0 [17:28:05.885] b [17:28:05.885] })) [17:28:05.885] future::FutureResult(value = ...future.value$value, [17:28:05.885] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.885] ...future.rng), globalenv = if (FALSE) [17:28:05.885] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:05.885] ...future.globalenv.names)) [17:28:05.885] else NULL, started = ...future.startTime, version = "1.8") [17:28:05.885] }, condition = base::local({ [17:28:05.885] c <- base::c [17:28:05.885] inherits <- base::inherits [17:28:05.885] invokeRestart <- base::invokeRestart [17:28:05.885] length <- base::length [17:28:05.885] list <- base::list [17:28:05.885] seq.int <- base::seq.int [17:28:05.885] signalCondition <- base::signalCondition [17:28:05.885] sys.calls <- base::sys.calls [17:28:05.885] `[[` <- base::`[[` [17:28:05.885] `+` <- base::`+` [17:28:05.885] `<<-` <- base::`<<-` [17:28:05.885] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:05.885] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:05.885] 3L)] [17:28:05.885] } [17:28:05.885] function(cond) { [17:28:05.885] is_error <- inherits(cond, "error") [17:28:05.885] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:05.885] NULL) [17:28:05.885] if (is_error) { [17:28:05.885] sessionInformation <- function() { [17:28:05.885] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:05.885] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:05.885] search = base::search(), system = base::Sys.info()) [17:28:05.885] } [17:28:05.885] ...future.conditions[[length(...future.conditions) + [17:28:05.885] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:05.885] cond$call), session = sessionInformation(), [17:28:05.885] timestamp = base::Sys.time(), signaled = 0L) [17:28:05.885] signalCondition(cond) [17:28:05.885] } [17:28:05.885] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:05.885] "immediateCondition"))) { [17:28:05.885] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:05.885] ...future.conditions[[length(...future.conditions) + [17:28:05.885] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:05.885] if (TRUE && !signal) { [17:28:05.885] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.885] { [17:28:05.885] inherits <- base::inherits [17:28:05.885] invokeRestart <- base::invokeRestart [17:28:05.885] is.null <- base::is.null [17:28:05.885] muffled <- FALSE [17:28:05.885] if (inherits(cond, "message")) { [17:28:05.885] muffled <- grepl(pattern, "muffleMessage") [17:28:05.885] if (muffled) [17:28:05.885] invokeRestart("muffleMessage") [17:28:05.885] } [17:28:05.885] else if (inherits(cond, "warning")) { [17:28:05.885] muffled <- grepl(pattern, "muffleWarning") [17:28:05.885] if (muffled) [17:28:05.885] invokeRestart("muffleWarning") [17:28:05.885] } [17:28:05.885] else if (inherits(cond, "condition")) { [17:28:05.885] if (!is.null(pattern)) { [17:28:05.885] computeRestarts <- base::computeRestarts [17:28:05.885] grepl <- base::grepl [17:28:05.885] restarts <- computeRestarts(cond) [17:28:05.885] for (restart in restarts) { [17:28:05.885] name <- restart$name [17:28:05.885] if (is.null(name)) [17:28:05.885] next [17:28:05.885] if (!grepl(pattern, name)) [17:28:05.885] next [17:28:05.885] invokeRestart(restart) [17:28:05.885] muffled <- TRUE [17:28:05.885] break [17:28:05.885] } [17:28:05.885] } [17:28:05.885] } [17:28:05.885] invisible(muffled) [17:28:05.885] } [17:28:05.885] muffleCondition(cond, pattern = "^muffle") [17:28:05.885] } [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] if (TRUE) { [17:28:05.885] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.885] { [17:28:05.885] inherits <- base::inherits [17:28:05.885] invokeRestart <- base::invokeRestart [17:28:05.885] is.null <- base::is.null [17:28:05.885] muffled <- FALSE [17:28:05.885] if (inherits(cond, "message")) { [17:28:05.885] muffled <- grepl(pattern, "muffleMessage") [17:28:05.885] if (muffled) [17:28:05.885] invokeRestart("muffleMessage") [17:28:05.885] } [17:28:05.885] else if (inherits(cond, "warning")) { [17:28:05.885] muffled <- grepl(pattern, "muffleWarning") [17:28:05.885] if (muffled) [17:28:05.885] invokeRestart("muffleWarning") [17:28:05.885] } [17:28:05.885] else if (inherits(cond, "condition")) { [17:28:05.885] if (!is.null(pattern)) { [17:28:05.885] computeRestarts <- base::computeRestarts [17:28:05.885] grepl <- base::grepl [17:28:05.885] restarts <- computeRestarts(cond) [17:28:05.885] for (restart in restarts) { [17:28:05.885] name <- restart$name [17:28:05.885] if (is.null(name)) [17:28:05.885] next [17:28:05.885] if (!grepl(pattern, name)) [17:28:05.885] next [17:28:05.885] invokeRestart(restart) [17:28:05.885] muffled <- TRUE [17:28:05.885] break [17:28:05.885] } [17:28:05.885] } [17:28:05.885] } [17:28:05.885] invisible(muffled) [17:28:05.885] } [17:28:05.885] muffleCondition(cond, pattern = "^muffle") [17:28:05.885] } [17:28:05.885] } [17:28:05.885] } [17:28:05.885] })) [17:28:05.885] }, error = function(ex) { [17:28:05.885] base::structure(base::list(value = NULL, visible = NULL, [17:28:05.885] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.885] ...future.rng), started = ...future.startTime, [17:28:05.885] finished = Sys.time(), session_uuid = NA_character_, [17:28:05.885] version = "1.8"), class = "FutureResult") [17:28:05.885] }, finally = { [17:28:05.885] if (!identical(...future.workdir, getwd())) [17:28:05.885] setwd(...future.workdir) [17:28:05.885] { [17:28:05.885] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:05.885] ...future.oldOptions$nwarnings <- NULL [17:28:05.885] } [17:28:05.885] base::options(...future.oldOptions) [17:28:05.885] if (.Platform$OS.type == "windows") { [17:28:05.885] old_names <- names(...future.oldEnvVars) [17:28:05.885] envs <- base::Sys.getenv() [17:28:05.885] names <- names(envs) [17:28:05.885] common <- intersect(names, old_names) [17:28:05.885] added <- setdiff(names, old_names) [17:28:05.885] removed <- setdiff(old_names, names) [17:28:05.885] changed <- common[...future.oldEnvVars[common] != [17:28:05.885] envs[common]] [17:28:05.885] NAMES <- toupper(changed) [17:28:05.885] args <- list() [17:28:05.885] for (kk in seq_along(NAMES)) { [17:28:05.885] name <- changed[[kk]] [17:28:05.885] NAME <- NAMES[[kk]] [17:28:05.885] if (name != NAME && is.element(NAME, old_names)) [17:28:05.885] next [17:28:05.885] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.885] } [17:28:05.885] NAMES <- toupper(added) [17:28:05.885] for (kk in seq_along(NAMES)) { [17:28:05.885] name <- added[[kk]] [17:28:05.885] NAME <- NAMES[[kk]] [17:28:05.885] if (name != NAME && is.element(NAME, old_names)) [17:28:05.885] next [17:28:05.885] args[[name]] <- "" [17:28:05.885] } [17:28:05.885] NAMES <- toupper(removed) [17:28:05.885] for (kk in seq_along(NAMES)) { [17:28:05.885] name <- removed[[kk]] [17:28:05.885] NAME <- NAMES[[kk]] [17:28:05.885] if (name != NAME && is.element(NAME, old_names)) [17:28:05.885] next [17:28:05.885] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.885] } [17:28:05.885] if (length(args) > 0) [17:28:05.885] base::do.call(base::Sys.setenv, args = args) [17:28:05.885] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:05.885] } [17:28:05.885] { [17:28:05.885] if (base::length(...future.futureOptionsAdded) > [17:28:05.885] 0L) { [17:28:05.885] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:05.885] base::names(opts) <- ...future.futureOptionsAdded [17:28:05.885] base::options(opts) [17:28:05.885] } [17:28:05.885] { [17:28:05.885] { [17:28:05.885] NULL [17:28:05.885] RNGkind("Mersenne-Twister") [17:28:05.885] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:05.885] inherits = FALSE) [17:28:05.885] } [17:28:05.885] options(future.plan = NULL) [17:28:05.885] if (is.na(NA_character_)) [17:28:05.885] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.885] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:05.885] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:05.885] .init = FALSE) [17:28:05.885] } [17:28:05.885] } [17:28:05.885] } [17:28:05.885] }) [17:28:05.885] if (TRUE) { [17:28:05.885] base::sink(type = "output", split = FALSE) [17:28:05.885] if (TRUE) { [17:28:05.885] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:05.885] } [17:28:05.885] else { [17:28:05.885] ...future.result["stdout"] <- base::list(NULL) [17:28:05.885] } [17:28:05.885] base::close(...future.stdout) [17:28:05.885] ...future.stdout <- NULL [17:28:05.885] } [17:28:05.885] ...future.result$conditions <- ...future.conditions [17:28:05.885] ...future.result$finished <- base::Sys.time() [17:28:05.885] ...future.result [17:28:05.885] } [17:28:05.892] assign_globals() ... [17:28:05.892] List of 1 [17:28:05.892] $ ii: int 3 [17:28:05.892] - attr(*, "where")=List of 1 [17:28:05.892] ..$ ii: [17:28:05.892] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:05.892] - attr(*, "resolved")= logi TRUE [17:28:05.892] - attr(*, "total_size")= int 35 [17:28:05.892] - attr(*, "already-done")= logi TRUE [17:28:05.898] - copied 'ii' to environment [17:28:05.898] assign_globals() ... done [17:28:05.899] plan(): Setting new future strategy stack: [17:28:05.900] List of future strategies: [17:28:05.900] 1. sequential: [17:28:05.900] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.900] - tweaked: FALSE [17:28:05.900] - call: NULL [17:28:05.901] plan(): nbrOfWorkers() = 1 [17:28:05.907] plan(): Setting new future strategy stack: [17:28:05.907] List of future strategies: [17:28:05.907] 1. sequential: [17:28:05.907] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.907] - tweaked: FALSE [17:28:05.907] - call: plan(strategy) [17:28:05.909] plan(): nbrOfWorkers() = 1 [17:28:05.909] SequentialFuture started (and completed) [17:28:05.909] - Launch lazy future ... done [17:28:05.910] run() for 'SequentialFuture' ... done [1] 1 2 3 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.912] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.913] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.916] - globals found: [4] '{', '<-', '*', 'ii' [17:28:05.916] Searching for globals ... DONE [17:28:05.917] Resolving globals: TRUE [17:28:05.917] Resolving any globals that are futures ... [17:28:05.917] - globals: [4] '{', '<-', '*', 'ii' [17:28:05.918] Resolving any globals that are futures ... DONE [17:28:05.919] Resolving futures part of globals (recursively) ... [17:28:05.919] resolve() on list ... [17:28:05.920] recursive: 99 [17:28:05.920] length: 1 [17:28:05.920] elements: 'ii' [17:28:05.921] length: 0 (resolved future 1) [17:28:05.921] resolve() on list ... DONE [17:28:05.921] - globals: [1] 'ii' [17:28:05.921] Resolving futures part of globals (recursively) ... DONE [17:28:05.922] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:05.923] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:05.923] - globals: [1] 'ii' [17:28:05.923] [17:28:05.924] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.925] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.926] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.929] - globals found: [4] '{', '<-', '*', 'ii' [17:28:05.930] Searching for globals ... DONE [17:28:05.930] Resolving globals: TRUE [17:28:05.930] Resolving any globals that are futures ... [17:28:05.931] - globals: [4] '{', '<-', '*', 'ii' [17:28:05.931] Resolving any globals that are futures ... DONE [17:28:05.932] Resolving futures part of globals (recursively) ... [17:28:05.932] resolve() on list ... [17:28:05.933] recursive: 99 [17:28:05.933] length: 1 [17:28:05.933] elements: 'ii' [17:28:05.934] length: 0 (resolved future 1) [17:28:05.934] resolve() on list ... DONE [17:28:05.934] - globals: [1] 'ii' [17:28:05.935] Resolving futures part of globals (recursively) ... DONE [17:28:05.935] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:05.936] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:05.936] - globals: [1] 'ii' [17:28:05.936] [17:28:05.937] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:05.938] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:05.939] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:05.943] - globals found: [4] '{', '<-', '*', 'ii' [17:28:05.943] Searching for globals ... DONE [17:28:05.943] Resolving globals: TRUE [17:28:05.944] Resolving any globals that are futures ... [17:28:05.944] - globals: [4] '{', '<-', '*', 'ii' [17:28:05.945] Resolving any globals that are futures ... DONE [17:28:05.946] Resolving futures part of globals (recursively) ... [17:28:05.946] resolve() on list ... [17:28:05.947] recursive: 99 [17:28:05.947] length: 1 [17:28:05.947] elements: 'ii' [17:28:05.948] length: 0 (resolved future 1) [17:28:05.948] resolve() on list ... DONE [17:28:05.949] - globals: [1] 'ii' [17:28:05.949] Resolving futures part of globals (recursively) ... DONE [17:28:05.949] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:05.950] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:05.951] - globals: [1] 'ii' [17:28:05.951] [17:28:05.952] getGlobalsAndPackages() ... DONE [17:28:05.953] run() for 'Future' ... [17:28:05.953] - state: 'created' [17:28:05.954] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:05.954] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:05.955] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:05.955] - Field: 'label' [17:28:05.956] - Field: 'local' [17:28:05.956] - Field: 'owner' [17:28:05.957] - Field: 'envir' [17:28:05.957] - Field: 'packages' [17:28:05.962] - Field: 'gc' [17:28:05.962] - Field: 'conditions' [17:28:05.962] - Field: 'expr' [17:28:05.963] - Field: 'uuid' [17:28:05.963] - Field: 'seed' [17:28:05.964] - Field: 'version' [17:28:05.964] - Field: 'result' [17:28:05.964] - Field: 'asynchronous' [17:28:05.965] - Field: 'calls' [17:28:05.965] - Field: 'globals' [17:28:05.966] - Field: 'stdout' [17:28:05.966] - Field: 'earlySignal' [17:28:05.966] - Field: 'lazy' [17:28:05.967] - Field: 'state' [17:28:05.967] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:05.968] - Launch lazy future ... [17:28:05.968] Packages needed by the future expression (n = 0): [17:28:05.969] Packages needed by future strategies (n = 0): [17:28:05.970] { [17:28:05.970] { [17:28:05.970] { [17:28:05.970] ...future.startTime <- base::Sys.time() [17:28:05.970] { [17:28:05.970] { [17:28:05.970] { [17:28:05.970] base::local({ [17:28:05.970] has_future <- base::requireNamespace("future", [17:28:05.970] quietly = TRUE) [17:28:05.970] if (has_future) { [17:28:05.970] ns <- base::getNamespace("future") [17:28:05.970] version <- ns[[".package"]][["version"]] [17:28:05.970] if (is.null(version)) [17:28:05.970] version <- utils::packageVersion("future") [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] version <- NULL [17:28:05.970] } [17:28:05.970] if (!has_future || version < "1.8.0") { [17:28:05.970] info <- base::c(r_version = base::gsub("R version ", [17:28:05.970] "", base::R.version$version.string), [17:28:05.970] platform = base::sprintf("%s (%s-bit)", [17:28:05.970] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:05.970] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:05.970] "release", "version")], collapse = " "), [17:28:05.970] hostname = base::Sys.info()[["nodename"]]) [17:28:05.970] info <- base::sprintf("%s: %s", base::names(info), [17:28:05.970] info) [17:28:05.970] info <- base::paste(info, collapse = "; ") [17:28:05.970] if (!has_future) { [17:28:05.970] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:05.970] info) [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:05.970] info, version) [17:28:05.970] } [17:28:05.970] base::stop(msg) [17:28:05.970] } [17:28:05.970] }) [17:28:05.970] } [17:28:05.970] ...future.strategy.old <- future::plan("list") [17:28:05.970] options(future.plan = NULL) [17:28:05.970] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.970] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:05.970] } [17:28:05.970] ...future.workdir <- getwd() [17:28:05.970] } [17:28:05.970] ...future.oldOptions <- base::as.list(base::.Options) [17:28:05.970] ...future.oldEnvVars <- base::Sys.getenv() [17:28:05.970] } [17:28:05.970] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:05.970] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:05.970] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:05.970] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:05.970] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:05.970] future.stdout.windows.reencode = NULL, width = 80L) [17:28:05.970] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:05.970] base::names(...future.oldOptions)) [17:28:05.970] } [17:28:05.970] if (FALSE) { [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] if (TRUE) { [17:28:05.970] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:05.970] open = "w") [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:05.970] windows = "NUL", "/dev/null"), open = "w") [17:28:05.970] } [17:28:05.970] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:05.970] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:05.970] base::sink(type = "output", split = FALSE) [17:28:05.970] base::close(...future.stdout) [17:28:05.970] }, add = TRUE) [17:28:05.970] } [17:28:05.970] ...future.frame <- base::sys.nframe() [17:28:05.970] ...future.conditions <- base::list() [17:28:05.970] ...future.rng <- base::globalenv()$.Random.seed [17:28:05.970] if (FALSE) { [17:28:05.970] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:05.970] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:05.970] } [17:28:05.970] ...future.result <- base::tryCatch({ [17:28:05.970] base::withCallingHandlers({ [17:28:05.970] ...future.value <- base::withVisible(base::local({ [17:28:05.970] b <- a * ii [17:28:05.970] a <- 0 [17:28:05.970] b [17:28:05.970] })) [17:28:05.970] future::FutureResult(value = ...future.value$value, [17:28:05.970] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.970] ...future.rng), globalenv = if (FALSE) [17:28:05.970] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:05.970] ...future.globalenv.names)) [17:28:05.970] else NULL, started = ...future.startTime, version = "1.8") [17:28:05.970] }, condition = base::local({ [17:28:05.970] c <- base::c [17:28:05.970] inherits <- base::inherits [17:28:05.970] invokeRestart <- base::invokeRestart [17:28:05.970] length <- base::length [17:28:05.970] list <- base::list [17:28:05.970] seq.int <- base::seq.int [17:28:05.970] signalCondition <- base::signalCondition [17:28:05.970] sys.calls <- base::sys.calls [17:28:05.970] `[[` <- base::`[[` [17:28:05.970] `+` <- base::`+` [17:28:05.970] `<<-` <- base::`<<-` [17:28:05.970] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:05.970] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:05.970] 3L)] [17:28:05.970] } [17:28:05.970] function(cond) { [17:28:05.970] is_error <- inherits(cond, "error") [17:28:05.970] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:05.970] NULL) [17:28:05.970] if (is_error) { [17:28:05.970] sessionInformation <- function() { [17:28:05.970] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:05.970] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:05.970] search = base::search(), system = base::Sys.info()) [17:28:05.970] } [17:28:05.970] ...future.conditions[[length(...future.conditions) + [17:28:05.970] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:05.970] cond$call), session = sessionInformation(), [17:28:05.970] timestamp = base::Sys.time(), signaled = 0L) [17:28:05.970] signalCondition(cond) [17:28:05.970] } [17:28:05.970] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:05.970] "immediateCondition"))) { [17:28:05.970] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:05.970] ...future.conditions[[length(...future.conditions) + [17:28:05.970] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:05.970] if (TRUE && !signal) { [17:28:05.970] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.970] { [17:28:05.970] inherits <- base::inherits [17:28:05.970] invokeRestart <- base::invokeRestart [17:28:05.970] is.null <- base::is.null [17:28:05.970] muffled <- FALSE [17:28:05.970] if (inherits(cond, "message")) { [17:28:05.970] muffled <- grepl(pattern, "muffleMessage") [17:28:05.970] if (muffled) [17:28:05.970] invokeRestart("muffleMessage") [17:28:05.970] } [17:28:05.970] else if (inherits(cond, "warning")) { [17:28:05.970] muffled <- grepl(pattern, "muffleWarning") [17:28:05.970] if (muffled) [17:28:05.970] invokeRestart("muffleWarning") [17:28:05.970] } [17:28:05.970] else if (inherits(cond, "condition")) { [17:28:05.970] if (!is.null(pattern)) { [17:28:05.970] computeRestarts <- base::computeRestarts [17:28:05.970] grepl <- base::grepl [17:28:05.970] restarts <- computeRestarts(cond) [17:28:05.970] for (restart in restarts) { [17:28:05.970] name <- restart$name [17:28:05.970] if (is.null(name)) [17:28:05.970] next [17:28:05.970] if (!grepl(pattern, name)) [17:28:05.970] next [17:28:05.970] invokeRestart(restart) [17:28:05.970] muffled <- TRUE [17:28:05.970] break [17:28:05.970] } [17:28:05.970] } [17:28:05.970] } [17:28:05.970] invisible(muffled) [17:28:05.970] } [17:28:05.970] muffleCondition(cond, pattern = "^muffle") [17:28:05.970] } [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] if (TRUE) { [17:28:05.970] muffleCondition <- function (cond, pattern = "^muffle") [17:28:05.970] { [17:28:05.970] inherits <- base::inherits [17:28:05.970] invokeRestart <- base::invokeRestart [17:28:05.970] is.null <- base::is.null [17:28:05.970] muffled <- FALSE [17:28:05.970] if (inherits(cond, "message")) { [17:28:05.970] muffled <- grepl(pattern, "muffleMessage") [17:28:05.970] if (muffled) [17:28:05.970] invokeRestart("muffleMessage") [17:28:05.970] } [17:28:05.970] else if (inherits(cond, "warning")) { [17:28:05.970] muffled <- grepl(pattern, "muffleWarning") [17:28:05.970] if (muffled) [17:28:05.970] invokeRestart("muffleWarning") [17:28:05.970] } [17:28:05.970] else if (inherits(cond, "condition")) { [17:28:05.970] if (!is.null(pattern)) { [17:28:05.970] computeRestarts <- base::computeRestarts [17:28:05.970] grepl <- base::grepl [17:28:05.970] restarts <- computeRestarts(cond) [17:28:05.970] for (restart in restarts) { [17:28:05.970] name <- restart$name [17:28:05.970] if (is.null(name)) [17:28:05.970] next [17:28:05.970] if (!grepl(pattern, name)) [17:28:05.970] next [17:28:05.970] invokeRestart(restart) [17:28:05.970] muffled <- TRUE [17:28:05.970] break [17:28:05.970] } [17:28:05.970] } [17:28:05.970] } [17:28:05.970] invisible(muffled) [17:28:05.970] } [17:28:05.970] muffleCondition(cond, pattern = "^muffle") [17:28:05.970] } [17:28:05.970] } [17:28:05.970] } [17:28:05.970] })) [17:28:05.970] }, error = function(ex) { [17:28:05.970] base::structure(base::list(value = NULL, visible = NULL, [17:28:05.970] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:05.970] ...future.rng), started = ...future.startTime, [17:28:05.970] finished = Sys.time(), session_uuid = NA_character_, [17:28:05.970] version = "1.8"), class = "FutureResult") [17:28:05.970] }, finally = { [17:28:05.970] if (!identical(...future.workdir, getwd())) [17:28:05.970] setwd(...future.workdir) [17:28:05.970] { [17:28:05.970] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:05.970] ...future.oldOptions$nwarnings <- NULL [17:28:05.970] } [17:28:05.970] base::options(...future.oldOptions) [17:28:05.970] if (.Platform$OS.type == "windows") { [17:28:05.970] old_names <- names(...future.oldEnvVars) [17:28:05.970] envs <- base::Sys.getenv() [17:28:05.970] names <- names(envs) [17:28:05.970] common <- intersect(names, old_names) [17:28:05.970] added <- setdiff(names, old_names) [17:28:05.970] removed <- setdiff(old_names, names) [17:28:05.970] changed <- common[...future.oldEnvVars[common] != [17:28:05.970] envs[common]] [17:28:05.970] NAMES <- toupper(changed) [17:28:05.970] args <- list() [17:28:05.970] for (kk in seq_along(NAMES)) { [17:28:05.970] name <- changed[[kk]] [17:28:05.970] NAME <- NAMES[[kk]] [17:28:05.970] if (name != NAME && is.element(NAME, old_names)) [17:28:05.970] next [17:28:05.970] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.970] } [17:28:05.970] NAMES <- toupper(added) [17:28:05.970] for (kk in seq_along(NAMES)) { [17:28:05.970] name <- added[[kk]] [17:28:05.970] NAME <- NAMES[[kk]] [17:28:05.970] if (name != NAME && is.element(NAME, old_names)) [17:28:05.970] next [17:28:05.970] args[[name]] <- "" [17:28:05.970] } [17:28:05.970] NAMES <- toupper(removed) [17:28:05.970] for (kk in seq_along(NAMES)) { [17:28:05.970] name <- removed[[kk]] [17:28:05.970] NAME <- NAMES[[kk]] [17:28:05.970] if (name != NAME && is.element(NAME, old_names)) [17:28:05.970] next [17:28:05.970] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:05.970] } [17:28:05.970] if (length(args) > 0) [17:28:05.970] base::do.call(base::Sys.setenv, args = args) [17:28:05.970] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:05.970] } [17:28:05.970] { [17:28:05.970] if (base::length(...future.futureOptionsAdded) > [17:28:05.970] 0L) { [17:28:05.970] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:05.970] base::names(opts) <- ...future.futureOptionsAdded [17:28:05.970] base::options(opts) [17:28:05.970] } [17:28:05.970] { [17:28:05.970] { [17:28:05.970] NULL [17:28:05.970] RNGkind("Mersenne-Twister") [17:28:05.970] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:05.970] inherits = FALSE) [17:28:05.970] } [17:28:05.970] options(future.plan = NULL) [17:28:05.970] if (is.na(NA_character_)) [17:28:05.970] Sys.unsetenv("R_FUTURE_PLAN") [17:28:05.970] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:05.970] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:05.970] .init = FALSE) [17:28:05.970] } [17:28:05.970] } [17:28:05.970] } [17:28:05.970] }) [17:28:05.970] if (TRUE) { [17:28:05.970] base::sink(type = "output", split = FALSE) [17:28:05.970] if (TRUE) { [17:28:05.970] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:05.970] } [17:28:05.970] else { [17:28:05.970] ...future.result["stdout"] <- base::list(NULL) [17:28:05.970] } [17:28:05.970] base::close(...future.stdout) [17:28:05.970] ...future.stdout <- NULL [17:28:05.970] } [17:28:05.970] ...future.result$conditions <- ...future.conditions [17:28:05.970] ...future.result$finished <- base::Sys.time() [17:28:05.970] ...future.result [17:28:05.970] } [17:28:05.978] assign_globals() ... [17:28:05.979] List of 1 [17:28:05.979] $ ii: int 1 [17:28:05.979] - attr(*, "where")=List of 1 [17:28:05.979] ..$ ii: [17:28:05.979] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:05.979] - attr(*, "resolved")= logi TRUE [17:28:05.979] - attr(*, "total_size")= int 35 [17:28:05.979] - attr(*, "already-done")= logi TRUE [17:28:05.985] - copied 'ii' to environment [17:28:05.986] assign_globals() ... done [17:28:05.987] plan(): Setting new future strategy stack: [17:28:05.987] List of future strategies: [17:28:05.987] 1. sequential: [17:28:05.987] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.987] - tweaked: FALSE [17:28:05.987] - call: NULL [17:28:05.988] plan(): nbrOfWorkers() = 1 [17:28:05.992] plan(): Setting new future strategy stack: [17:28:05.992] List of future strategies: [17:28:05.992] 1. sequential: [17:28:05.992] - args: function (..., envir = parent.frame(), workers = "") [17:28:05.992] - tweaked: FALSE [17:28:05.992] - call: plan(strategy) [17:28:05.993] plan(): nbrOfWorkers() = 1 [17:28:05.994] SequentialFuture started (and completed) [17:28:05.994] signalConditions() ... [17:28:05.995] - include = 'immediateCondition' [17:28:05.995] - exclude = [17:28:05.996] - resignal = FALSE [17:28:05.996] - Number of conditions: 1 [17:28:05.996] signalConditions() ... done [17:28:05.997] - Launch lazy future ... done [17:28:05.997] run() for 'SequentialFuture' ... done [17:28:05.998] signalConditions() ... [17:28:05.998] - include = 'immediateCondition' [17:28:05.998] - exclude = [17:28:05.999] - resignal = FALSE [17:28:05.999] - Number of conditions: 1 [17:28:06.000] signalConditions() ... done [17:28:06.000] Future state: 'finished' [17:28:06.001] signalConditions() ... [17:28:06.001] - include = 'condition' [17:28:06.001] - exclude = 'immediateCondition' [17:28:06.002] - resignal = TRUE [17:28:06.002] - Number of conditions: 1 [17:28:06.002] - Condition #1: 'simpleError', 'error', 'condition' [17:28:06.003] signalConditions() ... done List of 1 $ res: 'try-error' chr "Error in eval(quote({ : object 'a' not found\n" ..- attr(*, "condition")=List of 3 .. ..$ message : chr "object 'a' not found" .. ..$ call : language eval(quote({ b <- a * ii ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ b <- a * ii ... .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" .. .. ..$ calls :List of 11 .. .. .. ..$ : language res[[ii]] %<-% { b <- a * ii ... .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language res[[ii]] %<-% { b <- a * ii ... .. .. .. ..$ : language futureAssignInternal(target, expr, envir = envir, substitute = FALSE) .. .. .. ..$ : language futureAssign(name, expr, envir = envir, assign.env = assign.env, substitute = FALSE) .. .. .. ..$ : language do.call(future::future, args = future.args, envir = assign.env) .. .. .. ..$ : language (function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = FALSE, globals = TRUE, pack| __truncated__ ... .. .. .. ..$ : language Future(expr, substitute = FALSE, envir = envir, lazy = TRUE, seed = seed, globals = globals, packages = pack| __truncated__ ... .. .. .. ..$ : language eval(quote({ b <- a * ii ... .. .. .. ..$ : language eval(quote({ b <- a * ii ... .. .. ..$ session :List of 6 .. .. .. ..$ r :List of 15 .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" .. .. .. .. ..$ arch : chr "x86_64" .. .. .. .. ..$ os : chr "mingw32" .. .. .. .. ..$ crt : chr "ucrt" .. .. .. .. ..$ system : chr "x86_64, mingw32" .. .. .. .. ..$ status : chr "Under development (unstable)" .. .. .. .. ..$ major : chr "4" .. .. .. .. ..$ minor : chr "5.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "07" .. .. .. .. ..$ day : chr "28" .. .. .. .. ..$ svn rev : chr "86931" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-07-28 r86931 ucrt)" .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... .. .. .. ..$ search : chr [1:11] ".GlobalEnv" "package:listenv" "package:future" "package:stats" ... .. .. .. ..$ system : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. .. ..$ timestamp: POSIXct[1:1], format: "2024-07-29 17:28:05" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.047] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.048] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.050] [17:28:06.050] Searching for globals ... DONE [17:28:06.051] - globals: [0] [17:28:06.051] getGlobalsAndPackages() ... DONE [17:28:06.052] run() for 'Future' ... [17:28:06.052] - state: 'created' [17:28:06.052] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.053] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.054] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.054] - Field: 'label' [17:28:06.054] - Field: 'local' [17:28:06.055] - Field: 'owner' [17:28:06.055] - Field: 'envir' [17:28:06.055] - Field: 'packages' [17:28:06.056] - Field: 'gc' [17:28:06.056] - Field: 'conditions' [17:28:06.056] - Field: 'expr' [17:28:06.057] - Field: 'uuid' [17:28:06.057] - Field: 'seed' [17:28:06.057] - Field: 'version' [17:28:06.058] - Field: 'result' [17:28:06.058] - Field: 'asynchronous' [17:28:06.058] - Field: 'calls' [17:28:06.059] - Field: 'globals' [17:28:06.059] - Field: 'stdout' [17:28:06.059] - Field: 'earlySignal' [17:28:06.060] - Field: 'lazy' [17:28:06.060] - Field: 'state' [17:28:06.060] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.061] - Launch lazy future ... [17:28:06.061] Packages needed by the future expression (n = 0): [17:28:06.062] Packages needed by future strategies (n = 0): [17:28:06.063] { [17:28:06.063] { [17:28:06.063] { [17:28:06.063] ...future.startTime <- base::Sys.time() [17:28:06.063] { [17:28:06.063] { [17:28:06.063] { [17:28:06.063] base::local({ [17:28:06.063] has_future <- base::requireNamespace("future", [17:28:06.063] quietly = TRUE) [17:28:06.063] if (has_future) { [17:28:06.063] ns <- base::getNamespace("future") [17:28:06.063] version <- ns[[".package"]][["version"]] [17:28:06.063] if (is.null(version)) [17:28:06.063] version <- utils::packageVersion("future") [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] version <- NULL [17:28:06.063] } [17:28:06.063] if (!has_future || version < "1.8.0") { [17:28:06.063] info <- base::c(r_version = base::gsub("R version ", [17:28:06.063] "", base::R.version$version.string), [17:28:06.063] platform = base::sprintf("%s (%s-bit)", [17:28:06.063] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.063] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.063] "release", "version")], collapse = " "), [17:28:06.063] hostname = base::Sys.info()[["nodename"]]) [17:28:06.063] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.063] info) [17:28:06.063] info <- base::paste(info, collapse = "; ") [17:28:06.063] if (!has_future) { [17:28:06.063] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.063] info) [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.063] info, version) [17:28:06.063] } [17:28:06.063] base::stop(msg) [17:28:06.063] } [17:28:06.063] }) [17:28:06.063] } [17:28:06.063] ...future.strategy.old <- future::plan("list") [17:28:06.063] options(future.plan = NULL) [17:28:06.063] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.063] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.063] } [17:28:06.063] ...future.workdir <- getwd() [17:28:06.063] } [17:28:06.063] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.063] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.063] } [17:28:06.063] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.063] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.063] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.063] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.063] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.063] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.063] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.063] base::names(...future.oldOptions)) [17:28:06.063] } [17:28:06.063] if (FALSE) { [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] if (TRUE) { [17:28:06.063] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.063] open = "w") [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.063] windows = "NUL", "/dev/null"), open = "w") [17:28:06.063] } [17:28:06.063] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.063] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.063] base::sink(type = "output", split = FALSE) [17:28:06.063] base::close(...future.stdout) [17:28:06.063] }, add = TRUE) [17:28:06.063] } [17:28:06.063] ...future.frame <- base::sys.nframe() [17:28:06.063] ...future.conditions <- base::list() [17:28:06.063] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.063] if (FALSE) { [17:28:06.063] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.063] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.063] } [17:28:06.063] ...future.result <- base::tryCatch({ [17:28:06.063] base::withCallingHandlers({ [17:28:06.063] ...future.value <- base::withVisible(base::local(1)) [17:28:06.063] future::FutureResult(value = ...future.value$value, [17:28:06.063] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.063] ...future.rng), globalenv = if (FALSE) [17:28:06.063] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.063] ...future.globalenv.names)) [17:28:06.063] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.063] }, condition = base::local({ [17:28:06.063] c <- base::c [17:28:06.063] inherits <- base::inherits [17:28:06.063] invokeRestart <- base::invokeRestart [17:28:06.063] length <- base::length [17:28:06.063] list <- base::list [17:28:06.063] seq.int <- base::seq.int [17:28:06.063] signalCondition <- base::signalCondition [17:28:06.063] sys.calls <- base::sys.calls [17:28:06.063] `[[` <- base::`[[` [17:28:06.063] `+` <- base::`+` [17:28:06.063] `<<-` <- base::`<<-` [17:28:06.063] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.063] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.063] 3L)] [17:28:06.063] } [17:28:06.063] function(cond) { [17:28:06.063] is_error <- inherits(cond, "error") [17:28:06.063] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.063] NULL) [17:28:06.063] if (is_error) { [17:28:06.063] sessionInformation <- function() { [17:28:06.063] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.063] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.063] search = base::search(), system = base::Sys.info()) [17:28:06.063] } [17:28:06.063] ...future.conditions[[length(...future.conditions) + [17:28:06.063] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.063] cond$call), session = sessionInformation(), [17:28:06.063] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.063] signalCondition(cond) [17:28:06.063] } [17:28:06.063] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.063] "immediateCondition"))) { [17:28:06.063] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.063] ...future.conditions[[length(...future.conditions) + [17:28:06.063] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.063] if (TRUE && !signal) { [17:28:06.063] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.063] { [17:28:06.063] inherits <- base::inherits [17:28:06.063] invokeRestart <- base::invokeRestart [17:28:06.063] is.null <- base::is.null [17:28:06.063] muffled <- FALSE [17:28:06.063] if (inherits(cond, "message")) { [17:28:06.063] muffled <- grepl(pattern, "muffleMessage") [17:28:06.063] if (muffled) [17:28:06.063] invokeRestart("muffleMessage") [17:28:06.063] } [17:28:06.063] else if (inherits(cond, "warning")) { [17:28:06.063] muffled <- grepl(pattern, "muffleWarning") [17:28:06.063] if (muffled) [17:28:06.063] invokeRestart("muffleWarning") [17:28:06.063] } [17:28:06.063] else if (inherits(cond, "condition")) { [17:28:06.063] if (!is.null(pattern)) { [17:28:06.063] computeRestarts <- base::computeRestarts [17:28:06.063] grepl <- base::grepl [17:28:06.063] restarts <- computeRestarts(cond) [17:28:06.063] for (restart in restarts) { [17:28:06.063] name <- restart$name [17:28:06.063] if (is.null(name)) [17:28:06.063] next [17:28:06.063] if (!grepl(pattern, name)) [17:28:06.063] next [17:28:06.063] invokeRestart(restart) [17:28:06.063] muffled <- TRUE [17:28:06.063] break [17:28:06.063] } [17:28:06.063] } [17:28:06.063] } [17:28:06.063] invisible(muffled) [17:28:06.063] } [17:28:06.063] muffleCondition(cond, pattern = "^muffle") [17:28:06.063] } [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] if (TRUE) { [17:28:06.063] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.063] { [17:28:06.063] inherits <- base::inherits [17:28:06.063] invokeRestart <- base::invokeRestart [17:28:06.063] is.null <- base::is.null [17:28:06.063] muffled <- FALSE [17:28:06.063] if (inherits(cond, "message")) { [17:28:06.063] muffled <- grepl(pattern, "muffleMessage") [17:28:06.063] if (muffled) [17:28:06.063] invokeRestart("muffleMessage") [17:28:06.063] } [17:28:06.063] else if (inherits(cond, "warning")) { [17:28:06.063] muffled <- grepl(pattern, "muffleWarning") [17:28:06.063] if (muffled) [17:28:06.063] invokeRestart("muffleWarning") [17:28:06.063] } [17:28:06.063] else if (inherits(cond, "condition")) { [17:28:06.063] if (!is.null(pattern)) { [17:28:06.063] computeRestarts <- base::computeRestarts [17:28:06.063] grepl <- base::grepl [17:28:06.063] restarts <- computeRestarts(cond) [17:28:06.063] for (restart in restarts) { [17:28:06.063] name <- restart$name [17:28:06.063] if (is.null(name)) [17:28:06.063] next [17:28:06.063] if (!grepl(pattern, name)) [17:28:06.063] next [17:28:06.063] invokeRestart(restart) [17:28:06.063] muffled <- TRUE [17:28:06.063] break [17:28:06.063] } [17:28:06.063] } [17:28:06.063] } [17:28:06.063] invisible(muffled) [17:28:06.063] } [17:28:06.063] muffleCondition(cond, pattern = "^muffle") [17:28:06.063] } [17:28:06.063] } [17:28:06.063] } [17:28:06.063] })) [17:28:06.063] }, error = function(ex) { [17:28:06.063] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.063] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.063] ...future.rng), started = ...future.startTime, [17:28:06.063] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.063] version = "1.8"), class = "FutureResult") [17:28:06.063] }, finally = { [17:28:06.063] if (!identical(...future.workdir, getwd())) [17:28:06.063] setwd(...future.workdir) [17:28:06.063] { [17:28:06.063] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.063] ...future.oldOptions$nwarnings <- NULL [17:28:06.063] } [17:28:06.063] base::options(...future.oldOptions) [17:28:06.063] if (.Platform$OS.type == "windows") { [17:28:06.063] old_names <- names(...future.oldEnvVars) [17:28:06.063] envs <- base::Sys.getenv() [17:28:06.063] names <- names(envs) [17:28:06.063] common <- intersect(names, old_names) [17:28:06.063] added <- setdiff(names, old_names) [17:28:06.063] removed <- setdiff(old_names, names) [17:28:06.063] changed <- common[...future.oldEnvVars[common] != [17:28:06.063] envs[common]] [17:28:06.063] NAMES <- toupper(changed) [17:28:06.063] args <- list() [17:28:06.063] for (kk in seq_along(NAMES)) { [17:28:06.063] name <- changed[[kk]] [17:28:06.063] NAME <- NAMES[[kk]] [17:28:06.063] if (name != NAME && is.element(NAME, old_names)) [17:28:06.063] next [17:28:06.063] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.063] } [17:28:06.063] NAMES <- toupper(added) [17:28:06.063] for (kk in seq_along(NAMES)) { [17:28:06.063] name <- added[[kk]] [17:28:06.063] NAME <- NAMES[[kk]] [17:28:06.063] if (name != NAME && is.element(NAME, old_names)) [17:28:06.063] next [17:28:06.063] args[[name]] <- "" [17:28:06.063] } [17:28:06.063] NAMES <- toupper(removed) [17:28:06.063] for (kk in seq_along(NAMES)) { [17:28:06.063] name <- removed[[kk]] [17:28:06.063] NAME <- NAMES[[kk]] [17:28:06.063] if (name != NAME && is.element(NAME, old_names)) [17:28:06.063] next [17:28:06.063] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.063] } [17:28:06.063] if (length(args) > 0) [17:28:06.063] base::do.call(base::Sys.setenv, args = args) [17:28:06.063] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.063] } [17:28:06.063] { [17:28:06.063] if (base::length(...future.futureOptionsAdded) > [17:28:06.063] 0L) { [17:28:06.063] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.063] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.063] base::options(opts) [17:28:06.063] } [17:28:06.063] { [17:28:06.063] { [17:28:06.063] NULL [17:28:06.063] RNGkind("Mersenne-Twister") [17:28:06.063] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.063] inherits = FALSE) [17:28:06.063] } [17:28:06.063] options(future.plan = NULL) [17:28:06.063] if (is.na(NA_character_)) [17:28:06.063] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.063] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.063] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.063] .init = FALSE) [17:28:06.063] } [17:28:06.063] } [17:28:06.063] } [17:28:06.063] }) [17:28:06.063] if (TRUE) { [17:28:06.063] base::sink(type = "output", split = FALSE) [17:28:06.063] if (TRUE) { [17:28:06.063] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.063] } [17:28:06.063] else { [17:28:06.063] ...future.result["stdout"] <- base::list(NULL) [17:28:06.063] } [17:28:06.063] base::close(...future.stdout) [17:28:06.063] ...future.stdout <- NULL [17:28:06.063] } [17:28:06.063] ...future.result$conditions <- ...future.conditions [17:28:06.063] ...future.result$finished <- base::Sys.time() [17:28:06.063] ...future.result [17:28:06.063] } [17:28:06.069] plan(): Setting new future strategy stack: [17:28:06.069] List of future strategies: [17:28:06.069] 1. sequential: [17:28:06.069] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.069] - tweaked: FALSE [17:28:06.069] - call: NULL [17:28:06.070] plan(): nbrOfWorkers() = 1 [17:28:06.073] plan(): Setting new future strategy stack: [17:28:06.073] List of future strategies: [17:28:06.073] 1. sequential: [17:28:06.073] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.073] - tweaked: FALSE [17:28:06.073] - call: plan(strategy) [17:28:06.074] plan(): nbrOfWorkers() = 1 [17:28:06.074] SequentialFuture started (and completed) [17:28:06.075] - Launch lazy future ... done [17:28:06.075] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.076] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.076] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.079] - globals found: [3] '+', 'value', 'a' [17:28:06.079] Searching for globals ... DONE [17:28:06.079] Resolving globals: TRUE [17:28:06.079] Resolving any globals that are futures ... [17:28:06.080] - globals: [3] '+', 'value', 'a' [17:28:06.080] Resolving any globals that are futures ... DONE [17:28:06.081] Resolving futures part of globals (recursively) ... [17:28:06.081] resolve() on list ... [17:28:06.082] recursive: 99 [17:28:06.082] length: 1 [17:28:06.082] elements: 'a' [17:28:06.083] resolved() for 'SequentialFuture' ... [17:28:06.083] - state: 'finished' [17:28:06.084] - run: TRUE [17:28:06.084] - result: 'FutureResult' [17:28:06.084] resolved() for 'SequentialFuture' ... done [17:28:06.085] Future #1 [17:28:06.089] resolved() for 'SequentialFuture' ... [17:28:06.090] - state: 'finished' [17:28:06.090] - run: TRUE [17:28:06.090] - result: 'FutureResult' [17:28:06.091] resolved() for 'SequentialFuture' ... done [17:28:06.091] A SequentialFuture was resolved [17:28:06.091] length: 0 (resolved future 1) [17:28:06.092] resolve() on list ... DONE [17:28:06.092] - globals: [1] 'a' [17:28:06.092] Resolving futures part of globals (recursively) ... DONE [17:28:06.093] The total size of the 1 globals is 3.36 KiB (3436 bytes) [17:28:06.094] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.36 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.36 KiB of class 'environment') [17:28:06.094] - globals: [1] 'a' [17:28:06.095] - packages: [1] 'future' [17:28:06.095] getGlobalsAndPackages() ... DONE [17:28:06.096] run() for 'Future' ... [17:28:06.096] - state: 'created' [17:28:06.096] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.097] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.097] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.098] - Field: 'label' [17:28:06.098] - Field: 'local' [17:28:06.098] - Field: 'owner' [17:28:06.099] - Field: 'envir' [17:28:06.099] - Field: 'packages' [17:28:06.099] - Field: 'gc' [17:28:06.100] - Field: 'conditions' [17:28:06.100] - Field: 'expr' [17:28:06.100] - Field: 'uuid' [17:28:06.101] - Field: 'seed' [17:28:06.101] - Field: 'version' [17:28:06.101] - Field: 'result' [17:28:06.102] - Field: 'asynchronous' [17:28:06.102] - Field: 'calls' [17:28:06.102] - Field: 'globals' [17:28:06.103] - Field: 'stdout' [17:28:06.103] - Field: 'earlySignal' [17:28:06.103] - Field: 'lazy' [17:28:06.104] - Field: 'state' [17:28:06.104] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.104] - Launch lazy future ... [17:28:06.105] Packages needed by the future expression (n = 1): 'future' [17:28:06.105] Packages needed by future strategies (n = 0): [17:28:06.107] { [17:28:06.107] { [17:28:06.107] { [17:28:06.107] ...future.startTime <- base::Sys.time() [17:28:06.107] { [17:28:06.107] { [17:28:06.107] { [17:28:06.107] { [17:28:06.107] base::local({ [17:28:06.107] has_future <- base::requireNamespace("future", [17:28:06.107] quietly = TRUE) [17:28:06.107] if (has_future) { [17:28:06.107] ns <- base::getNamespace("future") [17:28:06.107] version <- ns[[".package"]][["version"]] [17:28:06.107] if (is.null(version)) [17:28:06.107] version <- utils::packageVersion("future") [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] version <- NULL [17:28:06.107] } [17:28:06.107] if (!has_future || version < "1.8.0") { [17:28:06.107] info <- base::c(r_version = base::gsub("R version ", [17:28:06.107] "", base::R.version$version.string), [17:28:06.107] platform = base::sprintf("%s (%s-bit)", [17:28:06.107] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.107] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.107] "release", "version")], collapse = " "), [17:28:06.107] hostname = base::Sys.info()[["nodename"]]) [17:28:06.107] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.107] info) [17:28:06.107] info <- base::paste(info, collapse = "; ") [17:28:06.107] if (!has_future) { [17:28:06.107] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.107] info) [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.107] info, version) [17:28:06.107] } [17:28:06.107] base::stop(msg) [17:28:06.107] } [17:28:06.107] }) [17:28:06.107] } [17:28:06.107] base::local({ [17:28:06.107] for (pkg in "future") { [17:28:06.107] base::loadNamespace(pkg) [17:28:06.107] base::library(pkg, character.only = TRUE) [17:28:06.107] } [17:28:06.107] }) [17:28:06.107] } [17:28:06.107] ...future.strategy.old <- future::plan("list") [17:28:06.107] options(future.plan = NULL) [17:28:06.107] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.107] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.107] } [17:28:06.107] ...future.workdir <- getwd() [17:28:06.107] } [17:28:06.107] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.107] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.107] } [17:28:06.107] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.107] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.107] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.107] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.107] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.107] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.107] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.107] base::names(...future.oldOptions)) [17:28:06.107] } [17:28:06.107] if (FALSE) { [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] if (TRUE) { [17:28:06.107] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.107] open = "w") [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.107] windows = "NUL", "/dev/null"), open = "w") [17:28:06.107] } [17:28:06.107] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.107] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.107] base::sink(type = "output", split = FALSE) [17:28:06.107] base::close(...future.stdout) [17:28:06.107] }, add = TRUE) [17:28:06.107] } [17:28:06.107] ...future.frame <- base::sys.nframe() [17:28:06.107] ...future.conditions <- base::list() [17:28:06.107] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.107] if (FALSE) { [17:28:06.107] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.107] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.107] } [17:28:06.107] ...future.result <- base::tryCatch({ [17:28:06.107] base::withCallingHandlers({ [17:28:06.107] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.107] 1)) [17:28:06.107] future::FutureResult(value = ...future.value$value, [17:28:06.107] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.107] ...future.rng), globalenv = if (FALSE) [17:28:06.107] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.107] ...future.globalenv.names)) [17:28:06.107] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.107] }, condition = base::local({ [17:28:06.107] c <- base::c [17:28:06.107] inherits <- base::inherits [17:28:06.107] invokeRestart <- base::invokeRestart [17:28:06.107] length <- base::length [17:28:06.107] list <- base::list [17:28:06.107] seq.int <- base::seq.int [17:28:06.107] signalCondition <- base::signalCondition [17:28:06.107] sys.calls <- base::sys.calls [17:28:06.107] `[[` <- base::`[[` [17:28:06.107] `+` <- base::`+` [17:28:06.107] `<<-` <- base::`<<-` [17:28:06.107] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.107] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.107] 3L)] [17:28:06.107] } [17:28:06.107] function(cond) { [17:28:06.107] is_error <- inherits(cond, "error") [17:28:06.107] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.107] NULL) [17:28:06.107] if (is_error) { [17:28:06.107] sessionInformation <- function() { [17:28:06.107] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.107] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.107] search = base::search(), system = base::Sys.info()) [17:28:06.107] } [17:28:06.107] ...future.conditions[[length(...future.conditions) + [17:28:06.107] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.107] cond$call), session = sessionInformation(), [17:28:06.107] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.107] signalCondition(cond) [17:28:06.107] } [17:28:06.107] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.107] "immediateCondition"))) { [17:28:06.107] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.107] ...future.conditions[[length(...future.conditions) + [17:28:06.107] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.107] if (TRUE && !signal) { [17:28:06.107] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.107] { [17:28:06.107] inherits <- base::inherits [17:28:06.107] invokeRestart <- base::invokeRestart [17:28:06.107] is.null <- base::is.null [17:28:06.107] muffled <- FALSE [17:28:06.107] if (inherits(cond, "message")) { [17:28:06.107] muffled <- grepl(pattern, "muffleMessage") [17:28:06.107] if (muffled) [17:28:06.107] invokeRestart("muffleMessage") [17:28:06.107] } [17:28:06.107] else if (inherits(cond, "warning")) { [17:28:06.107] muffled <- grepl(pattern, "muffleWarning") [17:28:06.107] if (muffled) [17:28:06.107] invokeRestart("muffleWarning") [17:28:06.107] } [17:28:06.107] else if (inherits(cond, "condition")) { [17:28:06.107] if (!is.null(pattern)) { [17:28:06.107] computeRestarts <- base::computeRestarts [17:28:06.107] grepl <- base::grepl [17:28:06.107] restarts <- computeRestarts(cond) [17:28:06.107] for (restart in restarts) { [17:28:06.107] name <- restart$name [17:28:06.107] if (is.null(name)) [17:28:06.107] next [17:28:06.107] if (!grepl(pattern, name)) [17:28:06.107] next [17:28:06.107] invokeRestart(restart) [17:28:06.107] muffled <- TRUE [17:28:06.107] break [17:28:06.107] } [17:28:06.107] } [17:28:06.107] } [17:28:06.107] invisible(muffled) [17:28:06.107] } [17:28:06.107] muffleCondition(cond, pattern = "^muffle") [17:28:06.107] } [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] if (TRUE) { [17:28:06.107] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.107] { [17:28:06.107] inherits <- base::inherits [17:28:06.107] invokeRestart <- base::invokeRestart [17:28:06.107] is.null <- base::is.null [17:28:06.107] muffled <- FALSE [17:28:06.107] if (inherits(cond, "message")) { [17:28:06.107] muffled <- grepl(pattern, "muffleMessage") [17:28:06.107] if (muffled) [17:28:06.107] invokeRestart("muffleMessage") [17:28:06.107] } [17:28:06.107] else if (inherits(cond, "warning")) { [17:28:06.107] muffled <- grepl(pattern, "muffleWarning") [17:28:06.107] if (muffled) [17:28:06.107] invokeRestart("muffleWarning") [17:28:06.107] } [17:28:06.107] else if (inherits(cond, "condition")) { [17:28:06.107] if (!is.null(pattern)) { [17:28:06.107] computeRestarts <- base::computeRestarts [17:28:06.107] grepl <- base::grepl [17:28:06.107] restarts <- computeRestarts(cond) [17:28:06.107] for (restart in restarts) { [17:28:06.107] name <- restart$name [17:28:06.107] if (is.null(name)) [17:28:06.107] next [17:28:06.107] if (!grepl(pattern, name)) [17:28:06.107] next [17:28:06.107] invokeRestart(restart) [17:28:06.107] muffled <- TRUE [17:28:06.107] break [17:28:06.107] } [17:28:06.107] } [17:28:06.107] } [17:28:06.107] invisible(muffled) [17:28:06.107] } [17:28:06.107] muffleCondition(cond, pattern = "^muffle") [17:28:06.107] } [17:28:06.107] } [17:28:06.107] } [17:28:06.107] })) [17:28:06.107] }, error = function(ex) { [17:28:06.107] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.107] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.107] ...future.rng), started = ...future.startTime, [17:28:06.107] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.107] version = "1.8"), class = "FutureResult") [17:28:06.107] }, finally = { [17:28:06.107] if (!identical(...future.workdir, getwd())) [17:28:06.107] setwd(...future.workdir) [17:28:06.107] { [17:28:06.107] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.107] ...future.oldOptions$nwarnings <- NULL [17:28:06.107] } [17:28:06.107] base::options(...future.oldOptions) [17:28:06.107] if (.Platform$OS.type == "windows") { [17:28:06.107] old_names <- names(...future.oldEnvVars) [17:28:06.107] envs <- base::Sys.getenv() [17:28:06.107] names <- names(envs) [17:28:06.107] common <- intersect(names, old_names) [17:28:06.107] added <- setdiff(names, old_names) [17:28:06.107] removed <- setdiff(old_names, names) [17:28:06.107] changed <- common[...future.oldEnvVars[common] != [17:28:06.107] envs[common]] [17:28:06.107] NAMES <- toupper(changed) [17:28:06.107] args <- list() [17:28:06.107] for (kk in seq_along(NAMES)) { [17:28:06.107] name <- changed[[kk]] [17:28:06.107] NAME <- NAMES[[kk]] [17:28:06.107] if (name != NAME && is.element(NAME, old_names)) [17:28:06.107] next [17:28:06.107] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.107] } [17:28:06.107] NAMES <- toupper(added) [17:28:06.107] for (kk in seq_along(NAMES)) { [17:28:06.107] name <- added[[kk]] [17:28:06.107] NAME <- NAMES[[kk]] [17:28:06.107] if (name != NAME && is.element(NAME, old_names)) [17:28:06.107] next [17:28:06.107] args[[name]] <- "" [17:28:06.107] } [17:28:06.107] NAMES <- toupper(removed) [17:28:06.107] for (kk in seq_along(NAMES)) { [17:28:06.107] name <- removed[[kk]] [17:28:06.107] NAME <- NAMES[[kk]] [17:28:06.107] if (name != NAME && is.element(NAME, old_names)) [17:28:06.107] next [17:28:06.107] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.107] } [17:28:06.107] if (length(args) > 0) [17:28:06.107] base::do.call(base::Sys.setenv, args = args) [17:28:06.107] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.107] } [17:28:06.107] { [17:28:06.107] if (base::length(...future.futureOptionsAdded) > [17:28:06.107] 0L) { [17:28:06.107] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.107] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.107] base::options(opts) [17:28:06.107] } [17:28:06.107] { [17:28:06.107] { [17:28:06.107] NULL [17:28:06.107] RNGkind("Mersenne-Twister") [17:28:06.107] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.107] inherits = FALSE) [17:28:06.107] } [17:28:06.107] options(future.plan = NULL) [17:28:06.107] if (is.na(NA_character_)) [17:28:06.107] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.107] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.107] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.107] .init = FALSE) [17:28:06.107] } [17:28:06.107] } [17:28:06.107] } [17:28:06.107] }) [17:28:06.107] if (TRUE) { [17:28:06.107] base::sink(type = "output", split = FALSE) [17:28:06.107] if (TRUE) { [17:28:06.107] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.107] } [17:28:06.107] else { [17:28:06.107] ...future.result["stdout"] <- base::list(NULL) [17:28:06.107] } [17:28:06.107] base::close(...future.stdout) [17:28:06.107] ...future.stdout <- NULL [17:28:06.107] } [17:28:06.107] ...future.result$conditions <- ...future.conditions [17:28:06.107] ...future.result$finished <- base::Sys.time() [17:28:06.107] ...future.result [17:28:06.107] } [17:28:06.113] assign_globals() ... [17:28:06.114] List of 1 [17:28:06.114] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.114] - attr(*, "where")=List of 1 [17:28:06.114] ..$ a: [17:28:06.114] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.114] - attr(*, "resolved")= logi TRUE [17:28:06.114] - attr(*, "total_size")= int 3436 [17:28:06.114] - attr(*, "already-done")= logi TRUE [17:28:06.119] - copied 'a' to environment [17:28:06.120] assign_globals() ... done [17:28:06.121] plan(): Setting new future strategy stack: [17:28:06.121] List of future strategies: [17:28:06.121] 1. sequential: [17:28:06.121] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.121] - tweaked: FALSE [17:28:06.121] - call: NULL [17:28:06.122] plan(): nbrOfWorkers() = 1 [17:28:06.125] plan(): Setting new future strategy stack: [17:28:06.125] List of future strategies: [17:28:06.125] 1. sequential: [17:28:06.125] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.125] - tweaked: FALSE [17:28:06.125] - call: plan(strategy) [17:28:06.126] plan(): nbrOfWorkers() = 1 [17:28:06.127] SequentialFuture started (and completed) [17:28:06.127] - Launch lazy future ... done [17:28:06.127] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.129] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.129] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.131] [17:28:06.131] Searching for globals ... DONE [17:28:06.131] - globals: [0] [17:28:06.132] getGlobalsAndPackages() ... DONE [17:28:06.132] run() for 'Future' ... [17:28:06.133] - state: 'created' [17:28:06.133] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.134] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.134] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.135] - Field: 'label' [17:28:06.135] - Field: 'local' [17:28:06.135] - Field: 'owner' [17:28:06.136] - Field: 'envir' [17:28:06.136] - Field: 'packages' [17:28:06.136] - Field: 'gc' [17:28:06.137] - Field: 'conditions' [17:28:06.137] - Field: 'expr' [17:28:06.137] - Field: 'uuid' [17:28:06.138] - Field: 'seed' [17:28:06.138] - Field: 'version' [17:28:06.138] - Field: 'result' [17:28:06.139] - Field: 'asynchronous' [17:28:06.139] - Field: 'calls' [17:28:06.139] - Field: 'globals' [17:28:06.140] - Field: 'stdout' [17:28:06.140] - Field: 'earlySignal' [17:28:06.140] - Field: 'lazy' [17:28:06.141] - Field: 'state' [17:28:06.141] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.141] - Launch lazy future ... [17:28:06.142] Packages needed by the future expression (n = 0): [17:28:06.142] Packages needed by future strategies (n = 0): [17:28:06.143] { [17:28:06.143] { [17:28:06.143] { [17:28:06.143] ...future.startTime <- base::Sys.time() [17:28:06.143] { [17:28:06.143] { [17:28:06.143] { [17:28:06.143] base::local({ [17:28:06.143] has_future <- base::requireNamespace("future", [17:28:06.143] quietly = TRUE) [17:28:06.143] if (has_future) { [17:28:06.143] ns <- base::getNamespace("future") [17:28:06.143] version <- ns[[".package"]][["version"]] [17:28:06.143] if (is.null(version)) [17:28:06.143] version <- utils::packageVersion("future") [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] version <- NULL [17:28:06.143] } [17:28:06.143] if (!has_future || version < "1.8.0") { [17:28:06.143] info <- base::c(r_version = base::gsub("R version ", [17:28:06.143] "", base::R.version$version.string), [17:28:06.143] platform = base::sprintf("%s (%s-bit)", [17:28:06.143] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.143] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.143] "release", "version")], collapse = " "), [17:28:06.143] hostname = base::Sys.info()[["nodename"]]) [17:28:06.143] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.143] info) [17:28:06.143] info <- base::paste(info, collapse = "; ") [17:28:06.143] if (!has_future) { [17:28:06.143] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.143] info) [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.143] info, version) [17:28:06.143] } [17:28:06.143] base::stop(msg) [17:28:06.143] } [17:28:06.143] }) [17:28:06.143] } [17:28:06.143] ...future.strategy.old <- future::plan("list") [17:28:06.143] options(future.plan = NULL) [17:28:06.143] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.143] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.143] } [17:28:06.143] ...future.workdir <- getwd() [17:28:06.143] } [17:28:06.143] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.143] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.143] } [17:28:06.143] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.143] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.143] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.143] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.143] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.143] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.143] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.143] base::names(...future.oldOptions)) [17:28:06.143] } [17:28:06.143] if (FALSE) { [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] if (TRUE) { [17:28:06.143] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.143] open = "w") [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.143] windows = "NUL", "/dev/null"), open = "w") [17:28:06.143] } [17:28:06.143] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.143] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.143] base::sink(type = "output", split = FALSE) [17:28:06.143] base::close(...future.stdout) [17:28:06.143] }, add = TRUE) [17:28:06.143] } [17:28:06.143] ...future.frame <- base::sys.nframe() [17:28:06.143] ...future.conditions <- base::list() [17:28:06.143] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.143] if (FALSE) { [17:28:06.143] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.143] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.143] } [17:28:06.143] ...future.result <- base::tryCatch({ [17:28:06.143] base::withCallingHandlers({ [17:28:06.143] ...future.value <- base::withVisible(base::local(1)) [17:28:06.143] future::FutureResult(value = ...future.value$value, [17:28:06.143] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.143] ...future.rng), globalenv = if (FALSE) [17:28:06.143] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.143] ...future.globalenv.names)) [17:28:06.143] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.143] }, condition = base::local({ [17:28:06.143] c <- base::c [17:28:06.143] inherits <- base::inherits [17:28:06.143] invokeRestart <- base::invokeRestart [17:28:06.143] length <- base::length [17:28:06.143] list <- base::list [17:28:06.143] seq.int <- base::seq.int [17:28:06.143] signalCondition <- base::signalCondition [17:28:06.143] sys.calls <- base::sys.calls [17:28:06.143] `[[` <- base::`[[` [17:28:06.143] `+` <- base::`+` [17:28:06.143] `<<-` <- base::`<<-` [17:28:06.143] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.143] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.143] 3L)] [17:28:06.143] } [17:28:06.143] function(cond) { [17:28:06.143] is_error <- inherits(cond, "error") [17:28:06.143] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.143] NULL) [17:28:06.143] if (is_error) { [17:28:06.143] sessionInformation <- function() { [17:28:06.143] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.143] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.143] search = base::search(), system = base::Sys.info()) [17:28:06.143] } [17:28:06.143] ...future.conditions[[length(...future.conditions) + [17:28:06.143] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.143] cond$call), session = sessionInformation(), [17:28:06.143] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.143] signalCondition(cond) [17:28:06.143] } [17:28:06.143] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.143] "immediateCondition"))) { [17:28:06.143] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.143] ...future.conditions[[length(...future.conditions) + [17:28:06.143] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.143] if (TRUE && !signal) { [17:28:06.143] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.143] { [17:28:06.143] inherits <- base::inherits [17:28:06.143] invokeRestart <- base::invokeRestart [17:28:06.143] is.null <- base::is.null [17:28:06.143] muffled <- FALSE [17:28:06.143] if (inherits(cond, "message")) { [17:28:06.143] muffled <- grepl(pattern, "muffleMessage") [17:28:06.143] if (muffled) [17:28:06.143] invokeRestart("muffleMessage") [17:28:06.143] } [17:28:06.143] else if (inherits(cond, "warning")) { [17:28:06.143] muffled <- grepl(pattern, "muffleWarning") [17:28:06.143] if (muffled) [17:28:06.143] invokeRestart("muffleWarning") [17:28:06.143] } [17:28:06.143] else if (inherits(cond, "condition")) { [17:28:06.143] if (!is.null(pattern)) { [17:28:06.143] computeRestarts <- base::computeRestarts [17:28:06.143] grepl <- base::grepl [17:28:06.143] restarts <- computeRestarts(cond) [17:28:06.143] for (restart in restarts) { [17:28:06.143] name <- restart$name [17:28:06.143] if (is.null(name)) [17:28:06.143] next [17:28:06.143] if (!grepl(pattern, name)) [17:28:06.143] next [17:28:06.143] invokeRestart(restart) [17:28:06.143] muffled <- TRUE [17:28:06.143] break [17:28:06.143] } [17:28:06.143] } [17:28:06.143] } [17:28:06.143] invisible(muffled) [17:28:06.143] } [17:28:06.143] muffleCondition(cond, pattern = "^muffle") [17:28:06.143] } [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] if (TRUE) { [17:28:06.143] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.143] { [17:28:06.143] inherits <- base::inherits [17:28:06.143] invokeRestart <- base::invokeRestart [17:28:06.143] is.null <- base::is.null [17:28:06.143] muffled <- FALSE [17:28:06.143] if (inherits(cond, "message")) { [17:28:06.143] muffled <- grepl(pattern, "muffleMessage") [17:28:06.143] if (muffled) [17:28:06.143] invokeRestart("muffleMessage") [17:28:06.143] } [17:28:06.143] else if (inherits(cond, "warning")) { [17:28:06.143] muffled <- grepl(pattern, "muffleWarning") [17:28:06.143] if (muffled) [17:28:06.143] invokeRestart("muffleWarning") [17:28:06.143] } [17:28:06.143] else if (inherits(cond, "condition")) { [17:28:06.143] if (!is.null(pattern)) { [17:28:06.143] computeRestarts <- base::computeRestarts [17:28:06.143] grepl <- base::grepl [17:28:06.143] restarts <- computeRestarts(cond) [17:28:06.143] for (restart in restarts) { [17:28:06.143] name <- restart$name [17:28:06.143] if (is.null(name)) [17:28:06.143] next [17:28:06.143] if (!grepl(pattern, name)) [17:28:06.143] next [17:28:06.143] invokeRestart(restart) [17:28:06.143] muffled <- TRUE [17:28:06.143] break [17:28:06.143] } [17:28:06.143] } [17:28:06.143] } [17:28:06.143] invisible(muffled) [17:28:06.143] } [17:28:06.143] muffleCondition(cond, pattern = "^muffle") [17:28:06.143] } [17:28:06.143] } [17:28:06.143] } [17:28:06.143] })) [17:28:06.143] }, error = function(ex) { [17:28:06.143] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.143] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.143] ...future.rng), started = ...future.startTime, [17:28:06.143] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.143] version = "1.8"), class = "FutureResult") [17:28:06.143] }, finally = { [17:28:06.143] if (!identical(...future.workdir, getwd())) [17:28:06.143] setwd(...future.workdir) [17:28:06.143] { [17:28:06.143] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.143] ...future.oldOptions$nwarnings <- NULL [17:28:06.143] } [17:28:06.143] base::options(...future.oldOptions) [17:28:06.143] if (.Platform$OS.type == "windows") { [17:28:06.143] old_names <- names(...future.oldEnvVars) [17:28:06.143] envs <- base::Sys.getenv() [17:28:06.143] names <- names(envs) [17:28:06.143] common <- intersect(names, old_names) [17:28:06.143] added <- setdiff(names, old_names) [17:28:06.143] removed <- setdiff(old_names, names) [17:28:06.143] changed <- common[...future.oldEnvVars[common] != [17:28:06.143] envs[common]] [17:28:06.143] NAMES <- toupper(changed) [17:28:06.143] args <- list() [17:28:06.143] for (kk in seq_along(NAMES)) { [17:28:06.143] name <- changed[[kk]] [17:28:06.143] NAME <- NAMES[[kk]] [17:28:06.143] if (name != NAME && is.element(NAME, old_names)) [17:28:06.143] next [17:28:06.143] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.143] } [17:28:06.143] NAMES <- toupper(added) [17:28:06.143] for (kk in seq_along(NAMES)) { [17:28:06.143] name <- added[[kk]] [17:28:06.143] NAME <- NAMES[[kk]] [17:28:06.143] if (name != NAME && is.element(NAME, old_names)) [17:28:06.143] next [17:28:06.143] args[[name]] <- "" [17:28:06.143] } [17:28:06.143] NAMES <- toupper(removed) [17:28:06.143] for (kk in seq_along(NAMES)) { [17:28:06.143] name <- removed[[kk]] [17:28:06.143] NAME <- NAMES[[kk]] [17:28:06.143] if (name != NAME && is.element(NAME, old_names)) [17:28:06.143] next [17:28:06.143] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.143] } [17:28:06.143] if (length(args) > 0) [17:28:06.143] base::do.call(base::Sys.setenv, args = args) [17:28:06.143] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.143] } [17:28:06.143] { [17:28:06.143] if (base::length(...future.futureOptionsAdded) > [17:28:06.143] 0L) { [17:28:06.143] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.143] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.143] base::options(opts) [17:28:06.143] } [17:28:06.143] { [17:28:06.143] { [17:28:06.143] NULL [17:28:06.143] RNGkind("Mersenne-Twister") [17:28:06.143] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.143] inherits = FALSE) [17:28:06.143] } [17:28:06.143] options(future.plan = NULL) [17:28:06.143] if (is.na(NA_character_)) [17:28:06.143] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.143] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.143] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.143] .init = FALSE) [17:28:06.143] } [17:28:06.143] } [17:28:06.143] } [17:28:06.143] }) [17:28:06.143] if (TRUE) { [17:28:06.143] base::sink(type = "output", split = FALSE) [17:28:06.143] if (TRUE) { [17:28:06.143] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.143] } [17:28:06.143] else { [17:28:06.143] ...future.result["stdout"] <- base::list(NULL) [17:28:06.143] } [17:28:06.143] base::close(...future.stdout) [17:28:06.143] ...future.stdout <- NULL [17:28:06.143] } [17:28:06.143] ...future.result$conditions <- ...future.conditions [17:28:06.143] ...future.result$finished <- base::Sys.time() [17:28:06.143] ...future.result [17:28:06.143] } [17:28:06.148] plan(): Setting new future strategy stack: [17:28:06.149] List of future strategies: [17:28:06.149] 1. sequential: [17:28:06.149] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.149] - tweaked: FALSE [17:28:06.149] - call: NULL [17:28:06.149] plan(): nbrOfWorkers() = 1 [17:28:06.153] plan(): Setting new future strategy stack: [17:28:06.154] List of future strategies: [17:28:06.154] 1. sequential: [17:28:06.154] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.154] - tweaked: FALSE [17:28:06.154] - call: plan(strategy) [17:28:06.154] plan(): nbrOfWorkers() = 1 [17:28:06.155] SequentialFuture started (and completed) [17:28:06.155] - Launch lazy future ... done [17:28:06.155] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.156] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.156] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.157] - globals found: [3] '+', 'value', 'a' [17:28:06.158] Searching for globals ... DONE [17:28:06.158] Resolving globals: TRUE [17:28:06.158] Resolving any globals that are futures ... [17:28:06.159] - globals: [3] '+', 'value', 'a' [17:28:06.159] Resolving any globals that are futures ... DONE [17:28:06.160] Resolving futures part of globals (recursively) ... [17:28:06.161] resolve() on list ... [17:28:06.161] recursive: 99 [17:28:06.161] length: 1 [17:28:06.161] elements: 'a' [17:28:06.162] resolved() for 'SequentialFuture' ... [17:28:06.162] - state: 'finished' [17:28:06.162] - run: TRUE [17:28:06.162] - result: 'FutureResult' [17:28:06.162] resolved() for 'SequentialFuture' ... done [17:28:06.163] Future #1 [17:28:06.163] resolved() for 'SequentialFuture' ... [17:28:06.163] - state: 'finished' [17:28:06.163] - run: TRUE [17:28:06.164] - result: 'FutureResult' [17:28:06.164] resolved() for 'SequentialFuture' ... done [17:28:06.164] A SequentialFuture was resolved [17:28:06.164] length: 0 (resolved future 1) [17:28:06.165] resolve() on list ... DONE [17:28:06.165] - globals: [1] 'a' [17:28:06.165] Resolving futures part of globals (recursively) ... DONE [17:28:06.166] The total size of the 1 globals is 3.36 KiB (3436 bytes) [17:28:06.166] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.36 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.36 KiB of class 'environment') [17:28:06.167] - globals: [1] 'a' [17:28:06.167] - packages: [1] 'future' [17:28:06.167] getGlobalsAndPackages() ... DONE [17:28:06.168] run() for 'Future' ... [17:28:06.168] - state: 'created' [17:28:06.168] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.169] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.169] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.169] - Field: 'label' [17:28:06.169] - Field: 'local' [17:28:06.170] - Field: 'owner' [17:28:06.170] - Field: 'envir' [17:28:06.170] - Field: 'packages' [17:28:06.170] - Field: 'gc' [17:28:06.171] - Field: 'conditions' [17:28:06.171] - Field: 'expr' [17:28:06.171] - Field: 'uuid' [17:28:06.172] - Field: 'seed' [17:28:06.172] - Field: 'version' [17:28:06.173] - Field: 'result' [17:28:06.173] - Field: 'asynchronous' [17:28:06.173] - Field: 'calls' [17:28:06.174] - Field: 'globals' [17:28:06.174] - Field: 'stdout' [17:28:06.174] - Field: 'earlySignal' [17:28:06.175] - Field: 'lazy' [17:28:06.175] - Field: 'state' [17:28:06.176] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.176] - Launch lazy future ... [17:28:06.176] Packages needed by the future expression (n = 1): 'future' [17:28:06.177] Packages needed by future strategies (n = 0): [17:28:06.178] { [17:28:06.178] { [17:28:06.178] { [17:28:06.178] ...future.startTime <- base::Sys.time() [17:28:06.178] { [17:28:06.178] { [17:28:06.178] { [17:28:06.178] { [17:28:06.178] base::local({ [17:28:06.178] has_future <- base::requireNamespace("future", [17:28:06.178] quietly = TRUE) [17:28:06.178] if (has_future) { [17:28:06.178] ns <- base::getNamespace("future") [17:28:06.178] version <- ns[[".package"]][["version"]] [17:28:06.178] if (is.null(version)) [17:28:06.178] version <- utils::packageVersion("future") [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] version <- NULL [17:28:06.178] } [17:28:06.178] if (!has_future || version < "1.8.0") { [17:28:06.178] info <- base::c(r_version = base::gsub("R version ", [17:28:06.178] "", base::R.version$version.string), [17:28:06.178] platform = base::sprintf("%s (%s-bit)", [17:28:06.178] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.178] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.178] "release", "version")], collapse = " "), [17:28:06.178] hostname = base::Sys.info()[["nodename"]]) [17:28:06.178] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.178] info) [17:28:06.178] info <- base::paste(info, collapse = "; ") [17:28:06.178] if (!has_future) { [17:28:06.178] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.178] info) [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.178] info, version) [17:28:06.178] } [17:28:06.178] base::stop(msg) [17:28:06.178] } [17:28:06.178] }) [17:28:06.178] } [17:28:06.178] base::local({ [17:28:06.178] for (pkg in "future") { [17:28:06.178] base::loadNamespace(pkg) [17:28:06.178] base::library(pkg, character.only = TRUE) [17:28:06.178] } [17:28:06.178] }) [17:28:06.178] } [17:28:06.178] ...future.strategy.old <- future::plan("list") [17:28:06.178] options(future.plan = NULL) [17:28:06.178] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.178] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.178] } [17:28:06.178] ...future.workdir <- getwd() [17:28:06.178] } [17:28:06.178] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.178] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.178] } [17:28:06.178] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.178] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.178] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.178] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.178] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.178] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.178] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.178] base::names(...future.oldOptions)) [17:28:06.178] } [17:28:06.178] if (FALSE) { [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] if (TRUE) { [17:28:06.178] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.178] open = "w") [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.178] windows = "NUL", "/dev/null"), open = "w") [17:28:06.178] } [17:28:06.178] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.178] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.178] base::sink(type = "output", split = FALSE) [17:28:06.178] base::close(...future.stdout) [17:28:06.178] }, add = TRUE) [17:28:06.178] } [17:28:06.178] ...future.frame <- base::sys.nframe() [17:28:06.178] ...future.conditions <- base::list() [17:28:06.178] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.178] if (FALSE) { [17:28:06.178] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.178] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.178] } [17:28:06.178] ...future.result <- base::tryCatch({ [17:28:06.178] base::withCallingHandlers({ [17:28:06.178] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.178] 1)) [17:28:06.178] future::FutureResult(value = ...future.value$value, [17:28:06.178] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.178] ...future.rng), globalenv = if (FALSE) [17:28:06.178] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.178] ...future.globalenv.names)) [17:28:06.178] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.178] }, condition = base::local({ [17:28:06.178] c <- base::c [17:28:06.178] inherits <- base::inherits [17:28:06.178] invokeRestart <- base::invokeRestart [17:28:06.178] length <- base::length [17:28:06.178] list <- base::list [17:28:06.178] seq.int <- base::seq.int [17:28:06.178] signalCondition <- base::signalCondition [17:28:06.178] sys.calls <- base::sys.calls [17:28:06.178] `[[` <- base::`[[` [17:28:06.178] `+` <- base::`+` [17:28:06.178] `<<-` <- base::`<<-` [17:28:06.178] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.178] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.178] 3L)] [17:28:06.178] } [17:28:06.178] function(cond) { [17:28:06.178] is_error <- inherits(cond, "error") [17:28:06.178] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.178] NULL) [17:28:06.178] if (is_error) { [17:28:06.178] sessionInformation <- function() { [17:28:06.178] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.178] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.178] search = base::search(), system = base::Sys.info()) [17:28:06.178] } [17:28:06.178] ...future.conditions[[length(...future.conditions) + [17:28:06.178] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.178] cond$call), session = sessionInformation(), [17:28:06.178] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.178] signalCondition(cond) [17:28:06.178] } [17:28:06.178] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.178] "immediateCondition"))) { [17:28:06.178] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.178] ...future.conditions[[length(...future.conditions) + [17:28:06.178] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.178] if (TRUE && !signal) { [17:28:06.178] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.178] { [17:28:06.178] inherits <- base::inherits [17:28:06.178] invokeRestart <- base::invokeRestart [17:28:06.178] is.null <- base::is.null [17:28:06.178] muffled <- FALSE [17:28:06.178] if (inherits(cond, "message")) { [17:28:06.178] muffled <- grepl(pattern, "muffleMessage") [17:28:06.178] if (muffled) [17:28:06.178] invokeRestart("muffleMessage") [17:28:06.178] } [17:28:06.178] else if (inherits(cond, "warning")) { [17:28:06.178] muffled <- grepl(pattern, "muffleWarning") [17:28:06.178] if (muffled) [17:28:06.178] invokeRestart("muffleWarning") [17:28:06.178] } [17:28:06.178] else if (inherits(cond, "condition")) { [17:28:06.178] if (!is.null(pattern)) { [17:28:06.178] computeRestarts <- base::computeRestarts [17:28:06.178] grepl <- base::grepl [17:28:06.178] restarts <- computeRestarts(cond) [17:28:06.178] for (restart in restarts) { [17:28:06.178] name <- restart$name [17:28:06.178] if (is.null(name)) [17:28:06.178] next [17:28:06.178] if (!grepl(pattern, name)) [17:28:06.178] next [17:28:06.178] invokeRestart(restart) [17:28:06.178] muffled <- TRUE [17:28:06.178] break [17:28:06.178] } [17:28:06.178] } [17:28:06.178] } [17:28:06.178] invisible(muffled) [17:28:06.178] } [17:28:06.178] muffleCondition(cond, pattern = "^muffle") [17:28:06.178] } [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] if (TRUE) { [17:28:06.178] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.178] { [17:28:06.178] inherits <- base::inherits [17:28:06.178] invokeRestart <- base::invokeRestart [17:28:06.178] is.null <- base::is.null [17:28:06.178] muffled <- FALSE [17:28:06.178] if (inherits(cond, "message")) { [17:28:06.178] muffled <- grepl(pattern, "muffleMessage") [17:28:06.178] if (muffled) [17:28:06.178] invokeRestart("muffleMessage") [17:28:06.178] } [17:28:06.178] else if (inherits(cond, "warning")) { [17:28:06.178] muffled <- grepl(pattern, "muffleWarning") [17:28:06.178] if (muffled) [17:28:06.178] invokeRestart("muffleWarning") [17:28:06.178] } [17:28:06.178] else if (inherits(cond, "condition")) { [17:28:06.178] if (!is.null(pattern)) { [17:28:06.178] computeRestarts <- base::computeRestarts [17:28:06.178] grepl <- base::grepl [17:28:06.178] restarts <- computeRestarts(cond) [17:28:06.178] for (restart in restarts) { [17:28:06.178] name <- restart$name [17:28:06.178] if (is.null(name)) [17:28:06.178] next [17:28:06.178] if (!grepl(pattern, name)) [17:28:06.178] next [17:28:06.178] invokeRestart(restart) [17:28:06.178] muffled <- TRUE [17:28:06.178] break [17:28:06.178] } [17:28:06.178] } [17:28:06.178] } [17:28:06.178] invisible(muffled) [17:28:06.178] } [17:28:06.178] muffleCondition(cond, pattern = "^muffle") [17:28:06.178] } [17:28:06.178] } [17:28:06.178] } [17:28:06.178] })) [17:28:06.178] }, error = function(ex) { [17:28:06.178] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.178] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.178] ...future.rng), started = ...future.startTime, [17:28:06.178] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.178] version = "1.8"), class = "FutureResult") [17:28:06.178] }, finally = { [17:28:06.178] if (!identical(...future.workdir, getwd())) [17:28:06.178] setwd(...future.workdir) [17:28:06.178] { [17:28:06.178] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.178] ...future.oldOptions$nwarnings <- NULL [17:28:06.178] } [17:28:06.178] base::options(...future.oldOptions) [17:28:06.178] if (.Platform$OS.type == "windows") { [17:28:06.178] old_names <- names(...future.oldEnvVars) [17:28:06.178] envs <- base::Sys.getenv() [17:28:06.178] names <- names(envs) [17:28:06.178] common <- intersect(names, old_names) [17:28:06.178] added <- setdiff(names, old_names) [17:28:06.178] removed <- setdiff(old_names, names) [17:28:06.178] changed <- common[...future.oldEnvVars[common] != [17:28:06.178] envs[common]] [17:28:06.178] NAMES <- toupper(changed) [17:28:06.178] args <- list() [17:28:06.178] for (kk in seq_along(NAMES)) { [17:28:06.178] name <- changed[[kk]] [17:28:06.178] NAME <- NAMES[[kk]] [17:28:06.178] if (name != NAME && is.element(NAME, old_names)) [17:28:06.178] next [17:28:06.178] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.178] } [17:28:06.178] NAMES <- toupper(added) [17:28:06.178] for (kk in seq_along(NAMES)) { [17:28:06.178] name <- added[[kk]] [17:28:06.178] NAME <- NAMES[[kk]] [17:28:06.178] if (name != NAME && is.element(NAME, old_names)) [17:28:06.178] next [17:28:06.178] args[[name]] <- "" [17:28:06.178] } [17:28:06.178] NAMES <- toupper(removed) [17:28:06.178] for (kk in seq_along(NAMES)) { [17:28:06.178] name <- removed[[kk]] [17:28:06.178] NAME <- NAMES[[kk]] [17:28:06.178] if (name != NAME && is.element(NAME, old_names)) [17:28:06.178] next [17:28:06.178] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.178] } [17:28:06.178] if (length(args) > 0) [17:28:06.178] base::do.call(base::Sys.setenv, args = args) [17:28:06.178] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.178] } [17:28:06.178] { [17:28:06.178] if (base::length(...future.futureOptionsAdded) > [17:28:06.178] 0L) { [17:28:06.178] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.178] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.178] base::options(opts) [17:28:06.178] } [17:28:06.178] { [17:28:06.178] { [17:28:06.178] NULL [17:28:06.178] RNGkind("Mersenne-Twister") [17:28:06.178] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.178] inherits = FALSE) [17:28:06.178] } [17:28:06.178] options(future.plan = NULL) [17:28:06.178] if (is.na(NA_character_)) [17:28:06.178] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.178] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.178] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.178] .init = FALSE) [17:28:06.178] } [17:28:06.178] } [17:28:06.178] } [17:28:06.178] }) [17:28:06.178] if (TRUE) { [17:28:06.178] base::sink(type = "output", split = FALSE) [17:28:06.178] if (TRUE) { [17:28:06.178] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.178] } [17:28:06.178] else { [17:28:06.178] ...future.result["stdout"] <- base::list(NULL) [17:28:06.178] } [17:28:06.178] base::close(...future.stdout) [17:28:06.178] ...future.stdout <- NULL [17:28:06.178] } [17:28:06.178] ...future.result$conditions <- ...future.conditions [17:28:06.178] ...future.result$finished <- base::Sys.time() [17:28:06.178] ...future.result [17:28:06.178] } [17:28:06.185] assign_globals() ... [17:28:06.185] List of 1 [17:28:06.185] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.185] - attr(*, "where")=List of 1 [17:28:06.185] ..$ a: [17:28:06.185] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.185] - attr(*, "resolved")= logi TRUE [17:28:06.185] - attr(*, "total_size")= int 3436 [17:28:06.185] - attr(*, "already-done")= logi TRUE [17:28:06.191] - copied 'a' to environment [17:28:06.191] assign_globals() ... done [17:28:06.192] plan(): Setting new future strategy stack: [17:28:06.193] List of future strategies: [17:28:06.193] 1. sequential: [17:28:06.193] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.193] - tweaked: FALSE [17:28:06.193] - call: NULL [17:28:06.194] plan(): nbrOfWorkers() = 1 [17:28:06.196] plan(): Setting new future strategy stack: [17:28:06.197] List of future strategies: [17:28:06.197] 1. sequential: [17:28:06.197] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.197] - tweaked: FALSE [17:28:06.197] - call: plan(strategy) [17:28:06.198] plan(): nbrOfWorkers() = 1 [17:28:06.198] SequentialFuture started (and completed) [17:28:06.199] - Launch lazy future ... done [17:28:06.199] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.200] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.201] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.205] [17:28:06.206] Searching for globals ... DONE [17:28:06.206] - globals: [0] [17:28:06.206] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.207] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.208] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.210] - globals found: [3] '+', 'value', 'a' [17:28:06.210] Searching for globals ... DONE [17:28:06.211] Resolving globals: TRUE [17:28:06.211] Resolving any globals that are futures ... [17:28:06.211] - globals: [3] '+', 'value', 'a' [17:28:06.212] Resolving any globals that are futures ... DONE [17:28:06.212] Resolving futures part of globals (recursively) ... [17:28:06.213] resolve() on list ... [17:28:06.213] recursive: 99 [17:28:06.213] length: 1 [17:28:06.214] elements: 'a' [17:28:06.214] run() for 'Future' ... [17:28:06.214] - state: 'created' [17:28:06.215] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.215] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.216] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.216] - Field: 'label' [17:28:06.216] - Field: 'local' [17:28:06.217] - Field: 'owner' [17:28:06.217] - Field: 'envir' [17:28:06.217] - Field: 'packages' [17:28:06.218] - Field: 'gc' [17:28:06.218] - Field: 'conditions' [17:28:06.218] - Field: 'expr' [17:28:06.219] - Field: 'uuid' [17:28:06.219] - Field: 'seed' [17:28:06.219] - Field: 'version' [17:28:06.220] - Field: 'result' [17:28:06.220] - Field: 'asynchronous' [17:28:06.220] - Field: 'calls' [17:28:06.221] - Field: 'globals' [17:28:06.221] - Field: 'stdout' [17:28:06.221] - Field: 'earlySignal' [17:28:06.222] - Field: 'lazy' [17:28:06.222] - Field: 'state' [17:28:06.222] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.223] - Launch lazy future ... [17:28:06.223] Packages needed by the future expression (n = 0): [17:28:06.223] Packages needed by future strategies (n = 0): [17:28:06.224] { [17:28:06.224] { [17:28:06.224] { [17:28:06.224] ...future.startTime <- base::Sys.time() [17:28:06.224] { [17:28:06.224] { [17:28:06.224] { [17:28:06.224] base::local({ [17:28:06.224] has_future <- base::requireNamespace("future", [17:28:06.224] quietly = TRUE) [17:28:06.224] if (has_future) { [17:28:06.224] ns <- base::getNamespace("future") [17:28:06.224] version <- ns[[".package"]][["version"]] [17:28:06.224] if (is.null(version)) [17:28:06.224] version <- utils::packageVersion("future") [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] version <- NULL [17:28:06.224] } [17:28:06.224] if (!has_future || version < "1.8.0") { [17:28:06.224] info <- base::c(r_version = base::gsub("R version ", [17:28:06.224] "", base::R.version$version.string), [17:28:06.224] platform = base::sprintf("%s (%s-bit)", [17:28:06.224] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.224] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.224] "release", "version")], collapse = " "), [17:28:06.224] hostname = base::Sys.info()[["nodename"]]) [17:28:06.224] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.224] info) [17:28:06.224] info <- base::paste(info, collapse = "; ") [17:28:06.224] if (!has_future) { [17:28:06.224] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.224] info) [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.224] info, version) [17:28:06.224] } [17:28:06.224] base::stop(msg) [17:28:06.224] } [17:28:06.224] }) [17:28:06.224] } [17:28:06.224] ...future.strategy.old <- future::plan("list") [17:28:06.224] options(future.plan = NULL) [17:28:06.224] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.224] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.224] } [17:28:06.224] ...future.workdir <- getwd() [17:28:06.224] } [17:28:06.224] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.224] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.224] } [17:28:06.224] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.224] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.224] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.224] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.224] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.224] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.224] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.224] base::names(...future.oldOptions)) [17:28:06.224] } [17:28:06.224] if (FALSE) { [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] if (TRUE) { [17:28:06.224] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.224] open = "w") [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.224] windows = "NUL", "/dev/null"), open = "w") [17:28:06.224] } [17:28:06.224] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.224] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.224] base::sink(type = "output", split = FALSE) [17:28:06.224] base::close(...future.stdout) [17:28:06.224] }, add = TRUE) [17:28:06.224] } [17:28:06.224] ...future.frame <- base::sys.nframe() [17:28:06.224] ...future.conditions <- base::list() [17:28:06.224] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.224] if (FALSE) { [17:28:06.224] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.224] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.224] } [17:28:06.224] ...future.result <- base::tryCatch({ [17:28:06.224] base::withCallingHandlers({ [17:28:06.224] ...future.value <- base::withVisible(base::local(1)) [17:28:06.224] future::FutureResult(value = ...future.value$value, [17:28:06.224] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.224] ...future.rng), globalenv = if (FALSE) [17:28:06.224] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.224] ...future.globalenv.names)) [17:28:06.224] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.224] }, condition = base::local({ [17:28:06.224] c <- base::c [17:28:06.224] inherits <- base::inherits [17:28:06.224] invokeRestart <- base::invokeRestart [17:28:06.224] length <- base::length [17:28:06.224] list <- base::list [17:28:06.224] seq.int <- base::seq.int [17:28:06.224] signalCondition <- base::signalCondition [17:28:06.224] sys.calls <- base::sys.calls [17:28:06.224] `[[` <- base::`[[` [17:28:06.224] `+` <- base::`+` [17:28:06.224] `<<-` <- base::`<<-` [17:28:06.224] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.224] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.224] 3L)] [17:28:06.224] } [17:28:06.224] function(cond) { [17:28:06.224] is_error <- inherits(cond, "error") [17:28:06.224] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.224] NULL) [17:28:06.224] if (is_error) { [17:28:06.224] sessionInformation <- function() { [17:28:06.224] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.224] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.224] search = base::search(), system = base::Sys.info()) [17:28:06.224] } [17:28:06.224] ...future.conditions[[length(...future.conditions) + [17:28:06.224] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.224] cond$call), session = sessionInformation(), [17:28:06.224] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.224] signalCondition(cond) [17:28:06.224] } [17:28:06.224] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.224] "immediateCondition"))) { [17:28:06.224] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.224] ...future.conditions[[length(...future.conditions) + [17:28:06.224] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.224] if (TRUE && !signal) { [17:28:06.224] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.224] { [17:28:06.224] inherits <- base::inherits [17:28:06.224] invokeRestart <- base::invokeRestart [17:28:06.224] is.null <- base::is.null [17:28:06.224] muffled <- FALSE [17:28:06.224] if (inherits(cond, "message")) { [17:28:06.224] muffled <- grepl(pattern, "muffleMessage") [17:28:06.224] if (muffled) [17:28:06.224] invokeRestart("muffleMessage") [17:28:06.224] } [17:28:06.224] else if (inherits(cond, "warning")) { [17:28:06.224] muffled <- grepl(pattern, "muffleWarning") [17:28:06.224] if (muffled) [17:28:06.224] invokeRestart("muffleWarning") [17:28:06.224] } [17:28:06.224] else if (inherits(cond, "condition")) { [17:28:06.224] if (!is.null(pattern)) { [17:28:06.224] computeRestarts <- base::computeRestarts [17:28:06.224] grepl <- base::grepl [17:28:06.224] restarts <- computeRestarts(cond) [17:28:06.224] for (restart in restarts) { [17:28:06.224] name <- restart$name [17:28:06.224] if (is.null(name)) [17:28:06.224] next [17:28:06.224] if (!grepl(pattern, name)) [17:28:06.224] next [17:28:06.224] invokeRestart(restart) [17:28:06.224] muffled <- TRUE [17:28:06.224] break [17:28:06.224] } [17:28:06.224] } [17:28:06.224] } [17:28:06.224] invisible(muffled) [17:28:06.224] } [17:28:06.224] muffleCondition(cond, pattern = "^muffle") [17:28:06.224] } [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] if (TRUE) { [17:28:06.224] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.224] { [17:28:06.224] inherits <- base::inherits [17:28:06.224] invokeRestart <- base::invokeRestart [17:28:06.224] is.null <- base::is.null [17:28:06.224] muffled <- FALSE [17:28:06.224] if (inherits(cond, "message")) { [17:28:06.224] muffled <- grepl(pattern, "muffleMessage") [17:28:06.224] if (muffled) [17:28:06.224] invokeRestart("muffleMessage") [17:28:06.224] } [17:28:06.224] else if (inherits(cond, "warning")) { [17:28:06.224] muffled <- grepl(pattern, "muffleWarning") [17:28:06.224] if (muffled) [17:28:06.224] invokeRestart("muffleWarning") [17:28:06.224] } [17:28:06.224] else if (inherits(cond, "condition")) { [17:28:06.224] if (!is.null(pattern)) { [17:28:06.224] computeRestarts <- base::computeRestarts [17:28:06.224] grepl <- base::grepl [17:28:06.224] restarts <- computeRestarts(cond) [17:28:06.224] for (restart in restarts) { [17:28:06.224] name <- restart$name [17:28:06.224] if (is.null(name)) [17:28:06.224] next [17:28:06.224] if (!grepl(pattern, name)) [17:28:06.224] next [17:28:06.224] invokeRestart(restart) [17:28:06.224] muffled <- TRUE [17:28:06.224] break [17:28:06.224] } [17:28:06.224] } [17:28:06.224] } [17:28:06.224] invisible(muffled) [17:28:06.224] } [17:28:06.224] muffleCondition(cond, pattern = "^muffle") [17:28:06.224] } [17:28:06.224] } [17:28:06.224] } [17:28:06.224] })) [17:28:06.224] }, error = function(ex) { [17:28:06.224] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.224] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.224] ...future.rng), started = ...future.startTime, [17:28:06.224] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.224] version = "1.8"), class = "FutureResult") [17:28:06.224] }, finally = { [17:28:06.224] if (!identical(...future.workdir, getwd())) [17:28:06.224] setwd(...future.workdir) [17:28:06.224] { [17:28:06.224] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.224] ...future.oldOptions$nwarnings <- NULL [17:28:06.224] } [17:28:06.224] base::options(...future.oldOptions) [17:28:06.224] if (.Platform$OS.type == "windows") { [17:28:06.224] old_names <- names(...future.oldEnvVars) [17:28:06.224] envs <- base::Sys.getenv() [17:28:06.224] names <- names(envs) [17:28:06.224] common <- intersect(names, old_names) [17:28:06.224] added <- setdiff(names, old_names) [17:28:06.224] removed <- setdiff(old_names, names) [17:28:06.224] changed <- common[...future.oldEnvVars[common] != [17:28:06.224] envs[common]] [17:28:06.224] NAMES <- toupper(changed) [17:28:06.224] args <- list() [17:28:06.224] for (kk in seq_along(NAMES)) { [17:28:06.224] name <- changed[[kk]] [17:28:06.224] NAME <- NAMES[[kk]] [17:28:06.224] if (name != NAME && is.element(NAME, old_names)) [17:28:06.224] next [17:28:06.224] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.224] } [17:28:06.224] NAMES <- toupper(added) [17:28:06.224] for (kk in seq_along(NAMES)) { [17:28:06.224] name <- added[[kk]] [17:28:06.224] NAME <- NAMES[[kk]] [17:28:06.224] if (name != NAME && is.element(NAME, old_names)) [17:28:06.224] next [17:28:06.224] args[[name]] <- "" [17:28:06.224] } [17:28:06.224] NAMES <- toupper(removed) [17:28:06.224] for (kk in seq_along(NAMES)) { [17:28:06.224] name <- removed[[kk]] [17:28:06.224] NAME <- NAMES[[kk]] [17:28:06.224] if (name != NAME && is.element(NAME, old_names)) [17:28:06.224] next [17:28:06.224] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.224] } [17:28:06.224] if (length(args) > 0) [17:28:06.224] base::do.call(base::Sys.setenv, args = args) [17:28:06.224] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.224] } [17:28:06.224] { [17:28:06.224] if (base::length(...future.futureOptionsAdded) > [17:28:06.224] 0L) { [17:28:06.224] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.224] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.224] base::options(opts) [17:28:06.224] } [17:28:06.224] { [17:28:06.224] { [17:28:06.224] NULL [17:28:06.224] RNGkind("Mersenne-Twister") [17:28:06.224] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.224] inherits = FALSE) [17:28:06.224] } [17:28:06.224] options(future.plan = NULL) [17:28:06.224] if (is.na(NA_character_)) [17:28:06.224] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.224] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.224] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.224] .init = FALSE) [17:28:06.224] } [17:28:06.224] } [17:28:06.224] } [17:28:06.224] }) [17:28:06.224] if (TRUE) { [17:28:06.224] base::sink(type = "output", split = FALSE) [17:28:06.224] if (TRUE) { [17:28:06.224] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.224] } [17:28:06.224] else { [17:28:06.224] ...future.result["stdout"] <- base::list(NULL) [17:28:06.224] } [17:28:06.224] base::close(...future.stdout) [17:28:06.224] ...future.stdout <- NULL [17:28:06.224] } [17:28:06.224] ...future.result$conditions <- ...future.conditions [17:28:06.224] ...future.result$finished <- base::Sys.time() [17:28:06.224] ...future.result [17:28:06.224] } [17:28:06.231] plan(): Setting new future strategy stack: [17:28:06.232] List of future strategies: [17:28:06.232] 1. sequential: [17:28:06.232] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.232] - tweaked: FALSE [17:28:06.232] - call: NULL [17:28:06.233] plan(): nbrOfWorkers() = 1 [17:28:06.235] plan(): Setting new future strategy stack: [17:28:06.235] List of future strategies: [17:28:06.235] 1. sequential: [17:28:06.235] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.235] - tweaked: FALSE [17:28:06.235] - call: plan(strategy) [17:28:06.237] plan(): nbrOfWorkers() = 1 [17:28:06.237] SequentialFuture started (and completed) [17:28:06.237] - Launch lazy future ... done [17:28:06.238] run() for 'SequentialFuture' ... done [17:28:06.238] resolved() for 'SequentialFuture' ... [17:28:06.238] - state: 'finished' [17:28:06.239] - run: TRUE [17:28:06.239] - result: 'FutureResult' [17:28:06.239] resolved() for 'SequentialFuture' ... done [17:28:06.240] Future #1 [17:28:06.240] resolved() for 'SequentialFuture' ... [17:28:06.240] - state: 'finished' [17:28:06.241] - run: TRUE [17:28:06.241] - result: 'FutureResult' [17:28:06.241] resolved() for 'SequentialFuture' ... done [17:28:06.242] A SequentialFuture was resolved [17:28:06.242] length: 0 (resolved future 1) [17:28:06.242] resolve() on list ... DONE [17:28:06.243] - globals: [1] 'a' [17:28:06.243] Resolving futures part of globals (recursively) ... DONE [17:28:06.243] The total size of the 1 globals is 3.38 KiB (3456 bytes) [17:28:06.244] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.38 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.38 KiB of class 'environment') [17:28:06.245] - globals: [1] 'a' [17:28:06.245] - packages: [1] 'future' [17:28:06.245] getGlobalsAndPackages() ... DONE [17:28:06.246] run() for 'Future' ... [17:28:06.246] - state: 'created' [17:28:06.247] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.247] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.248] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.248] - Field: 'label' [17:28:06.248] - Field: 'local' [17:28:06.249] - Field: 'owner' [17:28:06.249] - Field: 'envir' [17:28:06.249] - Field: 'packages' [17:28:06.249] - Field: 'gc' [17:28:06.250] - Field: 'conditions' [17:28:06.250] - Field: 'expr' [17:28:06.250] - Field: 'uuid' [17:28:06.250] - Field: 'seed' [17:28:06.251] - Field: 'version' [17:28:06.251] - Field: 'result' [17:28:06.251] - Field: 'asynchronous' [17:28:06.251] - Field: 'calls' [17:28:06.252] - Field: 'globals' [17:28:06.252] - Field: 'stdout' [17:28:06.252] - Field: 'earlySignal' [17:28:06.252] - Field: 'lazy' [17:28:06.252] - Field: 'state' [17:28:06.253] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.253] - Launch lazy future ... [17:28:06.253] Packages needed by the future expression (n = 1): 'future' [17:28:06.254] Packages needed by future strategies (n = 0): [17:28:06.255] { [17:28:06.255] { [17:28:06.255] { [17:28:06.255] ...future.startTime <- base::Sys.time() [17:28:06.255] { [17:28:06.255] { [17:28:06.255] { [17:28:06.255] { [17:28:06.255] base::local({ [17:28:06.255] has_future <- base::requireNamespace("future", [17:28:06.255] quietly = TRUE) [17:28:06.255] if (has_future) { [17:28:06.255] ns <- base::getNamespace("future") [17:28:06.255] version <- ns[[".package"]][["version"]] [17:28:06.255] if (is.null(version)) [17:28:06.255] version <- utils::packageVersion("future") [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] version <- NULL [17:28:06.255] } [17:28:06.255] if (!has_future || version < "1.8.0") { [17:28:06.255] info <- base::c(r_version = base::gsub("R version ", [17:28:06.255] "", base::R.version$version.string), [17:28:06.255] platform = base::sprintf("%s (%s-bit)", [17:28:06.255] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.255] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.255] "release", "version")], collapse = " "), [17:28:06.255] hostname = base::Sys.info()[["nodename"]]) [17:28:06.255] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.255] info) [17:28:06.255] info <- base::paste(info, collapse = "; ") [17:28:06.255] if (!has_future) { [17:28:06.255] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.255] info) [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.255] info, version) [17:28:06.255] } [17:28:06.255] base::stop(msg) [17:28:06.255] } [17:28:06.255] }) [17:28:06.255] } [17:28:06.255] base::local({ [17:28:06.255] for (pkg in "future") { [17:28:06.255] base::loadNamespace(pkg) [17:28:06.255] base::library(pkg, character.only = TRUE) [17:28:06.255] } [17:28:06.255] }) [17:28:06.255] } [17:28:06.255] ...future.strategy.old <- future::plan("list") [17:28:06.255] options(future.plan = NULL) [17:28:06.255] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.255] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.255] } [17:28:06.255] ...future.workdir <- getwd() [17:28:06.255] } [17:28:06.255] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.255] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.255] } [17:28:06.255] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.255] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.255] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.255] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.255] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.255] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.255] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.255] base::names(...future.oldOptions)) [17:28:06.255] } [17:28:06.255] if (FALSE) { [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] if (TRUE) { [17:28:06.255] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.255] open = "w") [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.255] windows = "NUL", "/dev/null"), open = "w") [17:28:06.255] } [17:28:06.255] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.255] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.255] base::sink(type = "output", split = FALSE) [17:28:06.255] base::close(...future.stdout) [17:28:06.255] }, add = TRUE) [17:28:06.255] } [17:28:06.255] ...future.frame <- base::sys.nframe() [17:28:06.255] ...future.conditions <- base::list() [17:28:06.255] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.255] if (FALSE) { [17:28:06.255] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.255] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.255] } [17:28:06.255] ...future.result <- base::tryCatch({ [17:28:06.255] base::withCallingHandlers({ [17:28:06.255] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.255] 1)) [17:28:06.255] future::FutureResult(value = ...future.value$value, [17:28:06.255] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.255] ...future.rng), globalenv = if (FALSE) [17:28:06.255] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.255] ...future.globalenv.names)) [17:28:06.255] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.255] }, condition = base::local({ [17:28:06.255] c <- base::c [17:28:06.255] inherits <- base::inherits [17:28:06.255] invokeRestart <- base::invokeRestart [17:28:06.255] length <- base::length [17:28:06.255] list <- base::list [17:28:06.255] seq.int <- base::seq.int [17:28:06.255] signalCondition <- base::signalCondition [17:28:06.255] sys.calls <- base::sys.calls [17:28:06.255] `[[` <- base::`[[` [17:28:06.255] `+` <- base::`+` [17:28:06.255] `<<-` <- base::`<<-` [17:28:06.255] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.255] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.255] 3L)] [17:28:06.255] } [17:28:06.255] function(cond) { [17:28:06.255] is_error <- inherits(cond, "error") [17:28:06.255] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.255] NULL) [17:28:06.255] if (is_error) { [17:28:06.255] sessionInformation <- function() { [17:28:06.255] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.255] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.255] search = base::search(), system = base::Sys.info()) [17:28:06.255] } [17:28:06.255] ...future.conditions[[length(...future.conditions) + [17:28:06.255] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.255] cond$call), session = sessionInformation(), [17:28:06.255] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.255] signalCondition(cond) [17:28:06.255] } [17:28:06.255] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.255] "immediateCondition"))) { [17:28:06.255] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.255] ...future.conditions[[length(...future.conditions) + [17:28:06.255] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.255] if (TRUE && !signal) { [17:28:06.255] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.255] { [17:28:06.255] inherits <- base::inherits [17:28:06.255] invokeRestart <- base::invokeRestart [17:28:06.255] is.null <- base::is.null [17:28:06.255] muffled <- FALSE [17:28:06.255] if (inherits(cond, "message")) { [17:28:06.255] muffled <- grepl(pattern, "muffleMessage") [17:28:06.255] if (muffled) [17:28:06.255] invokeRestart("muffleMessage") [17:28:06.255] } [17:28:06.255] else if (inherits(cond, "warning")) { [17:28:06.255] muffled <- grepl(pattern, "muffleWarning") [17:28:06.255] if (muffled) [17:28:06.255] invokeRestart("muffleWarning") [17:28:06.255] } [17:28:06.255] else if (inherits(cond, "condition")) { [17:28:06.255] if (!is.null(pattern)) { [17:28:06.255] computeRestarts <- base::computeRestarts [17:28:06.255] grepl <- base::grepl [17:28:06.255] restarts <- computeRestarts(cond) [17:28:06.255] for (restart in restarts) { [17:28:06.255] name <- restart$name [17:28:06.255] if (is.null(name)) [17:28:06.255] next [17:28:06.255] if (!grepl(pattern, name)) [17:28:06.255] next [17:28:06.255] invokeRestart(restart) [17:28:06.255] muffled <- TRUE [17:28:06.255] break [17:28:06.255] } [17:28:06.255] } [17:28:06.255] } [17:28:06.255] invisible(muffled) [17:28:06.255] } [17:28:06.255] muffleCondition(cond, pattern = "^muffle") [17:28:06.255] } [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] if (TRUE) { [17:28:06.255] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.255] { [17:28:06.255] inherits <- base::inherits [17:28:06.255] invokeRestart <- base::invokeRestart [17:28:06.255] is.null <- base::is.null [17:28:06.255] muffled <- FALSE [17:28:06.255] if (inherits(cond, "message")) { [17:28:06.255] muffled <- grepl(pattern, "muffleMessage") [17:28:06.255] if (muffled) [17:28:06.255] invokeRestart("muffleMessage") [17:28:06.255] } [17:28:06.255] else if (inherits(cond, "warning")) { [17:28:06.255] muffled <- grepl(pattern, "muffleWarning") [17:28:06.255] if (muffled) [17:28:06.255] invokeRestart("muffleWarning") [17:28:06.255] } [17:28:06.255] else if (inherits(cond, "condition")) { [17:28:06.255] if (!is.null(pattern)) { [17:28:06.255] computeRestarts <- base::computeRestarts [17:28:06.255] grepl <- base::grepl [17:28:06.255] restarts <- computeRestarts(cond) [17:28:06.255] for (restart in restarts) { [17:28:06.255] name <- restart$name [17:28:06.255] if (is.null(name)) [17:28:06.255] next [17:28:06.255] if (!grepl(pattern, name)) [17:28:06.255] next [17:28:06.255] invokeRestart(restart) [17:28:06.255] muffled <- TRUE [17:28:06.255] break [17:28:06.255] } [17:28:06.255] } [17:28:06.255] } [17:28:06.255] invisible(muffled) [17:28:06.255] } [17:28:06.255] muffleCondition(cond, pattern = "^muffle") [17:28:06.255] } [17:28:06.255] } [17:28:06.255] } [17:28:06.255] })) [17:28:06.255] }, error = function(ex) { [17:28:06.255] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.255] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.255] ...future.rng), started = ...future.startTime, [17:28:06.255] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.255] version = "1.8"), class = "FutureResult") [17:28:06.255] }, finally = { [17:28:06.255] if (!identical(...future.workdir, getwd())) [17:28:06.255] setwd(...future.workdir) [17:28:06.255] { [17:28:06.255] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.255] ...future.oldOptions$nwarnings <- NULL [17:28:06.255] } [17:28:06.255] base::options(...future.oldOptions) [17:28:06.255] if (.Platform$OS.type == "windows") { [17:28:06.255] old_names <- names(...future.oldEnvVars) [17:28:06.255] envs <- base::Sys.getenv() [17:28:06.255] names <- names(envs) [17:28:06.255] common <- intersect(names, old_names) [17:28:06.255] added <- setdiff(names, old_names) [17:28:06.255] removed <- setdiff(old_names, names) [17:28:06.255] changed <- common[...future.oldEnvVars[common] != [17:28:06.255] envs[common]] [17:28:06.255] NAMES <- toupper(changed) [17:28:06.255] args <- list() [17:28:06.255] for (kk in seq_along(NAMES)) { [17:28:06.255] name <- changed[[kk]] [17:28:06.255] NAME <- NAMES[[kk]] [17:28:06.255] if (name != NAME && is.element(NAME, old_names)) [17:28:06.255] next [17:28:06.255] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.255] } [17:28:06.255] NAMES <- toupper(added) [17:28:06.255] for (kk in seq_along(NAMES)) { [17:28:06.255] name <- added[[kk]] [17:28:06.255] NAME <- NAMES[[kk]] [17:28:06.255] if (name != NAME && is.element(NAME, old_names)) [17:28:06.255] next [17:28:06.255] args[[name]] <- "" [17:28:06.255] } [17:28:06.255] NAMES <- toupper(removed) [17:28:06.255] for (kk in seq_along(NAMES)) { [17:28:06.255] name <- removed[[kk]] [17:28:06.255] NAME <- NAMES[[kk]] [17:28:06.255] if (name != NAME && is.element(NAME, old_names)) [17:28:06.255] next [17:28:06.255] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.255] } [17:28:06.255] if (length(args) > 0) [17:28:06.255] base::do.call(base::Sys.setenv, args = args) [17:28:06.255] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.255] } [17:28:06.255] { [17:28:06.255] if (base::length(...future.futureOptionsAdded) > [17:28:06.255] 0L) { [17:28:06.255] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.255] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.255] base::options(opts) [17:28:06.255] } [17:28:06.255] { [17:28:06.255] { [17:28:06.255] NULL [17:28:06.255] RNGkind("Mersenne-Twister") [17:28:06.255] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.255] inherits = FALSE) [17:28:06.255] } [17:28:06.255] options(future.plan = NULL) [17:28:06.255] if (is.na(NA_character_)) [17:28:06.255] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.255] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.255] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.255] .init = FALSE) [17:28:06.255] } [17:28:06.255] } [17:28:06.255] } [17:28:06.255] }) [17:28:06.255] if (TRUE) { [17:28:06.255] base::sink(type = "output", split = FALSE) [17:28:06.255] if (TRUE) { [17:28:06.255] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.255] } [17:28:06.255] else { [17:28:06.255] ...future.result["stdout"] <- base::list(NULL) [17:28:06.255] } [17:28:06.255] base::close(...future.stdout) [17:28:06.255] ...future.stdout <- NULL [17:28:06.255] } [17:28:06.255] ...future.result$conditions <- ...future.conditions [17:28:06.255] ...future.result$finished <- base::Sys.time() [17:28:06.255] ...future.result [17:28:06.255] } [17:28:06.260] assign_globals() ... [17:28:06.260] List of 1 [17:28:06.260] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.260] - attr(*, "where")=List of 1 [17:28:06.260] ..$ a: [17:28:06.260] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.260] - attr(*, "resolved")= logi TRUE [17:28:06.260] - attr(*, "total_size")= int 3456 [17:28:06.260] - attr(*, "already-done")= logi TRUE [17:28:06.269] - copied 'a' to environment [17:28:06.269] assign_globals() ... done [17:28:06.270] plan(): Setting new future strategy stack: [17:28:06.271] List of future strategies: [17:28:06.271] 1. sequential: [17:28:06.271] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.271] - tweaked: FALSE [17:28:06.271] - call: NULL [17:28:06.272] plan(): nbrOfWorkers() = 1 [17:28:06.274] plan(): Setting new future strategy stack: [17:28:06.274] List of future strategies: [17:28:06.274] 1. sequential: [17:28:06.274] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.274] - tweaked: FALSE [17:28:06.274] - call: plan(strategy) [17:28:06.275] plan(): nbrOfWorkers() = 1 [17:28:06.276] SequentialFuture started (and completed) [17:28:06.276] - Launch lazy future ... done [17:28:06.276] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.277] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.278] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.279] [17:28:06.279] Searching for globals ... DONE [17:28:06.280] - globals: [0] [17:28:06.280] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.281] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.281] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.283] - globals found: [3] '+', 'value', 'a' [17:28:06.283] Searching for globals ... DONE [17:28:06.284] Resolving globals: TRUE [17:28:06.284] Resolving any globals that are futures ... [17:28:06.284] - globals: [3] '+', 'value', 'a' [17:28:06.284] Resolving any globals that are futures ... DONE [17:28:06.285] Resolving futures part of globals (recursively) ... [17:28:06.286] resolve() on list ... [17:28:06.286] recursive: 99 [17:28:06.286] length: 1 [17:28:06.287] elements: 'a' [17:28:06.287] run() for 'Future' ... [17:28:06.287] - state: 'created' [17:28:06.288] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.288] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.289] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.289] - Field: 'label' [17:28:06.289] - Field: 'local' [17:28:06.290] - Field: 'owner' [17:28:06.290] - Field: 'envir' [17:28:06.290] - Field: 'packages' [17:28:06.291] - Field: 'gc' [17:28:06.291] - Field: 'conditions' [17:28:06.291] - Field: 'expr' [17:28:06.292] - Field: 'uuid' [17:28:06.292] - Field: 'seed' [17:28:06.292] - Field: 'version' [17:28:06.293] - Field: 'result' [17:28:06.293] - Field: 'asynchronous' [17:28:06.293] - Field: 'calls' [17:28:06.294] - Field: 'globals' [17:28:06.294] - Field: 'stdout' [17:28:06.294] - Field: 'earlySignal' [17:28:06.295] - Field: 'lazy' [17:28:06.295] - Field: 'state' [17:28:06.295] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.296] - Launch lazy future ... [17:28:06.296] Packages needed by the future expression (n = 0): [17:28:06.296] Packages needed by future strategies (n = 0): [17:28:06.298] { [17:28:06.298] { [17:28:06.298] { [17:28:06.298] ...future.startTime <- base::Sys.time() [17:28:06.298] { [17:28:06.298] { [17:28:06.298] { [17:28:06.298] base::local({ [17:28:06.298] has_future <- base::requireNamespace("future", [17:28:06.298] quietly = TRUE) [17:28:06.298] if (has_future) { [17:28:06.298] ns <- base::getNamespace("future") [17:28:06.298] version <- ns[[".package"]][["version"]] [17:28:06.298] if (is.null(version)) [17:28:06.298] version <- utils::packageVersion("future") [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] version <- NULL [17:28:06.298] } [17:28:06.298] if (!has_future || version < "1.8.0") { [17:28:06.298] info <- base::c(r_version = base::gsub("R version ", [17:28:06.298] "", base::R.version$version.string), [17:28:06.298] platform = base::sprintf("%s (%s-bit)", [17:28:06.298] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.298] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.298] "release", "version")], collapse = " "), [17:28:06.298] hostname = base::Sys.info()[["nodename"]]) [17:28:06.298] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.298] info) [17:28:06.298] info <- base::paste(info, collapse = "; ") [17:28:06.298] if (!has_future) { [17:28:06.298] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.298] info) [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.298] info, version) [17:28:06.298] } [17:28:06.298] base::stop(msg) [17:28:06.298] } [17:28:06.298] }) [17:28:06.298] } [17:28:06.298] ...future.strategy.old <- future::plan("list") [17:28:06.298] options(future.plan = NULL) [17:28:06.298] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.298] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.298] } [17:28:06.298] ...future.workdir <- getwd() [17:28:06.298] } [17:28:06.298] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.298] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.298] } [17:28:06.298] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.298] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.298] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.298] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.298] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.298] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.298] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.298] base::names(...future.oldOptions)) [17:28:06.298] } [17:28:06.298] if (FALSE) { [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] if (TRUE) { [17:28:06.298] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.298] open = "w") [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.298] windows = "NUL", "/dev/null"), open = "w") [17:28:06.298] } [17:28:06.298] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.298] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.298] base::sink(type = "output", split = FALSE) [17:28:06.298] base::close(...future.stdout) [17:28:06.298] }, add = TRUE) [17:28:06.298] } [17:28:06.298] ...future.frame <- base::sys.nframe() [17:28:06.298] ...future.conditions <- base::list() [17:28:06.298] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.298] if (FALSE) { [17:28:06.298] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.298] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.298] } [17:28:06.298] ...future.result <- base::tryCatch({ [17:28:06.298] base::withCallingHandlers({ [17:28:06.298] ...future.value <- base::withVisible(base::local(1)) [17:28:06.298] future::FutureResult(value = ...future.value$value, [17:28:06.298] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.298] ...future.rng), globalenv = if (FALSE) [17:28:06.298] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.298] ...future.globalenv.names)) [17:28:06.298] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.298] }, condition = base::local({ [17:28:06.298] c <- base::c [17:28:06.298] inherits <- base::inherits [17:28:06.298] invokeRestart <- base::invokeRestart [17:28:06.298] length <- base::length [17:28:06.298] list <- base::list [17:28:06.298] seq.int <- base::seq.int [17:28:06.298] signalCondition <- base::signalCondition [17:28:06.298] sys.calls <- base::sys.calls [17:28:06.298] `[[` <- base::`[[` [17:28:06.298] `+` <- base::`+` [17:28:06.298] `<<-` <- base::`<<-` [17:28:06.298] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.298] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.298] 3L)] [17:28:06.298] } [17:28:06.298] function(cond) { [17:28:06.298] is_error <- inherits(cond, "error") [17:28:06.298] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.298] NULL) [17:28:06.298] if (is_error) { [17:28:06.298] sessionInformation <- function() { [17:28:06.298] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.298] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.298] search = base::search(), system = base::Sys.info()) [17:28:06.298] } [17:28:06.298] ...future.conditions[[length(...future.conditions) + [17:28:06.298] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.298] cond$call), session = sessionInformation(), [17:28:06.298] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.298] signalCondition(cond) [17:28:06.298] } [17:28:06.298] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.298] "immediateCondition"))) { [17:28:06.298] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.298] ...future.conditions[[length(...future.conditions) + [17:28:06.298] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.298] if (TRUE && !signal) { [17:28:06.298] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.298] { [17:28:06.298] inherits <- base::inherits [17:28:06.298] invokeRestart <- base::invokeRestart [17:28:06.298] is.null <- base::is.null [17:28:06.298] muffled <- FALSE [17:28:06.298] if (inherits(cond, "message")) { [17:28:06.298] muffled <- grepl(pattern, "muffleMessage") [17:28:06.298] if (muffled) [17:28:06.298] invokeRestart("muffleMessage") [17:28:06.298] } [17:28:06.298] else if (inherits(cond, "warning")) { [17:28:06.298] muffled <- grepl(pattern, "muffleWarning") [17:28:06.298] if (muffled) [17:28:06.298] invokeRestart("muffleWarning") [17:28:06.298] } [17:28:06.298] else if (inherits(cond, "condition")) { [17:28:06.298] if (!is.null(pattern)) { [17:28:06.298] computeRestarts <- base::computeRestarts [17:28:06.298] grepl <- base::grepl [17:28:06.298] restarts <- computeRestarts(cond) [17:28:06.298] for (restart in restarts) { [17:28:06.298] name <- restart$name [17:28:06.298] if (is.null(name)) [17:28:06.298] next [17:28:06.298] if (!grepl(pattern, name)) [17:28:06.298] next [17:28:06.298] invokeRestart(restart) [17:28:06.298] muffled <- TRUE [17:28:06.298] break [17:28:06.298] } [17:28:06.298] } [17:28:06.298] } [17:28:06.298] invisible(muffled) [17:28:06.298] } [17:28:06.298] muffleCondition(cond, pattern = "^muffle") [17:28:06.298] } [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] if (TRUE) { [17:28:06.298] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.298] { [17:28:06.298] inherits <- base::inherits [17:28:06.298] invokeRestart <- base::invokeRestart [17:28:06.298] is.null <- base::is.null [17:28:06.298] muffled <- FALSE [17:28:06.298] if (inherits(cond, "message")) { [17:28:06.298] muffled <- grepl(pattern, "muffleMessage") [17:28:06.298] if (muffled) [17:28:06.298] invokeRestart("muffleMessage") [17:28:06.298] } [17:28:06.298] else if (inherits(cond, "warning")) { [17:28:06.298] muffled <- grepl(pattern, "muffleWarning") [17:28:06.298] if (muffled) [17:28:06.298] invokeRestart("muffleWarning") [17:28:06.298] } [17:28:06.298] else if (inherits(cond, "condition")) { [17:28:06.298] if (!is.null(pattern)) { [17:28:06.298] computeRestarts <- base::computeRestarts [17:28:06.298] grepl <- base::grepl [17:28:06.298] restarts <- computeRestarts(cond) [17:28:06.298] for (restart in restarts) { [17:28:06.298] name <- restart$name [17:28:06.298] if (is.null(name)) [17:28:06.298] next [17:28:06.298] if (!grepl(pattern, name)) [17:28:06.298] next [17:28:06.298] invokeRestart(restart) [17:28:06.298] muffled <- TRUE [17:28:06.298] break [17:28:06.298] } [17:28:06.298] } [17:28:06.298] } [17:28:06.298] invisible(muffled) [17:28:06.298] } [17:28:06.298] muffleCondition(cond, pattern = "^muffle") [17:28:06.298] } [17:28:06.298] } [17:28:06.298] } [17:28:06.298] })) [17:28:06.298] }, error = function(ex) { [17:28:06.298] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.298] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.298] ...future.rng), started = ...future.startTime, [17:28:06.298] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.298] version = "1.8"), class = "FutureResult") [17:28:06.298] }, finally = { [17:28:06.298] if (!identical(...future.workdir, getwd())) [17:28:06.298] setwd(...future.workdir) [17:28:06.298] { [17:28:06.298] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.298] ...future.oldOptions$nwarnings <- NULL [17:28:06.298] } [17:28:06.298] base::options(...future.oldOptions) [17:28:06.298] if (.Platform$OS.type == "windows") { [17:28:06.298] old_names <- names(...future.oldEnvVars) [17:28:06.298] envs <- base::Sys.getenv() [17:28:06.298] names <- names(envs) [17:28:06.298] common <- intersect(names, old_names) [17:28:06.298] added <- setdiff(names, old_names) [17:28:06.298] removed <- setdiff(old_names, names) [17:28:06.298] changed <- common[...future.oldEnvVars[common] != [17:28:06.298] envs[common]] [17:28:06.298] NAMES <- toupper(changed) [17:28:06.298] args <- list() [17:28:06.298] for (kk in seq_along(NAMES)) { [17:28:06.298] name <- changed[[kk]] [17:28:06.298] NAME <- NAMES[[kk]] [17:28:06.298] if (name != NAME && is.element(NAME, old_names)) [17:28:06.298] next [17:28:06.298] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.298] } [17:28:06.298] NAMES <- toupper(added) [17:28:06.298] for (kk in seq_along(NAMES)) { [17:28:06.298] name <- added[[kk]] [17:28:06.298] NAME <- NAMES[[kk]] [17:28:06.298] if (name != NAME && is.element(NAME, old_names)) [17:28:06.298] next [17:28:06.298] args[[name]] <- "" [17:28:06.298] } [17:28:06.298] NAMES <- toupper(removed) [17:28:06.298] for (kk in seq_along(NAMES)) { [17:28:06.298] name <- removed[[kk]] [17:28:06.298] NAME <- NAMES[[kk]] [17:28:06.298] if (name != NAME && is.element(NAME, old_names)) [17:28:06.298] next [17:28:06.298] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.298] } [17:28:06.298] if (length(args) > 0) [17:28:06.298] base::do.call(base::Sys.setenv, args = args) [17:28:06.298] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.298] } [17:28:06.298] { [17:28:06.298] if (base::length(...future.futureOptionsAdded) > [17:28:06.298] 0L) { [17:28:06.298] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.298] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.298] base::options(opts) [17:28:06.298] } [17:28:06.298] { [17:28:06.298] { [17:28:06.298] NULL [17:28:06.298] RNGkind("Mersenne-Twister") [17:28:06.298] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.298] inherits = FALSE) [17:28:06.298] } [17:28:06.298] options(future.plan = NULL) [17:28:06.298] if (is.na(NA_character_)) [17:28:06.298] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.298] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.298] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.298] .init = FALSE) [17:28:06.298] } [17:28:06.298] } [17:28:06.298] } [17:28:06.298] }) [17:28:06.298] if (TRUE) { [17:28:06.298] base::sink(type = "output", split = FALSE) [17:28:06.298] if (TRUE) { [17:28:06.298] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.298] } [17:28:06.298] else { [17:28:06.298] ...future.result["stdout"] <- base::list(NULL) [17:28:06.298] } [17:28:06.298] base::close(...future.stdout) [17:28:06.298] ...future.stdout <- NULL [17:28:06.298] } [17:28:06.298] ...future.result$conditions <- ...future.conditions [17:28:06.298] ...future.result$finished <- base::Sys.time() [17:28:06.298] ...future.result [17:28:06.298] } [17:28:06.304] plan(): Setting new future strategy stack: [17:28:06.305] List of future strategies: [17:28:06.305] 1. sequential: [17:28:06.305] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.305] - tweaked: FALSE [17:28:06.305] - call: NULL [17:28:06.306] plan(): nbrOfWorkers() = 1 [17:28:06.308] plan(): Setting new future strategy stack: [17:28:06.308] List of future strategies: [17:28:06.308] 1. sequential: [17:28:06.308] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.308] - tweaked: FALSE [17:28:06.308] - call: plan(strategy) [17:28:06.309] plan(): nbrOfWorkers() = 1 [17:28:06.310] SequentialFuture started (and completed) [17:28:06.310] - Launch lazy future ... done [17:28:06.310] run() for 'SequentialFuture' ... done [17:28:06.311] resolved() for 'SequentialFuture' ... [17:28:06.311] - state: 'finished' [17:28:06.312] - run: TRUE [17:28:06.312] - result: 'FutureResult' [17:28:06.312] resolved() for 'SequentialFuture' ... done [17:28:06.313] Future #1 [17:28:06.313] resolved() for 'SequentialFuture' ... [17:28:06.313] - state: 'finished' [17:28:06.314] - run: TRUE [17:28:06.314] - result: 'FutureResult' [17:28:06.314] resolved() for 'SequentialFuture' ... done [17:28:06.315] A SequentialFuture was resolved [17:28:06.315] length: 0 (resolved future 1) [17:28:06.315] resolve() on list ... DONE [17:28:06.316] - globals: [1] 'a' [17:28:06.316] Resolving futures part of globals (recursively) ... DONE [17:28:06.316] The total size of the 1 globals is 3.38 KiB (3456 bytes) [17:28:06.317] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.38 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.38 KiB of class 'environment') [17:28:06.322] - globals: [1] 'a' [17:28:06.322] - packages: [1] 'future' [17:28:06.323] getGlobalsAndPackages() ... DONE [17:28:06.323] run() for 'Future' ... [17:28:06.324] - state: 'created' [17:28:06.324] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.325] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.325] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.325] - Field: 'label' [17:28:06.326] - Field: 'local' [17:28:06.326] - Field: 'owner' [17:28:06.326] - Field: 'envir' [17:28:06.327] - Field: 'packages' [17:28:06.327] - Field: 'gc' [17:28:06.327] - Field: 'conditions' [17:28:06.328] - Field: 'expr' [17:28:06.328] - Field: 'uuid' [17:28:06.328] - Field: 'seed' [17:28:06.328] - Field: 'version' [17:28:06.329] - Field: 'result' [17:28:06.329] - Field: 'asynchronous' [17:28:06.329] - Field: 'calls' [17:28:06.330] - Field: 'globals' [17:28:06.330] - Field: 'stdout' [17:28:06.330] - Field: 'earlySignal' [17:28:06.331] - Field: 'lazy' [17:28:06.331] - Field: 'state' [17:28:06.331] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.332] - Launch lazy future ... [17:28:06.332] Packages needed by the future expression (n = 1): 'future' [17:28:06.333] Packages needed by future strategies (n = 0): [17:28:06.334] { [17:28:06.334] { [17:28:06.334] { [17:28:06.334] ...future.startTime <- base::Sys.time() [17:28:06.334] { [17:28:06.334] { [17:28:06.334] { [17:28:06.334] { [17:28:06.334] base::local({ [17:28:06.334] has_future <- base::requireNamespace("future", [17:28:06.334] quietly = TRUE) [17:28:06.334] if (has_future) { [17:28:06.334] ns <- base::getNamespace("future") [17:28:06.334] version <- ns[[".package"]][["version"]] [17:28:06.334] if (is.null(version)) [17:28:06.334] version <- utils::packageVersion("future") [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] version <- NULL [17:28:06.334] } [17:28:06.334] if (!has_future || version < "1.8.0") { [17:28:06.334] info <- base::c(r_version = base::gsub("R version ", [17:28:06.334] "", base::R.version$version.string), [17:28:06.334] platform = base::sprintf("%s (%s-bit)", [17:28:06.334] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.334] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.334] "release", "version")], collapse = " "), [17:28:06.334] hostname = base::Sys.info()[["nodename"]]) [17:28:06.334] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.334] info) [17:28:06.334] info <- base::paste(info, collapse = "; ") [17:28:06.334] if (!has_future) { [17:28:06.334] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.334] info) [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.334] info, version) [17:28:06.334] } [17:28:06.334] base::stop(msg) [17:28:06.334] } [17:28:06.334] }) [17:28:06.334] } [17:28:06.334] base::local({ [17:28:06.334] for (pkg in "future") { [17:28:06.334] base::loadNamespace(pkg) [17:28:06.334] base::library(pkg, character.only = TRUE) [17:28:06.334] } [17:28:06.334] }) [17:28:06.334] } [17:28:06.334] ...future.strategy.old <- future::plan("list") [17:28:06.334] options(future.plan = NULL) [17:28:06.334] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.334] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.334] } [17:28:06.334] ...future.workdir <- getwd() [17:28:06.334] } [17:28:06.334] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.334] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.334] } [17:28:06.334] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.334] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.334] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.334] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.334] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.334] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.334] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.334] base::names(...future.oldOptions)) [17:28:06.334] } [17:28:06.334] if (FALSE) { [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] if (TRUE) { [17:28:06.334] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.334] open = "w") [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.334] windows = "NUL", "/dev/null"), open = "w") [17:28:06.334] } [17:28:06.334] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.334] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.334] base::sink(type = "output", split = FALSE) [17:28:06.334] base::close(...future.stdout) [17:28:06.334] }, add = TRUE) [17:28:06.334] } [17:28:06.334] ...future.frame <- base::sys.nframe() [17:28:06.334] ...future.conditions <- base::list() [17:28:06.334] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.334] if (FALSE) { [17:28:06.334] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.334] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.334] } [17:28:06.334] ...future.result <- base::tryCatch({ [17:28:06.334] base::withCallingHandlers({ [17:28:06.334] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.334] 1)) [17:28:06.334] future::FutureResult(value = ...future.value$value, [17:28:06.334] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.334] ...future.rng), globalenv = if (FALSE) [17:28:06.334] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.334] ...future.globalenv.names)) [17:28:06.334] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.334] }, condition = base::local({ [17:28:06.334] c <- base::c [17:28:06.334] inherits <- base::inherits [17:28:06.334] invokeRestart <- base::invokeRestart [17:28:06.334] length <- base::length [17:28:06.334] list <- base::list [17:28:06.334] seq.int <- base::seq.int [17:28:06.334] signalCondition <- base::signalCondition [17:28:06.334] sys.calls <- base::sys.calls [17:28:06.334] `[[` <- base::`[[` [17:28:06.334] `+` <- base::`+` [17:28:06.334] `<<-` <- base::`<<-` [17:28:06.334] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.334] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.334] 3L)] [17:28:06.334] } [17:28:06.334] function(cond) { [17:28:06.334] is_error <- inherits(cond, "error") [17:28:06.334] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.334] NULL) [17:28:06.334] if (is_error) { [17:28:06.334] sessionInformation <- function() { [17:28:06.334] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.334] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.334] search = base::search(), system = base::Sys.info()) [17:28:06.334] } [17:28:06.334] ...future.conditions[[length(...future.conditions) + [17:28:06.334] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.334] cond$call), session = sessionInformation(), [17:28:06.334] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.334] signalCondition(cond) [17:28:06.334] } [17:28:06.334] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.334] "immediateCondition"))) { [17:28:06.334] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.334] ...future.conditions[[length(...future.conditions) + [17:28:06.334] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.334] if (TRUE && !signal) { [17:28:06.334] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.334] { [17:28:06.334] inherits <- base::inherits [17:28:06.334] invokeRestart <- base::invokeRestart [17:28:06.334] is.null <- base::is.null [17:28:06.334] muffled <- FALSE [17:28:06.334] if (inherits(cond, "message")) { [17:28:06.334] muffled <- grepl(pattern, "muffleMessage") [17:28:06.334] if (muffled) [17:28:06.334] invokeRestart("muffleMessage") [17:28:06.334] } [17:28:06.334] else if (inherits(cond, "warning")) { [17:28:06.334] muffled <- grepl(pattern, "muffleWarning") [17:28:06.334] if (muffled) [17:28:06.334] invokeRestart("muffleWarning") [17:28:06.334] } [17:28:06.334] else if (inherits(cond, "condition")) { [17:28:06.334] if (!is.null(pattern)) { [17:28:06.334] computeRestarts <- base::computeRestarts [17:28:06.334] grepl <- base::grepl [17:28:06.334] restarts <- computeRestarts(cond) [17:28:06.334] for (restart in restarts) { [17:28:06.334] name <- restart$name [17:28:06.334] if (is.null(name)) [17:28:06.334] next [17:28:06.334] if (!grepl(pattern, name)) [17:28:06.334] next [17:28:06.334] invokeRestart(restart) [17:28:06.334] muffled <- TRUE [17:28:06.334] break [17:28:06.334] } [17:28:06.334] } [17:28:06.334] } [17:28:06.334] invisible(muffled) [17:28:06.334] } [17:28:06.334] muffleCondition(cond, pattern = "^muffle") [17:28:06.334] } [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] if (TRUE) { [17:28:06.334] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.334] { [17:28:06.334] inherits <- base::inherits [17:28:06.334] invokeRestart <- base::invokeRestart [17:28:06.334] is.null <- base::is.null [17:28:06.334] muffled <- FALSE [17:28:06.334] if (inherits(cond, "message")) { [17:28:06.334] muffled <- grepl(pattern, "muffleMessage") [17:28:06.334] if (muffled) [17:28:06.334] invokeRestart("muffleMessage") [17:28:06.334] } [17:28:06.334] else if (inherits(cond, "warning")) { [17:28:06.334] muffled <- grepl(pattern, "muffleWarning") [17:28:06.334] if (muffled) [17:28:06.334] invokeRestart("muffleWarning") [17:28:06.334] } [17:28:06.334] else if (inherits(cond, "condition")) { [17:28:06.334] if (!is.null(pattern)) { [17:28:06.334] computeRestarts <- base::computeRestarts [17:28:06.334] grepl <- base::grepl [17:28:06.334] restarts <- computeRestarts(cond) [17:28:06.334] for (restart in restarts) { [17:28:06.334] name <- restart$name [17:28:06.334] if (is.null(name)) [17:28:06.334] next [17:28:06.334] if (!grepl(pattern, name)) [17:28:06.334] next [17:28:06.334] invokeRestart(restart) [17:28:06.334] muffled <- TRUE [17:28:06.334] break [17:28:06.334] } [17:28:06.334] } [17:28:06.334] } [17:28:06.334] invisible(muffled) [17:28:06.334] } [17:28:06.334] muffleCondition(cond, pattern = "^muffle") [17:28:06.334] } [17:28:06.334] } [17:28:06.334] } [17:28:06.334] })) [17:28:06.334] }, error = function(ex) { [17:28:06.334] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.334] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.334] ...future.rng), started = ...future.startTime, [17:28:06.334] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.334] version = "1.8"), class = "FutureResult") [17:28:06.334] }, finally = { [17:28:06.334] if (!identical(...future.workdir, getwd())) [17:28:06.334] setwd(...future.workdir) [17:28:06.334] { [17:28:06.334] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.334] ...future.oldOptions$nwarnings <- NULL [17:28:06.334] } [17:28:06.334] base::options(...future.oldOptions) [17:28:06.334] if (.Platform$OS.type == "windows") { [17:28:06.334] old_names <- names(...future.oldEnvVars) [17:28:06.334] envs <- base::Sys.getenv() [17:28:06.334] names <- names(envs) [17:28:06.334] common <- intersect(names, old_names) [17:28:06.334] added <- setdiff(names, old_names) [17:28:06.334] removed <- setdiff(old_names, names) [17:28:06.334] changed <- common[...future.oldEnvVars[common] != [17:28:06.334] envs[common]] [17:28:06.334] NAMES <- toupper(changed) [17:28:06.334] args <- list() [17:28:06.334] for (kk in seq_along(NAMES)) { [17:28:06.334] name <- changed[[kk]] [17:28:06.334] NAME <- NAMES[[kk]] [17:28:06.334] if (name != NAME && is.element(NAME, old_names)) [17:28:06.334] next [17:28:06.334] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.334] } [17:28:06.334] NAMES <- toupper(added) [17:28:06.334] for (kk in seq_along(NAMES)) { [17:28:06.334] name <- added[[kk]] [17:28:06.334] NAME <- NAMES[[kk]] [17:28:06.334] if (name != NAME && is.element(NAME, old_names)) [17:28:06.334] next [17:28:06.334] args[[name]] <- "" [17:28:06.334] } [17:28:06.334] NAMES <- toupper(removed) [17:28:06.334] for (kk in seq_along(NAMES)) { [17:28:06.334] name <- removed[[kk]] [17:28:06.334] NAME <- NAMES[[kk]] [17:28:06.334] if (name != NAME && is.element(NAME, old_names)) [17:28:06.334] next [17:28:06.334] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.334] } [17:28:06.334] if (length(args) > 0) [17:28:06.334] base::do.call(base::Sys.setenv, args = args) [17:28:06.334] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.334] } [17:28:06.334] { [17:28:06.334] if (base::length(...future.futureOptionsAdded) > [17:28:06.334] 0L) { [17:28:06.334] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.334] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.334] base::options(opts) [17:28:06.334] } [17:28:06.334] { [17:28:06.334] { [17:28:06.334] NULL [17:28:06.334] RNGkind("Mersenne-Twister") [17:28:06.334] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.334] inherits = FALSE) [17:28:06.334] } [17:28:06.334] options(future.plan = NULL) [17:28:06.334] if (is.na(NA_character_)) [17:28:06.334] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.334] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.334] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.334] .init = FALSE) [17:28:06.334] } [17:28:06.334] } [17:28:06.334] } [17:28:06.334] }) [17:28:06.334] if (TRUE) { [17:28:06.334] base::sink(type = "output", split = FALSE) [17:28:06.334] if (TRUE) { [17:28:06.334] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.334] } [17:28:06.334] else { [17:28:06.334] ...future.result["stdout"] <- base::list(NULL) [17:28:06.334] } [17:28:06.334] base::close(...future.stdout) [17:28:06.334] ...future.stdout <- NULL [17:28:06.334] } [17:28:06.334] ...future.result$conditions <- ...future.conditions [17:28:06.334] ...future.result$finished <- base::Sys.time() [17:28:06.334] ...future.result [17:28:06.334] } [17:28:06.340] assign_globals() ... [17:28:06.341] List of 1 [17:28:06.341] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.341] - attr(*, "where")=List of 1 [17:28:06.341] ..$ a: [17:28:06.341] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.341] - attr(*, "resolved")= logi TRUE [17:28:06.341] - attr(*, "total_size")= int 3456 [17:28:06.341] - attr(*, "already-done")= logi TRUE [17:28:06.345] - copied 'a' to environment [17:28:06.346] assign_globals() ... done [17:28:06.347] plan(): Setting new future strategy stack: [17:28:06.347] List of future strategies: [17:28:06.347] 1. sequential: [17:28:06.347] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.347] - tweaked: FALSE [17:28:06.347] - call: NULL [17:28:06.348] plan(): nbrOfWorkers() = 1 [17:28:06.350] plan(): Setting new future strategy stack: [17:28:06.351] List of future strategies: [17:28:06.351] 1. sequential: [17:28:06.351] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.351] - tweaked: FALSE [17:28:06.351] - call: plan(strategy) [17:28:06.352] plan(): nbrOfWorkers() = 1 [17:28:06.352] SequentialFuture started (and completed) [17:28:06.352] - Launch lazy future ... done [17:28:06.353] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.354] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.355] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:06.357] - globals found: [2] '{', 'pkg' [17:28:06.357] Searching for globals ... DONE [17:28:06.358] Resolving globals: TRUE [17:28:06.358] Resolving any globals that are futures ... [17:28:06.358] - globals: [2] '{', 'pkg' [17:28:06.359] Resolving any globals that are futures ... DONE [17:28:06.360] Resolving futures part of globals (recursively) ... [17:28:06.360] resolve() on list ... [17:28:06.360] recursive: 99 [17:28:06.361] length: 1 [17:28:06.361] elements: 'pkg' [17:28:06.361] length: 0 (resolved future 1) [17:28:06.362] resolve() on list ... DONE [17:28:06.362] - globals: [1] 'pkg' [17:28:06.362] Resolving futures part of globals (recursively) ... DONE [17:28:06.363] The total size of the 1 globals is 42 bytes (42 bytes) [17:28:06.364] The total size of the 1 globals exported for future expression ('{; pkg; }') is 42 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (42 bytes of class 'character') [17:28:06.364] - globals: [1] 'pkg' [17:28:06.364] [17:28:06.365] getGlobalsAndPackages() ... DONE [17:28:06.366] Packages needed by the future expression (n = 0): [17:28:06.366] Packages needed by future strategies (n = 0): [17:28:06.367] { [17:28:06.367] { [17:28:06.367] { [17:28:06.367] ...future.startTime <- base::Sys.time() [17:28:06.367] { [17:28:06.367] { [17:28:06.367] { [17:28:06.367] base::local({ [17:28:06.367] has_future <- base::requireNamespace("future", [17:28:06.367] quietly = TRUE) [17:28:06.367] if (has_future) { [17:28:06.367] ns <- base::getNamespace("future") [17:28:06.367] version <- ns[[".package"]][["version"]] [17:28:06.367] if (is.null(version)) [17:28:06.367] version <- utils::packageVersion("future") [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] version <- NULL [17:28:06.367] } [17:28:06.367] if (!has_future || version < "1.8.0") { [17:28:06.367] info <- base::c(r_version = base::gsub("R version ", [17:28:06.367] "", base::R.version$version.string), [17:28:06.367] platform = base::sprintf("%s (%s-bit)", [17:28:06.367] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.367] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.367] "release", "version")], collapse = " "), [17:28:06.367] hostname = base::Sys.info()[["nodename"]]) [17:28:06.367] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.367] info) [17:28:06.367] info <- base::paste(info, collapse = "; ") [17:28:06.367] if (!has_future) { [17:28:06.367] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.367] info) [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.367] info, version) [17:28:06.367] } [17:28:06.367] base::stop(msg) [17:28:06.367] } [17:28:06.367] }) [17:28:06.367] } [17:28:06.367] ...future.strategy.old <- future::plan("list") [17:28:06.367] options(future.plan = NULL) [17:28:06.367] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.367] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.367] } [17:28:06.367] ...future.workdir <- getwd() [17:28:06.367] } [17:28:06.367] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.367] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.367] } [17:28:06.367] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.367] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:06.367] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.367] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.367] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.367] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.367] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.367] base::names(...future.oldOptions)) [17:28:06.367] } [17:28:06.367] if (FALSE) { [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] if (TRUE) { [17:28:06.367] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.367] open = "w") [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.367] windows = "NUL", "/dev/null"), open = "w") [17:28:06.367] } [17:28:06.367] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.367] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.367] base::sink(type = "output", split = FALSE) [17:28:06.367] base::close(...future.stdout) [17:28:06.367] }, add = TRUE) [17:28:06.367] } [17:28:06.367] ...future.frame <- base::sys.nframe() [17:28:06.367] ...future.conditions <- base::list() [17:28:06.367] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.367] if (FALSE) { [17:28:06.367] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.367] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.367] } [17:28:06.367] ...future.result <- base::tryCatch({ [17:28:06.367] base::withCallingHandlers({ [17:28:06.367] ...future.value <- base::withVisible(base::local({ [17:28:06.367] pkg [17:28:06.367] })) [17:28:06.367] future::FutureResult(value = ...future.value$value, [17:28:06.367] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.367] ...future.rng), globalenv = if (FALSE) [17:28:06.367] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.367] ...future.globalenv.names)) [17:28:06.367] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.367] }, condition = base::local({ [17:28:06.367] c <- base::c [17:28:06.367] inherits <- base::inherits [17:28:06.367] invokeRestart <- base::invokeRestart [17:28:06.367] length <- base::length [17:28:06.367] list <- base::list [17:28:06.367] seq.int <- base::seq.int [17:28:06.367] signalCondition <- base::signalCondition [17:28:06.367] sys.calls <- base::sys.calls [17:28:06.367] `[[` <- base::`[[` [17:28:06.367] `+` <- base::`+` [17:28:06.367] `<<-` <- base::`<<-` [17:28:06.367] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.367] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.367] 3L)] [17:28:06.367] } [17:28:06.367] function(cond) { [17:28:06.367] is_error <- inherits(cond, "error") [17:28:06.367] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.367] NULL) [17:28:06.367] if (is_error) { [17:28:06.367] sessionInformation <- function() { [17:28:06.367] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.367] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.367] search = base::search(), system = base::Sys.info()) [17:28:06.367] } [17:28:06.367] ...future.conditions[[length(...future.conditions) + [17:28:06.367] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.367] cond$call), session = sessionInformation(), [17:28:06.367] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.367] signalCondition(cond) [17:28:06.367] } [17:28:06.367] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.367] "immediateCondition"))) { [17:28:06.367] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.367] ...future.conditions[[length(...future.conditions) + [17:28:06.367] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.367] if (TRUE && !signal) { [17:28:06.367] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.367] { [17:28:06.367] inherits <- base::inherits [17:28:06.367] invokeRestart <- base::invokeRestart [17:28:06.367] is.null <- base::is.null [17:28:06.367] muffled <- FALSE [17:28:06.367] if (inherits(cond, "message")) { [17:28:06.367] muffled <- grepl(pattern, "muffleMessage") [17:28:06.367] if (muffled) [17:28:06.367] invokeRestart("muffleMessage") [17:28:06.367] } [17:28:06.367] else if (inherits(cond, "warning")) { [17:28:06.367] muffled <- grepl(pattern, "muffleWarning") [17:28:06.367] if (muffled) [17:28:06.367] invokeRestart("muffleWarning") [17:28:06.367] } [17:28:06.367] else if (inherits(cond, "condition")) { [17:28:06.367] if (!is.null(pattern)) { [17:28:06.367] computeRestarts <- base::computeRestarts [17:28:06.367] grepl <- base::grepl [17:28:06.367] restarts <- computeRestarts(cond) [17:28:06.367] for (restart in restarts) { [17:28:06.367] name <- restart$name [17:28:06.367] if (is.null(name)) [17:28:06.367] next [17:28:06.367] if (!grepl(pattern, name)) [17:28:06.367] next [17:28:06.367] invokeRestart(restart) [17:28:06.367] muffled <- TRUE [17:28:06.367] break [17:28:06.367] } [17:28:06.367] } [17:28:06.367] } [17:28:06.367] invisible(muffled) [17:28:06.367] } [17:28:06.367] muffleCondition(cond, pattern = "^muffle") [17:28:06.367] } [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] if (TRUE) { [17:28:06.367] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.367] { [17:28:06.367] inherits <- base::inherits [17:28:06.367] invokeRestart <- base::invokeRestart [17:28:06.367] is.null <- base::is.null [17:28:06.367] muffled <- FALSE [17:28:06.367] if (inherits(cond, "message")) { [17:28:06.367] muffled <- grepl(pattern, "muffleMessage") [17:28:06.367] if (muffled) [17:28:06.367] invokeRestart("muffleMessage") [17:28:06.367] } [17:28:06.367] else if (inherits(cond, "warning")) { [17:28:06.367] muffled <- grepl(pattern, "muffleWarning") [17:28:06.367] if (muffled) [17:28:06.367] invokeRestart("muffleWarning") [17:28:06.367] } [17:28:06.367] else if (inherits(cond, "condition")) { [17:28:06.367] if (!is.null(pattern)) { [17:28:06.367] computeRestarts <- base::computeRestarts [17:28:06.367] grepl <- base::grepl [17:28:06.367] restarts <- computeRestarts(cond) [17:28:06.367] for (restart in restarts) { [17:28:06.367] name <- restart$name [17:28:06.367] if (is.null(name)) [17:28:06.367] next [17:28:06.367] if (!grepl(pattern, name)) [17:28:06.367] next [17:28:06.367] invokeRestart(restart) [17:28:06.367] muffled <- TRUE [17:28:06.367] break [17:28:06.367] } [17:28:06.367] } [17:28:06.367] } [17:28:06.367] invisible(muffled) [17:28:06.367] } [17:28:06.367] muffleCondition(cond, pattern = "^muffle") [17:28:06.367] } [17:28:06.367] } [17:28:06.367] } [17:28:06.367] })) [17:28:06.367] }, error = function(ex) { [17:28:06.367] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.367] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.367] ...future.rng), started = ...future.startTime, [17:28:06.367] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.367] version = "1.8"), class = "FutureResult") [17:28:06.367] }, finally = { [17:28:06.367] if (!identical(...future.workdir, getwd())) [17:28:06.367] setwd(...future.workdir) [17:28:06.367] { [17:28:06.367] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.367] ...future.oldOptions$nwarnings <- NULL [17:28:06.367] } [17:28:06.367] base::options(...future.oldOptions) [17:28:06.367] if (.Platform$OS.type == "windows") { [17:28:06.367] old_names <- names(...future.oldEnvVars) [17:28:06.367] envs <- base::Sys.getenv() [17:28:06.367] names <- names(envs) [17:28:06.367] common <- intersect(names, old_names) [17:28:06.367] added <- setdiff(names, old_names) [17:28:06.367] removed <- setdiff(old_names, names) [17:28:06.367] changed <- common[...future.oldEnvVars[common] != [17:28:06.367] envs[common]] [17:28:06.367] NAMES <- toupper(changed) [17:28:06.367] args <- list() [17:28:06.367] for (kk in seq_along(NAMES)) { [17:28:06.367] name <- changed[[kk]] [17:28:06.367] NAME <- NAMES[[kk]] [17:28:06.367] if (name != NAME && is.element(NAME, old_names)) [17:28:06.367] next [17:28:06.367] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.367] } [17:28:06.367] NAMES <- toupper(added) [17:28:06.367] for (kk in seq_along(NAMES)) { [17:28:06.367] name <- added[[kk]] [17:28:06.367] NAME <- NAMES[[kk]] [17:28:06.367] if (name != NAME && is.element(NAME, old_names)) [17:28:06.367] next [17:28:06.367] args[[name]] <- "" [17:28:06.367] } [17:28:06.367] NAMES <- toupper(removed) [17:28:06.367] for (kk in seq_along(NAMES)) { [17:28:06.367] name <- removed[[kk]] [17:28:06.367] NAME <- NAMES[[kk]] [17:28:06.367] if (name != NAME && is.element(NAME, old_names)) [17:28:06.367] next [17:28:06.367] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.367] } [17:28:06.367] if (length(args) > 0) [17:28:06.367] base::do.call(base::Sys.setenv, args = args) [17:28:06.367] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.367] } [17:28:06.367] { [17:28:06.367] if (base::length(...future.futureOptionsAdded) > [17:28:06.367] 0L) { [17:28:06.367] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.367] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.367] base::options(opts) [17:28:06.367] } [17:28:06.367] { [17:28:06.367] { [17:28:06.367] NULL [17:28:06.367] RNGkind("Mersenne-Twister") [17:28:06.367] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.367] inherits = FALSE) [17:28:06.367] } [17:28:06.367] options(future.plan = NULL) [17:28:06.367] if (is.na(NA_character_)) [17:28:06.367] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.367] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.367] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.367] .init = FALSE) [17:28:06.367] } [17:28:06.367] } [17:28:06.367] } [17:28:06.367] }) [17:28:06.367] if (TRUE) { [17:28:06.367] base::sink(type = "output", split = FALSE) [17:28:06.367] if (TRUE) { [17:28:06.367] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.367] } [17:28:06.367] else { [17:28:06.367] ...future.result["stdout"] <- base::list(NULL) [17:28:06.367] } [17:28:06.367] base::close(...future.stdout) [17:28:06.367] ...future.stdout <- NULL [17:28:06.367] } [17:28:06.367] ...future.result$conditions <- ...future.conditions [17:28:06.367] ...future.result$finished <- base::Sys.time() [17:28:06.367] ...future.result [17:28:06.367] } [17:28:06.374] assign_globals() ... [17:28:06.374] List of 1 [17:28:06.374] $ pkg: chr "foo" [17:28:06.374] - attr(*, "where")=List of 1 [17:28:06.374] ..$ pkg: [17:28:06.374] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.374] - attr(*, "resolved")= logi TRUE [17:28:06.374] - attr(*, "total_size")= int 42 [17:28:06.384] - copied 'pkg' to environment [17:28:06.384] assign_globals() ... done [17:28:06.385] plan(): Setting new future strategy stack: [17:28:06.386] List of future strategies: [17:28:06.386] 1. sequential: [17:28:06.386] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.386] - tweaked: FALSE [17:28:06.386] - call: NULL [17:28:06.387] plan(): nbrOfWorkers() = 1 [17:28:06.389] plan(): Setting new future strategy stack: [17:28:06.389] List of future strategies: [17:28:06.389] 1. sequential: [17:28:06.389] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.389] - tweaked: FALSE [17:28:06.389] - call: plan(strategy) [17:28:06.390] plan(): nbrOfWorkers() = 1 [17:28:06.391] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'conservative' ... DONE Method for identifying globals: 'ordered' ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.393] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.393] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.399] - globals found: [4] '{', '<-', 'a', '*' [17:28:06.399] Searching for globals ... DONE [17:28:06.400] Resolving globals: TRUE [17:28:06.400] Resolving any globals that are futures ... [17:28:06.400] - globals: [4] '{', '<-', 'a', '*' [17:28:06.401] Resolving any globals that are futures ... DONE [17:28:06.401] Resolving futures part of globals (recursively) ... [17:28:06.402] resolve() on list ... [17:28:06.402] recursive: 99 [17:28:06.403] length: 1 [17:28:06.403] elements: 'a' [17:28:06.403] length: 0 (resolved future 1) [17:28:06.404] resolve() on list ... DONE [17:28:06.404] - globals: [1] 'a' [17:28:06.404] Resolving futures part of globals (recursively) ... DONE [17:28:06.405] The total size of the 1 globals is 39 bytes (39 bytes) [17:28:06.406] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 39 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (39 bytes of class 'numeric') [17:28:06.406] - globals: [1] 'a' [17:28:06.406] [17:28:06.407] getGlobalsAndPackages() ... DONE [17:28:06.407] run() for 'Future' ... [17:28:06.408] - state: 'created' [17:28:06.408] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.409] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.409] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.410] - Field: 'label' [17:28:06.410] - Field: 'local' [17:28:06.410] - Field: 'owner' [17:28:06.411] - Field: 'envir' [17:28:06.411] - Field: 'packages' [17:28:06.411] - Field: 'gc' [17:28:06.412] - Field: 'conditions' [17:28:06.412] - Field: 'expr' [17:28:06.412] - Field: 'uuid' [17:28:06.413] - Field: 'seed' [17:28:06.413] - Field: 'version' [17:28:06.413] - Field: 'result' [17:28:06.414] - Field: 'asynchronous' [17:28:06.414] - Field: 'calls' [17:28:06.415] - Field: 'globals' [17:28:06.415] - Field: 'stdout' [17:28:06.415] - Field: 'earlySignal' [17:28:06.416] - Field: 'lazy' [17:28:06.416] - Field: 'state' [17:28:06.416] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.417] - Launch lazy future ... [17:28:06.417] Packages needed by the future expression (n = 0): [17:28:06.417] Packages needed by future strategies (n = 0): [17:28:06.419] { [17:28:06.419] { [17:28:06.419] { [17:28:06.419] ...future.startTime <- base::Sys.time() [17:28:06.419] { [17:28:06.419] { [17:28:06.419] { [17:28:06.419] base::local({ [17:28:06.419] has_future <- base::requireNamespace("future", [17:28:06.419] quietly = TRUE) [17:28:06.419] if (has_future) { [17:28:06.419] ns <- base::getNamespace("future") [17:28:06.419] version <- ns[[".package"]][["version"]] [17:28:06.419] if (is.null(version)) [17:28:06.419] version <- utils::packageVersion("future") [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] version <- NULL [17:28:06.419] } [17:28:06.419] if (!has_future || version < "1.8.0") { [17:28:06.419] info <- base::c(r_version = base::gsub("R version ", [17:28:06.419] "", base::R.version$version.string), [17:28:06.419] platform = base::sprintf("%s (%s-bit)", [17:28:06.419] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.419] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.419] "release", "version")], collapse = " "), [17:28:06.419] hostname = base::Sys.info()[["nodename"]]) [17:28:06.419] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.419] info) [17:28:06.419] info <- base::paste(info, collapse = "; ") [17:28:06.419] if (!has_future) { [17:28:06.419] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.419] info) [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.419] info, version) [17:28:06.419] } [17:28:06.419] base::stop(msg) [17:28:06.419] } [17:28:06.419] }) [17:28:06.419] } [17:28:06.419] ...future.strategy.old <- future::plan("list") [17:28:06.419] options(future.plan = NULL) [17:28:06.419] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.419] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.419] } [17:28:06.419] ...future.workdir <- getwd() [17:28:06.419] } [17:28:06.419] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.419] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.419] } [17:28:06.419] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.419] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.419] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.419] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.419] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.419] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.419] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.419] base::names(...future.oldOptions)) [17:28:06.419] } [17:28:06.419] if (FALSE) { [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] if (TRUE) { [17:28:06.419] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.419] open = "w") [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.419] windows = "NUL", "/dev/null"), open = "w") [17:28:06.419] } [17:28:06.419] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.419] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.419] base::sink(type = "output", split = FALSE) [17:28:06.419] base::close(...future.stdout) [17:28:06.419] }, add = TRUE) [17:28:06.419] } [17:28:06.419] ...future.frame <- base::sys.nframe() [17:28:06.419] ...future.conditions <- base::list() [17:28:06.419] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.419] if (FALSE) { [17:28:06.419] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.419] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.419] } [17:28:06.419] ...future.result <- base::tryCatch({ [17:28:06.419] base::withCallingHandlers({ [17:28:06.419] ...future.value <- base::withVisible(base::local({ [17:28:06.419] b <- a [17:28:06.419] a <- 2 [17:28:06.419] a * b [17:28:06.419] })) [17:28:06.419] future::FutureResult(value = ...future.value$value, [17:28:06.419] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.419] ...future.rng), globalenv = if (FALSE) [17:28:06.419] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.419] ...future.globalenv.names)) [17:28:06.419] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.419] }, condition = base::local({ [17:28:06.419] c <- base::c [17:28:06.419] inherits <- base::inherits [17:28:06.419] invokeRestart <- base::invokeRestart [17:28:06.419] length <- base::length [17:28:06.419] list <- base::list [17:28:06.419] seq.int <- base::seq.int [17:28:06.419] signalCondition <- base::signalCondition [17:28:06.419] sys.calls <- base::sys.calls [17:28:06.419] `[[` <- base::`[[` [17:28:06.419] `+` <- base::`+` [17:28:06.419] `<<-` <- base::`<<-` [17:28:06.419] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.419] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.419] 3L)] [17:28:06.419] } [17:28:06.419] function(cond) { [17:28:06.419] is_error <- inherits(cond, "error") [17:28:06.419] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.419] NULL) [17:28:06.419] if (is_error) { [17:28:06.419] sessionInformation <- function() { [17:28:06.419] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.419] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.419] search = base::search(), system = base::Sys.info()) [17:28:06.419] } [17:28:06.419] ...future.conditions[[length(...future.conditions) + [17:28:06.419] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.419] cond$call), session = sessionInformation(), [17:28:06.419] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.419] signalCondition(cond) [17:28:06.419] } [17:28:06.419] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.419] "immediateCondition"))) { [17:28:06.419] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.419] ...future.conditions[[length(...future.conditions) + [17:28:06.419] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.419] if (TRUE && !signal) { [17:28:06.419] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.419] { [17:28:06.419] inherits <- base::inherits [17:28:06.419] invokeRestart <- base::invokeRestart [17:28:06.419] is.null <- base::is.null [17:28:06.419] muffled <- FALSE [17:28:06.419] if (inherits(cond, "message")) { [17:28:06.419] muffled <- grepl(pattern, "muffleMessage") [17:28:06.419] if (muffled) [17:28:06.419] invokeRestart("muffleMessage") [17:28:06.419] } [17:28:06.419] else if (inherits(cond, "warning")) { [17:28:06.419] muffled <- grepl(pattern, "muffleWarning") [17:28:06.419] if (muffled) [17:28:06.419] invokeRestart("muffleWarning") [17:28:06.419] } [17:28:06.419] else if (inherits(cond, "condition")) { [17:28:06.419] if (!is.null(pattern)) { [17:28:06.419] computeRestarts <- base::computeRestarts [17:28:06.419] grepl <- base::grepl [17:28:06.419] restarts <- computeRestarts(cond) [17:28:06.419] for (restart in restarts) { [17:28:06.419] name <- restart$name [17:28:06.419] if (is.null(name)) [17:28:06.419] next [17:28:06.419] if (!grepl(pattern, name)) [17:28:06.419] next [17:28:06.419] invokeRestart(restart) [17:28:06.419] muffled <- TRUE [17:28:06.419] break [17:28:06.419] } [17:28:06.419] } [17:28:06.419] } [17:28:06.419] invisible(muffled) [17:28:06.419] } [17:28:06.419] muffleCondition(cond, pattern = "^muffle") [17:28:06.419] } [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] if (TRUE) { [17:28:06.419] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.419] { [17:28:06.419] inherits <- base::inherits [17:28:06.419] invokeRestart <- base::invokeRestart [17:28:06.419] is.null <- base::is.null [17:28:06.419] muffled <- FALSE [17:28:06.419] if (inherits(cond, "message")) { [17:28:06.419] muffled <- grepl(pattern, "muffleMessage") [17:28:06.419] if (muffled) [17:28:06.419] invokeRestart("muffleMessage") [17:28:06.419] } [17:28:06.419] else if (inherits(cond, "warning")) { [17:28:06.419] muffled <- grepl(pattern, "muffleWarning") [17:28:06.419] if (muffled) [17:28:06.419] invokeRestart("muffleWarning") [17:28:06.419] } [17:28:06.419] else if (inherits(cond, "condition")) { [17:28:06.419] if (!is.null(pattern)) { [17:28:06.419] computeRestarts <- base::computeRestarts [17:28:06.419] grepl <- base::grepl [17:28:06.419] restarts <- computeRestarts(cond) [17:28:06.419] for (restart in restarts) { [17:28:06.419] name <- restart$name [17:28:06.419] if (is.null(name)) [17:28:06.419] next [17:28:06.419] if (!grepl(pattern, name)) [17:28:06.419] next [17:28:06.419] invokeRestart(restart) [17:28:06.419] muffled <- TRUE [17:28:06.419] break [17:28:06.419] } [17:28:06.419] } [17:28:06.419] } [17:28:06.419] invisible(muffled) [17:28:06.419] } [17:28:06.419] muffleCondition(cond, pattern = "^muffle") [17:28:06.419] } [17:28:06.419] } [17:28:06.419] } [17:28:06.419] })) [17:28:06.419] }, error = function(ex) { [17:28:06.419] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.419] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.419] ...future.rng), started = ...future.startTime, [17:28:06.419] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.419] version = "1.8"), class = "FutureResult") [17:28:06.419] }, finally = { [17:28:06.419] if (!identical(...future.workdir, getwd())) [17:28:06.419] setwd(...future.workdir) [17:28:06.419] { [17:28:06.419] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.419] ...future.oldOptions$nwarnings <- NULL [17:28:06.419] } [17:28:06.419] base::options(...future.oldOptions) [17:28:06.419] if (.Platform$OS.type == "windows") { [17:28:06.419] old_names <- names(...future.oldEnvVars) [17:28:06.419] envs <- base::Sys.getenv() [17:28:06.419] names <- names(envs) [17:28:06.419] common <- intersect(names, old_names) [17:28:06.419] added <- setdiff(names, old_names) [17:28:06.419] removed <- setdiff(old_names, names) [17:28:06.419] changed <- common[...future.oldEnvVars[common] != [17:28:06.419] envs[common]] [17:28:06.419] NAMES <- toupper(changed) [17:28:06.419] args <- list() [17:28:06.419] for (kk in seq_along(NAMES)) { [17:28:06.419] name <- changed[[kk]] [17:28:06.419] NAME <- NAMES[[kk]] [17:28:06.419] if (name != NAME && is.element(NAME, old_names)) [17:28:06.419] next [17:28:06.419] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.419] } [17:28:06.419] NAMES <- toupper(added) [17:28:06.419] for (kk in seq_along(NAMES)) { [17:28:06.419] name <- added[[kk]] [17:28:06.419] NAME <- NAMES[[kk]] [17:28:06.419] if (name != NAME && is.element(NAME, old_names)) [17:28:06.419] next [17:28:06.419] args[[name]] <- "" [17:28:06.419] } [17:28:06.419] NAMES <- toupper(removed) [17:28:06.419] for (kk in seq_along(NAMES)) { [17:28:06.419] name <- removed[[kk]] [17:28:06.419] NAME <- NAMES[[kk]] [17:28:06.419] if (name != NAME && is.element(NAME, old_names)) [17:28:06.419] next [17:28:06.419] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.419] } [17:28:06.419] if (length(args) > 0) [17:28:06.419] base::do.call(base::Sys.setenv, args = args) [17:28:06.419] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.419] } [17:28:06.419] { [17:28:06.419] if (base::length(...future.futureOptionsAdded) > [17:28:06.419] 0L) { [17:28:06.419] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.419] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.419] base::options(opts) [17:28:06.419] } [17:28:06.419] { [17:28:06.419] { [17:28:06.419] NULL [17:28:06.419] RNGkind("Mersenne-Twister") [17:28:06.419] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.419] inherits = FALSE) [17:28:06.419] } [17:28:06.419] options(future.plan = NULL) [17:28:06.419] if (is.na(NA_character_)) [17:28:06.419] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.419] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.419] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.419] .init = FALSE) [17:28:06.419] } [17:28:06.419] } [17:28:06.419] } [17:28:06.419] }) [17:28:06.419] if (TRUE) { [17:28:06.419] base::sink(type = "output", split = FALSE) [17:28:06.419] if (TRUE) { [17:28:06.419] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.419] } [17:28:06.419] else { [17:28:06.419] ...future.result["stdout"] <- base::list(NULL) [17:28:06.419] } [17:28:06.419] base::close(...future.stdout) [17:28:06.419] ...future.stdout <- NULL [17:28:06.419] } [17:28:06.419] ...future.result$conditions <- ...future.conditions [17:28:06.419] ...future.result$finished <- base::Sys.time() [17:28:06.419] ...future.result [17:28:06.419] } [17:28:06.426] assign_globals() ... [17:28:06.426] List of 1 [17:28:06.426] $ a: num 3 [17:28:06.426] - attr(*, "where")=List of 1 [17:28:06.426] ..$ a: [17:28:06.426] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.426] - attr(*, "resolved")= logi TRUE [17:28:06.426] - attr(*, "total_size")= int 39 [17:28:06.426] - attr(*, "already-done")= logi TRUE [17:28:06.433] - copied 'a' to environment [17:28:06.433] assign_globals() ... done [17:28:06.434] plan(): Setting new future strategy stack: [17:28:06.434] List of future strategies: [17:28:06.434] 1. sequential: [17:28:06.434] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.434] - tweaked: FALSE [17:28:06.434] - call: NULL [17:28:06.435] plan(): nbrOfWorkers() = 1 [17:28:06.446] plan(): Setting new future strategy stack: [17:28:06.447] List of future strategies: [17:28:06.447] 1. sequential: [17:28:06.447] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.447] - tweaked: FALSE [17:28:06.447] - call: plan(strategy) [17:28:06.448] plan(): nbrOfWorkers() = 1 [17:28:06.448] SequentialFuture started (and completed) [17:28:06.449] - Launch lazy future ... done [17:28:06.449] run() for 'SequentialFuture' ... done y = 6 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.450] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.451] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.454] - globals found: [4] '{', '<-', 'a', '*' [17:28:06.455] Searching for globals ... DONE [17:28:06.455] Resolving globals: TRUE [17:28:06.455] Resolving any globals that are futures ... [17:28:06.456] - globals: [4] '{', '<-', 'a', '*' [17:28:06.456] Resolving any globals that are futures ... DONE [17:28:06.457] Resolving futures part of globals (recursively) ... [17:28:06.457] resolve() on list ... [17:28:06.457] recursive: 99 [17:28:06.458] length: 1 [17:28:06.458] elements: 'a' [17:28:06.458] length: 0 (resolved future 1) [17:28:06.458] resolve() on list ... DONE [17:28:06.459] - globals: [1] 'a' [17:28:06.459] Resolving futures part of globals (recursively) ... DONE [17:28:06.459] The total size of the 1 globals is 39 bytes (39 bytes) [17:28:06.460] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 39 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (39 bytes of class 'numeric') [17:28:06.460] - globals: [1] 'a' [17:28:06.461] [17:28:06.461] getGlobalsAndPackages() ... DONE [17:28:06.462] run() for 'Future' ... [17:28:06.462] - state: 'created' [17:28:06.462] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.463] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.463] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.463] - Field: 'label' [17:28:06.464] - Field: 'local' [17:28:06.464] - Field: 'owner' [17:28:06.464] - Field: 'envir' [17:28:06.465] - Field: 'packages' [17:28:06.465] - Field: 'gc' [17:28:06.465] - Field: 'conditions' [17:28:06.466] - Field: 'expr' [17:28:06.466] - Field: 'uuid' [17:28:06.466] - Field: 'seed' [17:28:06.467] - Field: 'version' [17:28:06.467] - Field: 'result' [17:28:06.467] - Field: 'asynchronous' [17:28:06.467] - Field: 'calls' [17:28:06.468] - Field: 'globals' [17:28:06.468] - Field: 'stdout' [17:28:06.468] - Field: 'earlySignal' [17:28:06.469] - Field: 'lazy' [17:28:06.469] - Field: 'state' [17:28:06.469] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.470] - Launch lazy future ... [17:28:06.470] Packages needed by the future expression (n = 0): [17:28:06.470] Packages needed by future strategies (n = 0): [17:28:06.471] { [17:28:06.471] { [17:28:06.471] { [17:28:06.471] ...future.startTime <- base::Sys.time() [17:28:06.471] { [17:28:06.471] { [17:28:06.471] { [17:28:06.471] base::local({ [17:28:06.471] has_future <- base::requireNamespace("future", [17:28:06.471] quietly = TRUE) [17:28:06.471] if (has_future) { [17:28:06.471] ns <- base::getNamespace("future") [17:28:06.471] version <- ns[[".package"]][["version"]] [17:28:06.471] if (is.null(version)) [17:28:06.471] version <- utils::packageVersion("future") [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] version <- NULL [17:28:06.471] } [17:28:06.471] if (!has_future || version < "1.8.0") { [17:28:06.471] info <- base::c(r_version = base::gsub("R version ", [17:28:06.471] "", base::R.version$version.string), [17:28:06.471] platform = base::sprintf("%s (%s-bit)", [17:28:06.471] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.471] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.471] "release", "version")], collapse = " "), [17:28:06.471] hostname = base::Sys.info()[["nodename"]]) [17:28:06.471] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.471] info) [17:28:06.471] info <- base::paste(info, collapse = "; ") [17:28:06.471] if (!has_future) { [17:28:06.471] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.471] info) [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.471] info, version) [17:28:06.471] } [17:28:06.471] base::stop(msg) [17:28:06.471] } [17:28:06.471] }) [17:28:06.471] } [17:28:06.471] ...future.strategy.old <- future::plan("list") [17:28:06.471] options(future.plan = NULL) [17:28:06.471] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.471] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.471] } [17:28:06.471] ...future.workdir <- getwd() [17:28:06.471] } [17:28:06.471] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.471] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.471] } [17:28:06.471] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.471] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.471] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.471] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.471] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.471] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.471] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.471] base::names(...future.oldOptions)) [17:28:06.471] } [17:28:06.471] if (FALSE) { [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] if (TRUE) { [17:28:06.471] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.471] open = "w") [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.471] windows = "NUL", "/dev/null"), open = "w") [17:28:06.471] } [17:28:06.471] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.471] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.471] base::sink(type = "output", split = FALSE) [17:28:06.471] base::close(...future.stdout) [17:28:06.471] }, add = TRUE) [17:28:06.471] } [17:28:06.471] ...future.frame <- base::sys.nframe() [17:28:06.471] ...future.conditions <- base::list() [17:28:06.471] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.471] if (FALSE) { [17:28:06.471] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.471] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.471] } [17:28:06.471] ...future.result <- base::tryCatch({ [17:28:06.471] base::withCallingHandlers({ [17:28:06.471] ...future.value <- base::withVisible(base::local({ [17:28:06.471] b <- a [17:28:06.471] a <- 2 [17:28:06.471] a * b [17:28:06.471] })) [17:28:06.471] future::FutureResult(value = ...future.value$value, [17:28:06.471] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.471] ...future.rng), globalenv = if (FALSE) [17:28:06.471] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.471] ...future.globalenv.names)) [17:28:06.471] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.471] }, condition = base::local({ [17:28:06.471] c <- base::c [17:28:06.471] inherits <- base::inherits [17:28:06.471] invokeRestart <- base::invokeRestart [17:28:06.471] length <- base::length [17:28:06.471] list <- base::list [17:28:06.471] seq.int <- base::seq.int [17:28:06.471] signalCondition <- base::signalCondition [17:28:06.471] sys.calls <- base::sys.calls [17:28:06.471] `[[` <- base::`[[` [17:28:06.471] `+` <- base::`+` [17:28:06.471] `<<-` <- base::`<<-` [17:28:06.471] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.471] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.471] 3L)] [17:28:06.471] } [17:28:06.471] function(cond) { [17:28:06.471] is_error <- inherits(cond, "error") [17:28:06.471] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.471] NULL) [17:28:06.471] if (is_error) { [17:28:06.471] sessionInformation <- function() { [17:28:06.471] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.471] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.471] search = base::search(), system = base::Sys.info()) [17:28:06.471] } [17:28:06.471] ...future.conditions[[length(...future.conditions) + [17:28:06.471] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.471] cond$call), session = sessionInformation(), [17:28:06.471] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.471] signalCondition(cond) [17:28:06.471] } [17:28:06.471] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.471] "immediateCondition"))) { [17:28:06.471] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.471] ...future.conditions[[length(...future.conditions) + [17:28:06.471] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.471] if (TRUE && !signal) { [17:28:06.471] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.471] { [17:28:06.471] inherits <- base::inherits [17:28:06.471] invokeRestart <- base::invokeRestart [17:28:06.471] is.null <- base::is.null [17:28:06.471] muffled <- FALSE [17:28:06.471] if (inherits(cond, "message")) { [17:28:06.471] muffled <- grepl(pattern, "muffleMessage") [17:28:06.471] if (muffled) [17:28:06.471] invokeRestart("muffleMessage") [17:28:06.471] } [17:28:06.471] else if (inherits(cond, "warning")) { [17:28:06.471] muffled <- grepl(pattern, "muffleWarning") [17:28:06.471] if (muffled) [17:28:06.471] invokeRestart("muffleWarning") [17:28:06.471] } [17:28:06.471] else if (inherits(cond, "condition")) { [17:28:06.471] if (!is.null(pattern)) { [17:28:06.471] computeRestarts <- base::computeRestarts [17:28:06.471] grepl <- base::grepl [17:28:06.471] restarts <- computeRestarts(cond) [17:28:06.471] for (restart in restarts) { [17:28:06.471] name <- restart$name [17:28:06.471] if (is.null(name)) [17:28:06.471] next [17:28:06.471] if (!grepl(pattern, name)) [17:28:06.471] next [17:28:06.471] invokeRestart(restart) [17:28:06.471] muffled <- TRUE [17:28:06.471] break [17:28:06.471] } [17:28:06.471] } [17:28:06.471] } [17:28:06.471] invisible(muffled) [17:28:06.471] } [17:28:06.471] muffleCondition(cond, pattern = "^muffle") [17:28:06.471] } [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] if (TRUE) { [17:28:06.471] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.471] { [17:28:06.471] inherits <- base::inherits [17:28:06.471] invokeRestart <- base::invokeRestart [17:28:06.471] is.null <- base::is.null [17:28:06.471] muffled <- FALSE [17:28:06.471] if (inherits(cond, "message")) { [17:28:06.471] muffled <- grepl(pattern, "muffleMessage") [17:28:06.471] if (muffled) [17:28:06.471] invokeRestart("muffleMessage") [17:28:06.471] } [17:28:06.471] else if (inherits(cond, "warning")) { [17:28:06.471] muffled <- grepl(pattern, "muffleWarning") [17:28:06.471] if (muffled) [17:28:06.471] invokeRestart("muffleWarning") [17:28:06.471] } [17:28:06.471] else if (inherits(cond, "condition")) { [17:28:06.471] if (!is.null(pattern)) { [17:28:06.471] computeRestarts <- base::computeRestarts [17:28:06.471] grepl <- base::grepl [17:28:06.471] restarts <- computeRestarts(cond) [17:28:06.471] for (restart in restarts) { [17:28:06.471] name <- restart$name [17:28:06.471] if (is.null(name)) [17:28:06.471] next [17:28:06.471] if (!grepl(pattern, name)) [17:28:06.471] next [17:28:06.471] invokeRestart(restart) [17:28:06.471] muffled <- TRUE [17:28:06.471] break [17:28:06.471] } [17:28:06.471] } [17:28:06.471] } [17:28:06.471] invisible(muffled) [17:28:06.471] } [17:28:06.471] muffleCondition(cond, pattern = "^muffle") [17:28:06.471] } [17:28:06.471] } [17:28:06.471] } [17:28:06.471] })) [17:28:06.471] }, error = function(ex) { [17:28:06.471] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.471] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.471] ...future.rng), started = ...future.startTime, [17:28:06.471] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.471] version = "1.8"), class = "FutureResult") [17:28:06.471] }, finally = { [17:28:06.471] if (!identical(...future.workdir, getwd())) [17:28:06.471] setwd(...future.workdir) [17:28:06.471] { [17:28:06.471] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.471] ...future.oldOptions$nwarnings <- NULL [17:28:06.471] } [17:28:06.471] base::options(...future.oldOptions) [17:28:06.471] if (.Platform$OS.type == "windows") { [17:28:06.471] old_names <- names(...future.oldEnvVars) [17:28:06.471] envs <- base::Sys.getenv() [17:28:06.471] names <- names(envs) [17:28:06.471] common <- intersect(names, old_names) [17:28:06.471] added <- setdiff(names, old_names) [17:28:06.471] removed <- setdiff(old_names, names) [17:28:06.471] changed <- common[...future.oldEnvVars[common] != [17:28:06.471] envs[common]] [17:28:06.471] NAMES <- toupper(changed) [17:28:06.471] args <- list() [17:28:06.471] for (kk in seq_along(NAMES)) { [17:28:06.471] name <- changed[[kk]] [17:28:06.471] NAME <- NAMES[[kk]] [17:28:06.471] if (name != NAME && is.element(NAME, old_names)) [17:28:06.471] next [17:28:06.471] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.471] } [17:28:06.471] NAMES <- toupper(added) [17:28:06.471] for (kk in seq_along(NAMES)) { [17:28:06.471] name <- added[[kk]] [17:28:06.471] NAME <- NAMES[[kk]] [17:28:06.471] if (name != NAME && is.element(NAME, old_names)) [17:28:06.471] next [17:28:06.471] args[[name]] <- "" [17:28:06.471] } [17:28:06.471] NAMES <- toupper(removed) [17:28:06.471] for (kk in seq_along(NAMES)) { [17:28:06.471] name <- removed[[kk]] [17:28:06.471] NAME <- NAMES[[kk]] [17:28:06.471] if (name != NAME && is.element(NAME, old_names)) [17:28:06.471] next [17:28:06.471] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.471] } [17:28:06.471] if (length(args) > 0) [17:28:06.471] base::do.call(base::Sys.setenv, args = args) [17:28:06.471] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.471] } [17:28:06.471] { [17:28:06.471] if (base::length(...future.futureOptionsAdded) > [17:28:06.471] 0L) { [17:28:06.471] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.471] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.471] base::options(opts) [17:28:06.471] } [17:28:06.471] { [17:28:06.471] { [17:28:06.471] NULL [17:28:06.471] RNGkind("Mersenne-Twister") [17:28:06.471] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.471] inherits = FALSE) [17:28:06.471] } [17:28:06.471] options(future.plan = NULL) [17:28:06.471] if (is.na(NA_character_)) [17:28:06.471] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.471] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.471] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.471] .init = FALSE) [17:28:06.471] } [17:28:06.471] } [17:28:06.471] } [17:28:06.471] }) [17:28:06.471] if (TRUE) { [17:28:06.471] base::sink(type = "output", split = FALSE) [17:28:06.471] if (TRUE) { [17:28:06.471] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.471] } [17:28:06.471] else { [17:28:06.471] ...future.result["stdout"] <- base::list(NULL) [17:28:06.471] } [17:28:06.471] base::close(...future.stdout) [17:28:06.471] ...future.stdout <- NULL [17:28:06.471] } [17:28:06.471] ...future.result$conditions <- ...future.conditions [17:28:06.471] ...future.result$finished <- base::Sys.time() [17:28:06.471] ...future.result [17:28:06.471] } [17:28:06.477] assign_globals() ... [17:28:06.478] List of 1 [17:28:06.478] $ a: num 3 [17:28:06.478] - attr(*, "where")=List of 1 [17:28:06.478] ..$ a: [17:28:06.478] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.478] - attr(*, "resolved")= logi TRUE [17:28:06.478] - attr(*, "total_size")= int 39 [17:28:06.478] - attr(*, "already-done")= logi TRUE [17:28:06.483] - copied 'a' to environment [17:28:06.484] assign_globals() ... done [17:28:06.485] plan(): Setting new future strategy stack: [17:28:06.485] List of future strategies: [17:28:06.485] 1. sequential: [17:28:06.485] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.485] - tweaked: FALSE [17:28:06.485] - call: NULL [17:28:06.486] plan(): nbrOfWorkers() = 1 [17:28:06.488] plan(): Setting new future strategy stack: [17:28:06.488] List of future strategies: [17:28:06.488] 1. sequential: [17:28:06.488] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.488] - tweaked: FALSE [17:28:06.488] - call: plan(strategy) [17:28:06.489] plan(): nbrOfWorkers() = 1 [17:28:06.489] SequentialFuture started (and completed) [17:28:06.490] - Launch lazy future ... done [17:28:06.530] run() for 'SequentialFuture' ... done y = 6 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.532] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.532] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.536] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.537] Searching for globals ... DONE [17:28:06.537] Resolving globals: TRUE [17:28:06.537] Resolving any globals that are futures ... [17:28:06.538] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.538] Resolving any globals that are futures ... DONE [17:28:06.539] Resolving futures part of globals (recursively) ... [17:28:06.540] resolve() on list ... [17:28:06.540] recursive: 99 [17:28:06.540] length: 2 [17:28:06.540] elements: 'a', 'ii' [17:28:06.541] length: 1 (resolved future 1) [17:28:06.541] length: 0 (resolved future 2) [17:28:06.541] resolve() on list ... DONE [17:28:06.542] - globals: [2] 'a', 'ii' [17:28:06.542] Resolving futures part of globals (recursively) ... DONE [17:28:06.542] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:06.543] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:06.544] - globals: [2] 'a', 'ii' [17:28:06.544] [17:28:06.544] getGlobalsAndPackages() ... DONE [17:28:06.545] run() for 'Future' ... [17:28:06.545] - state: 'created' [17:28:06.546] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.546] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.547] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.547] - Field: 'label' [17:28:06.547] - Field: 'local' [17:28:06.547] - Field: 'owner' [17:28:06.548] - Field: 'envir' [17:28:06.548] - Field: 'packages' [17:28:06.549] - Field: 'gc' [17:28:06.549] - Field: 'conditions' [17:28:06.549] - Field: 'expr' [17:28:06.550] - Field: 'uuid' [17:28:06.550] - Field: 'seed' [17:28:06.550] - Field: 'version' [17:28:06.551] - Field: 'result' [17:28:06.551] - Field: 'asynchronous' [17:28:06.551] - Field: 'calls' [17:28:06.551] - Field: 'globals' [17:28:06.552] - Field: 'stdout' [17:28:06.552] - Field: 'earlySignal' [17:28:06.552] - Field: 'lazy' [17:28:06.553] - Field: 'state' [17:28:06.553] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.553] - Launch lazy future ... [17:28:06.554] Packages needed by the future expression (n = 0): [17:28:06.554] Packages needed by future strategies (n = 0): [17:28:06.555] { [17:28:06.555] { [17:28:06.555] { [17:28:06.555] ...future.startTime <- base::Sys.time() [17:28:06.555] { [17:28:06.555] { [17:28:06.555] { [17:28:06.555] base::local({ [17:28:06.555] has_future <- base::requireNamespace("future", [17:28:06.555] quietly = TRUE) [17:28:06.555] if (has_future) { [17:28:06.555] ns <- base::getNamespace("future") [17:28:06.555] version <- ns[[".package"]][["version"]] [17:28:06.555] if (is.null(version)) [17:28:06.555] version <- utils::packageVersion("future") [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] version <- NULL [17:28:06.555] } [17:28:06.555] if (!has_future || version < "1.8.0") { [17:28:06.555] info <- base::c(r_version = base::gsub("R version ", [17:28:06.555] "", base::R.version$version.string), [17:28:06.555] platform = base::sprintf("%s (%s-bit)", [17:28:06.555] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.555] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.555] "release", "version")], collapse = " "), [17:28:06.555] hostname = base::Sys.info()[["nodename"]]) [17:28:06.555] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.555] info) [17:28:06.555] info <- base::paste(info, collapse = "; ") [17:28:06.555] if (!has_future) { [17:28:06.555] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.555] info) [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.555] info, version) [17:28:06.555] } [17:28:06.555] base::stop(msg) [17:28:06.555] } [17:28:06.555] }) [17:28:06.555] } [17:28:06.555] ...future.strategy.old <- future::plan("list") [17:28:06.555] options(future.plan = NULL) [17:28:06.555] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.555] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.555] } [17:28:06.555] ...future.workdir <- getwd() [17:28:06.555] } [17:28:06.555] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.555] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.555] } [17:28:06.555] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.555] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.555] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.555] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.555] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.555] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.555] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.555] base::names(...future.oldOptions)) [17:28:06.555] } [17:28:06.555] if (FALSE) { [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] if (TRUE) { [17:28:06.555] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.555] open = "w") [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.555] windows = "NUL", "/dev/null"), open = "w") [17:28:06.555] } [17:28:06.555] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.555] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.555] base::sink(type = "output", split = FALSE) [17:28:06.555] base::close(...future.stdout) [17:28:06.555] }, add = TRUE) [17:28:06.555] } [17:28:06.555] ...future.frame <- base::sys.nframe() [17:28:06.555] ...future.conditions <- base::list() [17:28:06.555] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.555] if (FALSE) { [17:28:06.555] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.555] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.555] } [17:28:06.555] ...future.result <- base::tryCatch({ [17:28:06.555] base::withCallingHandlers({ [17:28:06.555] ...future.value <- base::withVisible(base::local({ [17:28:06.555] b <- a * ii [17:28:06.555] a <- 0 [17:28:06.555] b [17:28:06.555] })) [17:28:06.555] future::FutureResult(value = ...future.value$value, [17:28:06.555] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.555] ...future.rng), globalenv = if (FALSE) [17:28:06.555] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.555] ...future.globalenv.names)) [17:28:06.555] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.555] }, condition = base::local({ [17:28:06.555] c <- base::c [17:28:06.555] inherits <- base::inherits [17:28:06.555] invokeRestart <- base::invokeRestart [17:28:06.555] length <- base::length [17:28:06.555] list <- base::list [17:28:06.555] seq.int <- base::seq.int [17:28:06.555] signalCondition <- base::signalCondition [17:28:06.555] sys.calls <- base::sys.calls [17:28:06.555] `[[` <- base::`[[` [17:28:06.555] `+` <- base::`+` [17:28:06.555] `<<-` <- base::`<<-` [17:28:06.555] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.555] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.555] 3L)] [17:28:06.555] } [17:28:06.555] function(cond) { [17:28:06.555] is_error <- inherits(cond, "error") [17:28:06.555] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.555] NULL) [17:28:06.555] if (is_error) { [17:28:06.555] sessionInformation <- function() { [17:28:06.555] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.555] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.555] search = base::search(), system = base::Sys.info()) [17:28:06.555] } [17:28:06.555] ...future.conditions[[length(...future.conditions) + [17:28:06.555] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.555] cond$call), session = sessionInformation(), [17:28:06.555] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.555] signalCondition(cond) [17:28:06.555] } [17:28:06.555] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.555] "immediateCondition"))) { [17:28:06.555] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.555] ...future.conditions[[length(...future.conditions) + [17:28:06.555] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.555] if (TRUE && !signal) { [17:28:06.555] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.555] { [17:28:06.555] inherits <- base::inherits [17:28:06.555] invokeRestart <- base::invokeRestart [17:28:06.555] is.null <- base::is.null [17:28:06.555] muffled <- FALSE [17:28:06.555] if (inherits(cond, "message")) { [17:28:06.555] muffled <- grepl(pattern, "muffleMessage") [17:28:06.555] if (muffled) [17:28:06.555] invokeRestart("muffleMessage") [17:28:06.555] } [17:28:06.555] else if (inherits(cond, "warning")) { [17:28:06.555] muffled <- grepl(pattern, "muffleWarning") [17:28:06.555] if (muffled) [17:28:06.555] invokeRestart("muffleWarning") [17:28:06.555] } [17:28:06.555] else if (inherits(cond, "condition")) { [17:28:06.555] if (!is.null(pattern)) { [17:28:06.555] computeRestarts <- base::computeRestarts [17:28:06.555] grepl <- base::grepl [17:28:06.555] restarts <- computeRestarts(cond) [17:28:06.555] for (restart in restarts) { [17:28:06.555] name <- restart$name [17:28:06.555] if (is.null(name)) [17:28:06.555] next [17:28:06.555] if (!grepl(pattern, name)) [17:28:06.555] next [17:28:06.555] invokeRestart(restart) [17:28:06.555] muffled <- TRUE [17:28:06.555] break [17:28:06.555] } [17:28:06.555] } [17:28:06.555] } [17:28:06.555] invisible(muffled) [17:28:06.555] } [17:28:06.555] muffleCondition(cond, pattern = "^muffle") [17:28:06.555] } [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] if (TRUE) { [17:28:06.555] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.555] { [17:28:06.555] inherits <- base::inherits [17:28:06.555] invokeRestart <- base::invokeRestart [17:28:06.555] is.null <- base::is.null [17:28:06.555] muffled <- FALSE [17:28:06.555] if (inherits(cond, "message")) { [17:28:06.555] muffled <- grepl(pattern, "muffleMessage") [17:28:06.555] if (muffled) [17:28:06.555] invokeRestart("muffleMessage") [17:28:06.555] } [17:28:06.555] else if (inherits(cond, "warning")) { [17:28:06.555] muffled <- grepl(pattern, "muffleWarning") [17:28:06.555] if (muffled) [17:28:06.555] invokeRestart("muffleWarning") [17:28:06.555] } [17:28:06.555] else if (inherits(cond, "condition")) { [17:28:06.555] if (!is.null(pattern)) { [17:28:06.555] computeRestarts <- base::computeRestarts [17:28:06.555] grepl <- base::grepl [17:28:06.555] restarts <- computeRestarts(cond) [17:28:06.555] for (restart in restarts) { [17:28:06.555] name <- restart$name [17:28:06.555] if (is.null(name)) [17:28:06.555] next [17:28:06.555] if (!grepl(pattern, name)) [17:28:06.555] next [17:28:06.555] invokeRestart(restart) [17:28:06.555] muffled <- TRUE [17:28:06.555] break [17:28:06.555] } [17:28:06.555] } [17:28:06.555] } [17:28:06.555] invisible(muffled) [17:28:06.555] } [17:28:06.555] muffleCondition(cond, pattern = "^muffle") [17:28:06.555] } [17:28:06.555] } [17:28:06.555] } [17:28:06.555] })) [17:28:06.555] }, error = function(ex) { [17:28:06.555] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.555] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.555] ...future.rng), started = ...future.startTime, [17:28:06.555] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.555] version = "1.8"), class = "FutureResult") [17:28:06.555] }, finally = { [17:28:06.555] if (!identical(...future.workdir, getwd())) [17:28:06.555] setwd(...future.workdir) [17:28:06.555] { [17:28:06.555] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.555] ...future.oldOptions$nwarnings <- NULL [17:28:06.555] } [17:28:06.555] base::options(...future.oldOptions) [17:28:06.555] if (.Platform$OS.type == "windows") { [17:28:06.555] old_names <- names(...future.oldEnvVars) [17:28:06.555] envs <- base::Sys.getenv() [17:28:06.555] names <- names(envs) [17:28:06.555] common <- intersect(names, old_names) [17:28:06.555] added <- setdiff(names, old_names) [17:28:06.555] removed <- setdiff(old_names, names) [17:28:06.555] changed <- common[...future.oldEnvVars[common] != [17:28:06.555] envs[common]] [17:28:06.555] NAMES <- toupper(changed) [17:28:06.555] args <- list() [17:28:06.555] for (kk in seq_along(NAMES)) { [17:28:06.555] name <- changed[[kk]] [17:28:06.555] NAME <- NAMES[[kk]] [17:28:06.555] if (name != NAME && is.element(NAME, old_names)) [17:28:06.555] next [17:28:06.555] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.555] } [17:28:06.555] NAMES <- toupper(added) [17:28:06.555] for (kk in seq_along(NAMES)) { [17:28:06.555] name <- added[[kk]] [17:28:06.555] NAME <- NAMES[[kk]] [17:28:06.555] if (name != NAME && is.element(NAME, old_names)) [17:28:06.555] next [17:28:06.555] args[[name]] <- "" [17:28:06.555] } [17:28:06.555] NAMES <- toupper(removed) [17:28:06.555] for (kk in seq_along(NAMES)) { [17:28:06.555] name <- removed[[kk]] [17:28:06.555] NAME <- NAMES[[kk]] [17:28:06.555] if (name != NAME && is.element(NAME, old_names)) [17:28:06.555] next [17:28:06.555] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.555] } [17:28:06.555] if (length(args) > 0) [17:28:06.555] base::do.call(base::Sys.setenv, args = args) [17:28:06.555] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.555] } [17:28:06.555] { [17:28:06.555] if (base::length(...future.futureOptionsAdded) > [17:28:06.555] 0L) { [17:28:06.555] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.555] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.555] base::options(opts) [17:28:06.555] } [17:28:06.555] { [17:28:06.555] { [17:28:06.555] NULL [17:28:06.555] RNGkind("Mersenne-Twister") [17:28:06.555] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.555] inherits = FALSE) [17:28:06.555] } [17:28:06.555] options(future.plan = NULL) [17:28:06.555] if (is.na(NA_character_)) [17:28:06.555] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.555] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.555] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.555] .init = FALSE) [17:28:06.555] } [17:28:06.555] } [17:28:06.555] } [17:28:06.555] }) [17:28:06.555] if (TRUE) { [17:28:06.555] base::sink(type = "output", split = FALSE) [17:28:06.555] if (TRUE) { [17:28:06.555] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.555] } [17:28:06.555] else { [17:28:06.555] ...future.result["stdout"] <- base::list(NULL) [17:28:06.555] } [17:28:06.555] base::close(...future.stdout) [17:28:06.555] ...future.stdout <- NULL [17:28:06.555] } [17:28:06.555] ...future.result$conditions <- ...future.conditions [17:28:06.555] ...future.result$finished <- base::Sys.time() [17:28:06.555] ...future.result [17:28:06.555] } [17:28:06.562] assign_globals() ... [17:28:06.562] List of 2 [17:28:06.562] $ a : num 1 [17:28:06.562] $ ii: int 1 [17:28:06.562] - attr(*, "where")=List of 2 [17:28:06.562] ..$ a : [17:28:06.562] ..$ ii: [17:28:06.562] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.562] - attr(*, "resolved")= logi TRUE [17:28:06.562] - attr(*, "total_size")= int 74 [17:28:06.562] - attr(*, "already-done")= logi TRUE [17:28:06.569] - copied 'a' to environment [17:28:06.569] - copied 'ii' to environment [17:28:06.570] assign_globals() ... done [17:28:06.570] plan(): Setting new future strategy stack: [17:28:06.571] List of future strategies: [17:28:06.571] 1. sequential: [17:28:06.571] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.571] - tweaked: FALSE [17:28:06.571] - call: NULL [17:28:06.572] plan(): nbrOfWorkers() = 1 [17:28:06.574] plan(): Setting new future strategy stack: [17:28:06.574] List of future strategies: [17:28:06.574] 1. sequential: [17:28:06.574] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.574] - tweaked: FALSE [17:28:06.574] - call: plan(strategy) [17:28:06.575] plan(): nbrOfWorkers() = 1 [17:28:06.575] SequentialFuture started (and completed) [17:28:06.576] - Launch lazy future ... done [17:28:06.576] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.577] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.577] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.582] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.584] Searching for globals ... DONE [17:28:06.585] Resolving globals: TRUE [17:28:06.585] Resolving any globals that are futures ... [17:28:06.585] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.586] Resolving any globals that are futures ... DONE [17:28:06.587] Resolving futures part of globals (recursively) ... [17:28:06.587] resolve() on list ... [17:28:06.588] recursive: 99 [17:28:06.588] length: 2 [17:28:06.588] elements: 'a', 'ii' [17:28:06.589] length: 1 (resolved future 1) [17:28:06.589] length: 0 (resolved future 2) [17:28:06.589] resolve() on list ... DONE [17:28:06.590] - globals: [2] 'a', 'ii' [17:28:06.590] Resolving futures part of globals (recursively) ... DONE [17:28:06.590] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:06.591] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:06.591] - globals: [2] 'a', 'ii' [17:28:06.592] [17:28:06.592] getGlobalsAndPackages() ... DONE [17:28:06.593] run() for 'Future' ... [17:28:06.593] - state: 'created' [17:28:06.593] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.594] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.594] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.595] - Field: 'label' [17:28:06.595] - Field: 'local' [17:28:06.596] - Field: 'owner' [17:28:06.596] - Field: 'envir' [17:28:06.596] - Field: 'packages' [17:28:06.597] - Field: 'gc' [17:28:06.597] - Field: 'conditions' [17:28:06.597] - Field: 'expr' [17:28:06.597] - Field: 'uuid' [17:28:06.598] - Field: 'seed' [17:28:06.598] - Field: 'version' [17:28:06.598] - Field: 'result' [17:28:06.598] - Field: 'asynchronous' [17:28:06.599] - Field: 'calls' [17:28:06.599] - Field: 'globals' [17:28:06.599] - Field: 'stdout' [17:28:06.599] - Field: 'earlySignal' [17:28:06.600] - Field: 'lazy' [17:28:06.600] - Field: 'state' [17:28:06.600] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.600] - Launch lazy future ... [17:28:06.601] Packages needed by the future expression (n = 0): [17:28:06.601] Packages needed by future strategies (n = 0): [17:28:06.602] { [17:28:06.602] { [17:28:06.602] { [17:28:06.602] ...future.startTime <- base::Sys.time() [17:28:06.602] { [17:28:06.602] { [17:28:06.602] { [17:28:06.602] base::local({ [17:28:06.602] has_future <- base::requireNamespace("future", [17:28:06.602] quietly = TRUE) [17:28:06.602] if (has_future) { [17:28:06.602] ns <- base::getNamespace("future") [17:28:06.602] version <- ns[[".package"]][["version"]] [17:28:06.602] if (is.null(version)) [17:28:06.602] version <- utils::packageVersion("future") [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] version <- NULL [17:28:06.602] } [17:28:06.602] if (!has_future || version < "1.8.0") { [17:28:06.602] info <- base::c(r_version = base::gsub("R version ", [17:28:06.602] "", base::R.version$version.string), [17:28:06.602] platform = base::sprintf("%s (%s-bit)", [17:28:06.602] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.602] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.602] "release", "version")], collapse = " "), [17:28:06.602] hostname = base::Sys.info()[["nodename"]]) [17:28:06.602] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.602] info) [17:28:06.602] info <- base::paste(info, collapse = "; ") [17:28:06.602] if (!has_future) { [17:28:06.602] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.602] info) [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.602] info, version) [17:28:06.602] } [17:28:06.602] base::stop(msg) [17:28:06.602] } [17:28:06.602] }) [17:28:06.602] } [17:28:06.602] ...future.strategy.old <- future::plan("list") [17:28:06.602] options(future.plan = NULL) [17:28:06.602] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.602] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.602] } [17:28:06.602] ...future.workdir <- getwd() [17:28:06.602] } [17:28:06.602] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.602] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.602] } [17:28:06.602] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.602] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.602] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.602] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.602] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.602] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.602] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.602] base::names(...future.oldOptions)) [17:28:06.602] } [17:28:06.602] if (FALSE) { [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] if (TRUE) { [17:28:06.602] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.602] open = "w") [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.602] windows = "NUL", "/dev/null"), open = "w") [17:28:06.602] } [17:28:06.602] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.602] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.602] base::sink(type = "output", split = FALSE) [17:28:06.602] base::close(...future.stdout) [17:28:06.602] }, add = TRUE) [17:28:06.602] } [17:28:06.602] ...future.frame <- base::sys.nframe() [17:28:06.602] ...future.conditions <- base::list() [17:28:06.602] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.602] if (FALSE) { [17:28:06.602] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.602] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.602] } [17:28:06.602] ...future.result <- base::tryCatch({ [17:28:06.602] base::withCallingHandlers({ [17:28:06.602] ...future.value <- base::withVisible(base::local({ [17:28:06.602] b <- a * ii [17:28:06.602] a <- 0 [17:28:06.602] b [17:28:06.602] })) [17:28:06.602] future::FutureResult(value = ...future.value$value, [17:28:06.602] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.602] ...future.rng), globalenv = if (FALSE) [17:28:06.602] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.602] ...future.globalenv.names)) [17:28:06.602] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.602] }, condition = base::local({ [17:28:06.602] c <- base::c [17:28:06.602] inherits <- base::inherits [17:28:06.602] invokeRestart <- base::invokeRestart [17:28:06.602] length <- base::length [17:28:06.602] list <- base::list [17:28:06.602] seq.int <- base::seq.int [17:28:06.602] signalCondition <- base::signalCondition [17:28:06.602] sys.calls <- base::sys.calls [17:28:06.602] `[[` <- base::`[[` [17:28:06.602] `+` <- base::`+` [17:28:06.602] `<<-` <- base::`<<-` [17:28:06.602] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.602] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.602] 3L)] [17:28:06.602] } [17:28:06.602] function(cond) { [17:28:06.602] is_error <- inherits(cond, "error") [17:28:06.602] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.602] NULL) [17:28:06.602] if (is_error) { [17:28:06.602] sessionInformation <- function() { [17:28:06.602] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.602] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.602] search = base::search(), system = base::Sys.info()) [17:28:06.602] } [17:28:06.602] ...future.conditions[[length(...future.conditions) + [17:28:06.602] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.602] cond$call), session = sessionInformation(), [17:28:06.602] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.602] signalCondition(cond) [17:28:06.602] } [17:28:06.602] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.602] "immediateCondition"))) { [17:28:06.602] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.602] ...future.conditions[[length(...future.conditions) + [17:28:06.602] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.602] if (TRUE && !signal) { [17:28:06.602] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.602] { [17:28:06.602] inherits <- base::inherits [17:28:06.602] invokeRestart <- base::invokeRestart [17:28:06.602] is.null <- base::is.null [17:28:06.602] muffled <- FALSE [17:28:06.602] if (inherits(cond, "message")) { [17:28:06.602] muffled <- grepl(pattern, "muffleMessage") [17:28:06.602] if (muffled) [17:28:06.602] invokeRestart("muffleMessage") [17:28:06.602] } [17:28:06.602] else if (inherits(cond, "warning")) { [17:28:06.602] muffled <- grepl(pattern, "muffleWarning") [17:28:06.602] if (muffled) [17:28:06.602] invokeRestart("muffleWarning") [17:28:06.602] } [17:28:06.602] else if (inherits(cond, "condition")) { [17:28:06.602] if (!is.null(pattern)) { [17:28:06.602] computeRestarts <- base::computeRestarts [17:28:06.602] grepl <- base::grepl [17:28:06.602] restarts <- computeRestarts(cond) [17:28:06.602] for (restart in restarts) { [17:28:06.602] name <- restart$name [17:28:06.602] if (is.null(name)) [17:28:06.602] next [17:28:06.602] if (!grepl(pattern, name)) [17:28:06.602] next [17:28:06.602] invokeRestart(restart) [17:28:06.602] muffled <- TRUE [17:28:06.602] break [17:28:06.602] } [17:28:06.602] } [17:28:06.602] } [17:28:06.602] invisible(muffled) [17:28:06.602] } [17:28:06.602] muffleCondition(cond, pattern = "^muffle") [17:28:06.602] } [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] if (TRUE) { [17:28:06.602] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.602] { [17:28:06.602] inherits <- base::inherits [17:28:06.602] invokeRestart <- base::invokeRestart [17:28:06.602] is.null <- base::is.null [17:28:06.602] muffled <- FALSE [17:28:06.602] if (inherits(cond, "message")) { [17:28:06.602] muffled <- grepl(pattern, "muffleMessage") [17:28:06.602] if (muffled) [17:28:06.602] invokeRestart("muffleMessage") [17:28:06.602] } [17:28:06.602] else if (inherits(cond, "warning")) { [17:28:06.602] muffled <- grepl(pattern, "muffleWarning") [17:28:06.602] if (muffled) [17:28:06.602] invokeRestart("muffleWarning") [17:28:06.602] } [17:28:06.602] else if (inherits(cond, "condition")) { [17:28:06.602] if (!is.null(pattern)) { [17:28:06.602] computeRestarts <- base::computeRestarts [17:28:06.602] grepl <- base::grepl [17:28:06.602] restarts <- computeRestarts(cond) [17:28:06.602] for (restart in restarts) { [17:28:06.602] name <- restart$name [17:28:06.602] if (is.null(name)) [17:28:06.602] next [17:28:06.602] if (!grepl(pattern, name)) [17:28:06.602] next [17:28:06.602] invokeRestart(restart) [17:28:06.602] muffled <- TRUE [17:28:06.602] break [17:28:06.602] } [17:28:06.602] } [17:28:06.602] } [17:28:06.602] invisible(muffled) [17:28:06.602] } [17:28:06.602] muffleCondition(cond, pattern = "^muffle") [17:28:06.602] } [17:28:06.602] } [17:28:06.602] } [17:28:06.602] })) [17:28:06.602] }, error = function(ex) { [17:28:06.602] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.602] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.602] ...future.rng), started = ...future.startTime, [17:28:06.602] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.602] version = "1.8"), class = "FutureResult") [17:28:06.602] }, finally = { [17:28:06.602] if (!identical(...future.workdir, getwd())) [17:28:06.602] setwd(...future.workdir) [17:28:06.602] { [17:28:06.602] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.602] ...future.oldOptions$nwarnings <- NULL [17:28:06.602] } [17:28:06.602] base::options(...future.oldOptions) [17:28:06.602] if (.Platform$OS.type == "windows") { [17:28:06.602] old_names <- names(...future.oldEnvVars) [17:28:06.602] envs <- base::Sys.getenv() [17:28:06.602] names <- names(envs) [17:28:06.602] common <- intersect(names, old_names) [17:28:06.602] added <- setdiff(names, old_names) [17:28:06.602] removed <- setdiff(old_names, names) [17:28:06.602] changed <- common[...future.oldEnvVars[common] != [17:28:06.602] envs[common]] [17:28:06.602] NAMES <- toupper(changed) [17:28:06.602] args <- list() [17:28:06.602] for (kk in seq_along(NAMES)) { [17:28:06.602] name <- changed[[kk]] [17:28:06.602] NAME <- NAMES[[kk]] [17:28:06.602] if (name != NAME && is.element(NAME, old_names)) [17:28:06.602] next [17:28:06.602] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.602] } [17:28:06.602] NAMES <- toupper(added) [17:28:06.602] for (kk in seq_along(NAMES)) { [17:28:06.602] name <- added[[kk]] [17:28:06.602] NAME <- NAMES[[kk]] [17:28:06.602] if (name != NAME && is.element(NAME, old_names)) [17:28:06.602] next [17:28:06.602] args[[name]] <- "" [17:28:06.602] } [17:28:06.602] NAMES <- toupper(removed) [17:28:06.602] for (kk in seq_along(NAMES)) { [17:28:06.602] name <- removed[[kk]] [17:28:06.602] NAME <- NAMES[[kk]] [17:28:06.602] if (name != NAME && is.element(NAME, old_names)) [17:28:06.602] next [17:28:06.602] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.602] } [17:28:06.602] if (length(args) > 0) [17:28:06.602] base::do.call(base::Sys.setenv, args = args) [17:28:06.602] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.602] } [17:28:06.602] { [17:28:06.602] if (base::length(...future.futureOptionsAdded) > [17:28:06.602] 0L) { [17:28:06.602] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.602] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.602] base::options(opts) [17:28:06.602] } [17:28:06.602] { [17:28:06.602] { [17:28:06.602] NULL [17:28:06.602] RNGkind("Mersenne-Twister") [17:28:06.602] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.602] inherits = FALSE) [17:28:06.602] } [17:28:06.602] options(future.plan = NULL) [17:28:06.602] if (is.na(NA_character_)) [17:28:06.602] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.602] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.602] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.602] .init = FALSE) [17:28:06.602] } [17:28:06.602] } [17:28:06.602] } [17:28:06.602] }) [17:28:06.602] if (TRUE) { [17:28:06.602] base::sink(type = "output", split = FALSE) [17:28:06.602] if (TRUE) { [17:28:06.602] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.602] } [17:28:06.602] else { [17:28:06.602] ...future.result["stdout"] <- base::list(NULL) [17:28:06.602] } [17:28:06.602] base::close(...future.stdout) [17:28:06.602] ...future.stdout <- NULL [17:28:06.602] } [17:28:06.602] ...future.result$conditions <- ...future.conditions [17:28:06.602] ...future.result$finished <- base::Sys.time() [17:28:06.602] ...future.result [17:28:06.602] } [17:28:06.609] assign_globals() ... [17:28:06.609] List of 2 [17:28:06.609] $ a : num 1 [17:28:06.609] $ ii: int 2 [17:28:06.609] - attr(*, "where")=List of 2 [17:28:06.609] ..$ a : [17:28:06.609] ..$ ii: [17:28:06.609] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.609] - attr(*, "resolved")= logi TRUE [17:28:06.609] - attr(*, "total_size")= int 74 [17:28:06.609] - attr(*, "already-done")= logi TRUE [17:28:06.615] - copied 'a' to environment [17:28:06.615] - copied 'ii' to environment [17:28:06.615] assign_globals() ... done [17:28:06.616] plan(): Setting new future strategy stack: [17:28:06.616] List of future strategies: [17:28:06.616] 1. sequential: [17:28:06.616] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.616] - tweaked: FALSE [17:28:06.616] - call: NULL [17:28:06.617] plan(): nbrOfWorkers() = 1 [17:28:06.619] plan(): Setting new future strategy stack: [17:28:06.619] List of future strategies: [17:28:06.619] 1. sequential: [17:28:06.619] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.619] - tweaked: FALSE [17:28:06.619] - call: plan(strategy) [17:28:06.620] plan(): nbrOfWorkers() = 1 [17:28:06.621] SequentialFuture started (and completed) [17:28:06.621] - Launch lazy future ... done [17:28:06.621] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.623] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.623] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.627] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.627] Searching for globals ... DONE [17:28:06.628] Resolving globals: TRUE [17:28:06.628] Resolving any globals that are futures ... [17:28:06.628] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.629] Resolving any globals that are futures ... DONE [17:28:06.629] Resolving futures part of globals (recursively) ... [17:28:06.630] resolve() on list ... [17:28:06.630] recursive: 99 [17:28:06.630] length: 2 [17:28:06.631] elements: 'a', 'ii' [17:28:06.631] length: 1 (resolved future 1) [17:28:06.631] length: 0 (resolved future 2) [17:28:06.632] resolve() on list ... DONE [17:28:06.632] - globals: [2] 'a', 'ii' [17:28:06.632] Resolving futures part of globals (recursively) ... DONE [17:28:06.632] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:06.633] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:06.634] - globals: [2] 'a', 'ii' [17:28:06.634] [17:28:06.634] getGlobalsAndPackages() ... DONE [17:28:06.635] run() for 'Future' ... [17:28:06.635] - state: 'created' [17:28:06.635] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.638] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.638] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.639] - Field: 'label' [17:28:06.639] - Field: 'local' [17:28:06.639] - Field: 'owner' [17:28:06.640] - Field: 'envir' [17:28:06.640] - Field: 'packages' [17:28:06.640] - Field: 'gc' [17:28:06.641] - Field: 'conditions' [17:28:06.641] - Field: 'expr' [17:28:06.641] - Field: 'uuid' [17:28:06.642] - Field: 'seed' [17:28:06.642] - Field: 'version' [17:28:06.642] - Field: 'result' [17:28:06.642] - Field: 'asynchronous' [17:28:06.643] - Field: 'calls' [17:28:06.643] - Field: 'globals' [17:28:06.643] - Field: 'stdout' [17:28:06.644] - Field: 'earlySignal' [17:28:06.644] - Field: 'lazy' [17:28:06.644] - Field: 'state' [17:28:06.645] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.645] - Launch lazy future ... [17:28:06.645] Packages needed by the future expression (n = 0): [17:28:06.646] Packages needed by future strategies (n = 0): [17:28:06.647] { [17:28:06.647] { [17:28:06.647] { [17:28:06.647] ...future.startTime <- base::Sys.time() [17:28:06.647] { [17:28:06.647] { [17:28:06.647] { [17:28:06.647] base::local({ [17:28:06.647] has_future <- base::requireNamespace("future", [17:28:06.647] quietly = TRUE) [17:28:06.647] if (has_future) { [17:28:06.647] ns <- base::getNamespace("future") [17:28:06.647] version <- ns[[".package"]][["version"]] [17:28:06.647] if (is.null(version)) [17:28:06.647] version <- utils::packageVersion("future") [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] version <- NULL [17:28:06.647] } [17:28:06.647] if (!has_future || version < "1.8.0") { [17:28:06.647] info <- base::c(r_version = base::gsub("R version ", [17:28:06.647] "", base::R.version$version.string), [17:28:06.647] platform = base::sprintf("%s (%s-bit)", [17:28:06.647] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.647] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.647] "release", "version")], collapse = " "), [17:28:06.647] hostname = base::Sys.info()[["nodename"]]) [17:28:06.647] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.647] info) [17:28:06.647] info <- base::paste(info, collapse = "; ") [17:28:06.647] if (!has_future) { [17:28:06.647] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.647] info) [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.647] info, version) [17:28:06.647] } [17:28:06.647] base::stop(msg) [17:28:06.647] } [17:28:06.647] }) [17:28:06.647] } [17:28:06.647] ...future.strategy.old <- future::plan("list") [17:28:06.647] options(future.plan = NULL) [17:28:06.647] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.647] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.647] } [17:28:06.647] ...future.workdir <- getwd() [17:28:06.647] } [17:28:06.647] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.647] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.647] } [17:28:06.647] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.647] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.647] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.647] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.647] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.647] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.647] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.647] base::names(...future.oldOptions)) [17:28:06.647] } [17:28:06.647] if (FALSE) { [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] if (TRUE) { [17:28:06.647] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.647] open = "w") [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.647] windows = "NUL", "/dev/null"), open = "w") [17:28:06.647] } [17:28:06.647] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.647] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.647] base::sink(type = "output", split = FALSE) [17:28:06.647] base::close(...future.stdout) [17:28:06.647] }, add = TRUE) [17:28:06.647] } [17:28:06.647] ...future.frame <- base::sys.nframe() [17:28:06.647] ...future.conditions <- base::list() [17:28:06.647] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.647] if (FALSE) { [17:28:06.647] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.647] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.647] } [17:28:06.647] ...future.result <- base::tryCatch({ [17:28:06.647] base::withCallingHandlers({ [17:28:06.647] ...future.value <- base::withVisible(base::local({ [17:28:06.647] b <- a * ii [17:28:06.647] a <- 0 [17:28:06.647] b [17:28:06.647] })) [17:28:06.647] future::FutureResult(value = ...future.value$value, [17:28:06.647] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.647] ...future.rng), globalenv = if (FALSE) [17:28:06.647] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.647] ...future.globalenv.names)) [17:28:06.647] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.647] }, condition = base::local({ [17:28:06.647] c <- base::c [17:28:06.647] inherits <- base::inherits [17:28:06.647] invokeRestart <- base::invokeRestart [17:28:06.647] length <- base::length [17:28:06.647] list <- base::list [17:28:06.647] seq.int <- base::seq.int [17:28:06.647] signalCondition <- base::signalCondition [17:28:06.647] sys.calls <- base::sys.calls [17:28:06.647] `[[` <- base::`[[` [17:28:06.647] `+` <- base::`+` [17:28:06.647] `<<-` <- base::`<<-` [17:28:06.647] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.647] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.647] 3L)] [17:28:06.647] } [17:28:06.647] function(cond) { [17:28:06.647] is_error <- inherits(cond, "error") [17:28:06.647] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.647] NULL) [17:28:06.647] if (is_error) { [17:28:06.647] sessionInformation <- function() { [17:28:06.647] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.647] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.647] search = base::search(), system = base::Sys.info()) [17:28:06.647] } [17:28:06.647] ...future.conditions[[length(...future.conditions) + [17:28:06.647] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.647] cond$call), session = sessionInformation(), [17:28:06.647] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.647] signalCondition(cond) [17:28:06.647] } [17:28:06.647] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.647] "immediateCondition"))) { [17:28:06.647] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.647] ...future.conditions[[length(...future.conditions) + [17:28:06.647] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.647] if (TRUE && !signal) { [17:28:06.647] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.647] { [17:28:06.647] inherits <- base::inherits [17:28:06.647] invokeRestart <- base::invokeRestart [17:28:06.647] is.null <- base::is.null [17:28:06.647] muffled <- FALSE [17:28:06.647] if (inherits(cond, "message")) { [17:28:06.647] muffled <- grepl(pattern, "muffleMessage") [17:28:06.647] if (muffled) [17:28:06.647] invokeRestart("muffleMessage") [17:28:06.647] } [17:28:06.647] else if (inherits(cond, "warning")) { [17:28:06.647] muffled <- grepl(pattern, "muffleWarning") [17:28:06.647] if (muffled) [17:28:06.647] invokeRestart("muffleWarning") [17:28:06.647] } [17:28:06.647] else if (inherits(cond, "condition")) { [17:28:06.647] if (!is.null(pattern)) { [17:28:06.647] computeRestarts <- base::computeRestarts [17:28:06.647] grepl <- base::grepl [17:28:06.647] restarts <- computeRestarts(cond) [17:28:06.647] for (restart in restarts) { [17:28:06.647] name <- restart$name [17:28:06.647] if (is.null(name)) [17:28:06.647] next [17:28:06.647] if (!grepl(pattern, name)) [17:28:06.647] next [17:28:06.647] invokeRestart(restart) [17:28:06.647] muffled <- TRUE [17:28:06.647] break [17:28:06.647] } [17:28:06.647] } [17:28:06.647] } [17:28:06.647] invisible(muffled) [17:28:06.647] } [17:28:06.647] muffleCondition(cond, pattern = "^muffle") [17:28:06.647] } [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] if (TRUE) { [17:28:06.647] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.647] { [17:28:06.647] inherits <- base::inherits [17:28:06.647] invokeRestart <- base::invokeRestart [17:28:06.647] is.null <- base::is.null [17:28:06.647] muffled <- FALSE [17:28:06.647] if (inherits(cond, "message")) { [17:28:06.647] muffled <- grepl(pattern, "muffleMessage") [17:28:06.647] if (muffled) [17:28:06.647] invokeRestart("muffleMessage") [17:28:06.647] } [17:28:06.647] else if (inherits(cond, "warning")) { [17:28:06.647] muffled <- grepl(pattern, "muffleWarning") [17:28:06.647] if (muffled) [17:28:06.647] invokeRestart("muffleWarning") [17:28:06.647] } [17:28:06.647] else if (inherits(cond, "condition")) { [17:28:06.647] if (!is.null(pattern)) { [17:28:06.647] computeRestarts <- base::computeRestarts [17:28:06.647] grepl <- base::grepl [17:28:06.647] restarts <- computeRestarts(cond) [17:28:06.647] for (restart in restarts) { [17:28:06.647] name <- restart$name [17:28:06.647] if (is.null(name)) [17:28:06.647] next [17:28:06.647] if (!grepl(pattern, name)) [17:28:06.647] next [17:28:06.647] invokeRestart(restart) [17:28:06.647] muffled <- TRUE [17:28:06.647] break [17:28:06.647] } [17:28:06.647] } [17:28:06.647] } [17:28:06.647] invisible(muffled) [17:28:06.647] } [17:28:06.647] muffleCondition(cond, pattern = "^muffle") [17:28:06.647] } [17:28:06.647] } [17:28:06.647] } [17:28:06.647] })) [17:28:06.647] }, error = function(ex) { [17:28:06.647] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.647] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.647] ...future.rng), started = ...future.startTime, [17:28:06.647] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.647] version = "1.8"), class = "FutureResult") [17:28:06.647] }, finally = { [17:28:06.647] if (!identical(...future.workdir, getwd())) [17:28:06.647] setwd(...future.workdir) [17:28:06.647] { [17:28:06.647] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.647] ...future.oldOptions$nwarnings <- NULL [17:28:06.647] } [17:28:06.647] base::options(...future.oldOptions) [17:28:06.647] if (.Platform$OS.type == "windows") { [17:28:06.647] old_names <- names(...future.oldEnvVars) [17:28:06.647] envs <- base::Sys.getenv() [17:28:06.647] names <- names(envs) [17:28:06.647] common <- intersect(names, old_names) [17:28:06.647] added <- setdiff(names, old_names) [17:28:06.647] removed <- setdiff(old_names, names) [17:28:06.647] changed <- common[...future.oldEnvVars[common] != [17:28:06.647] envs[common]] [17:28:06.647] NAMES <- toupper(changed) [17:28:06.647] args <- list() [17:28:06.647] for (kk in seq_along(NAMES)) { [17:28:06.647] name <- changed[[kk]] [17:28:06.647] NAME <- NAMES[[kk]] [17:28:06.647] if (name != NAME && is.element(NAME, old_names)) [17:28:06.647] next [17:28:06.647] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.647] } [17:28:06.647] NAMES <- toupper(added) [17:28:06.647] for (kk in seq_along(NAMES)) { [17:28:06.647] name <- added[[kk]] [17:28:06.647] NAME <- NAMES[[kk]] [17:28:06.647] if (name != NAME && is.element(NAME, old_names)) [17:28:06.647] next [17:28:06.647] args[[name]] <- "" [17:28:06.647] } [17:28:06.647] NAMES <- toupper(removed) [17:28:06.647] for (kk in seq_along(NAMES)) { [17:28:06.647] name <- removed[[kk]] [17:28:06.647] NAME <- NAMES[[kk]] [17:28:06.647] if (name != NAME && is.element(NAME, old_names)) [17:28:06.647] next [17:28:06.647] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.647] } [17:28:06.647] if (length(args) > 0) [17:28:06.647] base::do.call(base::Sys.setenv, args = args) [17:28:06.647] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.647] } [17:28:06.647] { [17:28:06.647] if (base::length(...future.futureOptionsAdded) > [17:28:06.647] 0L) { [17:28:06.647] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.647] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.647] base::options(opts) [17:28:06.647] } [17:28:06.647] { [17:28:06.647] { [17:28:06.647] NULL [17:28:06.647] RNGkind("Mersenne-Twister") [17:28:06.647] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.647] inherits = FALSE) [17:28:06.647] } [17:28:06.647] options(future.plan = NULL) [17:28:06.647] if (is.na(NA_character_)) [17:28:06.647] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.647] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.647] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.647] .init = FALSE) [17:28:06.647] } [17:28:06.647] } [17:28:06.647] } [17:28:06.647] }) [17:28:06.647] if (TRUE) { [17:28:06.647] base::sink(type = "output", split = FALSE) [17:28:06.647] if (TRUE) { [17:28:06.647] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.647] } [17:28:06.647] else { [17:28:06.647] ...future.result["stdout"] <- base::list(NULL) [17:28:06.647] } [17:28:06.647] base::close(...future.stdout) [17:28:06.647] ...future.stdout <- NULL [17:28:06.647] } [17:28:06.647] ...future.result$conditions <- ...future.conditions [17:28:06.647] ...future.result$finished <- base::Sys.time() [17:28:06.647] ...future.result [17:28:06.647] } [17:28:06.653] assign_globals() ... [17:28:06.653] List of 2 [17:28:06.653] $ a : num 1 [17:28:06.653] $ ii: int 3 [17:28:06.653] - attr(*, "where")=List of 2 [17:28:06.653] ..$ a : [17:28:06.653] ..$ ii: [17:28:06.653] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.653] - attr(*, "resolved")= logi TRUE [17:28:06.653] - attr(*, "total_size")= int 74 [17:28:06.653] - attr(*, "already-done")= logi TRUE [17:28:06.659] - copied 'a' to environment [17:28:06.659] - copied 'ii' to environment [17:28:06.660] assign_globals() ... done [17:28:06.660] plan(): Setting new future strategy stack: [17:28:06.661] List of future strategies: [17:28:06.661] 1. sequential: [17:28:06.661] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.661] - tweaked: FALSE [17:28:06.661] - call: NULL [17:28:06.661] plan(): nbrOfWorkers() = 1 [17:28:06.663] plan(): Setting new future strategy stack: [17:28:06.664] List of future strategies: [17:28:06.664] 1. sequential: [17:28:06.664] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.664] - tweaked: FALSE [17:28:06.664] - call: plan(strategy) [17:28:06.665] plan(): nbrOfWorkers() = 1 [17:28:06.665] SequentialFuture started (and completed) [17:28:06.665] - Launch lazy future ... done [17:28:06.666] run() for 'SequentialFuture' ... done [1] 1 2 3 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.667] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.668] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.672] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.672] Searching for globals ... DONE [17:28:06.673] Resolving globals: TRUE [17:28:06.673] Resolving any globals that are futures ... [17:28:06.673] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.673] Resolving any globals that are futures ... DONE [17:28:06.674] Resolving futures part of globals (recursively) ... [17:28:06.675] resolve() on list ... [17:28:06.675] recursive: 99 [17:28:06.675] length: 2 [17:28:06.675] elements: 'a', 'ii' [17:28:06.676] length: 1 (resolved future 1) [17:28:06.676] length: 0 (resolved future 2) [17:28:06.676] resolve() on list ... DONE [17:28:06.677] - globals: [2] 'a', 'ii' [17:28:06.677] Resolving futures part of globals (recursively) ... DONE [17:28:06.677] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:06.678] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:06.678] - globals: [2] 'a', 'ii' [17:28:06.679] [17:28:06.679] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.680] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.681] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.685] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.687] Searching for globals ... DONE [17:28:06.687] Resolving globals: TRUE [17:28:06.688] Resolving any globals that are futures ... [17:28:06.688] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.688] Resolving any globals that are futures ... DONE [17:28:06.689] Resolving futures part of globals (recursively) ... [17:28:06.690] resolve() on list ... [17:28:06.690] recursive: 99 [17:28:06.690] length: 2 [17:28:06.690] elements: 'a', 'ii' [17:28:06.691] length: 1 (resolved future 1) [17:28:06.691] length: 0 (resolved future 2) [17:28:06.691] resolve() on list ... DONE [17:28:06.692] - globals: [2] 'a', 'ii' [17:28:06.692] Resolving futures part of globals (recursively) ... DONE [17:28:06.692] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:06.693] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:06.693] - globals: [2] 'a', 'ii' [17:28:06.694] [17:28:06.694] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.695] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.696] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.700] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.700] Searching for globals ... DONE [17:28:06.700] Resolving globals: TRUE [17:28:06.701] Resolving any globals that are futures ... [17:28:06.701] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:06.701] Resolving any globals that are futures ... DONE [17:28:06.702] Resolving futures part of globals (recursively) ... [17:28:06.703] resolve() on list ... [17:28:06.703] recursive: 99 [17:28:06.703] length: 2 [17:28:06.703] elements: 'a', 'ii' [17:28:06.704] length: 1 (resolved future 1) [17:28:06.704] length: 0 (resolved future 2) [17:28:06.704] resolve() on list ... DONE [17:28:06.704] - globals: [2] 'a', 'ii' [17:28:06.705] Resolving futures part of globals (recursively) ... DONE [17:28:06.705] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:06.706] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:06.706] - globals: [2] 'a', 'ii' [17:28:06.706] [17:28:06.707] getGlobalsAndPackages() ... DONE [17:28:06.707] run() for 'Future' ... [17:28:06.708] - state: 'created' [17:28:06.708] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.709] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.709] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.709] - Field: 'label' [17:28:06.710] - Field: 'local' [17:28:06.710] - Field: 'owner' [17:28:06.710] - Field: 'envir' [17:28:06.710] - Field: 'packages' [17:28:06.711] - Field: 'gc' [17:28:06.711] - Field: 'conditions' [17:28:06.711] - Field: 'expr' [17:28:06.712] - Field: 'uuid' [17:28:06.712] - Field: 'seed' [17:28:06.712] - Field: 'version' [17:28:06.712] - Field: 'result' [17:28:06.713] - Field: 'asynchronous' [17:28:06.713] - Field: 'calls' [17:28:06.713] - Field: 'globals' [17:28:06.714] - Field: 'stdout' [17:28:06.714] - Field: 'earlySignal' [17:28:06.714] - Field: 'lazy' [17:28:06.714] - Field: 'state' [17:28:06.715] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.715] - Launch lazy future ... [17:28:06.715] Packages needed by the future expression (n = 0): [17:28:06.716] Packages needed by future strategies (n = 0): [17:28:06.717] { [17:28:06.717] { [17:28:06.717] { [17:28:06.717] ...future.startTime <- base::Sys.time() [17:28:06.717] { [17:28:06.717] { [17:28:06.717] { [17:28:06.717] base::local({ [17:28:06.717] has_future <- base::requireNamespace("future", [17:28:06.717] quietly = TRUE) [17:28:06.717] if (has_future) { [17:28:06.717] ns <- base::getNamespace("future") [17:28:06.717] version <- ns[[".package"]][["version"]] [17:28:06.717] if (is.null(version)) [17:28:06.717] version <- utils::packageVersion("future") [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] version <- NULL [17:28:06.717] } [17:28:06.717] if (!has_future || version < "1.8.0") { [17:28:06.717] info <- base::c(r_version = base::gsub("R version ", [17:28:06.717] "", base::R.version$version.string), [17:28:06.717] platform = base::sprintf("%s (%s-bit)", [17:28:06.717] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.717] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.717] "release", "version")], collapse = " "), [17:28:06.717] hostname = base::Sys.info()[["nodename"]]) [17:28:06.717] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.717] info) [17:28:06.717] info <- base::paste(info, collapse = "; ") [17:28:06.717] if (!has_future) { [17:28:06.717] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.717] info) [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.717] info, version) [17:28:06.717] } [17:28:06.717] base::stop(msg) [17:28:06.717] } [17:28:06.717] }) [17:28:06.717] } [17:28:06.717] ...future.strategy.old <- future::plan("list") [17:28:06.717] options(future.plan = NULL) [17:28:06.717] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.717] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.717] } [17:28:06.717] ...future.workdir <- getwd() [17:28:06.717] } [17:28:06.717] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.717] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.717] } [17:28:06.717] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.717] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.717] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.717] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.717] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.717] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.717] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.717] base::names(...future.oldOptions)) [17:28:06.717] } [17:28:06.717] if (FALSE) { [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] if (TRUE) { [17:28:06.717] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.717] open = "w") [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.717] windows = "NUL", "/dev/null"), open = "w") [17:28:06.717] } [17:28:06.717] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.717] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.717] base::sink(type = "output", split = FALSE) [17:28:06.717] base::close(...future.stdout) [17:28:06.717] }, add = TRUE) [17:28:06.717] } [17:28:06.717] ...future.frame <- base::sys.nframe() [17:28:06.717] ...future.conditions <- base::list() [17:28:06.717] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.717] if (FALSE) { [17:28:06.717] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.717] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.717] } [17:28:06.717] ...future.result <- base::tryCatch({ [17:28:06.717] base::withCallingHandlers({ [17:28:06.717] ...future.value <- base::withVisible(base::local({ [17:28:06.717] b <- a * ii [17:28:06.717] a <- 0 [17:28:06.717] b [17:28:06.717] })) [17:28:06.717] future::FutureResult(value = ...future.value$value, [17:28:06.717] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.717] ...future.rng), globalenv = if (FALSE) [17:28:06.717] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.717] ...future.globalenv.names)) [17:28:06.717] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.717] }, condition = base::local({ [17:28:06.717] c <- base::c [17:28:06.717] inherits <- base::inherits [17:28:06.717] invokeRestart <- base::invokeRestart [17:28:06.717] length <- base::length [17:28:06.717] list <- base::list [17:28:06.717] seq.int <- base::seq.int [17:28:06.717] signalCondition <- base::signalCondition [17:28:06.717] sys.calls <- base::sys.calls [17:28:06.717] `[[` <- base::`[[` [17:28:06.717] `+` <- base::`+` [17:28:06.717] `<<-` <- base::`<<-` [17:28:06.717] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.717] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.717] 3L)] [17:28:06.717] } [17:28:06.717] function(cond) { [17:28:06.717] is_error <- inherits(cond, "error") [17:28:06.717] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.717] NULL) [17:28:06.717] if (is_error) { [17:28:06.717] sessionInformation <- function() { [17:28:06.717] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.717] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.717] search = base::search(), system = base::Sys.info()) [17:28:06.717] } [17:28:06.717] ...future.conditions[[length(...future.conditions) + [17:28:06.717] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.717] cond$call), session = sessionInformation(), [17:28:06.717] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.717] signalCondition(cond) [17:28:06.717] } [17:28:06.717] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.717] "immediateCondition"))) { [17:28:06.717] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.717] ...future.conditions[[length(...future.conditions) + [17:28:06.717] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.717] if (TRUE && !signal) { [17:28:06.717] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.717] { [17:28:06.717] inherits <- base::inherits [17:28:06.717] invokeRestart <- base::invokeRestart [17:28:06.717] is.null <- base::is.null [17:28:06.717] muffled <- FALSE [17:28:06.717] if (inherits(cond, "message")) { [17:28:06.717] muffled <- grepl(pattern, "muffleMessage") [17:28:06.717] if (muffled) [17:28:06.717] invokeRestart("muffleMessage") [17:28:06.717] } [17:28:06.717] else if (inherits(cond, "warning")) { [17:28:06.717] muffled <- grepl(pattern, "muffleWarning") [17:28:06.717] if (muffled) [17:28:06.717] invokeRestart("muffleWarning") [17:28:06.717] } [17:28:06.717] else if (inherits(cond, "condition")) { [17:28:06.717] if (!is.null(pattern)) { [17:28:06.717] computeRestarts <- base::computeRestarts [17:28:06.717] grepl <- base::grepl [17:28:06.717] restarts <- computeRestarts(cond) [17:28:06.717] for (restart in restarts) { [17:28:06.717] name <- restart$name [17:28:06.717] if (is.null(name)) [17:28:06.717] next [17:28:06.717] if (!grepl(pattern, name)) [17:28:06.717] next [17:28:06.717] invokeRestart(restart) [17:28:06.717] muffled <- TRUE [17:28:06.717] break [17:28:06.717] } [17:28:06.717] } [17:28:06.717] } [17:28:06.717] invisible(muffled) [17:28:06.717] } [17:28:06.717] muffleCondition(cond, pattern = "^muffle") [17:28:06.717] } [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] if (TRUE) { [17:28:06.717] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.717] { [17:28:06.717] inherits <- base::inherits [17:28:06.717] invokeRestart <- base::invokeRestart [17:28:06.717] is.null <- base::is.null [17:28:06.717] muffled <- FALSE [17:28:06.717] if (inherits(cond, "message")) { [17:28:06.717] muffled <- grepl(pattern, "muffleMessage") [17:28:06.717] if (muffled) [17:28:06.717] invokeRestart("muffleMessage") [17:28:06.717] } [17:28:06.717] else if (inherits(cond, "warning")) { [17:28:06.717] muffled <- grepl(pattern, "muffleWarning") [17:28:06.717] if (muffled) [17:28:06.717] invokeRestart("muffleWarning") [17:28:06.717] } [17:28:06.717] else if (inherits(cond, "condition")) { [17:28:06.717] if (!is.null(pattern)) { [17:28:06.717] computeRestarts <- base::computeRestarts [17:28:06.717] grepl <- base::grepl [17:28:06.717] restarts <- computeRestarts(cond) [17:28:06.717] for (restart in restarts) { [17:28:06.717] name <- restart$name [17:28:06.717] if (is.null(name)) [17:28:06.717] next [17:28:06.717] if (!grepl(pattern, name)) [17:28:06.717] next [17:28:06.717] invokeRestart(restart) [17:28:06.717] muffled <- TRUE [17:28:06.717] break [17:28:06.717] } [17:28:06.717] } [17:28:06.717] } [17:28:06.717] invisible(muffled) [17:28:06.717] } [17:28:06.717] muffleCondition(cond, pattern = "^muffle") [17:28:06.717] } [17:28:06.717] } [17:28:06.717] } [17:28:06.717] })) [17:28:06.717] }, error = function(ex) { [17:28:06.717] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.717] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.717] ...future.rng), started = ...future.startTime, [17:28:06.717] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.717] version = "1.8"), class = "FutureResult") [17:28:06.717] }, finally = { [17:28:06.717] if (!identical(...future.workdir, getwd())) [17:28:06.717] setwd(...future.workdir) [17:28:06.717] { [17:28:06.717] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.717] ...future.oldOptions$nwarnings <- NULL [17:28:06.717] } [17:28:06.717] base::options(...future.oldOptions) [17:28:06.717] if (.Platform$OS.type == "windows") { [17:28:06.717] old_names <- names(...future.oldEnvVars) [17:28:06.717] envs <- base::Sys.getenv() [17:28:06.717] names <- names(envs) [17:28:06.717] common <- intersect(names, old_names) [17:28:06.717] added <- setdiff(names, old_names) [17:28:06.717] removed <- setdiff(old_names, names) [17:28:06.717] changed <- common[...future.oldEnvVars[common] != [17:28:06.717] envs[common]] [17:28:06.717] NAMES <- toupper(changed) [17:28:06.717] args <- list() [17:28:06.717] for (kk in seq_along(NAMES)) { [17:28:06.717] name <- changed[[kk]] [17:28:06.717] NAME <- NAMES[[kk]] [17:28:06.717] if (name != NAME && is.element(NAME, old_names)) [17:28:06.717] next [17:28:06.717] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.717] } [17:28:06.717] NAMES <- toupper(added) [17:28:06.717] for (kk in seq_along(NAMES)) { [17:28:06.717] name <- added[[kk]] [17:28:06.717] NAME <- NAMES[[kk]] [17:28:06.717] if (name != NAME && is.element(NAME, old_names)) [17:28:06.717] next [17:28:06.717] args[[name]] <- "" [17:28:06.717] } [17:28:06.717] NAMES <- toupper(removed) [17:28:06.717] for (kk in seq_along(NAMES)) { [17:28:06.717] name <- removed[[kk]] [17:28:06.717] NAME <- NAMES[[kk]] [17:28:06.717] if (name != NAME && is.element(NAME, old_names)) [17:28:06.717] next [17:28:06.717] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.717] } [17:28:06.717] if (length(args) > 0) [17:28:06.717] base::do.call(base::Sys.setenv, args = args) [17:28:06.717] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.717] } [17:28:06.717] { [17:28:06.717] if (base::length(...future.futureOptionsAdded) > [17:28:06.717] 0L) { [17:28:06.717] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.717] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.717] base::options(opts) [17:28:06.717] } [17:28:06.717] { [17:28:06.717] { [17:28:06.717] NULL [17:28:06.717] RNGkind("Mersenne-Twister") [17:28:06.717] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.717] inherits = FALSE) [17:28:06.717] } [17:28:06.717] options(future.plan = NULL) [17:28:06.717] if (is.na(NA_character_)) [17:28:06.717] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.717] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.717] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.717] .init = FALSE) [17:28:06.717] } [17:28:06.717] } [17:28:06.717] } [17:28:06.717] }) [17:28:06.717] if (TRUE) { [17:28:06.717] base::sink(type = "output", split = FALSE) [17:28:06.717] if (TRUE) { [17:28:06.717] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.717] } [17:28:06.717] else { [17:28:06.717] ...future.result["stdout"] <- base::list(NULL) [17:28:06.717] } [17:28:06.717] base::close(...future.stdout) [17:28:06.717] ...future.stdout <- NULL [17:28:06.717] } [17:28:06.717] ...future.result$conditions <- ...future.conditions [17:28:06.717] ...future.result$finished <- base::Sys.time() [17:28:06.717] ...future.result [17:28:06.717] } [17:28:06.723] assign_globals() ... [17:28:06.723] List of 2 [17:28:06.723] $ a : num 1 [17:28:06.723] $ ii: int 1 [17:28:06.723] - attr(*, "where")=List of 2 [17:28:06.723] ..$ a : [17:28:06.723] ..$ ii: [17:28:06.723] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.723] - attr(*, "resolved")= logi TRUE [17:28:06.723] - attr(*, "total_size")= int 74 [17:28:06.723] - attr(*, "already-done")= logi TRUE [17:28:06.727] - copied 'a' to environment [17:28:06.728] - copied 'ii' to environment [17:28:06.728] assign_globals() ... done [17:28:06.728] plan(): Setting new future strategy stack: [17:28:06.728] List of future strategies: [17:28:06.728] 1. sequential: [17:28:06.728] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.728] - tweaked: FALSE [17:28:06.728] - call: NULL [17:28:06.729] plan(): nbrOfWorkers() = 1 [17:28:06.731] plan(): Setting new future strategy stack: [17:28:06.731] List of future strategies: [17:28:06.731] 1. sequential: [17:28:06.731] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.731] - tweaked: FALSE [17:28:06.731] - call: plan(strategy) [17:28:06.732] plan(): nbrOfWorkers() = 1 [17:28:06.732] SequentialFuture started (and completed) [17:28:06.733] - Launch lazy future ... done [17:28:06.733] run() for 'SequentialFuture' ... done [17:28:06.734] run() for 'Future' ... [17:28:06.736] - state: 'created' [17:28:06.737] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.738] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.738] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.738] - Field: 'label' [17:28:06.739] - Field: 'local' [17:28:06.739] - Field: 'owner' [17:28:06.739] - Field: 'envir' [17:28:06.740] - Field: 'packages' [17:28:06.740] - Field: 'gc' [17:28:06.740] - Field: 'conditions' [17:28:06.741] - Field: 'expr' [17:28:06.741] - Field: 'uuid' [17:28:06.741] - Field: 'seed' [17:28:06.742] - Field: 'version' [17:28:06.742] - Field: 'result' [17:28:06.742] - Field: 'asynchronous' [17:28:06.743] - Field: 'calls' [17:28:06.743] - Field: 'globals' [17:28:06.743] - Field: 'stdout' [17:28:06.744] - Field: 'earlySignal' [17:28:06.744] - Field: 'lazy' [17:28:06.744] - Field: 'state' [17:28:06.745] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.745] - Launch lazy future ... [17:28:06.746] Packages needed by the future expression (n = 0): [17:28:06.746] Packages needed by future strategies (n = 0): [17:28:06.747] { [17:28:06.747] { [17:28:06.747] { [17:28:06.747] ...future.startTime <- base::Sys.time() [17:28:06.747] { [17:28:06.747] { [17:28:06.747] { [17:28:06.747] base::local({ [17:28:06.747] has_future <- base::requireNamespace("future", [17:28:06.747] quietly = TRUE) [17:28:06.747] if (has_future) { [17:28:06.747] ns <- base::getNamespace("future") [17:28:06.747] version <- ns[[".package"]][["version"]] [17:28:06.747] if (is.null(version)) [17:28:06.747] version <- utils::packageVersion("future") [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] version <- NULL [17:28:06.747] } [17:28:06.747] if (!has_future || version < "1.8.0") { [17:28:06.747] info <- base::c(r_version = base::gsub("R version ", [17:28:06.747] "", base::R.version$version.string), [17:28:06.747] platform = base::sprintf("%s (%s-bit)", [17:28:06.747] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.747] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.747] "release", "version")], collapse = " "), [17:28:06.747] hostname = base::Sys.info()[["nodename"]]) [17:28:06.747] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.747] info) [17:28:06.747] info <- base::paste(info, collapse = "; ") [17:28:06.747] if (!has_future) { [17:28:06.747] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.747] info) [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.747] info, version) [17:28:06.747] } [17:28:06.747] base::stop(msg) [17:28:06.747] } [17:28:06.747] }) [17:28:06.747] } [17:28:06.747] ...future.strategy.old <- future::plan("list") [17:28:06.747] options(future.plan = NULL) [17:28:06.747] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.747] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.747] } [17:28:06.747] ...future.workdir <- getwd() [17:28:06.747] } [17:28:06.747] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.747] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.747] } [17:28:06.747] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.747] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.747] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.747] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.747] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.747] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.747] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.747] base::names(...future.oldOptions)) [17:28:06.747] } [17:28:06.747] if (FALSE) { [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] if (TRUE) { [17:28:06.747] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.747] open = "w") [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.747] windows = "NUL", "/dev/null"), open = "w") [17:28:06.747] } [17:28:06.747] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.747] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.747] base::sink(type = "output", split = FALSE) [17:28:06.747] base::close(...future.stdout) [17:28:06.747] }, add = TRUE) [17:28:06.747] } [17:28:06.747] ...future.frame <- base::sys.nframe() [17:28:06.747] ...future.conditions <- base::list() [17:28:06.747] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.747] if (FALSE) { [17:28:06.747] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.747] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.747] } [17:28:06.747] ...future.result <- base::tryCatch({ [17:28:06.747] base::withCallingHandlers({ [17:28:06.747] ...future.value <- base::withVisible(base::local({ [17:28:06.747] b <- a * ii [17:28:06.747] a <- 0 [17:28:06.747] b [17:28:06.747] })) [17:28:06.747] future::FutureResult(value = ...future.value$value, [17:28:06.747] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.747] ...future.rng), globalenv = if (FALSE) [17:28:06.747] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.747] ...future.globalenv.names)) [17:28:06.747] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.747] }, condition = base::local({ [17:28:06.747] c <- base::c [17:28:06.747] inherits <- base::inherits [17:28:06.747] invokeRestart <- base::invokeRestart [17:28:06.747] length <- base::length [17:28:06.747] list <- base::list [17:28:06.747] seq.int <- base::seq.int [17:28:06.747] signalCondition <- base::signalCondition [17:28:06.747] sys.calls <- base::sys.calls [17:28:06.747] `[[` <- base::`[[` [17:28:06.747] `+` <- base::`+` [17:28:06.747] `<<-` <- base::`<<-` [17:28:06.747] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.747] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.747] 3L)] [17:28:06.747] } [17:28:06.747] function(cond) { [17:28:06.747] is_error <- inherits(cond, "error") [17:28:06.747] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.747] NULL) [17:28:06.747] if (is_error) { [17:28:06.747] sessionInformation <- function() { [17:28:06.747] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.747] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.747] search = base::search(), system = base::Sys.info()) [17:28:06.747] } [17:28:06.747] ...future.conditions[[length(...future.conditions) + [17:28:06.747] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.747] cond$call), session = sessionInformation(), [17:28:06.747] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.747] signalCondition(cond) [17:28:06.747] } [17:28:06.747] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.747] "immediateCondition"))) { [17:28:06.747] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.747] ...future.conditions[[length(...future.conditions) + [17:28:06.747] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.747] if (TRUE && !signal) { [17:28:06.747] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.747] { [17:28:06.747] inherits <- base::inherits [17:28:06.747] invokeRestart <- base::invokeRestart [17:28:06.747] is.null <- base::is.null [17:28:06.747] muffled <- FALSE [17:28:06.747] if (inherits(cond, "message")) { [17:28:06.747] muffled <- grepl(pattern, "muffleMessage") [17:28:06.747] if (muffled) [17:28:06.747] invokeRestart("muffleMessage") [17:28:06.747] } [17:28:06.747] else if (inherits(cond, "warning")) { [17:28:06.747] muffled <- grepl(pattern, "muffleWarning") [17:28:06.747] if (muffled) [17:28:06.747] invokeRestart("muffleWarning") [17:28:06.747] } [17:28:06.747] else if (inherits(cond, "condition")) { [17:28:06.747] if (!is.null(pattern)) { [17:28:06.747] computeRestarts <- base::computeRestarts [17:28:06.747] grepl <- base::grepl [17:28:06.747] restarts <- computeRestarts(cond) [17:28:06.747] for (restart in restarts) { [17:28:06.747] name <- restart$name [17:28:06.747] if (is.null(name)) [17:28:06.747] next [17:28:06.747] if (!grepl(pattern, name)) [17:28:06.747] next [17:28:06.747] invokeRestart(restart) [17:28:06.747] muffled <- TRUE [17:28:06.747] break [17:28:06.747] } [17:28:06.747] } [17:28:06.747] } [17:28:06.747] invisible(muffled) [17:28:06.747] } [17:28:06.747] muffleCondition(cond, pattern = "^muffle") [17:28:06.747] } [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] if (TRUE) { [17:28:06.747] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.747] { [17:28:06.747] inherits <- base::inherits [17:28:06.747] invokeRestart <- base::invokeRestart [17:28:06.747] is.null <- base::is.null [17:28:06.747] muffled <- FALSE [17:28:06.747] if (inherits(cond, "message")) { [17:28:06.747] muffled <- grepl(pattern, "muffleMessage") [17:28:06.747] if (muffled) [17:28:06.747] invokeRestart("muffleMessage") [17:28:06.747] } [17:28:06.747] else if (inherits(cond, "warning")) { [17:28:06.747] muffled <- grepl(pattern, "muffleWarning") [17:28:06.747] if (muffled) [17:28:06.747] invokeRestart("muffleWarning") [17:28:06.747] } [17:28:06.747] else if (inherits(cond, "condition")) { [17:28:06.747] if (!is.null(pattern)) { [17:28:06.747] computeRestarts <- base::computeRestarts [17:28:06.747] grepl <- base::grepl [17:28:06.747] restarts <- computeRestarts(cond) [17:28:06.747] for (restart in restarts) { [17:28:06.747] name <- restart$name [17:28:06.747] if (is.null(name)) [17:28:06.747] next [17:28:06.747] if (!grepl(pattern, name)) [17:28:06.747] next [17:28:06.747] invokeRestart(restart) [17:28:06.747] muffled <- TRUE [17:28:06.747] break [17:28:06.747] } [17:28:06.747] } [17:28:06.747] } [17:28:06.747] invisible(muffled) [17:28:06.747] } [17:28:06.747] muffleCondition(cond, pattern = "^muffle") [17:28:06.747] } [17:28:06.747] } [17:28:06.747] } [17:28:06.747] })) [17:28:06.747] }, error = function(ex) { [17:28:06.747] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.747] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.747] ...future.rng), started = ...future.startTime, [17:28:06.747] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.747] version = "1.8"), class = "FutureResult") [17:28:06.747] }, finally = { [17:28:06.747] if (!identical(...future.workdir, getwd())) [17:28:06.747] setwd(...future.workdir) [17:28:06.747] { [17:28:06.747] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.747] ...future.oldOptions$nwarnings <- NULL [17:28:06.747] } [17:28:06.747] base::options(...future.oldOptions) [17:28:06.747] if (.Platform$OS.type == "windows") { [17:28:06.747] old_names <- names(...future.oldEnvVars) [17:28:06.747] envs <- base::Sys.getenv() [17:28:06.747] names <- names(envs) [17:28:06.747] common <- intersect(names, old_names) [17:28:06.747] added <- setdiff(names, old_names) [17:28:06.747] removed <- setdiff(old_names, names) [17:28:06.747] changed <- common[...future.oldEnvVars[common] != [17:28:06.747] envs[common]] [17:28:06.747] NAMES <- toupper(changed) [17:28:06.747] args <- list() [17:28:06.747] for (kk in seq_along(NAMES)) { [17:28:06.747] name <- changed[[kk]] [17:28:06.747] NAME <- NAMES[[kk]] [17:28:06.747] if (name != NAME && is.element(NAME, old_names)) [17:28:06.747] next [17:28:06.747] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.747] } [17:28:06.747] NAMES <- toupper(added) [17:28:06.747] for (kk in seq_along(NAMES)) { [17:28:06.747] name <- added[[kk]] [17:28:06.747] NAME <- NAMES[[kk]] [17:28:06.747] if (name != NAME && is.element(NAME, old_names)) [17:28:06.747] next [17:28:06.747] args[[name]] <- "" [17:28:06.747] } [17:28:06.747] NAMES <- toupper(removed) [17:28:06.747] for (kk in seq_along(NAMES)) { [17:28:06.747] name <- removed[[kk]] [17:28:06.747] NAME <- NAMES[[kk]] [17:28:06.747] if (name != NAME && is.element(NAME, old_names)) [17:28:06.747] next [17:28:06.747] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.747] } [17:28:06.747] if (length(args) > 0) [17:28:06.747] base::do.call(base::Sys.setenv, args = args) [17:28:06.747] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.747] } [17:28:06.747] { [17:28:06.747] if (base::length(...future.futureOptionsAdded) > [17:28:06.747] 0L) { [17:28:06.747] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.747] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.747] base::options(opts) [17:28:06.747] } [17:28:06.747] { [17:28:06.747] { [17:28:06.747] NULL [17:28:06.747] RNGkind("Mersenne-Twister") [17:28:06.747] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.747] inherits = FALSE) [17:28:06.747] } [17:28:06.747] options(future.plan = NULL) [17:28:06.747] if (is.na(NA_character_)) [17:28:06.747] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.747] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.747] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.747] .init = FALSE) [17:28:06.747] } [17:28:06.747] } [17:28:06.747] } [17:28:06.747] }) [17:28:06.747] if (TRUE) { [17:28:06.747] base::sink(type = "output", split = FALSE) [17:28:06.747] if (TRUE) { [17:28:06.747] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.747] } [17:28:06.747] else { [17:28:06.747] ...future.result["stdout"] <- base::list(NULL) [17:28:06.747] } [17:28:06.747] base::close(...future.stdout) [17:28:06.747] ...future.stdout <- NULL [17:28:06.747] } [17:28:06.747] ...future.result$conditions <- ...future.conditions [17:28:06.747] ...future.result$finished <- base::Sys.time() [17:28:06.747] ...future.result [17:28:06.747] } [17:28:06.752] assign_globals() ... [17:28:06.753] List of 2 [17:28:06.753] $ a : num 1 [17:28:06.753] $ ii: int 2 [17:28:06.753] - attr(*, "where")=List of 2 [17:28:06.753] ..$ a : [17:28:06.753] ..$ ii: [17:28:06.753] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.753] - attr(*, "resolved")= logi TRUE [17:28:06.753] - attr(*, "total_size")= int 74 [17:28:06.753] - attr(*, "already-done")= logi TRUE [17:28:06.759] - copied 'a' to environment [17:28:06.759] - copied 'ii' to environment [17:28:06.760] assign_globals() ... done [17:28:06.760] plan(): Setting new future strategy stack: [17:28:06.761] List of future strategies: [17:28:06.761] 1. sequential: [17:28:06.761] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.761] - tweaked: FALSE [17:28:06.761] - call: NULL [17:28:06.762] plan(): nbrOfWorkers() = 1 [17:28:06.764] plan(): Setting new future strategy stack: [17:28:06.764] List of future strategies: [17:28:06.764] 1. sequential: [17:28:06.764] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.764] - tweaked: FALSE [17:28:06.764] - call: plan(strategy) [17:28:06.765] plan(): nbrOfWorkers() = 1 [17:28:06.765] SequentialFuture started (and completed) [17:28:06.765] - Launch lazy future ... done [17:28:06.766] run() for 'SequentialFuture' ... done [17:28:06.766] run() for 'Future' ... [17:28:06.766] - state: 'created' [17:28:06.766] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.767] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.767] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.768] - Field: 'label' [17:28:06.768] - Field: 'local' [17:28:06.768] - Field: 'owner' [17:28:06.769] - Field: 'envir' [17:28:06.769] - Field: 'packages' [17:28:06.769] - Field: 'gc' [17:28:06.769] - Field: 'conditions' [17:28:06.770] - Field: 'expr' [17:28:06.770] - Field: 'uuid' [17:28:06.770] - Field: 'seed' [17:28:06.771] - Field: 'version' [17:28:06.771] - Field: 'result' [17:28:06.771] - Field: 'asynchronous' [17:28:06.771] - Field: 'calls' [17:28:06.772] - Field: 'globals' [17:28:06.772] - Field: 'stdout' [17:28:06.772] - Field: 'earlySignal' [17:28:06.773] - Field: 'lazy' [17:28:06.773] - Field: 'state' [17:28:06.773] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.773] - Launch lazy future ... [17:28:06.774] Packages needed by the future expression (n = 0): [17:28:06.774] Packages needed by future strategies (n = 0): [17:28:06.775] { [17:28:06.775] { [17:28:06.775] { [17:28:06.775] ...future.startTime <- base::Sys.time() [17:28:06.775] { [17:28:06.775] { [17:28:06.775] { [17:28:06.775] base::local({ [17:28:06.775] has_future <- base::requireNamespace("future", [17:28:06.775] quietly = TRUE) [17:28:06.775] if (has_future) { [17:28:06.775] ns <- base::getNamespace("future") [17:28:06.775] version <- ns[[".package"]][["version"]] [17:28:06.775] if (is.null(version)) [17:28:06.775] version <- utils::packageVersion("future") [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] version <- NULL [17:28:06.775] } [17:28:06.775] if (!has_future || version < "1.8.0") { [17:28:06.775] info <- base::c(r_version = base::gsub("R version ", [17:28:06.775] "", base::R.version$version.string), [17:28:06.775] platform = base::sprintf("%s (%s-bit)", [17:28:06.775] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.775] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.775] "release", "version")], collapse = " "), [17:28:06.775] hostname = base::Sys.info()[["nodename"]]) [17:28:06.775] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.775] info) [17:28:06.775] info <- base::paste(info, collapse = "; ") [17:28:06.775] if (!has_future) { [17:28:06.775] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.775] info) [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.775] info, version) [17:28:06.775] } [17:28:06.775] base::stop(msg) [17:28:06.775] } [17:28:06.775] }) [17:28:06.775] } [17:28:06.775] ...future.strategy.old <- future::plan("list") [17:28:06.775] options(future.plan = NULL) [17:28:06.775] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.775] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.775] } [17:28:06.775] ...future.workdir <- getwd() [17:28:06.775] } [17:28:06.775] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.775] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.775] } [17:28:06.775] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.775] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.775] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.775] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.775] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.775] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.775] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.775] base::names(...future.oldOptions)) [17:28:06.775] } [17:28:06.775] if (FALSE) { [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] if (TRUE) { [17:28:06.775] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.775] open = "w") [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.775] windows = "NUL", "/dev/null"), open = "w") [17:28:06.775] } [17:28:06.775] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.775] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.775] base::sink(type = "output", split = FALSE) [17:28:06.775] base::close(...future.stdout) [17:28:06.775] }, add = TRUE) [17:28:06.775] } [17:28:06.775] ...future.frame <- base::sys.nframe() [17:28:06.775] ...future.conditions <- base::list() [17:28:06.775] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.775] if (FALSE) { [17:28:06.775] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.775] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.775] } [17:28:06.775] ...future.result <- base::tryCatch({ [17:28:06.775] base::withCallingHandlers({ [17:28:06.775] ...future.value <- base::withVisible(base::local({ [17:28:06.775] b <- a * ii [17:28:06.775] a <- 0 [17:28:06.775] b [17:28:06.775] })) [17:28:06.775] future::FutureResult(value = ...future.value$value, [17:28:06.775] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.775] ...future.rng), globalenv = if (FALSE) [17:28:06.775] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.775] ...future.globalenv.names)) [17:28:06.775] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.775] }, condition = base::local({ [17:28:06.775] c <- base::c [17:28:06.775] inherits <- base::inherits [17:28:06.775] invokeRestart <- base::invokeRestart [17:28:06.775] length <- base::length [17:28:06.775] list <- base::list [17:28:06.775] seq.int <- base::seq.int [17:28:06.775] signalCondition <- base::signalCondition [17:28:06.775] sys.calls <- base::sys.calls [17:28:06.775] `[[` <- base::`[[` [17:28:06.775] `+` <- base::`+` [17:28:06.775] `<<-` <- base::`<<-` [17:28:06.775] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.775] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.775] 3L)] [17:28:06.775] } [17:28:06.775] function(cond) { [17:28:06.775] is_error <- inherits(cond, "error") [17:28:06.775] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.775] NULL) [17:28:06.775] if (is_error) { [17:28:06.775] sessionInformation <- function() { [17:28:06.775] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.775] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.775] search = base::search(), system = base::Sys.info()) [17:28:06.775] } [17:28:06.775] ...future.conditions[[length(...future.conditions) + [17:28:06.775] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.775] cond$call), session = sessionInformation(), [17:28:06.775] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.775] signalCondition(cond) [17:28:06.775] } [17:28:06.775] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.775] "immediateCondition"))) { [17:28:06.775] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.775] ...future.conditions[[length(...future.conditions) + [17:28:06.775] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.775] if (TRUE && !signal) { [17:28:06.775] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.775] { [17:28:06.775] inherits <- base::inherits [17:28:06.775] invokeRestart <- base::invokeRestart [17:28:06.775] is.null <- base::is.null [17:28:06.775] muffled <- FALSE [17:28:06.775] if (inherits(cond, "message")) { [17:28:06.775] muffled <- grepl(pattern, "muffleMessage") [17:28:06.775] if (muffled) [17:28:06.775] invokeRestart("muffleMessage") [17:28:06.775] } [17:28:06.775] else if (inherits(cond, "warning")) { [17:28:06.775] muffled <- grepl(pattern, "muffleWarning") [17:28:06.775] if (muffled) [17:28:06.775] invokeRestart("muffleWarning") [17:28:06.775] } [17:28:06.775] else if (inherits(cond, "condition")) { [17:28:06.775] if (!is.null(pattern)) { [17:28:06.775] computeRestarts <- base::computeRestarts [17:28:06.775] grepl <- base::grepl [17:28:06.775] restarts <- computeRestarts(cond) [17:28:06.775] for (restart in restarts) { [17:28:06.775] name <- restart$name [17:28:06.775] if (is.null(name)) [17:28:06.775] next [17:28:06.775] if (!grepl(pattern, name)) [17:28:06.775] next [17:28:06.775] invokeRestart(restart) [17:28:06.775] muffled <- TRUE [17:28:06.775] break [17:28:06.775] } [17:28:06.775] } [17:28:06.775] } [17:28:06.775] invisible(muffled) [17:28:06.775] } [17:28:06.775] muffleCondition(cond, pattern = "^muffle") [17:28:06.775] } [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] if (TRUE) { [17:28:06.775] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.775] { [17:28:06.775] inherits <- base::inherits [17:28:06.775] invokeRestart <- base::invokeRestart [17:28:06.775] is.null <- base::is.null [17:28:06.775] muffled <- FALSE [17:28:06.775] if (inherits(cond, "message")) { [17:28:06.775] muffled <- grepl(pattern, "muffleMessage") [17:28:06.775] if (muffled) [17:28:06.775] invokeRestart("muffleMessage") [17:28:06.775] } [17:28:06.775] else if (inherits(cond, "warning")) { [17:28:06.775] muffled <- grepl(pattern, "muffleWarning") [17:28:06.775] if (muffled) [17:28:06.775] invokeRestart("muffleWarning") [17:28:06.775] } [17:28:06.775] else if (inherits(cond, "condition")) { [17:28:06.775] if (!is.null(pattern)) { [17:28:06.775] computeRestarts <- base::computeRestarts [17:28:06.775] grepl <- base::grepl [17:28:06.775] restarts <- computeRestarts(cond) [17:28:06.775] for (restart in restarts) { [17:28:06.775] name <- restart$name [17:28:06.775] if (is.null(name)) [17:28:06.775] next [17:28:06.775] if (!grepl(pattern, name)) [17:28:06.775] next [17:28:06.775] invokeRestart(restart) [17:28:06.775] muffled <- TRUE [17:28:06.775] break [17:28:06.775] } [17:28:06.775] } [17:28:06.775] } [17:28:06.775] invisible(muffled) [17:28:06.775] } [17:28:06.775] muffleCondition(cond, pattern = "^muffle") [17:28:06.775] } [17:28:06.775] } [17:28:06.775] } [17:28:06.775] })) [17:28:06.775] }, error = function(ex) { [17:28:06.775] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.775] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.775] ...future.rng), started = ...future.startTime, [17:28:06.775] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.775] version = "1.8"), class = "FutureResult") [17:28:06.775] }, finally = { [17:28:06.775] if (!identical(...future.workdir, getwd())) [17:28:06.775] setwd(...future.workdir) [17:28:06.775] { [17:28:06.775] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.775] ...future.oldOptions$nwarnings <- NULL [17:28:06.775] } [17:28:06.775] base::options(...future.oldOptions) [17:28:06.775] if (.Platform$OS.type == "windows") { [17:28:06.775] old_names <- names(...future.oldEnvVars) [17:28:06.775] envs <- base::Sys.getenv() [17:28:06.775] names <- names(envs) [17:28:06.775] common <- intersect(names, old_names) [17:28:06.775] added <- setdiff(names, old_names) [17:28:06.775] removed <- setdiff(old_names, names) [17:28:06.775] changed <- common[...future.oldEnvVars[common] != [17:28:06.775] envs[common]] [17:28:06.775] NAMES <- toupper(changed) [17:28:06.775] args <- list() [17:28:06.775] for (kk in seq_along(NAMES)) { [17:28:06.775] name <- changed[[kk]] [17:28:06.775] NAME <- NAMES[[kk]] [17:28:06.775] if (name != NAME && is.element(NAME, old_names)) [17:28:06.775] next [17:28:06.775] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.775] } [17:28:06.775] NAMES <- toupper(added) [17:28:06.775] for (kk in seq_along(NAMES)) { [17:28:06.775] name <- added[[kk]] [17:28:06.775] NAME <- NAMES[[kk]] [17:28:06.775] if (name != NAME && is.element(NAME, old_names)) [17:28:06.775] next [17:28:06.775] args[[name]] <- "" [17:28:06.775] } [17:28:06.775] NAMES <- toupper(removed) [17:28:06.775] for (kk in seq_along(NAMES)) { [17:28:06.775] name <- removed[[kk]] [17:28:06.775] NAME <- NAMES[[kk]] [17:28:06.775] if (name != NAME && is.element(NAME, old_names)) [17:28:06.775] next [17:28:06.775] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.775] } [17:28:06.775] if (length(args) > 0) [17:28:06.775] base::do.call(base::Sys.setenv, args = args) [17:28:06.775] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.775] } [17:28:06.775] { [17:28:06.775] if (base::length(...future.futureOptionsAdded) > [17:28:06.775] 0L) { [17:28:06.775] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.775] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.775] base::options(opts) [17:28:06.775] } [17:28:06.775] { [17:28:06.775] { [17:28:06.775] NULL [17:28:06.775] RNGkind("Mersenne-Twister") [17:28:06.775] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.775] inherits = FALSE) [17:28:06.775] } [17:28:06.775] options(future.plan = NULL) [17:28:06.775] if (is.na(NA_character_)) [17:28:06.775] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.775] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.775] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.775] .init = FALSE) [17:28:06.775] } [17:28:06.775] } [17:28:06.775] } [17:28:06.775] }) [17:28:06.775] if (TRUE) { [17:28:06.775] base::sink(type = "output", split = FALSE) [17:28:06.775] if (TRUE) { [17:28:06.775] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.775] } [17:28:06.775] else { [17:28:06.775] ...future.result["stdout"] <- base::list(NULL) [17:28:06.775] } [17:28:06.775] base::close(...future.stdout) [17:28:06.775] ...future.stdout <- NULL [17:28:06.775] } [17:28:06.775] ...future.result$conditions <- ...future.conditions [17:28:06.775] ...future.result$finished <- base::Sys.time() [17:28:06.775] ...future.result [17:28:06.775] } [17:28:06.780] assign_globals() ... [17:28:06.781] List of 2 [17:28:06.781] $ a : num 1 [17:28:06.781] $ ii: int 3 [17:28:06.781] - attr(*, "where")=List of 2 [17:28:06.781] ..$ a : [17:28:06.781] ..$ ii: [17:28:06.781] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.781] - attr(*, "resolved")= logi TRUE [17:28:06.781] - attr(*, "total_size")= int 74 [17:28:06.781] - attr(*, "already-done")= logi TRUE [17:28:06.786] - copied 'a' to environment [17:28:06.787] - copied 'ii' to environment [17:28:06.787] assign_globals() ... done [17:28:06.788] plan(): Setting new future strategy stack: [17:28:06.788] List of future strategies: [17:28:06.788] 1. sequential: [17:28:06.788] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.788] - tweaked: FALSE [17:28:06.788] - call: NULL [17:28:06.789] plan(): nbrOfWorkers() = 1 [17:28:06.791] plan(): Setting new future strategy stack: [17:28:06.793] List of future strategies: [17:28:06.793] 1. sequential: [17:28:06.793] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.793] - tweaked: FALSE [17:28:06.793] - call: plan(strategy) [17:28:06.794] plan(): nbrOfWorkers() = 1 [17:28:06.795] SequentialFuture started (and completed) [17:28:06.795] - Launch lazy future ... done [17:28:06.795] run() for 'SequentialFuture' ... done [1] 1 2 3 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.796] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.797] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.798] [17:28:06.798] Searching for globals ... DONE [17:28:06.799] - globals: [0] [17:28:06.799] getGlobalsAndPackages() ... DONE [17:28:06.800] run() for 'Future' ... [17:28:06.800] - state: 'created' [17:28:06.800] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.801] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.801] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.802] - Field: 'label' [17:28:06.802] - Field: 'local' [17:28:06.802] - Field: 'owner' [17:28:06.803] - Field: 'envir' [17:28:06.803] - Field: 'packages' [17:28:06.803] - Field: 'gc' [17:28:06.803] - Field: 'conditions' [17:28:06.804] - Field: 'expr' [17:28:06.804] - Field: 'uuid' [17:28:06.804] - Field: 'seed' [17:28:06.805] - Field: 'version' [17:28:06.805] - Field: 'result' [17:28:06.805] - Field: 'asynchronous' [17:28:06.806] - Field: 'calls' [17:28:06.806] - Field: 'globals' [17:28:06.806] - Field: 'stdout' [17:28:06.807] - Field: 'earlySignal' [17:28:06.807] - Field: 'lazy' [17:28:06.807] - Field: 'state' [17:28:06.807] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.808] - Launch lazy future ... [17:28:06.808] Packages needed by the future expression (n = 0): [17:28:06.809] Packages needed by future strategies (n = 0): [17:28:06.810] { [17:28:06.810] { [17:28:06.810] { [17:28:06.810] ...future.startTime <- base::Sys.time() [17:28:06.810] { [17:28:06.810] { [17:28:06.810] { [17:28:06.810] base::local({ [17:28:06.810] has_future <- base::requireNamespace("future", [17:28:06.810] quietly = TRUE) [17:28:06.810] if (has_future) { [17:28:06.810] ns <- base::getNamespace("future") [17:28:06.810] version <- ns[[".package"]][["version"]] [17:28:06.810] if (is.null(version)) [17:28:06.810] version <- utils::packageVersion("future") [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] version <- NULL [17:28:06.810] } [17:28:06.810] if (!has_future || version < "1.8.0") { [17:28:06.810] info <- base::c(r_version = base::gsub("R version ", [17:28:06.810] "", base::R.version$version.string), [17:28:06.810] platform = base::sprintf("%s (%s-bit)", [17:28:06.810] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.810] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.810] "release", "version")], collapse = " "), [17:28:06.810] hostname = base::Sys.info()[["nodename"]]) [17:28:06.810] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.810] info) [17:28:06.810] info <- base::paste(info, collapse = "; ") [17:28:06.810] if (!has_future) { [17:28:06.810] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.810] info) [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.810] info, version) [17:28:06.810] } [17:28:06.810] base::stop(msg) [17:28:06.810] } [17:28:06.810] }) [17:28:06.810] } [17:28:06.810] ...future.strategy.old <- future::plan("list") [17:28:06.810] options(future.plan = NULL) [17:28:06.810] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.810] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.810] } [17:28:06.810] ...future.workdir <- getwd() [17:28:06.810] } [17:28:06.810] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.810] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.810] } [17:28:06.810] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.810] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.810] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.810] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.810] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.810] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.810] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.810] base::names(...future.oldOptions)) [17:28:06.810] } [17:28:06.810] if (FALSE) { [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] if (TRUE) { [17:28:06.810] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.810] open = "w") [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.810] windows = "NUL", "/dev/null"), open = "w") [17:28:06.810] } [17:28:06.810] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.810] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.810] base::sink(type = "output", split = FALSE) [17:28:06.810] base::close(...future.stdout) [17:28:06.810] }, add = TRUE) [17:28:06.810] } [17:28:06.810] ...future.frame <- base::sys.nframe() [17:28:06.810] ...future.conditions <- base::list() [17:28:06.810] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.810] if (FALSE) { [17:28:06.810] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.810] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.810] } [17:28:06.810] ...future.result <- base::tryCatch({ [17:28:06.810] base::withCallingHandlers({ [17:28:06.810] ...future.value <- base::withVisible(base::local(1)) [17:28:06.810] future::FutureResult(value = ...future.value$value, [17:28:06.810] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.810] ...future.rng), globalenv = if (FALSE) [17:28:06.810] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.810] ...future.globalenv.names)) [17:28:06.810] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.810] }, condition = base::local({ [17:28:06.810] c <- base::c [17:28:06.810] inherits <- base::inherits [17:28:06.810] invokeRestart <- base::invokeRestart [17:28:06.810] length <- base::length [17:28:06.810] list <- base::list [17:28:06.810] seq.int <- base::seq.int [17:28:06.810] signalCondition <- base::signalCondition [17:28:06.810] sys.calls <- base::sys.calls [17:28:06.810] `[[` <- base::`[[` [17:28:06.810] `+` <- base::`+` [17:28:06.810] `<<-` <- base::`<<-` [17:28:06.810] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.810] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.810] 3L)] [17:28:06.810] } [17:28:06.810] function(cond) { [17:28:06.810] is_error <- inherits(cond, "error") [17:28:06.810] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.810] NULL) [17:28:06.810] if (is_error) { [17:28:06.810] sessionInformation <- function() { [17:28:06.810] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.810] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.810] search = base::search(), system = base::Sys.info()) [17:28:06.810] } [17:28:06.810] ...future.conditions[[length(...future.conditions) + [17:28:06.810] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.810] cond$call), session = sessionInformation(), [17:28:06.810] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.810] signalCondition(cond) [17:28:06.810] } [17:28:06.810] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.810] "immediateCondition"))) { [17:28:06.810] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.810] ...future.conditions[[length(...future.conditions) + [17:28:06.810] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.810] if (TRUE && !signal) { [17:28:06.810] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.810] { [17:28:06.810] inherits <- base::inherits [17:28:06.810] invokeRestart <- base::invokeRestart [17:28:06.810] is.null <- base::is.null [17:28:06.810] muffled <- FALSE [17:28:06.810] if (inherits(cond, "message")) { [17:28:06.810] muffled <- grepl(pattern, "muffleMessage") [17:28:06.810] if (muffled) [17:28:06.810] invokeRestart("muffleMessage") [17:28:06.810] } [17:28:06.810] else if (inherits(cond, "warning")) { [17:28:06.810] muffled <- grepl(pattern, "muffleWarning") [17:28:06.810] if (muffled) [17:28:06.810] invokeRestart("muffleWarning") [17:28:06.810] } [17:28:06.810] else if (inherits(cond, "condition")) { [17:28:06.810] if (!is.null(pattern)) { [17:28:06.810] computeRestarts <- base::computeRestarts [17:28:06.810] grepl <- base::grepl [17:28:06.810] restarts <- computeRestarts(cond) [17:28:06.810] for (restart in restarts) { [17:28:06.810] name <- restart$name [17:28:06.810] if (is.null(name)) [17:28:06.810] next [17:28:06.810] if (!grepl(pattern, name)) [17:28:06.810] next [17:28:06.810] invokeRestart(restart) [17:28:06.810] muffled <- TRUE [17:28:06.810] break [17:28:06.810] } [17:28:06.810] } [17:28:06.810] } [17:28:06.810] invisible(muffled) [17:28:06.810] } [17:28:06.810] muffleCondition(cond, pattern = "^muffle") [17:28:06.810] } [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] if (TRUE) { [17:28:06.810] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.810] { [17:28:06.810] inherits <- base::inherits [17:28:06.810] invokeRestart <- base::invokeRestart [17:28:06.810] is.null <- base::is.null [17:28:06.810] muffled <- FALSE [17:28:06.810] if (inherits(cond, "message")) { [17:28:06.810] muffled <- grepl(pattern, "muffleMessage") [17:28:06.810] if (muffled) [17:28:06.810] invokeRestart("muffleMessage") [17:28:06.810] } [17:28:06.810] else if (inherits(cond, "warning")) { [17:28:06.810] muffled <- grepl(pattern, "muffleWarning") [17:28:06.810] if (muffled) [17:28:06.810] invokeRestart("muffleWarning") [17:28:06.810] } [17:28:06.810] else if (inherits(cond, "condition")) { [17:28:06.810] if (!is.null(pattern)) { [17:28:06.810] computeRestarts <- base::computeRestarts [17:28:06.810] grepl <- base::grepl [17:28:06.810] restarts <- computeRestarts(cond) [17:28:06.810] for (restart in restarts) { [17:28:06.810] name <- restart$name [17:28:06.810] if (is.null(name)) [17:28:06.810] next [17:28:06.810] if (!grepl(pattern, name)) [17:28:06.810] next [17:28:06.810] invokeRestart(restart) [17:28:06.810] muffled <- TRUE [17:28:06.810] break [17:28:06.810] } [17:28:06.810] } [17:28:06.810] } [17:28:06.810] invisible(muffled) [17:28:06.810] } [17:28:06.810] muffleCondition(cond, pattern = "^muffle") [17:28:06.810] } [17:28:06.810] } [17:28:06.810] } [17:28:06.810] })) [17:28:06.810] }, error = function(ex) { [17:28:06.810] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.810] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.810] ...future.rng), started = ...future.startTime, [17:28:06.810] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.810] version = "1.8"), class = "FutureResult") [17:28:06.810] }, finally = { [17:28:06.810] if (!identical(...future.workdir, getwd())) [17:28:06.810] setwd(...future.workdir) [17:28:06.810] { [17:28:06.810] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.810] ...future.oldOptions$nwarnings <- NULL [17:28:06.810] } [17:28:06.810] base::options(...future.oldOptions) [17:28:06.810] if (.Platform$OS.type == "windows") { [17:28:06.810] old_names <- names(...future.oldEnvVars) [17:28:06.810] envs <- base::Sys.getenv() [17:28:06.810] names <- names(envs) [17:28:06.810] common <- intersect(names, old_names) [17:28:06.810] added <- setdiff(names, old_names) [17:28:06.810] removed <- setdiff(old_names, names) [17:28:06.810] changed <- common[...future.oldEnvVars[common] != [17:28:06.810] envs[common]] [17:28:06.810] NAMES <- toupper(changed) [17:28:06.810] args <- list() [17:28:06.810] for (kk in seq_along(NAMES)) { [17:28:06.810] name <- changed[[kk]] [17:28:06.810] NAME <- NAMES[[kk]] [17:28:06.810] if (name != NAME && is.element(NAME, old_names)) [17:28:06.810] next [17:28:06.810] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.810] } [17:28:06.810] NAMES <- toupper(added) [17:28:06.810] for (kk in seq_along(NAMES)) { [17:28:06.810] name <- added[[kk]] [17:28:06.810] NAME <- NAMES[[kk]] [17:28:06.810] if (name != NAME && is.element(NAME, old_names)) [17:28:06.810] next [17:28:06.810] args[[name]] <- "" [17:28:06.810] } [17:28:06.810] NAMES <- toupper(removed) [17:28:06.810] for (kk in seq_along(NAMES)) { [17:28:06.810] name <- removed[[kk]] [17:28:06.810] NAME <- NAMES[[kk]] [17:28:06.810] if (name != NAME && is.element(NAME, old_names)) [17:28:06.810] next [17:28:06.810] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.810] } [17:28:06.810] if (length(args) > 0) [17:28:06.810] base::do.call(base::Sys.setenv, args = args) [17:28:06.810] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.810] } [17:28:06.810] { [17:28:06.810] if (base::length(...future.futureOptionsAdded) > [17:28:06.810] 0L) { [17:28:06.810] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.810] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.810] base::options(opts) [17:28:06.810] } [17:28:06.810] { [17:28:06.810] { [17:28:06.810] NULL [17:28:06.810] RNGkind("Mersenne-Twister") [17:28:06.810] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.810] inherits = FALSE) [17:28:06.810] } [17:28:06.810] options(future.plan = NULL) [17:28:06.810] if (is.na(NA_character_)) [17:28:06.810] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.810] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.810] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.810] .init = FALSE) [17:28:06.810] } [17:28:06.810] } [17:28:06.810] } [17:28:06.810] }) [17:28:06.810] if (TRUE) { [17:28:06.810] base::sink(type = "output", split = FALSE) [17:28:06.810] if (TRUE) { [17:28:06.810] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.810] } [17:28:06.810] else { [17:28:06.810] ...future.result["stdout"] <- base::list(NULL) [17:28:06.810] } [17:28:06.810] base::close(...future.stdout) [17:28:06.810] ...future.stdout <- NULL [17:28:06.810] } [17:28:06.810] ...future.result$conditions <- ...future.conditions [17:28:06.810] ...future.result$finished <- base::Sys.time() [17:28:06.810] ...future.result [17:28:06.810] } [17:28:06.816] plan(): Setting new future strategy stack: [17:28:06.816] List of future strategies: [17:28:06.816] 1. sequential: [17:28:06.816] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.816] - tweaked: FALSE [17:28:06.816] - call: NULL [17:28:06.817] plan(): nbrOfWorkers() = 1 [17:28:06.819] plan(): Setting new future strategy stack: [17:28:06.819] List of future strategies: [17:28:06.819] 1. sequential: [17:28:06.819] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.819] - tweaked: FALSE [17:28:06.819] - call: plan(strategy) [17:28:06.820] plan(): nbrOfWorkers() = 1 [17:28:06.821] SequentialFuture started (and completed) [17:28:06.821] - Launch lazy future ... done [17:28:06.821] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.822] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.823] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.824] - globals found: [3] '+', 'value', 'a' [17:28:06.825] Searching for globals ... DONE [17:28:06.825] Resolving globals: TRUE [17:28:06.825] Resolving any globals that are futures ... [17:28:06.826] - globals: [3] '+', 'value', 'a' [17:28:06.826] Resolving any globals that are futures ... DONE [17:28:06.827] Resolving futures part of globals (recursively) ... [17:28:06.827] resolve() on list ... [17:28:06.827] recursive: 99 [17:28:06.828] length: 1 [17:28:06.828] elements: 'a' [17:28:06.828] resolved() for 'SequentialFuture' ... [17:28:06.829] - state: 'finished' [17:28:06.829] - run: TRUE [17:28:06.829] - result: 'FutureResult' [17:28:06.830] resolved() for 'SequentialFuture' ... done [17:28:06.830] Future #1 [17:28:06.830] resolved() for 'SequentialFuture' ... [17:28:06.831] - state: 'finished' [17:28:06.831] - run: TRUE [17:28:06.831] - result: 'FutureResult' [17:28:06.832] resolved() for 'SequentialFuture' ... done [17:28:06.832] A SequentialFuture was resolved [17:28:06.832] length: 0 (resolved future 1) [17:28:06.833] resolve() on list ... DONE [17:28:06.833] - globals: [1] 'a' [17:28:06.833] Resolving futures part of globals (recursively) ... DONE [17:28:06.834] The total size of the 1 globals is 3.36 KiB (3436 bytes) [17:28:06.835] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.36 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.36 KiB of class 'environment') [17:28:06.835] - globals: [1] 'a' [17:28:06.835] - packages: [1] 'future' [17:28:06.836] getGlobalsAndPackages() ... DONE [17:28:06.836] run() for 'Future' ... [17:28:06.836] - state: 'created' [17:28:06.837] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.837] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.838] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.838] - Field: 'label' [17:28:06.838] - Field: 'local' [17:28:06.839] - Field: 'owner' [17:28:06.839] - Field: 'envir' [17:28:06.839] - Field: 'packages' [17:28:06.840] - Field: 'gc' [17:28:06.840] - Field: 'conditions' [17:28:06.840] - Field: 'expr' [17:28:06.841] - Field: 'uuid' [17:28:06.841] - Field: 'seed' [17:28:06.841] - Field: 'version' [17:28:06.842] - Field: 'result' [17:28:06.842] - Field: 'asynchronous' [17:28:06.842] - Field: 'calls' [17:28:06.842] - Field: 'globals' [17:28:06.843] - Field: 'stdout' [17:28:06.843] - Field: 'earlySignal' [17:28:06.843] - Field: 'lazy' [17:28:06.844] - Field: 'state' [17:28:06.844] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.844] - Launch lazy future ... [17:28:06.845] Packages needed by the future expression (n = 1): 'future' [17:28:06.845] Packages needed by future strategies (n = 0): [17:28:06.846] { [17:28:06.846] { [17:28:06.846] { [17:28:06.846] ...future.startTime <- base::Sys.time() [17:28:06.846] { [17:28:06.846] { [17:28:06.846] { [17:28:06.846] { [17:28:06.846] base::local({ [17:28:06.846] has_future <- base::requireNamespace("future", [17:28:06.846] quietly = TRUE) [17:28:06.846] if (has_future) { [17:28:06.846] ns <- base::getNamespace("future") [17:28:06.846] version <- ns[[".package"]][["version"]] [17:28:06.846] if (is.null(version)) [17:28:06.846] version <- utils::packageVersion("future") [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] version <- NULL [17:28:06.846] } [17:28:06.846] if (!has_future || version < "1.8.0") { [17:28:06.846] info <- base::c(r_version = base::gsub("R version ", [17:28:06.846] "", base::R.version$version.string), [17:28:06.846] platform = base::sprintf("%s (%s-bit)", [17:28:06.846] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.846] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.846] "release", "version")], collapse = " "), [17:28:06.846] hostname = base::Sys.info()[["nodename"]]) [17:28:06.846] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.846] info) [17:28:06.846] info <- base::paste(info, collapse = "; ") [17:28:06.846] if (!has_future) { [17:28:06.846] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.846] info) [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.846] info, version) [17:28:06.846] } [17:28:06.846] base::stop(msg) [17:28:06.846] } [17:28:06.846] }) [17:28:06.846] } [17:28:06.846] base::local({ [17:28:06.846] for (pkg in "future") { [17:28:06.846] base::loadNamespace(pkg) [17:28:06.846] base::library(pkg, character.only = TRUE) [17:28:06.846] } [17:28:06.846] }) [17:28:06.846] } [17:28:06.846] ...future.strategy.old <- future::plan("list") [17:28:06.846] options(future.plan = NULL) [17:28:06.846] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.846] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.846] } [17:28:06.846] ...future.workdir <- getwd() [17:28:06.846] } [17:28:06.846] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.846] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.846] } [17:28:06.846] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.846] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.846] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.846] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.846] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.846] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.846] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.846] base::names(...future.oldOptions)) [17:28:06.846] } [17:28:06.846] if (FALSE) { [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] if (TRUE) { [17:28:06.846] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.846] open = "w") [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.846] windows = "NUL", "/dev/null"), open = "w") [17:28:06.846] } [17:28:06.846] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.846] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.846] base::sink(type = "output", split = FALSE) [17:28:06.846] base::close(...future.stdout) [17:28:06.846] }, add = TRUE) [17:28:06.846] } [17:28:06.846] ...future.frame <- base::sys.nframe() [17:28:06.846] ...future.conditions <- base::list() [17:28:06.846] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.846] if (FALSE) { [17:28:06.846] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.846] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.846] } [17:28:06.846] ...future.result <- base::tryCatch({ [17:28:06.846] base::withCallingHandlers({ [17:28:06.846] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.846] 1)) [17:28:06.846] future::FutureResult(value = ...future.value$value, [17:28:06.846] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.846] ...future.rng), globalenv = if (FALSE) [17:28:06.846] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.846] ...future.globalenv.names)) [17:28:06.846] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.846] }, condition = base::local({ [17:28:06.846] c <- base::c [17:28:06.846] inherits <- base::inherits [17:28:06.846] invokeRestart <- base::invokeRestart [17:28:06.846] length <- base::length [17:28:06.846] list <- base::list [17:28:06.846] seq.int <- base::seq.int [17:28:06.846] signalCondition <- base::signalCondition [17:28:06.846] sys.calls <- base::sys.calls [17:28:06.846] `[[` <- base::`[[` [17:28:06.846] `+` <- base::`+` [17:28:06.846] `<<-` <- base::`<<-` [17:28:06.846] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.846] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.846] 3L)] [17:28:06.846] } [17:28:06.846] function(cond) { [17:28:06.846] is_error <- inherits(cond, "error") [17:28:06.846] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.846] NULL) [17:28:06.846] if (is_error) { [17:28:06.846] sessionInformation <- function() { [17:28:06.846] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.846] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.846] search = base::search(), system = base::Sys.info()) [17:28:06.846] } [17:28:06.846] ...future.conditions[[length(...future.conditions) + [17:28:06.846] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.846] cond$call), session = sessionInformation(), [17:28:06.846] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.846] signalCondition(cond) [17:28:06.846] } [17:28:06.846] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.846] "immediateCondition"))) { [17:28:06.846] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.846] ...future.conditions[[length(...future.conditions) + [17:28:06.846] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.846] if (TRUE && !signal) { [17:28:06.846] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.846] { [17:28:06.846] inherits <- base::inherits [17:28:06.846] invokeRestart <- base::invokeRestart [17:28:06.846] is.null <- base::is.null [17:28:06.846] muffled <- FALSE [17:28:06.846] if (inherits(cond, "message")) { [17:28:06.846] muffled <- grepl(pattern, "muffleMessage") [17:28:06.846] if (muffled) [17:28:06.846] invokeRestart("muffleMessage") [17:28:06.846] } [17:28:06.846] else if (inherits(cond, "warning")) { [17:28:06.846] muffled <- grepl(pattern, "muffleWarning") [17:28:06.846] if (muffled) [17:28:06.846] invokeRestart("muffleWarning") [17:28:06.846] } [17:28:06.846] else if (inherits(cond, "condition")) { [17:28:06.846] if (!is.null(pattern)) { [17:28:06.846] computeRestarts <- base::computeRestarts [17:28:06.846] grepl <- base::grepl [17:28:06.846] restarts <- computeRestarts(cond) [17:28:06.846] for (restart in restarts) { [17:28:06.846] name <- restart$name [17:28:06.846] if (is.null(name)) [17:28:06.846] next [17:28:06.846] if (!grepl(pattern, name)) [17:28:06.846] next [17:28:06.846] invokeRestart(restart) [17:28:06.846] muffled <- TRUE [17:28:06.846] break [17:28:06.846] } [17:28:06.846] } [17:28:06.846] } [17:28:06.846] invisible(muffled) [17:28:06.846] } [17:28:06.846] muffleCondition(cond, pattern = "^muffle") [17:28:06.846] } [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] if (TRUE) { [17:28:06.846] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.846] { [17:28:06.846] inherits <- base::inherits [17:28:06.846] invokeRestart <- base::invokeRestart [17:28:06.846] is.null <- base::is.null [17:28:06.846] muffled <- FALSE [17:28:06.846] if (inherits(cond, "message")) { [17:28:06.846] muffled <- grepl(pattern, "muffleMessage") [17:28:06.846] if (muffled) [17:28:06.846] invokeRestart("muffleMessage") [17:28:06.846] } [17:28:06.846] else if (inherits(cond, "warning")) { [17:28:06.846] muffled <- grepl(pattern, "muffleWarning") [17:28:06.846] if (muffled) [17:28:06.846] invokeRestart("muffleWarning") [17:28:06.846] } [17:28:06.846] else if (inherits(cond, "condition")) { [17:28:06.846] if (!is.null(pattern)) { [17:28:06.846] computeRestarts <- base::computeRestarts [17:28:06.846] grepl <- base::grepl [17:28:06.846] restarts <- computeRestarts(cond) [17:28:06.846] for (restart in restarts) { [17:28:06.846] name <- restart$name [17:28:06.846] if (is.null(name)) [17:28:06.846] next [17:28:06.846] if (!grepl(pattern, name)) [17:28:06.846] next [17:28:06.846] invokeRestart(restart) [17:28:06.846] muffled <- TRUE [17:28:06.846] break [17:28:06.846] } [17:28:06.846] } [17:28:06.846] } [17:28:06.846] invisible(muffled) [17:28:06.846] } [17:28:06.846] muffleCondition(cond, pattern = "^muffle") [17:28:06.846] } [17:28:06.846] } [17:28:06.846] } [17:28:06.846] })) [17:28:06.846] }, error = function(ex) { [17:28:06.846] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.846] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.846] ...future.rng), started = ...future.startTime, [17:28:06.846] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.846] version = "1.8"), class = "FutureResult") [17:28:06.846] }, finally = { [17:28:06.846] if (!identical(...future.workdir, getwd())) [17:28:06.846] setwd(...future.workdir) [17:28:06.846] { [17:28:06.846] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.846] ...future.oldOptions$nwarnings <- NULL [17:28:06.846] } [17:28:06.846] base::options(...future.oldOptions) [17:28:06.846] if (.Platform$OS.type == "windows") { [17:28:06.846] old_names <- names(...future.oldEnvVars) [17:28:06.846] envs <- base::Sys.getenv() [17:28:06.846] names <- names(envs) [17:28:06.846] common <- intersect(names, old_names) [17:28:06.846] added <- setdiff(names, old_names) [17:28:06.846] removed <- setdiff(old_names, names) [17:28:06.846] changed <- common[...future.oldEnvVars[common] != [17:28:06.846] envs[common]] [17:28:06.846] NAMES <- toupper(changed) [17:28:06.846] args <- list() [17:28:06.846] for (kk in seq_along(NAMES)) { [17:28:06.846] name <- changed[[kk]] [17:28:06.846] NAME <- NAMES[[kk]] [17:28:06.846] if (name != NAME && is.element(NAME, old_names)) [17:28:06.846] next [17:28:06.846] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.846] } [17:28:06.846] NAMES <- toupper(added) [17:28:06.846] for (kk in seq_along(NAMES)) { [17:28:06.846] name <- added[[kk]] [17:28:06.846] NAME <- NAMES[[kk]] [17:28:06.846] if (name != NAME && is.element(NAME, old_names)) [17:28:06.846] next [17:28:06.846] args[[name]] <- "" [17:28:06.846] } [17:28:06.846] NAMES <- toupper(removed) [17:28:06.846] for (kk in seq_along(NAMES)) { [17:28:06.846] name <- removed[[kk]] [17:28:06.846] NAME <- NAMES[[kk]] [17:28:06.846] if (name != NAME && is.element(NAME, old_names)) [17:28:06.846] next [17:28:06.846] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.846] } [17:28:06.846] if (length(args) > 0) [17:28:06.846] base::do.call(base::Sys.setenv, args = args) [17:28:06.846] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.846] } [17:28:06.846] { [17:28:06.846] if (base::length(...future.futureOptionsAdded) > [17:28:06.846] 0L) { [17:28:06.846] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.846] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.846] base::options(opts) [17:28:06.846] } [17:28:06.846] { [17:28:06.846] { [17:28:06.846] NULL [17:28:06.846] RNGkind("Mersenne-Twister") [17:28:06.846] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.846] inherits = FALSE) [17:28:06.846] } [17:28:06.846] options(future.plan = NULL) [17:28:06.846] if (is.na(NA_character_)) [17:28:06.846] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.846] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.846] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.846] .init = FALSE) [17:28:06.846] } [17:28:06.846] } [17:28:06.846] } [17:28:06.846] }) [17:28:06.846] if (TRUE) { [17:28:06.846] base::sink(type = "output", split = FALSE) [17:28:06.846] if (TRUE) { [17:28:06.846] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.846] } [17:28:06.846] else { [17:28:06.846] ...future.result["stdout"] <- base::list(NULL) [17:28:06.846] } [17:28:06.846] base::close(...future.stdout) [17:28:06.846] ...future.stdout <- NULL [17:28:06.846] } [17:28:06.846] ...future.result$conditions <- ...future.conditions [17:28:06.846] ...future.result$finished <- base::Sys.time() [17:28:06.846] ...future.result [17:28:06.846] } [17:28:06.852] assign_globals() ... [17:28:06.852] List of 1 [17:28:06.852] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.852] - attr(*, "where")=List of 1 [17:28:06.852] ..$ a: [17:28:06.852] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.852] - attr(*, "resolved")= logi TRUE [17:28:06.852] - attr(*, "total_size")= int 3436 [17:28:06.852] - attr(*, "already-done")= logi TRUE [17:28:06.858] - copied 'a' to environment [17:28:06.858] assign_globals() ... done [17:28:06.859] plan(): Setting new future strategy stack: [17:28:06.859] List of future strategies: [17:28:06.859] 1. sequential: [17:28:06.859] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.859] - tweaked: FALSE [17:28:06.859] - call: NULL [17:28:06.859] plan(): nbrOfWorkers() = 1 [17:28:06.861] plan(): Setting new future strategy stack: [17:28:06.861] List of future strategies: [17:28:06.861] 1. sequential: [17:28:06.861] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.861] - tweaked: FALSE [17:28:06.861] - call: plan(strategy) [17:28:06.862] plan(): nbrOfWorkers() = 1 [17:28:06.862] SequentialFuture started (and completed) [17:28:06.862] - Launch lazy future ... done [17:28:06.862] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.863] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.863] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.864] [17:28:06.864] Searching for globals ... DONE [17:28:06.864] - globals: [0] [17:28:06.864] getGlobalsAndPackages() ... DONE [17:28:06.865] run() for 'Future' ... [17:28:06.865] - state: 'created' [17:28:06.865] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.865] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.866] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.866] - Field: 'label' [17:28:06.866] - Field: 'local' [17:28:06.866] - Field: 'owner' [17:28:06.866] - Field: 'envir' [17:28:06.866] - Field: 'packages' [17:28:06.867] - Field: 'gc' [17:28:06.867] - Field: 'conditions' [17:28:06.867] - Field: 'expr' [17:28:06.867] - Field: 'uuid' [17:28:06.867] - Field: 'seed' [17:28:06.867] - Field: 'version' [17:28:06.868] - Field: 'result' [17:28:06.868] - Field: 'asynchronous' [17:28:06.868] - Field: 'calls' [17:28:06.868] - Field: 'globals' [17:28:06.868] - Field: 'stdout' [17:28:06.869] - Field: 'earlySignal' [17:28:06.869] - Field: 'lazy' [17:28:06.869] - Field: 'state' [17:28:06.869] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.869] - Launch lazy future ... [17:28:06.869] Packages needed by the future expression (n = 0): [17:28:06.870] Packages needed by future strategies (n = 0): [17:28:06.870] { [17:28:06.870] { [17:28:06.870] { [17:28:06.870] ...future.startTime <- base::Sys.time() [17:28:06.870] { [17:28:06.870] { [17:28:06.870] { [17:28:06.870] base::local({ [17:28:06.870] has_future <- base::requireNamespace("future", [17:28:06.870] quietly = TRUE) [17:28:06.870] if (has_future) { [17:28:06.870] ns <- base::getNamespace("future") [17:28:06.870] version <- ns[[".package"]][["version"]] [17:28:06.870] if (is.null(version)) [17:28:06.870] version <- utils::packageVersion("future") [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] version <- NULL [17:28:06.870] } [17:28:06.870] if (!has_future || version < "1.8.0") { [17:28:06.870] info <- base::c(r_version = base::gsub("R version ", [17:28:06.870] "", base::R.version$version.string), [17:28:06.870] platform = base::sprintf("%s (%s-bit)", [17:28:06.870] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.870] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.870] "release", "version")], collapse = " "), [17:28:06.870] hostname = base::Sys.info()[["nodename"]]) [17:28:06.870] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.870] info) [17:28:06.870] info <- base::paste(info, collapse = "; ") [17:28:06.870] if (!has_future) { [17:28:06.870] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.870] info) [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.870] info, version) [17:28:06.870] } [17:28:06.870] base::stop(msg) [17:28:06.870] } [17:28:06.870] }) [17:28:06.870] } [17:28:06.870] ...future.strategy.old <- future::plan("list") [17:28:06.870] options(future.plan = NULL) [17:28:06.870] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.870] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.870] } [17:28:06.870] ...future.workdir <- getwd() [17:28:06.870] } [17:28:06.870] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.870] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.870] } [17:28:06.870] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.870] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.870] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.870] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.870] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.870] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.870] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.870] base::names(...future.oldOptions)) [17:28:06.870] } [17:28:06.870] if (FALSE) { [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] if (TRUE) { [17:28:06.870] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.870] open = "w") [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.870] windows = "NUL", "/dev/null"), open = "w") [17:28:06.870] } [17:28:06.870] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.870] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.870] base::sink(type = "output", split = FALSE) [17:28:06.870] base::close(...future.stdout) [17:28:06.870] }, add = TRUE) [17:28:06.870] } [17:28:06.870] ...future.frame <- base::sys.nframe() [17:28:06.870] ...future.conditions <- base::list() [17:28:06.870] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.870] if (FALSE) { [17:28:06.870] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.870] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.870] } [17:28:06.870] ...future.result <- base::tryCatch({ [17:28:06.870] base::withCallingHandlers({ [17:28:06.870] ...future.value <- base::withVisible(base::local(1)) [17:28:06.870] future::FutureResult(value = ...future.value$value, [17:28:06.870] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.870] ...future.rng), globalenv = if (FALSE) [17:28:06.870] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.870] ...future.globalenv.names)) [17:28:06.870] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.870] }, condition = base::local({ [17:28:06.870] c <- base::c [17:28:06.870] inherits <- base::inherits [17:28:06.870] invokeRestart <- base::invokeRestart [17:28:06.870] length <- base::length [17:28:06.870] list <- base::list [17:28:06.870] seq.int <- base::seq.int [17:28:06.870] signalCondition <- base::signalCondition [17:28:06.870] sys.calls <- base::sys.calls [17:28:06.870] `[[` <- base::`[[` [17:28:06.870] `+` <- base::`+` [17:28:06.870] `<<-` <- base::`<<-` [17:28:06.870] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.870] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.870] 3L)] [17:28:06.870] } [17:28:06.870] function(cond) { [17:28:06.870] is_error <- inherits(cond, "error") [17:28:06.870] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.870] NULL) [17:28:06.870] if (is_error) { [17:28:06.870] sessionInformation <- function() { [17:28:06.870] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.870] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.870] search = base::search(), system = base::Sys.info()) [17:28:06.870] } [17:28:06.870] ...future.conditions[[length(...future.conditions) + [17:28:06.870] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.870] cond$call), session = sessionInformation(), [17:28:06.870] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.870] signalCondition(cond) [17:28:06.870] } [17:28:06.870] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.870] "immediateCondition"))) { [17:28:06.870] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.870] ...future.conditions[[length(...future.conditions) + [17:28:06.870] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.870] if (TRUE && !signal) { [17:28:06.870] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.870] { [17:28:06.870] inherits <- base::inherits [17:28:06.870] invokeRestart <- base::invokeRestart [17:28:06.870] is.null <- base::is.null [17:28:06.870] muffled <- FALSE [17:28:06.870] if (inherits(cond, "message")) { [17:28:06.870] muffled <- grepl(pattern, "muffleMessage") [17:28:06.870] if (muffled) [17:28:06.870] invokeRestart("muffleMessage") [17:28:06.870] } [17:28:06.870] else if (inherits(cond, "warning")) { [17:28:06.870] muffled <- grepl(pattern, "muffleWarning") [17:28:06.870] if (muffled) [17:28:06.870] invokeRestart("muffleWarning") [17:28:06.870] } [17:28:06.870] else if (inherits(cond, "condition")) { [17:28:06.870] if (!is.null(pattern)) { [17:28:06.870] computeRestarts <- base::computeRestarts [17:28:06.870] grepl <- base::grepl [17:28:06.870] restarts <- computeRestarts(cond) [17:28:06.870] for (restart in restarts) { [17:28:06.870] name <- restart$name [17:28:06.870] if (is.null(name)) [17:28:06.870] next [17:28:06.870] if (!grepl(pattern, name)) [17:28:06.870] next [17:28:06.870] invokeRestart(restart) [17:28:06.870] muffled <- TRUE [17:28:06.870] break [17:28:06.870] } [17:28:06.870] } [17:28:06.870] } [17:28:06.870] invisible(muffled) [17:28:06.870] } [17:28:06.870] muffleCondition(cond, pattern = "^muffle") [17:28:06.870] } [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] if (TRUE) { [17:28:06.870] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.870] { [17:28:06.870] inherits <- base::inherits [17:28:06.870] invokeRestart <- base::invokeRestart [17:28:06.870] is.null <- base::is.null [17:28:06.870] muffled <- FALSE [17:28:06.870] if (inherits(cond, "message")) { [17:28:06.870] muffled <- grepl(pattern, "muffleMessage") [17:28:06.870] if (muffled) [17:28:06.870] invokeRestart("muffleMessage") [17:28:06.870] } [17:28:06.870] else if (inherits(cond, "warning")) { [17:28:06.870] muffled <- grepl(pattern, "muffleWarning") [17:28:06.870] if (muffled) [17:28:06.870] invokeRestart("muffleWarning") [17:28:06.870] } [17:28:06.870] else if (inherits(cond, "condition")) { [17:28:06.870] if (!is.null(pattern)) { [17:28:06.870] computeRestarts <- base::computeRestarts [17:28:06.870] grepl <- base::grepl [17:28:06.870] restarts <- computeRestarts(cond) [17:28:06.870] for (restart in restarts) { [17:28:06.870] name <- restart$name [17:28:06.870] if (is.null(name)) [17:28:06.870] next [17:28:06.870] if (!grepl(pattern, name)) [17:28:06.870] next [17:28:06.870] invokeRestart(restart) [17:28:06.870] muffled <- TRUE [17:28:06.870] break [17:28:06.870] } [17:28:06.870] } [17:28:06.870] } [17:28:06.870] invisible(muffled) [17:28:06.870] } [17:28:06.870] muffleCondition(cond, pattern = "^muffle") [17:28:06.870] } [17:28:06.870] } [17:28:06.870] } [17:28:06.870] })) [17:28:06.870] }, error = function(ex) { [17:28:06.870] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.870] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.870] ...future.rng), started = ...future.startTime, [17:28:06.870] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.870] version = "1.8"), class = "FutureResult") [17:28:06.870] }, finally = { [17:28:06.870] if (!identical(...future.workdir, getwd())) [17:28:06.870] setwd(...future.workdir) [17:28:06.870] { [17:28:06.870] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.870] ...future.oldOptions$nwarnings <- NULL [17:28:06.870] } [17:28:06.870] base::options(...future.oldOptions) [17:28:06.870] if (.Platform$OS.type == "windows") { [17:28:06.870] old_names <- names(...future.oldEnvVars) [17:28:06.870] envs <- base::Sys.getenv() [17:28:06.870] names <- names(envs) [17:28:06.870] common <- intersect(names, old_names) [17:28:06.870] added <- setdiff(names, old_names) [17:28:06.870] removed <- setdiff(old_names, names) [17:28:06.870] changed <- common[...future.oldEnvVars[common] != [17:28:06.870] envs[common]] [17:28:06.870] NAMES <- toupper(changed) [17:28:06.870] args <- list() [17:28:06.870] for (kk in seq_along(NAMES)) { [17:28:06.870] name <- changed[[kk]] [17:28:06.870] NAME <- NAMES[[kk]] [17:28:06.870] if (name != NAME && is.element(NAME, old_names)) [17:28:06.870] next [17:28:06.870] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.870] } [17:28:06.870] NAMES <- toupper(added) [17:28:06.870] for (kk in seq_along(NAMES)) { [17:28:06.870] name <- added[[kk]] [17:28:06.870] NAME <- NAMES[[kk]] [17:28:06.870] if (name != NAME && is.element(NAME, old_names)) [17:28:06.870] next [17:28:06.870] args[[name]] <- "" [17:28:06.870] } [17:28:06.870] NAMES <- toupper(removed) [17:28:06.870] for (kk in seq_along(NAMES)) { [17:28:06.870] name <- removed[[kk]] [17:28:06.870] NAME <- NAMES[[kk]] [17:28:06.870] if (name != NAME && is.element(NAME, old_names)) [17:28:06.870] next [17:28:06.870] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.870] } [17:28:06.870] if (length(args) > 0) [17:28:06.870] base::do.call(base::Sys.setenv, args = args) [17:28:06.870] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.870] } [17:28:06.870] { [17:28:06.870] if (base::length(...future.futureOptionsAdded) > [17:28:06.870] 0L) { [17:28:06.870] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.870] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.870] base::options(opts) [17:28:06.870] } [17:28:06.870] { [17:28:06.870] { [17:28:06.870] NULL [17:28:06.870] RNGkind("Mersenne-Twister") [17:28:06.870] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.870] inherits = FALSE) [17:28:06.870] } [17:28:06.870] options(future.plan = NULL) [17:28:06.870] if (is.na(NA_character_)) [17:28:06.870] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.870] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.870] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.870] .init = FALSE) [17:28:06.870] } [17:28:06.870] } [17:28:06.870] } [17:28:06.870] }) [17:28:06.870] if (TRUE) { [17:28:06.870] base::sink(type = "output", split = FALSE) [17:28:06.870] if (TRUE) { [17:28:06.870] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.870] } [17:28:06.870] else { [17:28:06.870] ...future.result["stdout"] <- base::list(NULL) [17:28:06.870] } [17:28:06.870] base::close(...future.stdout) [17:28:06.870] ...future.stdout <- NULL [17:28:06.870] } [17:28:06.870] ...future.result$conditions <- ...future.conditions [17:28:06.870] ...future.result$finished <- base::Sys.time() [17:28:06.870] ...future.result [17:28:06.870] } [17:28:06.874] plan(): Setting new future strategy stack: [17:28:06.874] List of future strategies: [17:28:06.874] 1. sequential: [17:28:06.874] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.874] - tweaked: FALSE [17:28:06.874] - call: NULL [17:28:06.875] plan(): nbrOfWorkers() = 1 [17:28:06.876] plan(): Setting new future strategy stack: [17:28:06.876] List of future strategies: [17:28:06.876] 1. sequential: [17:28:06.876] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.876] - tweaked: FALSE [17:28:06.876] - call: plan(strategy) [17:28:06.877] plan(): nbrOfWorkers() = 1 [17:28:06.878] SequentialFuture started (and completed) [17:28:06.878] - Launch lazy future ... done [17:28:06.878] run() for 'SequentialFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.879] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.880] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.881] - globals found: [3] '+', 'value', 'a' [17:28:06.882] Searching for globals ... DONE [17:28:06.882] Resolving globals: TRUE [17:28:06.882] Resolving any globals that are futures ... [17:28:06.882] - globals: [3] '+', 'value', 'a' [17:28:06.883] Resolving any globals that are futures ... DONE [17:28:06.883] Resolving futures part of globals (recursively) ... [17:28:06.884] resolve() on list ... [17:28:06.884] recursive: 99 [17:28:06.885] length: 1 [17:28:06.885] elements: 'a' [17:28:06.885] resolved() for 'SequentialFuture' ... [17:28:06.886] - state: 'finished' [17:28:06.886] - run: TRUE [17:28:06.886] - result: 'FutureResult' [17:28:06.887] resolved() for 'SequentialFuture' ... done [17:28:06.887] Future #1 [17:28:06.887] resolved() for 'SequentialFuture' ... [17:28:06.888] - state: 'finished' [17:28:06.888] - run: TRUE [17:28:06.888] - result: 'FutureResult' [17:28:06.889] resolved() for 'SequentialFuture' ... done [17:28:06.889] A SequentialFuture was resolved [17:28:06.889] length: 0 (resolved future 1) [17:28:06.890] resolve() on list ... DONE [17:28:06.890] - globals: [1] 'a' [17:28:06.890] Resolving futures part of globals (recursively) ... DONE [17:28:06.891] The total size of the 1 globals is 3.36 KiB (3436 bytes) [17:28:06.891] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.36 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.36 KiB of class 'environment') [17:28:06.892] - globals: [1] 'a' [17:28:06.892] - packages: [1] 'future' [17:28:06.892] getGlobalsAndPackages() ... DONE [17:28:06.893] run() for 'Future' ... [17:28:06.893] - state: 'created' [17:28:06.894] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.894] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.895] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.895] - Field: 'label' [17:28:06.895] - Field: 'local' [17:28:06.895] - Field: 'owner' [17:28:06.898] - Field: 'envir' [17:28:06.898] - Field: 'packages' [17:28:06.899] - Field: 'gc' [17:28:06.899] - Field: 'conditions' [17:28:06.899] - Field: 'expr' [17:28:06.900] - Field: 'uuid' [17:28:06.900] - Field: 'seed' [17:28:06.900] - Field: 'version' [17:28:06.901] - Field: 'result' [17:28:06.901] - Field: 'asynchronous' [17:28:06.901] - Field: 'calls' [17:28:06.901] - Field: 'globals' [17:28:06.902] - Field: 'stdout' [17:28:06.902] - Field: 'earlySignal' [17:28:06.902] - Field: 'lazy' [17:28:06.903] - Field: 'state' [17:28:06.903] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.903] - Launch lazy future ... [17:28:06.904] Packages needed by the future expression (n = 1): 'future' [17:28:06.904] Packages needed by future strategies (n = 0): [17:28:06.905] { [17:28:06.905] { [17:28:06.905] { [17:28:06.905] ...future.startTime <- base::Sys.time() [17:28:06.905] { [17:28:06.905] { [17:28:06.905] { [17:28:06.905] { [17:28:06.905] base::local({ [17:28:06.905] has_future <- base::requireNamespace("future", [17:28:06.905] quietly = TRUE) [17:28:06.905] if (has_future) { [17:28:06.905] ns <- base::getNamespace("future") [17:28:06.905] version <- ns[[".package"]][["version"]] [17:28:06.905] if (is.null(version)) [17:28:06.905] version <- utils::packageVersion("future") [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] version <- NULL [17:28:06.905] } [17:28:06.905] if (!has_future || version < "1.8.0") { [17:28:06.905] info <- base::c(r_version = base::gsub("R version ", [17:28:06.905] "", base::R.version$version.string), [17:28:06.905] platform = base::sprintf("%s (%s-bit)", [17:28:06.905] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.905] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.905] "release", "version")], collapse = " "), [17:28:06.905] hostname = base::Sys.info()[["nodename"]]) [17:28:06.905] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.905] info) [17:28:06.905] info <- base::paste(info, collapse = "; ") [17:28:06.905] if (!has_future) { [17:28:06.905] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.905] info) [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.905] info, version) [17:28:06.905] } [17:28:06.905] base::stop(msg) [17:28:06.905] } [17:28:06.905] }) [17:28:06.905] } [17:28:06.905] base::local({ [17:28:06.905] for (pkg in "future") { [17:28:06.905] base::loadNamespace(pkg) [17:28:06.905] base::library(pkg, character.only = TRUE) [17:28:06.905] } [17:28:06.905] }) [17:28:06.905] } [17:28:06.905] ...future.strategy.old <- future::plan("list") [17:28:06.905] options(future.plan = NULL) [17:28:06.905] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.905] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.905] } [17:28:06.905] ...future.workdir <- getwd() [17:28:06.905] } [17:28:06.905] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.905] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.905] } [17:28:06.905] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.905] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.905] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.905] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.905] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.905] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.905] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.905] base::names(...future.oldOptions)) [17:28:06.905] } [17:28:06.905] if (FALSE) { [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] if (TRUE) { [17:28:06.905] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.905] open = "w") [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.905] windows = "NUL", "/dev/null"), open = "w") [17:28:06.905] } [17:28:06.905] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.905] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.905] base::sink(type = "output", split = FALSE) [17:28:06.905] base::close(...future.stdout) [17:28:06.905] }, add = TRUE) [17:28:06.905] } [17:28:06.905] ...future.frame <- base::sys.nframe() [17:28:06.905] ...future.conditions <- base::list() [17:28:06.905] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.905] if (FALSE) { [17:28:06.905] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.905] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.905] } [17:28:06.905] ...future.result <- base::tryCatch({ [17:28:06.905] base::withCallingHandlers({ [17:28:06.905] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.905] 1)) [17:28:06.905] future::FutureResult(value = ...future.value$value, [17:28:06.905] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.905] ...future.rng), globalenv = if (FALSE) [17:28:06.905] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.905] ...future.globalenv.names)) [17:28:06.905] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.905] }, condition = base::local({ [17:28:06.905] c <- base::c [17:28:06.905] inherits <- base::inherits [17:28:06.905] invokeRestart <- base::invokeRestart [17:28:06.905] length <- base::length [17:28:06.905] list <- base::list [17:28:06.905] seq.int <- base::seq.int [17:28:06.905] signalCondition <- base::signalCondition [17:28:06.905] sys.calls <- base::sys.calls [17:28:06.905] `[[` <- base::`[[` [17:28:06.905] `+` <- base::`+` [17:28:06.905] `<<-` <- base::`<<-` [17:28:06.905] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.905] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.905] 3L)] [17:28:06.905] } [17:28:06.905] function(cond) { [17:28:06.905] is_error <- inherits(cond, "error") [17:28:06.905] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.905] NULL) [17:28:06.905] if (is_error) { [17:28:06.905] sessionInformation <- function() { [17:28:06.905] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.905] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.905] search = base::search(), system = base::Sys.info()) [17:28:06.905] } [17:28:06.905] ...future.conditions[[length(...future.conditions) + [17:28:06.905] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.905] cond$call), session = sessionInformation(), [17:28:06.905] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.905] signalCondition(cond) [17:28:06.905] } [17:28:06.905] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.905] "immediateCondition"))) { [17:28:06.905] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.905] ...future.conditions[[length(...future.conditions) + [17:28:06.905] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.905] if (TRUE && !signal) { [17:28:06.905] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.905] { [17:28:06.905] inherits <- base::inherits [17:28:06.905] invokeRestart <- base::invokeRestart [17:28:06.905] is.null <- base::is.null [17:28:06.905] muffled <- FALSE [17:28:06.905] if (inherits(cond, "message")) { [17:28:06.905] muffled <- grepl(pattern, "muffleMessage") [17:28:06.905] if (muffled) [17:28:06.905] invokeRestart("muffleMessage") [17:28:06.905] } [17:28:06.905] else if (inherits(cond, "warning")) { [17:28:06.905] muffled <- grepl(pattern, "muffleWarning") [17:28:06.905] if (muffled) [17:28:06.905] invokeRestart("muffleWarning") [17:28:06.905] } [17:28:06.905] else if (inherits(cond, "condition")) { [17:28:06.905] if (!is.null(pattern)) { [17:28:06.905] computeRestarts <- base::computeRestarts [17:28:06.905] grepl <- base::grepl [17:28:06.905] restarts <- computeRestarts(cond) [17:28:06.905] for (restart in restarts) { [17:28:06.905] name <- restart$name [17:28:06.905] if (is.null(name)) [17:28:06.905] next [17:28:06.905] if (!grepl(pattern, name)) [17:28:06.905] next [17:28:06.905] invokeRestart(restart) [17:28:06.905] muffled <- TRUE [17:28:06.905] break [17:28:06.905] } [17:28:06.905] } [17:28:06.905] } [17:28:06.905] invisible(muffled) [17:28:06.905] } [17:28:06.905] muffleCondition(cond, pattern = "^muffle") [17:28:06.905] } [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] if (TRUE) { [17:28:06.905] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.905] { [17:28:06.905] inherits <- base::inherits [17:28:06.905] invokeRestart <- base::invokeRestart [17:28:06.905] is.null <- base::is.null [17:28:06.905] muffled <- FALSE [17:28:06.905] if (inherits(cond, "message")) { [17:28:06.905] muffled <- grepl(pattern, "muffleMessage") [17:28:06.905] if (muffled) [17:28:06.905] invokeRestart("muffleMessage") [17:28:06.905] } [17:28:06.905] else if (inherits(cond, "warning")) { [17:28:06.905] muffled <- grepl(pattern, "muffleWarning") [17:28:06.905] if (muffled) [17:28:06.905] invokeRestart("muffleWarning") [17:28:06.905] } [17:28:06.905] else if (inherits(cond, "condition")) { [17:28:06.905] if (!is.null(pattern)) { [17:28:06.905] computeRestarts <- base::computeRestarts [17:28:06.905] grepl <- base::grepl [17:28:06.905] restarts <- computeRestarts(cond) [17:28:06.905] for (restart in restarts) { [17:28:06.905] name <- restart$name [17:28:06.905] if (is.null(name)) [17:28:06.905] next [17:28:06.905] if (!grepl(pattern, name)) [17:28:06.905] next [17:28:06.905] invokeRestart(restart) [17:28:06.905] muffled <- TRUE [17:28:06.905] break [17:28:06.905] } [17:28:06.905] } [17:28:06.905] } [17:28:06.905] invisible(muffled) [17:28:06.905] } [17:28:06.905] muffleCondition(cond, pattern = "^muffle") [17:28:06.905] } [17:28:06.905] } [17:28:06.905] } [17:28:06.905] })) [17:28:06.905] }, error = function(ex) { [17:28:06.905] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.905] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.905] ...future.rng), started = ...future.startTime, [17:28:06.905] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.905] version = "1.8"), class = "FutureResult") [17:28:06.905] }, finally = { [17:28:06.905] if (!identical(...future.workdir, getwd())) [17:28:06.905] setwd(...future.workdir) [17:28:06.905] { [17:28:06.905] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.905] ...future.oldOptions$nwarnings <- NULL [17:28:06.905] } [17:28:06.905] base::options(...future.oldOptions) [17:28:06.905] if (.Platform$OS.type == "windows") { [17:28:06.905] old_names <- names(...future.oldEnvVars) [17:28:06.905] envs <- base::Sys.getenv() [17:28:06.905] names <- names(envs) [17:28:06.905] common <- intersect(names, old_names) [17:28:06.905] added <- setdiff(names, old_names) [17:28:06.905] removed <- setdiff(old_names, names) [17:28:06.905] changed <- common[...future.oldEnvVars[common] != [17:28:06.905] envs[common]] [17:28:06.905] NAMES <- toupper(changed) [17:28:06.905] args <- list() [17:28:06.905] for (kk in seq_along(NAMES)) { [17:28:06.905] name <- changed[[kk]] [17:28:06.905] NAME <- NAMES[[kk]] [17:28:06.905] if (name != NAME && is.element(NAME, old_names)) [17:28:06.905] next [17:28:06.905] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.905] } [17:28:06.905] NAMES <- toupper(added) [17:28:06.905] for (kk in seq_along(NAMES)) { [17:28:06.905] name <- added[[kk]] [17:28:06.905] NAME <- NAMES[[kk]] [17:28:06.905] if (name != NAME && is.element(NAME, old_names)) [17:28:06.905] next [17:28:06.905] args[[name]] <- "" [17:28:06.905] } [17:28:06.905] NAMES <- toupper(removed) [17:28:06.905] for (kk in seq_along(NAMES)) { [17:28:06.905] name <- removed[[kk]] [17:28:06.905] NAME <- NAMES[[kk]] [17:28:06.905] if (name != NAME && is.element(NAME, old_names)) [17:28:06.905] next [17:28:06.905] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.905] } [17:28:06.905] if (length(args) > 0) [17:28:06.905] base::do.call(base::Sys.setenv, args = args) [17:28:06.905] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.905] } [17:28:06.905] { [17:28:06.905] if (base::length(...future.futureOptionsAdded) > [17:28:06.905] 0L) { [17:28:06.905] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.905] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.905] base::options(opts) [17:28:06.905] } [17:28:06.905] { [17:28:06.905] { [17:28:06.905] NULL [17:28:06.905] RNGkind("Mersenne-Twister") [17:28:06.905] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.905] inherits = FALSE) [17:28:06.905] } [17:28:06.905] options(future.plan = NULL) [17:28:06.905] if (is.na(NA_character_)) [17:28:06.905] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.905] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.905] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.905] .init = FALSE) [17:28:06.905] } [17:28:06.905] } [17:28:06.905] } [17:28:06.905] }) [17:28:06.905] if (TRUE) { [17:28:06.905] base::sink(type = "output", split = FALSE) [17:28:06.905] if (TRUE) { [17:28:06.905] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.905] } [17:28:06.905] else { [17:28:06.905] ...future.result["stdout"] <- base::list(NULL) [17:28:06.905] } [17:28:06.905] base::close(...future.stdout) [17:28:06.905] ...future.stdout <- NULL [17:28:06.905] } [17:28:06.905] ...future.result$conditions <- ...future.conditions [17:28:06.905] ...future.result$finished <- base::Sys.time() [17:28:06.905] ...future.result [17:28:06.905] } [17:28:06.912] assign_globals() ... [17:28:06.912] List of 1 [17:28:06.912] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.912] - attr(*, "where")=List of 1 [17:28:06.912] ..$ a: [17:28:06.912] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.912] - attr(*, "resolved")= logi TRUE [17:28:06.912] - attr(*, "total_size")= int 3436 [17:28:06.912] - attr(*, "already-done")= logi TRUE [17:28:06.917] - copied 'a' to environment [17:28:06.917] assign_globals() ... done [17:28:06.918] plan(): Setting new future strategy stack: [17:28:06.918] List of future strategies: [17:28:06.918] 1. sequential: [17:28:06.918] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.918] - tweaked: FALSE [17:28:06.918] - call: NULL [17:28:06.919] plan(): nbrOfWorkers() = 1 [17:28:06.921] plan(): Setting new future strategy stack: [17:28:06.922] List of future strategies: [17:28:06.922] 1. sequential: [17:28:06.922] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.922] - tweaked: FALSE [17:28:06.922] - call: plan(strategy) [17:28:06.923] plan(): nbrOfWorkers() = 1 [17:28:06.923] SequentialFuture started (and completed) [17:28:06.923] - Launch lazy future ... done [17:28:06.924] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.925] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.925] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.926] [17:28:06.926] Searching for globals ... DONE [17:28:06.927] - globals: [0] [17:28:06.927] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.928] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.928] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.930] - globals found: [3] '+', 'value', 'a' [17:28:06.930] Searching for globals ... DONE [17:28:06.930] Resolving globals: TRUE [17:28:06.930] Resolving any globals that are futures ... [17:28:06.931] - globals: [3] '+', 'value', 'a' [17:28:06.931] Resolving any globals that are futures ... DONE [17:28:06.932] Resolving futures part of globals (recursively) ... [17:28:06.932] resolve() on list ... [17:28:06.932] recursive: 99 [17:28:06.933] length: 1 [17:28:06.933] elements: 'a' [17:28:06.933] run() for 'Future' ... [17:28:06.933] - state: 'created' [17:28:06.934] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.934] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.935] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.935] - Field: 'label' [17:28:06.935] - Field: 'local' [17:28:06.936] - Field: 'owner' [17:28:06.936] - Field: 'envir' [17:28:06.936] - Field: 'packages' [17:28:06.936] - Field: 'gc' [17:28:06.937] - Field: 'conditions' [17:28:06.937] - Field: 'expr' [17:28:06.937] - Field: 'uuid' [17:28:06.937] - Field: 'seed' [17:28:06.938] - Field: 'version' [17:28:06.938] - Field: 'result' [17:28:06.938] - Field: 'asynchronous' [17:28:06.939] - Field: 'calls' [17:28:06.939] - Field: 'globals' [17:28:06.939] - Field: 'stdout' [17:28:06.939] - Field: 'earlySignal' [17:28:06.940] - Field: 'lazy' [17:28:06.940] - Field: 'state' [17:28:06.940] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.941] - Launch lazy future ... [17:28:06.941] Packages needed by the future expression (n = 0): [17:28:06.941] Packages needed by future strategies (n = 0): [17:28:06.942] { [17:28:06.942] { [17:28:06.942] { [17:28:06.942] ...future.startTime <- base::Sys.time() [17:28:06.942] { [17:28:06.942] { [17:28:06.942] { [17:28:06.942] base::local({ [17:28:06.942] has_future <- base::requireNamespace("future", [17:28:06.942] quietly = TRUE) [17:28:06.942] if (has_future) { [17:28:06.942] ns <- base::getNamespace("future") [17:28:06.942] version <- ns[[".package"]][["version"]] [17:28:06.942] if (is.null(version)) [17:28:06.942] version <- utils::packageVersion("future") [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] version <- NULL [17:28:06.942] } [17:28:06.942] if (!has_future || version < "1.8.0") { [17:28:06.942] info <- base::c(r_version = base::gsub("R version ", [17:28:06.942] "", base::R.version$version.string), [17:28:06.942] platform = base::sprintf("%s (%s-bit)", [17:28:06.942] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.942] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.942] "release", "version")], collapse = " "), [17:28:06.942] hostname = base::Sys.info()[["nodename"]]) [17:28:06.942] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.942] info) [17:28:06.942] info <- base::paste(info, collapse = "; ") [17:28:06.942] if (!has_future) { [17:28:06.942] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.942] info) [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.942] info, version) [17:28:06.942] } [17:28:06.942] base::stop(msg) [17:28:06.942] } [17:28:06.942] }) [17:28:06.942] } [17:28:06.942] ...future.strategy.old <- future::plan("list") [17:28:06.942] options(future.plan = NULL) [17:28:06.942] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.942] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.942] } [17:28:06.942] ...future.workdir <- getwd() [17:28:06.942] } [17:28:06.942] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.942] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.942] } [17:28:06.942] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.942] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.942] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.942] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.942] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.942] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.942] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.942] base::names(...future.oldOptions)) [17:28:06.942] } [17:28:06.942] if (FALSE) { [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] if (TRUE) { [17:28:06.942] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.942] open = "w") [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.942] windows = "NUL", "/dev/null"), open = "w") [17:28:06.942] } [17:28:06.942] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.942] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.942] base::sink(type = "output", split = FALSE) [17:28:06.942] base::close(...future.stdout) [17:28:06.942] }, add = TRUE) [17:28:06.942] } [17:28:06.942] ...future.frame <- base::sys.nframe() [17:28:06.942] ...future.conditions <- base::list() [17:28:06.942] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.942] if (FALSE) { [17:28:06.942] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.942] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.942] } [17:28:06.942] ...future.result <- base::tryCatch({ [17:28:06.942] base::withCallingHandlers({ [17:28:06.942] ...future.value <- base::withVisible(base::local(1)) [17:28:06.942] future::FutureResult(value = ...future.value$value, [17:28:06.942] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.942] ...future.rng), globalenv = if (FALSE) [17:28:06.942] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.942] ...future.globalenv.names)) [17:28:06.942] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.942] }, condition = base::local({ [17:28:06.942] c <- base::c [17:28:06.942] inherits <- base::inherits [17:28:06.942] invokeRestart <- base::invokeRestart [17:28:06.942] length <- base::length [17:28:06.942] list <- base::list [17:28:06.942] seq.int <- base::seq.int [17:28:06.942] signalCondition <- base::signalCondition [17:28:06.942] sys.calls <- base::sys.calls [17:28:06.942] `[[` <- base::`[[` [17:28:06.942] `+` <- base::`+` [17:28:06.942] `<<-` <- base::`<<-` [17:28:06.942] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.942] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.942] 3L)] [17:28:06.942] } [17:28:06.942] function(cond) { [17:28:06.942] is_error <- inherits(cond, "error") [17:28:06.942] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.942] NULL) [17:28:06.942] if (is_error) { [17:28:06.942] sessionInformation <- function() { [17:28:06.942] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.942] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.942] search = base::search(), system = base::Sys.info()) [17:28:06.942] } [17:28:06.942] ...future.conditions[[length(...future.conditions) + [17:28:06.942] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.942] cond$call), session = sessionInformation(), [17:28:06.942] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.942] signalCondition(cond) [17:28:06.942] } [17:28:06.942] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.942] "immediateCondition"))) { [17:28:06.942] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.942] ...future.conditions[[length(...future.conditions) + [17:28:06.942] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.942] if (TRUE && !signal) { [17:28:06.942] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.942] { [17:28:06.942] inherits <- base::inherits [17:28:06.942] invokeRestart <- base::invokeRestart [17:28:06.942] is.null <- base::is.null [17:28:06.942] muffled <- FALSE [17:28:06.942] if (inherits(cond, "message")) { [17:28:06.942] muffled <- grepl(pattern, "muffleMessage") [17:28:06.942] if (muffled) [17:28:06.942] invokeRestart("muffleMessage") [17:28:06.942] } [17:28:06.942] else if (inherits(cond, "warning")) { [17:28:06.942] muffled <- grepl(pattern, "muffleWarning") [17:28:06.942] if (muffled) [17:28:06.942] invokeRestart("muffleWarning") [17:28:06.942] } [17:28:06.942] else if (inherits(cond, "condition")) { [17:28:06.942] if (!is.null(pattern)) { [17:28:06.942] computeRestarts <- base::computeRestarts [17:28:06.942] grepl <- base::grepl [17:28:06.942] restarts <- computeRestarts(cond) [17:28:06.942] for (restart in restarts) { [17:28:06.942] name <- restart$name [17:28:06.942] if (is.null(name)) [17:28:06.942] next [17:28:06.942] if (!grepl(pattern, name)) [17:28:06.942] next [17:28:06.942] invokeRestart(restart) [17:28:06.942] muffled <- TRUE [17:28:06.942] break [17:28:06.942] } [17:28:06.942] } [17:28:06.942] } [17:28:06.942] invisible(muffled) [17:28:06.942] } [17:28:06.942] muffleCondition(cond, pattern = "^muffle") [17:28:06.942] } [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] if (TRUE) { [17:28:06.942] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.942] { [17:28:06.942] inherits <- base::inherits [17:28:06.942] invokeRestart <- base::invokeRestart [17:28:06.942] is.null <- base::is.null [17:28:06.942] muffled <- FALSE [17:28:06.942] if (inherits(cond, "message")) { [17:28:06.942] muffled <- grepl(pattern, "muffleMessage") [17:28:06.942] if (muffled) [17:28:06.942] invokeRestart("muffleMessage") [17:28:06.942] } [17:28:06.942] else if (inherits(cond, "warning")) { [17:28:06.942] muffled <- grepl(pattern, "muffleWarning") [17:28:06.942] if (muffled) [17:28:06.942] invokeRestart("muffleWarning") [17:28:06.942] } [17:28:06.942] else if (inherits(cond, "condition")) { [17:28:06.942] if (!is.null(pattern)) { [17:28:06.942] computeRestarts <- base::computeRestarts [17:28:06.942] grepl <- base::grepl [17:28:06.942] restarts <- computeRestarts(cond) [17:28:06.942] for (restart in restarts) { [17:28:06.942] name <- restart$name [17:28:06.942] if (is.null(name)) [17:28:06.942] next [17:28:06.942] if (!grepl(pattern, name)) [17:28:06.942] next [17:28:06.942] invokeRestart(restart) [17:28:06.942] muffled <- TRUE [17:28:06.942] break [17:28:06.942] } [17:28:06.942] } [17:28:06.942] } [17:28:06.942] invisible(muffled) [17:28:06.942] } [17:28:06.942] muffleCondition(cond, pattern = "^muffle") [17:28:06.942] } [17:28:06.942] } [17:28:06.942] } [17:28:06.942] })) [17:28:06.942] }, error = function(ex) { [17:28:06.942] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.942] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.942] ...future.rng), started = ...future.startTime, [17:28:06.942] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.942] version = "1.8"), class = "FutureResult") [17:28:06.942] }, finally = { [17:28:06.942] if (!identical(...future.workdir, getwd())) [17:28:06.942] setwd(...future.workdir) [17:28:06.942] { [17:28:06.942] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.942] ...future.oldOptions$nwarnings <- NULL [17:28:06.942] } [17:28:06.942] base::options(...future.oldOptions) [17:28:06.942] if (.Platform$OS.type == "windows") { [17:28:06.942] old_names <- names(...future.oldEnvVars) [17:28:06.942] envs <- base::Sys.getenv() [17:28:06.942] names <- names(envs) [17:28:06.942] common <- intersect(names, old_names) [17:28:06.942] added <- setdiff(names, old_names) [17:28:06.942] removed <- setdiff(old_names, names) [17:28:06.942] changed <- common[...future.oldEnvVars[common] != [17:28:06.942] envs[common]] [17:28:06.942] NAMES <- toupper(changed) [17:28:06.942] args <- list() [17:28:06.942] for (kk in seq_along(NAMES)) { [17:28:06.942] name <- changed[[kk]] [17:28:06.942] NAME <- NAMES[[kk]] [17:28:06.942] if (name != NAME && is.element(NAME, old_names)) [17:28:06.942] next [17:28:06.942] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.942] } [17:28:06.942] NAMES <- toupper(added) [17:28:06.942] for (kk in seq_along(NAMES)) { [17:28:06.942] name <- added[[kk]] [17:28:06.942] NAME <- NAMES[[kk]] [17:28:06.942] if (name != NAME && is.element(NAME, old_names)) [17:28:06.942] next [17:28:06.942] args[[name]] <- "" [17:28:06.942] } [17:28:06.942] NAMES <- toupper(removed) [17:28:06.942] for (kk in seq_along(NAMES)) { [17:28:06.942] name <- removed[[kk]] [17:28:06.942] NAME <- NAMES[[kk]] [17:28:06.942] if (name != NAME && is.element(NAME, old_names)) [17:28:06.942] next [17:28:06.942] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.942] } [17:28:06.942] if (length(args) > 0) [17:28:06.942] base::do.call(base::Sys.setenv, args = args) [17:28:06.942] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.942] } [17:28:06.942] { [17:28:06.942] if (base::length(...future.futureOptionsAdded) > [17:28:06.942] 0L) { [17:28:06.942] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.942] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.942] base::options(opts) [17:28:06.942] } [17:28:06.942] { [17:28:06.942] { [17:28:06.942] NULL [17:28:06.942] RNGkind("Mersenne-Twister") [17:28:06.942] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.942] inherits = FALSE) [17:28:06.942] } [17:28:06.942] options(future.plan = NULL) [17:28:06.942] if (is.na(NA_character_)) [17:28:06.942] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.942] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.942] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.942] .init = FALSE) [17:28:06.942] } [17:28:06.942] } [17:28:06.942] } [17:28:06.942] }) [17:28:06.942] if (TRUE) { [17:28:06.942] base::sink(type = "output", split = FALSE) [17:28:06.942] if (TRUE) { [17:28:06.942] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.942] } [17:28:06.942] else { [17:28:06.942] ...future.result["stdout"] <- base::list(NULL) [17:28:06.942] } [17:28:06.942] base::close(...future.stdout) [17:28:06.942] ...future.stdout <- NULL [17:28:06.942] } [17:28:06.942] ...future.result$conditions <- ...future.conditions [17:28:06.942] ...future.result$finished <- base::Sys.time() [17:28:06.942] ...future.result [17:28:06.942] } [17:28:06.949] plan(): Setting new future strategy stack: [17:28:06.949] List of future strategies: [17:28:06.949] 1. sequential: [17:28:06.949] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.949] - tweaked: FALSE [17:28:06.949] - call: NULL [17:28:06.950] plan(): nbrOfWorkers() = 1 [17:28:06.952] plan(): Setting new future strategy stack: [17:28:06.952] List of future strategies: [17:28:06.952] 1. sequential: [17:28:06.952] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.952] - tweaked: FALSE [17:28:06.952] - call: plan(strategy) [17:28:06.953] plan(): nbrOfWorkers() = 1 [17:28:06.953] SequentialFuture started (and completed) [17:28:06.956] - Launch lazy future ... done [17:28:06.956] run() for 'SequentialFuture' ... done [17:28:06.956] resolved() for 'SequentialFuture' ... [17:28:06.957] - state: 'finished' [17:28:06.957] - run: TRUE [17:28:06.957] - result: 'FutureResult' [17:28:06.958] resolved() for 'SequentialFuture' ... done [17:28:06.958] Future #1 [17:28:06.958] resolved() for 'SequentialFuture' ... [17:28:06.959] - state: 'finished' [17:28:06.959] - run: TRUE [17:28:06.959] - result: 'FutureResult' [17:28:06.960] resolved() for 'SequentialFuture' ... done [17:28:06.960] A SequentialFuture was resolved [17:28:06.960] length: 0 (resolved future 1) [17:28:06.961] resolve() on list ... DONE [17:28:06.961] - globals: [1] 'a' [17:28:06.961] Resolving futures part of globals (recursively) ... DONE [17:28:06.962] The total size of the 1 globals is 3.38 KiB (3456 bytes) [17:28:06.962] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.38 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.38 KiB of class 'environment') [17:28:06.963] - globals: [1] 'a' [17:28:06.963] - packages: [1] 'future' [17:28:06.963] getGlobalsAndPackages() ... DONE [17:28:06.964] run() for 'Future' ... [17:28:06.964] - state: 'created' [17:28:06.964] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:06.965] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.965] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:06.965] - Field: 'label' [17:28:06.966] - Field: 'local' [17:28:06.966] - Field: 'owner' [17:28:06.966] - Field: 'envir' [17:28:06.967] - Field: 'packages' [17:28:06.967] - Field: 'gc' [17:28:06.967] - Field: 'conditions' [17:28:06.967] - Field: 'expr' [17:28:06.968] - Field: 'uuid' [17:28:06.968] - Field: 'seed' [17:28:06.968] - Field: 'version' [17:28:06.968] - Field: 'result' [17:28:06.969] - Field: 'asynchronous' [17:28:06.969] - Field: 'calls' [17:28:06.969] - Field: 'globals' [17:28:06.970] - Field: 'stdout' [17:28:06.970] - Field: 'earlySignal' [17:28:06.970] - Field: 'lazy' [17:28:06.970] - Field: 'state' [17:28:06.971] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:06.971] - Launch lazy future ... [17:28:06.971] Packages needed by the future expression (n = 1): 'future' [17:28:06.972] Packages needed by future strategies (n = 0): [17:28:06.973] { [17:28:06.973] { [17:28:06.973] { [17:28:06.973] ...future.startTime <- base::Sys.time() [17:28:06.973] { [17:28:06.973] { [17:28:06.973] { [17:28:06.973] { [17:28:06.973] base::local({ [17:28:06.973] has_future <- base::requireNamespace("future", [17:28:06.973] quietly = TRUE) [17:28:06.973] if (has_future) { [17:28:06.973] ns <- base::getNamespace("future") [17:28:06.973] version <- ns[[".package"]][["version"]] [17:28:06.973] if (is.null(version)) [17:28:06.973] version <- utils::packageVersion("future") [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] version <- NULL [17:28:06.973] } [17:28:06.973] if (!has_future || version < "1.8.0") { [17:28:06.973] info <- base::c(r_version = base::gsub("R version ", [17:28:06.973] "", base::R.version$version.string), [17:28:06.973] platform = base::sprintf("%s (%s-bit)", [17:28:06.973] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:06.973] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:06.973] "release", "version")], collapse = " "), [17:28:06.973] hostname = base::Sys.info()[["nodename"]]) [17:28:06.973] info <- base::sprintf("%s: %s", base::names(info), [17:28:06.973] info) [17:28:06.973] info <- base::paste(info, collapse = "; ") [17:28:06.973] if (!has_future) { [17:28:06.973] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:06.973] info) [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:06.973] info, version) [17:28:06.973] } [17:28:06.973] base::stop(msg) [17:28:06.973] } [17:28:06.973] }) [17:28:06.973] } [17:28:06.973] base::local({ [17:28:06.973] for (pkg in "future") { [17:28:06.973] base::loadNamespace(pkg) [17:28:06.973] base::library(pkg, character.only = TRUE) [17:28:06.973] } [17:28:06.973] }) [17:28:06.973] } [17:28:06.973] ...future.strategy.old <- future::plan("list") [17:28:06.973] options(future.plan = NULL) [17:28:06.973] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.973] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:06.973] } [17:28:06.973] ...future.workdir <- getwd() [17:28:06.973] } [17:28:06.973] ...future.oldOptions <- base::as.list(base::.Options) [17:28:06.973] ...future.oldEnvVars <- base::Sys.getenv() [17:28:06.973] } [17:28:06.973] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:06.973] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:06.973] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:06.973] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:06.973] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:06.973] future.stdout.windows.reencode = NULL, width = 80L) [17:28:06.973] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:06.973] base::names(...future.oldOptions)) [17:28:06.973] } [17:28:06.973] if (FALSE) { [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] if (TRUE) { [17:28:06.973] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:06.973] open = "w") [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:06.973] windows = "NUL", "/dev/null"), open = "w") [17:28:06.973] } [17:28:06.973] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:06.973] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:06.973] base::sink(type = "output", split = FALSE) [17:28:06.973] base::close(...future.stdout) [17:28:06.973] }, add = TRUE) [17:28:06.973] } [17:28:06.973] ...future.frame <- base::sys.nframe() [17:28:06.973] ...future.conditions <- base::list() [17:28:06.973] ...future.rng <- base::globalenv()$.Random.seed [17:28:06.973] if (FALSE) { [17:28:06.973] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:06.973] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:06.973] } [17:28:06.973] ...future.result <- base::tryCatch({ [17:28:06.973] base::withCallingHandlers({ [17:28:06.973] ...future.value <- base::withVisible(base::local(value(a) + [17:28:06.973] 1)) [17:28:06.973] future::FutureResult(value = ...future.value$value, [17:28:06.973] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.973] ...future.rng), globalenv = if (FALSE) [17:28:06.973] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:06.973] ...future.globalenv.names)) [17:28:06.973] else NULL, started = ...future.startTime, version = "1.8") [17:28:06.973] }, condition = base::local({ [17:28:06.973] c <- base::c [17:28:06.973] inherits <- base::inherits [17:28:06.973] invokeRestart <- base::invokeRestart [17:28:06.973] length <- base::length [17:28:06.973] list <- base::list [17:28:06.973] seq.int <- base::seq.int [17:28:06.973] signalCondition <- base::signalCondition [17:28:06.973] sys.calls <- base::sys.calls [17:28:06.973] `[[` <- base::`[[` [17:28:06.973] `+` <- base::`+` [17:28:06.973] `<<-` <- base::`<<-` [17:28:06.973] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:06.973] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:06.973] 3L)] [17:28:06.973] } [17:28:06.973] function(cond) { [17:28:06.973] is_error <- inherits(cond, "error") [17:28:06.973] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:06.973] NULL) [17:28:06.973] if (is_error) { [17:28:06.973] sessionInformation <- function() { [17:28:06.973] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:06.973] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:06.973] search = base::search(), system = base::Sys.info()) [17:28:06.973] } [17:28:06.973] ...future.conditions[[length(...future.conditions) + [17:28:06.973] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:06.973] cond$call), session = sessionInformation(), [17:28:06.973] timestamp = base::Sys.time(), signaled = 0L) [17:28:06.973] signalCondition(cond) [17:28:06.973] } [17:28:06.973] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:06.973] "immediateCondition"))) { [17:28:06.973] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:06.973] ...future.conditions[[length(...future.conditions) + [17:28:06.973] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:06.973] if (TRUE && !signal) { [17:28:06.973] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.973] { [17:28:06.973] inherits <- base::inherits [17:28:06.973] invokeRestart <- base::invokeRestart [17:28:06.973] is.null <- base::is.null [17:28:06.973] muffled <- FALSE [17:28:06.973] if (inherits(cond, "message")) { [17:28:06.973] muffled <- grepl(pattern, "muffleMessage") [17:28:06.973] if (muffled) [17:28:06.973] invokeRestart("muffleMessage") [17:28:06.973] } [17:28:06.973] else if (inherits(cond, "warning")) { [17:28:06.973] muffled <- grepl(pattern, "muffleWarning") [17:28:06.973] if (muffled) [17:28:06.973] invokeRestart("muffleWarning") [17:28:06.973] } [17:28:06.973] else if (inherits(cond, "condition")) { [17:28:06.973] if (!is.null(pattern)) { [17:28:06.973] computeRestarts <- base::computeRestarts [17:28:06.973] grepl <- base::grepl [17:28:06.973] restarts <- computeRestarts(cond) [17:28:06.973] for (restart in restarts) { [17:28:06.973] name <- restart$name [17:28:06.973] if (is.null(name)) [17:28:06.973] next [17:28:06.973] if (!grepl(pattern, name)) [17:28:06.973] next [17:28:06.973] invokeRestart(restart) [17:28:06.973] muffled <- TRUE [17:28:06.973] break [17:28:06.973] } [17:28:06.973] } [17:28:06.973] } [17:28:06.973] invisible(muffled) [17:28:06.973] } [17:28:06.973] muffleCondition(cond, pattern = "^muffle") [17:28:06.973] } [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] if (TRUE) { [17:28:06.973] muffleCondition <- function (cond, pattern = "^muffle") [17:28:06.973] { [17:28:06.973] inherits <- base::inherits [17:28:06.973] invokeRestart <- base::invokeRestart [17:28:06.973] is.null <- base::is.null [17:28:06.973] muffled <- FALSE [17:28:06.973] if (inherits(cond, "message")) { [17:28:06.973] muffled <- grepl(pattern, "muffleMessage") [17:28:06.973] if (muffled) [17:28:06.973] invokeRestart("muffleMessage") [17:28:06.973] } [17:28:06.973] else if (inherits(cond, "warning")) { [17:28:06.973] muffled <- grepl(pattern, "muffleWarning") [17:28:06.973] if (muffled) [17:28:06.973] invokeRestart("muffleWarning") [17:28:06.973] } [17:28:06.973] else if (inherits(cond, "condition")) { [17:28:06.973] if (!is.null(pattern)) { [17:28:06.973] computeRestarts <- base::computeRestarts [17:28:06.973] grepl <- base::grepl [17:28:06.973] restarts <- computeRestarts(cond) [17:28:06.973] for (restart in restarts) { [17:28:06.973] name <- restart$name [17:28:06.973] if (is.null(name)) [17:28:06.973] next [17:28:06.973] if (!grepl(pattern, name)) [17:28:06.973] next [17:28:06.973] invokeRestart(restart) [17:28:06.973] muffled <- TRUE [17:28:06.973] break [17:28:06.973] } [17:28:06.973] } [17:28:06.973] } [17:28:06.973] invisible(muffled) [17:28:06.973] } [17:28:06.973] muffleCondition(cond, pattern = "^muffle") [17:28:06.973] } [17:28:06.973] } [17:28:06.973] } [17:28:06.973] })) [17:28:06.973] }, error = function(ex) { [17:28:06.973] base::structure(base::list(value = NULL, visible = NULL, [17:28:06.973] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:06.973] ...future.rng), started = ...future.startTime, [17:28:06.973] finished = Sys.time(), session_uuid = NA_character_, [17:28:06.973] version = "1.8"), class = "FutureResult") [17:28:06.973] }, finally = { [17:28:06.973] if (!identical(...future.workdir, getwd())) [17:28:06.973] setwd(...future.workdir) [17:28:06.973] { [17:28:06.973] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:06.973] ...future.oldOptions$nwarnings <- NULL [17:28:06.973] } [17:28:06.973] base::options(...future.oldOptions) [17:28:06.973] if (.Platform$OS.type == "windows") { [17:28:06.973] old_names <- names(...future.oldEnvVars) [17:28:06.973] envs <- base::Sys.getenv() [17:28:06.973] names <- names(envs) [17:28:06.973] common <- intersect(names, old_names) [17:28:06.973] added <- setdiff(names, old_names) [17:28:06.973] removed <- setdiff(old_names, names) [17:28:06.973] changed <- common[...future.oldEnvVars[common] != [17:28:06.973] envs[common]] [17:28:06.973] NAMES <- toupper(changed) [17:28:06.973] args <- list() [17:28:06.973] for (kk in seq_along(NAMES)) { [17:28:06.973] name <- changed[[kk]] [17:28:06.973] NAME <- NAMES[[kk]] [17:28:06.973] if (name != NAME && is.element(NAME, old_names)) [17:28:06.973] next [17:28:06.973] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.973] } [17:28:06.973] NAMES <- toupper(added) [17:28:06.973] for (kk in seq_along(NAMES)) { [17:28:06.973] name <- added[[kk]] [17:28:06.973] NAME <- NAMES[[kk]] [17:28:06.973] if (name != NAME && is.element(NAME, old_names)) [17:28:06.973] next [17:28:06.973] args[[name]] <- "" [17:28:06.973] } [17:28:06.973] NAMES <- toupper(removed) [17:28:06.973] for (kk in seq_along(NAMES)) { [17:28:06.973] name <- removed[[kk]] [17:28:06.973] NAME <- NAMES[[kk]] [17:28:06.973] if (name != NAME && is.element(NAME, old_names)) [17:28:06.973] next [17:28:06.973] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:06.973] } [17:28:06.973] if (length(args) > 0) [17:28:06.973] base::do.call(base::Sys.setenv, args = args) [17:28:06.973] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:06.973] } [17:28:06.973] { [17:28:06.973] if (base::length(...future.futureOptionsAdded) > [17:28:06.973] 0L) { [17:28:06.973] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:06.973] base::names(opts) <- ...future.futureOptionsAdded [17:28:06.973] base::options(opts) [17:28:06.973] } [17:28:06.973] { [17:28:06.973] { [17:28:06.973] NULL [17:28:06.973] RNGkind("Mersenne-Twister") [17:28:06.973] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:06.973] inherits = FALSE) [17:28:06.973] } [17:28:06.973] options(future.plan = NULL) [17:28:06.973] if (is.na(NA_character_)) [17:28:06.973] Sys.unsetenv("R_FUTURE_PLAN") [17:28:06.973] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:06.973] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:06.973] .init = FALSE) [17:28:06.973] } [17:28:06.973] } [17:28:06.973] } [17:28:06.973] }) [17:28:06.973] if (TRUE) { [17:28:06.973] base::sink(type = "output", split = FALSE) [17:28:06.973] if (TRUE) { [17:28:06.973] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:06.973] } [17:28:06.973] else { [17:28:06.973] ...future.result["stdout"] <- base::list(NULL) [17:28:06.973] } [17:28:06.973] base::close(...future.stdout) [17:28:06.973] ...future.stdout <- NULL [17:28:06.973] } [17:28:06.973] ...future.result$conditions <- ...future.conditions [17:28:06.973] ...future.result$finished <- base::Sys.time() [17:28:06.973] ...future.result [17:28:06.973] } [17:28:06.979] assign_globals() ... [17:28:06.979] List of 1 [17:28:06.979] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:06.979] - attr(*, "where")=List of 1 [17:28:06.979] ..$ a: [17:28:06.979] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:06.979] - attr(*, "resolved")= logi TRUE [17:28:06.979] - attr(*, "total_size")= int 3456 [17:28:06.979] - attr(*, "already-done")= logi TRUE [17:28:06.984] - copied 'a' to environment [17:28:06.984] assign_globals() ... done [17:28:06.985] plan(): Setting new future strategy stack: [17:28:06.985] List of future strategies: [17:28:06.985] 1. sequential: [17:28:06.985] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.985] - tweaked: FALSE [17:28:06.985] - call: NULL [17:28:06.986] plan(): nbrOfWorkers() = 1 [17:28:06.988] plan(): Setting new future strategy stack: [17:28:06.988] List of future strategies: [17:28:06.988] 1. sequential: [17:28:06.988] - args: function (..., envir = parent.frame(), workers = "") [17:28:06.988] - tweaked: FALSE [17:28:06.988] - call: plan(strategy) [17:28:06.989] plan(): nbrOfWorkers() = 1 [17:28:06.990] SequentialFuture started (and completed) [17:28:06.990] - Launch lazy future ... done [17:28:06.990] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.991] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.992] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.993] [17:28:06.993] Searching for globals ... DONE [17:28:06.993] - globals: [0] [17:28:06.993] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:06.994] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:06.995] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:06.996] - globals found: [3] '+', 'value', 'a' [17:28:06.997] Searching for globals ... DONE [17:28:06.997] Resolving globals: TRUE [17:28:06.997] Resolving any globals that are futures ... [17:28:06.997] - globals: [3] '+', 'value', 'a' [17:28:06.998] Resolving any globals that are futures ... DONE [17:28:06.998] Resolving futures part of globals (recursively) ... [17:28:06.999] resolve() on list ... [17:28:06.999] recursive: 99 [17:28:06.999] length: 1 [17:28:07.000] elements: 'a' [17:28:07.000] run() for 'Future' ... [17:28:07.000] - state: 'created' [17:28:07.000] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:07.001] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:07.001] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:07.002] - Field: 'label' [17:28:07.002] - Field: 'local' [17:28:07.002] - Field: 'owner' [17:28:07.003] - Field: 'envir' [17:28:07.003] - Field: 'packages' [17:28:07.003] - Field: 'gc' [17:28:07.003] - Field: 'conditions' [17:28:07.004] - Field: 'expr' [17:28:07.004] - Field: 'uuid' [17:28:07.007] - Field: 'seed' [17:28:07.007] - Field: 'version' [17:28:07.008] - Field: 'result' [17:28:07.008] - Field: 'asynchronous' [17:28:07.009] - Field: 'calls' [17:28:07.009] - Field: 'globals' [17:28:07.009] - Field: 'stdout' [17:28:07.010] - Field: 'earlySignal' [17:28:07.010] - Field: 'lazy' [17:28:07.011] - Field: 'state' [17:28:07.011] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:07.011] - Launch lazy future ... [17:28:07.012] Packages needed by the future expression (n = 0): [17:28:07.012] Packages needed by future strategies (n = 0): [17:28:07.013] { [17:28:07.013] { [17:28:07.013] { [17:28:07.013] ...future.startTime <- base::Sys.time() [17:28:07.013] { [17:28:07.013] { [17:28:07.013] { [17:28:07.013] base::local({ [17:28:07.013] has_future <- base::requireNamespace("future", [17:28:07.013] quietly = TRUE) [17:28:07.013] if (has_future) { [17:28:07.013] ns <- base::getNamespace("future") [17:28:07.013] version <- ns[[".package"]][["version"]] [17:28:07.013] if (is.null(version)) [17:28:07.013] version <- utils::packageVersion("future") [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] version <- NULL [17:28:07.013] } [17:28:07.013] if (!has_future || version < "1.8.0") { [17:28:07.013] info <- base::c(r_version = base::gsub("R version ", [17:28:07.013] "", base::R.version$version.string), [17:28:07.013] platform = base::sprintf("%s (%s-bit)", [17:28:07.013] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.013] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.013] "release", "version")], collapse = " "), [17:28:07.013] hostname = base::Sys.info()[["nodename"]]) [17:28:07.013] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.013] info) [17:28:07.013] info <- base::paste(info, collapse = "; ") [17:28:07.013] if (!has_future) { [17:28:07.013] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.013] info) [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.013] info, version) [17:28:07.013] } [17:28:07.013] base::stop(msg) [17:28:07.013] } [17:28:07.013] }) [17:28:07.013] } [17:28:07.013] ...future.strategy.old <- future::plan("list") [17:28:07.013] options(future.plan = NULL) [17:28:07.013] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.013] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.013] } [17:28:07.013] ...future.workdir <- getwd() [17:28:07.013] } [17:28:07.013] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.013] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.013] } [17:28:07.013] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.013] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.013] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.013] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.013] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.013] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.013] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.013] base::names(...future.oldOptions)) [17:28:07.013] } [17:28:07.013] if (FALSE) { [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] if (TRUE) { [17:28:07.013] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.013] open = "w") [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.013] windows = "NUL", "/dev/null"), open = "w") [17:28:07.013] } [17:28:07.013] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.013] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.013] base::sink(type = "output", split = FALSE) [17:28:07.013] base::close(...future.stdout) [17:28:07.013] }, add = TRUE) [17:28:07.013] } [17:28:07.013] ...future.frame <- base::sys.nframe() [17:28:07.013] ...future.conditions <- base::list() [17:28:07.013] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.013] if (FALSE) { [17:28:07.013] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.013] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.013] } [17:28:07.013] ...future.result <- base::tryCatch({ [17:28:07.013] base::withCallingHandlers({ [17:28:07.013] ...future.value <- base::withVisible(base::local(1)) [17:28:07.013] future::FutureResult(value = ...future.value$value, [17:28:07.013] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.013] ...future.rng), globalenv = if (FALSE) [17:28:07.013] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.013] ...future.globalenv.names)) [17:28:07.013] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.013] }, condition = base::local({ [17:28:07.013] c <- base::c [17:28:07.013] inherits <- base::inherits [17:28:07.013] invokeRestart <- base::invokeRestart [17:28:07.013] length <- base::length [17:28:07.013] list <- base::list [17:28:07.013] seq.int <- base::seq.int [17:28:07.013] signalCondition <- base::signalCondition [17:28:07.013] sys.calls <- base::sys.calls [17:28:07.013] `[[` <- base::`[[` [17:28:07.013] `+` <- base::`+` [17:28:07.013] `<<-` <- base::`<<-` [17:28:07.013] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.013] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.013] 3L)] [17:28:07.013] } [17:28:07.013] function(cond) { [17:28:07.013] is_error <- inherits(cond, "error") [17:28:07.013] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.013] NULL) [17:28:07.013] if (is_error) { [17:28:07.013] sessionInformation <- function() { [17:28:07.013] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.013] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.013] search = base::search(), system = base::Sys.info()) [17:28:07.013] } [17:28:07.013] ...future.conditions[[length(...future.conditions) + [17:28:07.013] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.013] cond$call), session = sessionInformation(), [17:28:07.013] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.013] signalCondition(cond) [17:28:07.013] } [17:28:07.013] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.013] "immediateCondition"))) { [17:28:07.013] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.013] ...future.conditions[[length(...future.conditions) + [17:28:07.013] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.013] if (TRUE && !signal) { [17:28:07.013] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.013] { [17:28:07.013] inherits <- base::inherits [17:28:07.013] invokeRestart <- base::invokeRestart [17:28:07.013] is.null <- base::is.null [17:28:07.013] muffled <- FALSE [17:28:07.013] if (inherits(cond, "message")) { [17:28:07.013] muffled <- grepl(pattern, "muffleMessage") [17:28:07.013] if (muffled) [17:28:07.013] invokeRestart("muffleMessage") [17:28:07.013] } [17:28:07.013] else if (inherits(cond, "warning")) { [17:28:07.013] muffled <- grepl(pattern, "muffleWarning") [17:28:07.013] if (muffled) [17:28:07.013] invokeRestart("muffleWarning") [17:28:07.013] } [17:28:07.013] else if (inherits(cond, "condition")) { [17:28:07.013] if (!is.null(pattern)) { [17:28:07.013] computeRestarts <- base::computeRestarts [17:28:07.013] grepl <- base::grepl [17:28:07.013] restarts <- computeRestarts(cond) [17:28:07.013] for (restart in restarts) { [17:28:07.013] name <- restart$name [17:28:07.013] if (is.null(name)) [17:28:07.013] next [17:28:07.013] if (!grepl(pattern, name)) [17:28:07.013] next [17:28:07.013] invokeRestart(restart) [17:28:07.013] muffled <- TRUE [17:28:07.013] break [17:28:07.013] } [17:28:07.013] } [17:28:07.013] } [17:28:07.013] invisible(muffled) [17:28:07.013] } [17:28:07.013] muffleCondition(cond, pattern = "^muffle") [17:28:07.013] } [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] if (TRUE) { [17:28:07.013] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.013] { [17:28:07.013] inherits <- base::inherits [17:28:07.013] invokeRestart <- base::invokeRestart [17:28:07.013] is.null <- base::is.null [17:28:07.013] muffled <- FALSE [17:28:07.013] if (inherits(cond, "message")) { [17:28:07.013] muffled <- grepl(pattern, "muffleMessage") [17:28:07.013] if (muffled) [17:28:07.013] invokeRestart("muffleMessage") [17:28:07.013] } [17:28:07.013] else if (inherits(cond, "warning")) { [17:28:07.013] muffled <- grepl(pattern, "muffleWarning") [17:28:07.013] if (muffled) [17:28:07.013] invokeRestart("muffleWarning") [17:28:07.013] } [17:28:07.013] else if (inherits(cond, "condition")) { [17:28:07.013] if (!is.null(pattern)) { [17:28:07.013] computeRestarts <- base::computeRestarts [17:28:07.013] grepl <- base::grepl [17:28:07.013] restarts <- computeRestarts(cond) [17:28:07.013] for (restart in restarts) { [17:28:07.013] name <- restart$name [17:28:07.013] if (is.null(name)) [17:28:07.013] next [17:28:07.013] if (!grepl(pattern, name)) [17:28:07.013] next [17:28:07.013] invokeRestart(restart) [17:28:07.013] muffled <- TRUE [17:28:07.013] break [17:28:07.013] } [17:28:07.013] } [17:28:07.013] } [17:28:07.013] invisible(muffled) [17:28:07.013] } [17:28:07.013] muffleCondition(cond, pattern = "^muffle") [17:28:07.013] } [17:28:07.013] } [17:28:07.013] } [17:28:07.013] })) [17:28:07.013] }, error = function(ex) { [17:28:07.013] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.013] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.013] ...future.rng), started = ...future.startTime, [17:28:07.013] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.013] version = "1.8"), class = "FutureResult") [17:28:07.013] }, finally = { [17:28:07.013] if (!identical(...future.workdir, getwd())) [17:28:07.013] setwd(...future.workdir) [17:28:07.013] { [17:28:07.013] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.013] ...future.oldOptions$nwarnings <- NULL [17:28:07.013] } [17:28:07.013] base::options(...future.oldOptions) [17:28:07.013] if (.Platform$OS.type == "windows") { [17:28:07.013] old_names <- names(...future.oldEnvVars) [17:28:07.013] envs <- base::Sys.getenv() [17:28:07.013] names <- names(envs) [17:28:07.013] common <- intersect(names, old_names) [17:28:07.013] added <- setdiff(names, old_names) [17:28:07.013] removed <- setdiff(old_names, names) [17:28:07.013] changed <- common[...future.oldEnvVars[common] != [17:28:07.013] envs[common]] [17:28:07.013] NAMES <- toupper(changed) [17:28:07.013] args <- list() [17:28:07.013] for (kk in seq_along(NAMES)) { [17:28:07.013] name <- changed[[kk]] [17:28:07.013] NAME <- NAMES[[kk]] [17:28:07.013] if (name != NAME && is.element(NAME, old_names)) [17:28:07.013] next [17:28:07.013] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.013] } [17:28:07.013] NAMES <- toupper(added) [17:28:07.013] for (kk in seq_along(NAMES)) { [17:28:07.013] name <- added[[kk]] [17:28:07.013] NAME <- NAMES[[kk]] [17:28:07.013] if (name != NAME && is.element(NAME, old_names)) [17:28:07.013] next [17:28:07.013] args[[name]] <- "" [17:28:07.013] } [17:28:07.013] NAMES <- toupper(removed) [17:28:07.013] for (kk in seq_along(NAMES)) { [17:28:07.013] name <- removed[[kk]] [17:28:07.013] NAME <- NAMES[[kk]] [17:28:07.013] if (name != NAME && is.element(NAME, old_names)) [17:28:07.013] next [17:28:07.013] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.013] } [17:28:07.013] if (length(args) > 0) [17:28:07.013] base::do.call(base::Sys.setenv, args = args) [17:28:07.013] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.013] } [17:28:07.013] { [17:28:07.013] if (base::length(...future.futureOptionsAdded) > [17:28:07.013] 0L) { [17:28:07.013] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.013] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.013] base::options(opts) [17:28:07.013] } [17:28:07.013] { [17:28:07.013] { [17:28:07.013] NULL [17:28:07.013] RNGkind("Mersenne-Twister") [17:28:07.013] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:07.013] inherits = FALSE) [17:28:07.013] } [17:28:07.013] options(future.plan = NULL) [17:28:07.013] if (is.na(NA_character_)) [17:28:07.013] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.013] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.013] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.013] .init = FALSE) [17:28:07.013] } [17:28:07.013] } [17:28:07.013] } [17:28:07.013] }) [17:28:07.013] if (TRUE) { [17:28:07.013] base::sink(type = "output", split = FALSE) [17:28:07.013] if (TRUE) { [17:28:07.013] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.013] } [17:28:07.013] else { [17:28:07.013] ...future.result["stdout"] <- base::list(NULL) [17:28:07.013] } [17:28:07.013] base::close(...future.stdout) [17:28:07.013] ...future.stdout <- NULL [17:28:07.013] } [17:28:07.013] ...future.result$conditions <- ...future.conditions [17:28:07.013] ...future.result$finished <- base::Sys.time() [17:28:07.013] ...future.result [17:28:07.013] } [17:28:07.020] plan(): Setting new future strategy stack: [17:28:07.020] List of future strategies: [17:28:07.020] 1. sequential: [17:28:07.020] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.020] - tweaked: FALSE [17:28:07.020] - call: NULL [17:28:07.022] plan(): nbrOfWorkers() = 1 [17:28:07.024] plan(): Setting new future strategy stack: [17:28:07.024] List of future strategies: [17:28:07.024] 1. sequential: [17:28:07.024] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.024] - tweaked: FALSE [17:28:07.024] - call: plan(strategy) [17:28:07.025] plan(): nbrOfWorkers() = 1 [17:28:07.025] SequentialFuture started (and completed) [17:28:07.025] - Launch lazy future ... done [17:28:07.026] run() for 'SequentialFuture' ... done [17:28:07.026] resolved() for 'SequentialFuture' ... [17:28:07.026] - state: 'finished' [17:28:07.026] - run: TRUE [17:28:07.027] - result: 'FutureResult' [17:28:07.027] resolved() for 'SequentialFuture' ... done [17:28:07.027] Future #1 [17:28:07.027] resolved() for 'SequentialFuture' ... [17:28:07.028] - state: 'finished' [17:28:07.028] - run: TRUE [17:28:07.028] - result: 'FutureResult' [17:28:07.028] resolved() for 'SequentialFuture' ... done [17:28:07.028] A SequentialFuture was resolved [17:28:07.029] length: 0 (resolved future 1) [17:28:07.029] resolve() on list ... DONE [17:28:07.029] - globals: [1] 'a' [17:28:07.029] Resolving futures part of globals (recursively) ... DONE [17:28:07.030] The total size of the 1 globals is 3.38 KiB (3456 bytes) [17:28:07.030] The total size of the 1 globals exported for future expression ('value(a) + 1') is 3.38 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (3.38 KiB of class 'environment') [17:28:07.030] - globals: [1] 'a' [17:28:07.031] - packages: [1] 'future' [17:28:07.031] getGlobalsAndPackages() ... DONE [17:28:07.031] run() for 'Future' ... [17:28:07.031] - state: 'created' [17:28:07.032] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:07.032] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:07.032] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:07.032] - Field: 'label' [17:28:07.033] - Field: 'local' [17:28:07.033] - Field: 'owner' [17:28:07.033] - Field: 'envir' [17:28:07.033] - Field: 'packages' [17:28:07.033] - Field: 'gc' [17:28:07.034] - Field: 'conditions' [17:28:07.034] - Field: 'expr' [17:28:07.034] - Field: 'uuid' [17:28:07.034] - Field: 'seed' [17:28:07.034] - Field: 'version' [17:28:07.035] - Field: 'result' [17:28:07.035] - Field: 'asynchronous' [17:28:07.035] - Field: 'calls' [17:28:07.035] - Field: 'globals' [17:28:07.035] - Field: 'stdout' [17:28:07.035] - Field: 'earlySignal' [17:28:07.036] - Field: 'lazy' [17:28:07.036] - Field: 'state' [17:28:07.036] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:07.036] - Launch lazy future ... [17:28:07.036] Packages needed by the future expression (n = 1): 'future' [17:28:07.037] Packages needed by future strategies (n = 0): [17:28:07.037] { [17:28:07.037] { [17:28:07.037] { [17:28:07.037] ...future.startTime <- base::Sys.time() [17:28:07.037] { [17:28:07.037] { [17:28:07.037] { [17:28:07.037] { [17:28:07.037] base::local({ [17:28:07.037] has_future <- base::requireNamespace("future", [17:28:07.037] quietly = TRUE) [17:28:07.037] if (has_future) { [17:28:07.037] ns <- base::getNamespace("future") [17:28:07.037] version <- ns[[".package"]][["version"]] [17:28:07.037] if (is.null(version)) [17:28:07.037] version <- utils::packageVersion("future") [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] version <- NULL [17:28:07.037] } [17:28:07.037] if (!has_future || version < "1.8.0") { [17:28:07.037] info <- base::c(r_version = base::gsub("R version ", [17:28:07.037] "", base::R.version$version.string), [17:28:07.037] platform = base::sprintf("%s (%s-bit)", [17:28:07.037] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.037] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.037] "release", "version")], collapse = " "), [17:28:07.037] hostname = base::Sys.info()[["nodename"]]) [17:28:07.037] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.037] info) [17:28:07.037] info <- base::paste(info, collapse = "; ") [17:28:07.037] if (!has_future) { [17:28:07.037] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.037] info) [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.037] info, version) [17:28:07.037] } [17:28:07.037] base::stop(msg) [17:28:07.037] } [17:28:07.037] }) [17:28:07.037] } [17:28:07.037] base::local({ [17:28:07.037] for (pkg in "future") { [17:28:07.037] base::loadNamespace(pkg) [17:28:07.037] base::library(pkg, character.only = TRUE) [17:28:07.037] } [17:28:07.037] }) [17:28:07.037] } [17:28:07.037] ...future.strategy.old <- future::plan("list") [17:28:07.037] options(future.plan = NULL) [17:28:07.037] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.037] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.037] } [17:28:07.037] ...future.workdir <- getwd() [17:28:07.037] } [17:28:07.037] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.037] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.037] } [17:28:07.037] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.037] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.037] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.037] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.037] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.037] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.037] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.037] base::names(...future.oldOptions)) [17:28:07.037] } [17:28:07.037] if (FALSE) { [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] if (TRUE) { [17:28:07.037] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.037] open = "w") [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.037] windows = "NUL", "/dev/null"), open = "w") [17:28:07.037] } [17:28:07.037] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.037] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.037] base::sink(type = "output", split = FALSE) [17:28:07.037] base::close(...future.stdout) [17:28:07.037] }, add = TRUE) [17:28:07.037] } [17:28:07.037] ...future.frame <- base::sys.nframe() [17:28:07.037] ...future.conditions <- base::list() [17:28:07.037] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.037] if (FALSE) { [17:28:07.037] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.037] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.037] } [17:28:07.037] ...future.result <- base::tryCatch({ [17:28:07.037] base::withCallingHandlers({ [17:28:07.037] ...future.value <- base::withVisible(base::local(value(a) + [17:28:07.037] 1)) [17:28:07.037] future::FutureResult(value = ...future.value$value, [17:28:07.037] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.037] ...future.rng), globalenv = if (FALSE) [17:28:07.037] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.037] ...future.globalenv.names)) [17:28:07.037] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.037] }, condition = base::local({ [17:28:07.037] c <- base::c [17:28:07.037] inherits <- base::inherits [17:28:07.037] invokeRestart <- base::invokeRestart [17:28:07.037] length <- base::length [17:28:07.037] list <- base::list [17:28:07.037] seq.int <- base::seq.int [17:28:07.037] signalCondition <- base::signalCondition [17:28:07.037] sys.calls <- base::sys.calls [17:28:07.037] `[[` <- base::`[[` [17:28:07.037] `+` <- base::`+` [17:28:07.037] `<<-` <- base::`<<-` [17:28:07.037] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.037] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.037] 3L)] [17:28:07.037] } [17:28:07.037] function(cond) { [17:28:07.037] is_error <- inherits(cond, "error") [17:28:07.037] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.037] NULL) [17:28:07.037] if (is_error) { [17:28:07.037] sessionInformation <- function() { [17:28:07.037] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.037] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.037] search = base::search(), system = base::Sys.info()) [17:28:07.037] } [17:28:07.037] ...future.conditions[[length(...future.conditions) + [17:28:07.037] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.037] cond$call), session = sessionInformation(), [17:28:07.037] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.037] signalCondition(cond) [17:28:07.037] } [17:28:07.037] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.037] "immediateCondition"))) { [17:28:07.037] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.037] ...future.conditions[[length(...future.conditions) + [17:28:07.037] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.037] if (TRUE && !signal) { [17:28:07.037] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.037] { [17:28:07.037] inherits <- base::inherits [17:28:07.037] invokeRestart <- base::invokeRestart [17:28:07.037] is.null <- base::is.null [17:28:07.037] muffled <- FALSE [17:28:07.037] if (inherits(cond, "message")) { [17:28:07.037] muffled <- grepl(pattern, "muffleMessage") [17:28:07.037] if (muffled) [17:28:07.037] invokeRestart("muffleMessage") [17:28:07.037] } [17:28:07.037] else if (inherits(cond, "warning")) { [17:28:07.037] muffled <- grepl(pattern, "muffleWarning") [17:28:07.037] if (muffled) [17:28:07.037] invokeRestart("muffleWarning") [17:28:07.037] } [17:28:07.037] else if (inherits(cond, "condition")) { [17:28:07.037] if (!is.null(pattern)) { [17:28:07.037] computeRestarts <- base::computeRestarts [17:28:07.037] grepl <- base::grepl [17:28:07.037] restarts <- computeRestarts(cond) [17:28:07.037] for (restart in restarts) { [17:28:07.037] name <- restart$name [17:28:07.037] if (is.null(name)) [17:28:07.037] next [17:28:07.037] if (!grepl(pattern, name)) [17:28:07.037] next [17:28:07.037] invokeRestart(restart) [17:28:07.037] muffled <- TRUE [17:28:07.037] break [17:28:07.037] } [17:28:07.037] } [17:28:07.037] } [17:28:07.037] invisible(muffled) [17:28:07.037] } [17:28:07.037] muffleCondition(cond, pattern = "^muffle") [17:28:07.037] } [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] if (TRUE) { [17:28:07.037] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.037] { [17:28:07.037] inherits <- base::inherits [17:28:07.037] invokeRestart <- base::invokeRestart [17:28:07.037] is.null <- base::is.null [17:28:07.037] muffled <- FALSE [17:28:07.037] if (inherits(cond, "message")) { [17:28:07.037] muffled <- grepl(pattern, "muffleMessage") [17:28:07.037] if (muffled) [17:28:07.037] invokeRestart("muffleMessage") [17:28:07.037] } [17:28:07.037] else if (inherits(cond, "warning")) { [17:28:07.037] muffled <- grepl(pattern, "muffleWarning") [17:28:07.037] if (muffled) [17:28:07.037] invokeRestart("muffleWarning") [17:28:07.037] } [17:28:07.037] else if (inherits(cond, "condition")) { [17:28:07.037] if (!is.null(pattern)) { [17:28:07.037] computeRestarts <- base::computeRestarts [17:28:07.037] grepl <- base::grepl [17:28:07.037] restarts <- computeRestarts(cond) [17:28:07.037] for (restart in restarts) { [17:28:07.037] name <- restart$name [17:28:07.037] if (is.null(name)) [17:28:07.037] next [17:28:07.037] if (!grepl(pattern, name)) [17:28:07.037] next [17:28:07.037] invokeRestart(restart) [17:28:07.037] muffled <- TRUE [17:28:07.037] break [17:28:07.037] } [17:28:07.037] } [17:28:07.037] } [17:28:07.037] invisible(muffled) [17:28:07.037] } [17:28:07.037] muffleCondition(cond, pattern = "^muffle") [17:28:07.037] } [17:28:07.037] } [17:28:07.037] } [17:28:07.037] })) [17:28:07.037] }, error = function(ex) { [17:28:07.037] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.037] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.037] ...future.rng), started = ...future.startTime, [17:28:07.037] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.037] version = "1.8"), class = "FutureResult") [17:28:07.037] }, finally = { [17:28:07.037] if (!identical(...future.workdir, getwd())) [17:28:07.037] setwd(...future.workdir) [17:28:07.037] { [17:28:07.037] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.037] ...future.oldOptions$nwarnings <- NULL [17:28:07.037] } [17:28:07.037] base::options(...future.oldOptions) [17:28:07.037] if (.Platform$OS.type == "windows") { [17:28:07.037] old_names <- names(...future.oldEnvVars) [17:28:07.037] envs <- base::Sys.getenv() [17:28:07.037] names <- names(envs) [17:28:07.037] common <- intersect(names, old_names) [17:28:07.037] added <- setdiff(names, old_names) [17:28:07.037] removed <- setdiff(old_names, names) [17:28:07.037] changed <- common[...future.oldEnvVars[common] != [17:28:07.037] envs[common]] [17:28:07.037] NAMES <- toupper(changed) [17:28:07.037] args <- list() [17:28:07.037] for (kk in seq_along(NAMES)) { [17:28:07.037] name <- changed[[kk]] [17:28:07.037] NAME <- NAMES[[kk]] [17:28:07.037] if (name != NAME && is.element(NAME, old_names)) [17:28:07.037] next [17:28:07.037] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.037] } [17:28:07.037] NAMES <- toupper(added) [17:28:07.037] for (kk in seq_along(NAMES)) { [17:28:07.037] name <- added[[kk]] [17:28:07.037] NAME <- NAMES[[kk]] [17:28:07.037] if (name != NAME && is.element(NAME, old_names)) [17:28:07.037] next [17:28:07.037] args[[name]] <- "" [17:28:07.037] } [17:28:07.037] NAMES <- toupper(removed) [17:28:07.037] for (kk in seq_along(NAMES)) { [17:28:07.037] name <- removed[[kk]] [17:28:07.037] NAME <- NAMES[[kk]] [17:28:07.037] if (name != NAME && is.element(NAME, old_names)) [17:28:07.037] next [17:28:07.037] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.037] } [17:28:07.037] if (length(args) > 0) [17:28:07.037] base::do.call(base::Sys.setenv, args = args) [17:28:07.037] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.037] } [17:28:07.037] { [17:28:07.037] if (base::length(...future.futureOptionsAdded) > [17:28:07.037] 0L) { [17:28:07.037] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.037] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.037] base::options(opts) [17:28:07.037] } [17:28:07.037] { [17:28:07.037] { [17:28:07.037] NULL [17:28:07.037] RNGkind("Mersenne-Twister") [17:28:07.037] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:07.037] inherits = FALSE) [17:28:07.037] } [17:28:07.037] options(future.plan = NULL) [17:28:07.037] if (is.na(NA_character_)) [17:28:07.037] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.037] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.037] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.037] .init = FALSE) [17:28:07.037] } [17:28:07.037] } [17:28:07.037] } [17:28:07.037] }) [17:28:07.037] if (TRUE) { [17:28:07.037] base::sink(type = "output", split = FALSE) [17:28:07.037] if (TRUE) { [17:28:07.037] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.037] } [17:28:07.037] else { [17:28:07.037] ...future.result["stdout"] <- base::list(NULL) [17:28:07.037] } [17:28:07.037] base::close(...future.stdout) [17:28:07.037] ...future.stdout <- NULL [17:28:07.037] } [17:28:07.037] ...future.result$conditions <- ...future.conditions [17:28:07.037] ...future.result$finished <- base::Sys.time() [17:28:07.037] ...future.result [17:28:07.037] } [17:28:07.042] assign_globals() ... [17:28:07.043] List of 1 [17:28:07.043] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:07.043] - attr(*, "where")=List of 1 [17:28:07.043] ..$ a: [17:28:07.043] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:07.043] - attr(*, "resolved")= logi TRUE [17:28:07.043] - attr(*, "total_size")= int 3456 [17:28:07.043] - attr(*, "already-done")= logi TRUE [17:28:07.048] - copied 'a' to environment [17:28:07.048] assign_globals() ... done [17:28:07.049] plan(): Setting new future strategy stack: [17:28:07.049] List of future strategies: [17:28:07.049] 1. sequential: [17:28:07.049] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.049] - tweaked: FALSE [17:28:07.049] - call: NULL [17:28:07.050] plan(): nbrOfWorkers() = 1 [17:28:07.051] plan(): Setting new future strategy stack: [17:28:07.052] List of future strategies: [17:28:07.052] 1. sequential: [17:28:07.052] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.052] - tweaked: FALSE [17:28:07.052] - call: plan(strategy) [17:28:07.052] plan(): nbrOfWorkers() = 1 [17:28:07.053] SequentialFuture started (and completed) [17:28:07.053] - Launch lazy future ... done [17:28:07.053] run() for 'SequentialFuture' ... done value(b) = 2 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:07.054] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:07.054] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:07.057] - globals found: [2] '{', 'pkg' [17:28:07.058] Searching for globals ... DONE [17:28:07.058] Resolving globals: TRUE [17:28:07.058] Resolving any globals that are futures ... [17:28:07.059] - globals: [2] '{', 'pkg' [17:28:07.059] Resolving any globals that are futures ... DONE [17:28:07.059] Resolving futures part of globals (recursively) ... [17:28:07.060] resolve() on list ... [17:28:07.060] recursive: 99 [17:28:07.060] length: 1 [17:28:07.060] elements: 'pkg' [17:28:07.061] length: 0 (resolved future 1) [17:28:07.061] resolve() on list ... DONE [17:28:07.061] - globals: [1] 'pkg' [17:28:07.061] Resolving futures part of globals (recursively) ... DONE [17:28:07.061] The total size of the 1 globals is 42 bytes (42 bytes) [17:28:07.062] The total size of the 1 globals exported for future expression ('{; pkg; }') is 42 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (42 bytes of class 'character') [17:28:07.062] - globals: [1] 'pkg' [17:28:07.062] [17:28:07.062] getGlobalsAndPackages() ... DONE [17:28:07.063] Packages needed by the future expression (n = 0): [17:28:07.063] Packages needed by future strategies (n = 0): [17:28:07.064] { [17:28:07.064] { [17:28:07.064] { [17:28:07.064] ...future.startTime <- base::Sys.time() [17:28:07.064] { [17:28:07.064] { [17:28:07.064] { [17:28:07.064] base::local({ [17:28:07.064] has_future <- base::requireNamespace("future", [17:28:07.064] quietly = TRUE) [17:28:07.064] if (has_future) { [17:28:07.064] ns <- base::getNamespace("future") [17:28:07.064] version <- ns[[".package"]][["version"]] [17:28:07.064] if (is.null(version)) [17:28:07.064] version <- utils::packageVersion("future") [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] version <- NULL [17:28:07.064] } [17:28:07.064] if (!has_future || version < "1.8.0") { [17:28:07.064] info <- base::c(r_version = base::gsub("R version ", [17:28:07.064] "", base::R.version$version.string), [17:28:07.064] platform = base::sprintf("%s (%s-bit)", [17:28:07.064] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.064] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.064] "release", "version")], collapse = " "), [17:28:07.064] hostname = base::Sys.info()[["nodename"]]) [17:28:07.064] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.064] info) [17:28:07.064] info <- base::paste(info, collapse = "; ") [17:28:07.064] if (!has_future) { [17:28:07.064] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.064] info) [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.064] info, version) [17:28:07.064] } [17:28:07.064] base::stop(msg) [17:28:07.064] } [17:28:07.064] }) [17:28:07.064] } [17:28:07.064] ...future.strategy.old <- future::plan("list") [17:28:07.064] options(future.plan = NULL) [17:28:07.064] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.064] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.064] } [17:28:07.064] ...future.workdir <- getwd() [17:28:07.064] } [17:28:07.064] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.064] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.064] } [17:28:07.064] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.064] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.064] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.064] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.064] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.064] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.064] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.064] base::names(...future.oldOptions)) [17:28:07.064] } [17:28:07.064] if (FALSE) { [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] if (TRUE) { [17:28:07.064] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.064] open = "w") [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.064] windows = "NUL", "/dev/null"), open = "w") [17:28:07.064] } [17:28:07.064] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.064] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.064] base::sink(type = "output", split = FALSE) [17:28:07.064] base::close(...future.stdout) [17:28:07.064] }, add = TRUE) [17:28:07.064] } [17:28:07.064] ...future.frame <- base::sys.nframe() [17:28:07.064] ...future.conditions <- base::list() [17:28:07.064] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.064] if (FALSE) { [17:28:07.064] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.064] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.064] } [17:28:07.064] ...future.result <- base::tryCatch({ [17:28:07.064] base::withCallingHandlers({ [17:28:07.064] ...future.value <- base::withVisible(base::local({ [17:28:07.064] pkg [17:28:07.064] })) [17:28:07.064] future::FutureResult(value = ...future.value$value, [17:28:07.064] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.064] ...future.rng), globalenv = if (FALSE) [17:28:07.064] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.064] ...future.globalenv.names)) [17:28:07.064] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.064] }, condition = base::local({ [17:28:07.064] c <- base::c [17:28:07.064] inherits <- base::inherits [17:28:07.064] invokeRestart <- base::invokeRestart [17:28:07.064] length <- base::length [17:28:07.064] list <- base::list [17:28:07.064] seq.int <- base::seq.int [17:28:07.064] signalCondition <- base::signalCondition [17:28:07.064] sys.calls <- base::sys.calls [17:28:07.064] `[[` <- base::`[[` [17:28:07.064] `+` <- base::`+` [17:28:07.064] `<<-` <- base::`<<-` [17:28:07.064] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.064] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.064] 3L)] [17:28:07.064] } [17:28:07.064] function(cond) { [17:28:07.064] is_error <- inherits(cond, "error") [17:28:07.064] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.064] NULL) [17:28:07.064] if (is_error) { [17:28:07.064] sessionInformation <- function() { [17:28:07.064] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.064] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.064] search = base::search(), system = base::Sys.info()) [17:28:07.064] } [17:28:07.064] ...future.conditions[[length(...future.conditions) + [17:28:07.064] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.064] cond$call), session = sessionInformation(), [17:28:07.064] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.064] signalCondition(cond) [17:28:07.064] } [17:28:07.064] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.064] "immediateCondition"))) { [17:28:07.064] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.064] ...future.conditions[[length(...future.conditions) + [17:28:07.064] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.064] if (TRUE && !signal) { [17:28:07.064] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.064] { [17:28:07.064] inherits <- base::inherits [17:28:07.064] invokeRestart <- base::invokeRestart [17:28:07.064] is.null <- base::is.null [17:28:07.064] muffled <- FALSE [17:28:07.064] if (inherits(cond, "message")) { [17:28:07.064] muffled <- grepl(pattern, "muffleMessage") [17:28:07.064] if (muffled) [17:28:07.064] invokeRestart("muffleMessage") [17:28:07.064] } [17:28:07.064] else if (inherits(cond, "warning")) { [17:28:07.064] muffled <- grepl(pattern, "muffleWarning") [17:28:07.064] if (muffled) [17:28:07.064] invokeRestart("muffleWarning") [17:28:07.064] } [17:28:07.064] else if (inherits(cond, "condition")) { [17:28:07.064] if (!is.null(pattern)) { [17:28:07.064] computeRestarts <- base::computeRestarts [17:28:07.064] grepl <- base::grepl [17:28:07.064] restarts <- computeRestarts(cond) [17:28:07.064] for (restart in restarts) { [17:28:07.064] name <- restart$name [17:28:07.064] if (is.null(name)) [17:28:07.064] next [17:28:07.064] if (!grepl(pattern, name)) [17:28:07.064] next [17:28:07.064] invokeRestart(restart) [17:28:07.064] muffled <- TRUE [17:28:07.064] break [17:28:07.064] } [17:28:07.064] } [17:28:07.064] } [17:28:07.064] invisible(muffled) [17:28:07.064] } [17:28:07.064] muffleCondition(cond, pattern = "^muffle") [17:28:07.064] } [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] if (TRUE) { [17:28:07.064] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.064] { [17:28:07.064] inherits <- base::inherits [17:28:07.064] invokeRestart <- base::invokeRestart [17:28:07.064] is.null <- base::is.null [17:28:07.064] muffled <- FALSE [17:28:07.064] if (inherits(cond, "message")) { [17:28:07.064] muffled <- grepl(pattern, "muffleMessage") [17:28:07.064] if (muffled) [17:28:07.064] invokeRestart("muffleMessage") [17:28:07.064] } [17:28:07.064] else if (inherits(cond, "warning")) { [17:28:07.064] muffled <- grepl(pattern, "muffleWarning") [17:28:07.064] if (muffled) [17:28:07.064] invokeRestart("muffleWarning") [17:28:07.064] } [17:28:07.064] else if (inherits(cond, "condition")) { [17:28:07.064] if (!is.null(pattern)) { [17:28:07.064] computeRestarts <- base::computeRestarts [17:28:07.064] grepl <- base::grepl [17:28:07.064] restarts <- computeRestarts(cond) [17:28:07.064] for (restart in restarts) { [17:28:07.064] name <- restart$name [17:28:07.064] if (is.null(name)) [17:28:07.064] next [17:28:07.064] if (!grepl(pattern, name)) [17:28:07.064] next [17:28:07.064] invokeRestart(restart) [17:28:07.064] muffled <- TRUE [17:28:07.064] break [17:28:07.064] } [17:28:07.064] } [17:28:07.064] } [17:28:07.064] invisible(muffled) [17:28:07.064] } [17:28:07.064] muffleCondition(cond, pattern = "^muffle") [17:28:07.064] } [17:28:07.064] } [17:28:07.064] } [17:28:07.064] })) [17:28:07.064] }, error = function(ex) { [17:28:07.064] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.064] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.064] ...future.rng), started = ...future.startTime, [17:28:07.064] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.064] version = "1.8"), class = "FutureResult") [17:28:07.064] }, finally = { [17:28:07.064] if (!identical(...future.workdir, getwd())) [17:28:07.064] setwd(...future.workdir) [17:28:07.064] { [17:28:07.064] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.064] ...future.oldOptions$nwarnings <- NULL [17:28:07.064] } [17:28:07.064] base::options(...future.oldOptions) [17:28:07.064] if (.Platform$OS.type == "windows") { [17:28:07.064] old_names <- names(...future.oldEnvVars) [17:28:07.064] envs <- base::Sys.getenv() [17:28:07.064] names <- names(envs) [17:28:07.064] common <- intersect(names, old_names) [17:28:07.064] added <- setdiff(names, old_names) [17:28:07.064] removed <- setdiff(old_names, names) [17:28:07.064] changed <- common[...future.oldEnvVars[common] != [17:28:07.064] envs[common]] [17:28:07.064] NAMES <- toupper(changed) [17:28:07.064] args <- list() [17:28:07.064] for (kk in seq_along(NAMES)) { [17:28:07.064] name <- changed[[kk]] [17:28:07.064] NAME <- NAMES[[kk]] [17:28:07.064] if (name != NAME && is.element(NAME, old_names)) [17:28:07.064] next [17:28:07.064] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.064] } [17:28:07.064] NAMES <- toupper(added) [17:28:07.064] for (kk in seq_along(NAMES)) { [17:28:07.064] name <- added[[kk]] [17:28:07.064] NAME <- NAMES[[kk]] [17:28:07.064] if (name != NAME && is.element(NAME, old_names)) [17:28:07.064] next [17:28:07.064] args[[name]] <- "" [17:28:07.064] } [17:28:07.064] NAMES <- toupper(removed) [17:28:07.064] for (kk in seq_along(NAMES)) { [17:28:07.064] name <- removed[[kk]] [17:28:07.064] NAME <- NAMES[[kk]] [17:28:07.064] if (name != NAME && is.element(NAME, old_names)) [17:28:07.064] next [17:28:07.064] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.064] } [17:28:07.064] if (length(args) > 0) [17:28:07.064] base::do.call(base::Sys.setenv, args = args) [17:28:07.064] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.064] } [17:28:07.064] { [17:28:07.064] if (base::length(...future.futureOptionsAdded) > [17:28:07.064] 0L) { [17:28:07.064] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.064] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.064] base::options(opts) [17:28:07.064] } [17:28:07.064] { [17:28:07.064] { [17:28:07.064] NULL [17:28:07.064] RNGkind("Mersenne-Twister") [17:28:07.064] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:07.064] inherits = FALSE) [17:28:07.064] } [17:28:07.064] options(future.plan = NULL) [17:28:07.064] if (is.na(NA_character_)) [17:28:07.064] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.064] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.064] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.064] .init = FALSE) [17:28:07.064] } [17:28:07.064] } [17:28:07.064] } [17:28:07.064] }) [17:28:07.064] if (TRUE) { [17:28:07.064] base::sink(type = "output", split = FALSE) [17:28:07.064] if (TRUE) { [17:28:07.064] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.064] } [17:28:07.064] else { [17:28:07.064] ...future.result["stdout"] <- base::list(NULL) [17:28:07.064] } [17:28:07.064] base::close(...future.stdout) [17:28:07.064] ...future.stdout <- NULL [17:28:07.064] } [17:28:07.064] ...future.result$conditions <- ...future.conditions [17:28:07.064] ...future.result$finished <- base::Sys.time() [17:28:07.064] ...future.result [17:28:07.064] } [17:28:07.068] assign_globals() ... [17:28:07.069] List of 1 [17:28:07.069] $ pkg: chr "foo" [17:28:07.069] - attr(*, "where")=List of 1 [17:28:07.069] ..$ pkg: [17:28:07.069] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:07.069] - attr(*, "resolved")= logi TRUE [17:28:07.069] - attr(*, "total_size")= int 42 [17:28:07.072] - copied 'pkg' to environment [17:28:07.072] assign_globals() ... done [17:28:07.072] plan(): Setting new future strategy stack: [17:28:07.073] List of future strategies: [17:28:07.073] 1. sequential: [17:28:07.073] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.073] - tweaked: FALSE [17:28:07.073] - call: NULL [17:28:07.073] plan(): nbrOfWorkers() = 1 [17:28:07.075] plan(): Setting new future strategy stack: [17:28:07.075] List of future strategies: [17:28:07.075] 1. sequential: [17:28:07.075] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.075] - tweaked: FALSE [17:28:07.075] - call: plan(strategy) [17:28:07.075] plan(): nbrOfWorkers() = 1 [17:28:07.076] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'ordered' ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:07.076] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:07.077] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:07.080] - globals found: [3] '{', '<-', '+' [17:28:07.080] Searching for globals ... DONE [17:28:07.080] Resolving globals: TRUE [17:28:07.081] Resolving any globals that are futures ... [17:28:07.081] - globals: [3] '{', '<-', '+' [17:28:07.081] Resolving any globals that are futures ... DONE [17:28:07.082] [17:28:07.082] [17:28:07.082] getGlobalsAndPackages() ... DONE [17:28:07.083] run() for 'Future' ... [17:28:07.083] - state: 'created' [17:28:07.084] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:07.084] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:07.085] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:07.085] - Field: 'label' [17:28:07.085] - Field: 'local' [17:28:07.086] - Field: 'owner' [17:28:07.086] - Field: 'envir' [17:28:07.086] - Field: 'packages' [17:28:07.087] - Field: 'gc' [17:28:07.087] - Field: 'conditions' [17:28:07.087] - Field: 'expr' [17:28:07.088] - Field: 'uuid' [17:28:07.088] - Field: 'seed' [17:28:07.088] - Field: 'version' [17:28:07.089] - Field: 'result' [17:28:07.089] - Field: 'asynchronous' [17:28:07.089] - Field: 'calls' [17:28:07.090] - Field: 'globals' [17:28:07.090] - Field: 'stdout' [17:28:07.090] - Field: 'earlySignal' [17:28:07.090] - Field: 'lazy' [17:28:07.091] - Field: 'state' [17:28:07.091] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:07.091] - Launch lazy future ... [17:28:07.092] Packages needed by the future expression (n = 0): [17:28:07.092] Packages needed by future strategies (n = 0): [17:28:07.093] { [17:28:07.093] { [17:28:07.093] { [17:28:07.093] ...future.startTime <- base::Sys.time() [17:28:07.093] { [17:28:07.093] { [17:28:07.093] { [17:28:07.093] base::local({ [17:28:07.093] has_future <- base::requireNamespace("future", [17:28:07.093] quietly = TRUE) [17:28:07.093] if (has_future) { [17:28:07.093] ns <- base::getNamespace("future") [17:28:07.093] version <- ns[[".package"]][["version"]] [17:28:07.093] if (is.null(version)) [17:28:07.093] version <- utils::packageVersion("future") [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] version <- NULL [17:28:07.093] } [17:28:07.093] if (!has_future || version < "1.8.0") { [17:28:07.093] info <- base::c(r_version = base::gsub("R version ", [17:28:07.093] "", base::R.version$version.string), [17:28:07.093] platform = base::sprintf("%s (%s-bit)", [17:28:07.093] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.093] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.093] "release", "version")], collapse = " "), [17:28:07.093] hostname = base::Sys.info()[["nodename"]]) [17:28:07.093] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.093] info) [17:28:07.093] info <- base::paste(info, collapse = "; ") [17:28:07.093] if (!has_future) { [17:28:07.093] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.093] info) [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.093] info, version) [17:28:07.093] } [17:28:07.093] base::stop(msg) [17:28:07.093] } [17:28:07.093] }) [17:28:07.093] } [17:28:07.093] ...future.strategy.old <- future::plan("list") [17:28:07.093] options(future.plan = NULL) [17:28:07.093] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.093] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.093] } [17:28:07.093] ...future.workdir <- getwd() [17:28:07.093] } [17:28:07.093] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.093] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.093] } [17:28:07.093] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.093] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.093] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.093] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.093] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.093] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.093] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.093] base::names(...future.oldOptions)) [17:28:07.093] } [17:28:07.093] if (FALSE) { [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] if (TRUE) { [17:28:07.093] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.093] open = "w") [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.093] windows = "NUL", "/dev/null"), open = "w") [17:28:07.093] } [17:28:07.093] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.093] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.093] base::sink(type = "output", split = FALSE) [17:28:07.093] base::close(...future.stdout) [17:28:07.093] }, add = TRUE) [17:28:07.093] } [17:28:07.093] ...future.frame <- base::sys.nframe() [17:28:07.093] ...future.conditions <- base::list() [17:28:07.093] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.093] if (FALSE) { [17:28:07.093] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.093] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.093] } [17:28:07.093] ...future.result <- base::tryCatch({ [17:28:07.093] base::withCallingHandlers({ [17:28:07.093] ...future.value <- base::withVisible(base::local({ [17:28:07.093] x <- 0 [17:28:07.093] x <- x + 1 [17:28:07.093] x [17:28:07.093] })) [17:28:07.093] future::FutureResult(value = ...future.value$value, [17:28:07.093] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.093] ...future.rng), globalenv = if (FALSE) [17:28:07.093] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.093] ...future.globalenv.names)) [17:28:07.093] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.093] }, condition = base::local({ [17:28:07.093] c <- base::c [17:28:07.093] inherits <- base::inherits [17:28:07.093] invokeRestart <- base::invokeRestart [17:28:07.093] length <- base::length [17:28:07.093] list <- base::list [17:28:07.093] seq.int <- base::seq.int [17:28:07.093] signalCondition <- base::signalCondition [17:28:07.093] sys.calls <- base::sys.calls [17:28:07.093] `[[` <- base::`[[` [17:28:07.093] `+` <- base::`+` [17:28:07.093] `<<-` <- base::`<<-` [17:28:07.093] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.093] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.093] 3L)] [17:28:07.093] } [17:28:07.093] function(cond) { [17:28:07.093] is_error <- inherits(cond, "error") [17:28:07.093] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.093] NULL) [17:28:07.093] if (is_error) { [17:28:07.093] sessionInformation <- function() { [17:28:07.093] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.093] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.093] search = base::search(), system = base::Sys.info()) [17:28:07.093] } [17:28:07.093] ...future.conditions[[length(...future.conditions) + [17:28:07.093] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.093] cond$call), session = sessionInformation(), [17:28:07.093] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.093] signalCondition(cond) [17:28:07.093] } [17:28:07.093] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.093] "immediateCondition"))) { [17:28:07.093] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.093] ...future.conditions[[length(...future.conditions) + [17:28:07.093] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.093] if (TRUE && !signal) { [17:28:07.093] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.093] { [17:28:07.093] inherits <- base::inherits [17:28:07.093] invokeRestart <- base::invokeRestart [17:28:07.093] is.null <- base::is.null [17:28:07.093] muffled <- FALSE [17:28:07.093] if (inherits(cond, "message")) { [17:28:07.093] muffled <- grepl(pattern, "muffleMessage") [17:28:07.093] if (muffled) [17:28:07.093] invokeRestart("muffleMessage") [17:28:07.093] } [17:28:07.093] else if (inherits(cond, "warning")) { [17:28:07.093] muffled <- grepl(pattern, "muffleWarning") [17:28:07.093] if (muffled) [17:28:07.093] invokeRestart("muffleWarning") [17:28:07.093] } [17:28:07.093] else if (inherits(cond, "condition")) { [17:28:07.093] if (!is.null(pattern)) { [17:28:07.093] computeRestarts <- base::computeRestarts [17:28:07.093] grepl <- base::grepl [17:28:07.093] restarts <- computeRestarts(cond) [17:28:07.093] for (restart in restarts) { [17:28:07.093] name <- restart$name [17:28:07.093] if (is.null(name)) [17:28:07.093] next [17:28:07.093] if (!grepl(pattern, name)) [17:28:07.093] next [17:28:07.093] invokeRestart(restart) [17:28:07.093] muffled <- TRUE [17:28:07.093] break [17:28:07.093] } [17:28:07.093] } [17:28:07.093] } [17:28:07.093] invisible(muffled) [17:28:07.093] } [17:28:07.093] muffleCondition(cond, pattern = "^muffle") [17:28:07.093] } [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] if (TRUE) { [17:28:07.093] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.093] { [17:28:07.093] inherits <- base::inherits [17:28:07.093] invokeRestart <- base::invokeRestart [17:28:07.093] is.null <- base::is.null [17:28:07.093] muffled <- FALSE [17:28:07.093] if (inherits(cond, "message")) { [17:28:07.093] muffled <- grepl(pattern, "muffleMessage") [17:28:07.093] if (muffled) [17:28:07.093] invokeRestart("muffleMessage") [17:28:07.093] } [17:28:07.093] else if (inherits(cond, "warning")) { [17:28:07.093] muffled <- grepl(pattern, "muffleWarning") [17:28:07.093] if (muffled) [17:28:07.093] invokeRestart("muffleWarning") [17:28:07.093] } [17:28:07.093] else if (inherits(cond, "condition")) { [17:28:07.093] if (!is.null(pattern)) { [17:28:07.093] computeRestarts <- base::computeRestarts [17:28:07.093] grepl <- base::grepl [17:28:07.093] restarts <- computeRestarts(cond) [17:28:07.093] for (restart in restarts) { [17:28:07.093] name <- restart$name [17:28:07.093] if (is.null(name)) [17:28:07.093] next [17:28:07.093] if (!grepl(pattern, name)) [17:28:07.093] next [17:28:07.093] invokeRestart(restart) [17:28:07.093] muffled <- TRUE [17:28:07.093] break [17:28:07.093] } [17:28:07.093] } [17:28:07.093] } [17:28:07.093] invisible(muffled) [17:28:07.093] } [17:28:07.093] muffleCondition(cond, pattern = "^muffle") [17:28:07.093] } [17:28:07.093] } [17:28:07.093] } [17:28:07.093] })) [17:28:07.093] }, error = function(ex) { [17:28:07.093] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.093] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.093] ...future.rng), started = ...future.startTime, [17:28:07.093] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.093] version = "1.8"), class = "FutureResult") [17:28:07.093] }, finally = { [17:28:07.093] if (!identical(...future.workdir, getwd())) [17:28:07.093] setwd(...future.workdir) [17:28:07.093] { [17:28:07.093] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.093] ...future.oldOptions$nwarnings <- NULL [17:28:07.093] } [17:28:07.093] base::options(...future.oldOptions) [17:28:07.093] if (.Platform$OS.type == "windows") { [17:28:07.093] old_names <- names(...future.oldEnvVars) [17:28:07.093] envs <- base::Sys.getenv() [17:28:07.093] names <- names(envs) [17:28:07.093] common <- intersect(names, old_names) [17:28:07.093] added <- setdiff(names, old_names) [17:28:07.093] removed <- setdiff(old_names, names) [17:28:07.093] changed <- common[...future.oldEnvVars[common] != [17:28:07.093] envs[common]] [17:28:07.093] NAMES <- toupper(changed) [17:28:07.093] args <- list() [17:28:07.093] for (kk in seq_along(NAMES)) { [17:28:07.093] name <- changed[[kk]] [17:28:07.093] NAME <- NAMES[[kk]] [17:28:07.093] if (name != NAME && is.element(NAME, old_names)) [17:28:07.093] next [17:28:07.093] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.093] } [17:28:07.093] NAMES <- toupper(added) [17:28:07.093] for (kk in seq_along(NAMES)) { [17:28:07.093] name <- added[[kk]] [17:28:07.093] NAME <- NAMES[[kk]] [17:28:07.093] if (name != NAME && is.element(NAME, old_names)) [17:28:07.093] next [17:28:07.093] args[[name]] <- "" [17:28:07.093] } [17:28:07.093] NAMES <- toupper(removed) [17:28:07.093] for (kk in seq_along(NAMES)) { [17:28:07.093] name <- removed[[kk]] [17:28:07.093] NAME <- NAMES[[kk]] [17:28:07.093] if (name != NAME && is.element(NAME, old_names)) [17:28:07.093] next [17:28:07.093] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.093] } [17:28:07.093] if (length(args) > 0) [17:28:07.093] base::do.call(base::Sys.setenv, args = args) [17:28:07.093] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.093] } [17:28:07.093] { [17:28:07.093] if (base::length(...future.futureOptionsAdded) > [17:28:07.093] 0L) { [17:28:07.093] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.093] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.093] base::options(opts) [17:28:07.093] } [17:28:07.093] { [17:28:07.093] { [17:28:07.093] NULL [17:28:07.093] RNGkind("Mersenne-Twister") [17:28:07.093] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:07.093] inherits = FALSE) [17:28:07.093] } [17:28:07.093] options(future.plan = NULL) [17:28:07.093] if (is.na(NA_character_)) [17:28:07.093] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.093] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.093] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.093] .init = FALSE) [17:28:07.093] } [17:28:07.093] } [17:28:07.093] } [17:28:07.093] }) [17:28:07.093] if (TRUE) { [17:28:07.093] base::sink(type = "output", split = FALSE) [17:28:07.093] if (TRUE) { [17:28:07.093] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.093] } [17:28:07.093] else { [17:28:07.093] ...future.result["stdout"] <- base::list(NULL) [17:28:07.093] } [17:28:07.093] base::close(...future.stdout) [17:28:07.093] ...future.stdout <- NULL [17:28:07.093] } [17:28:07.093] ...future.result$conditions <- ...future.conditions [17:28:07.093] ...future.result$finished <- base::Sys.time() [17:28:07.093] ...future.result [17:28:07.093] } [17:28:07.100] plan(): Setting new future strategy stack: [17:28:07.100] List of future strategies: [17:28:07.100] 1. sequential: [17:28:07.100] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.100] - tweaked: FALSE [17:28:07.100] - call: NULL [17:28:07.101] plan(): nbrOfWorkers() = 1 [17:28:07.103] plan(): Setting new future strategy stack: [17:28:07.103] List of future strategies: [17:28:07.103] 1. sequential: [17:28:07.103] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.103] - tweaked: FALSE [17:28:07.103] - call: plan(strategy) [17:28:07.107] plan(): nbrOfWorkers() = 1 [17:28:07.107] SequentialFuture started (and completed) [17:28:07.108] - Launch lazy future ... done [17:28:07.108] run() for 'SequentialFuture' ... done value(f) = '1' Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:07.109] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:07.109] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:07.113] - globals found: [4] '{', '<-', 'x', '+' [17:28:07.113] Searching for globals ... DONE [17:28:07.113] Resolving globals: TRUE [17:28:07.114] Resolving any globals that are futures ... [17:28:07.114] - globals: [4] '{', '<-', 'x', '+' [17:28:07.114] Resolving any globals that are futures ... DONE [17:28:07.115] Resolving futures part of globals (recursively) ... [17:28:07.115] resolve() on list ... [17:28:07.116] recursive: 99 [17:28:07.116] length: 1 [17:28:07.116] elements: 'x' [17:28:07.116] length: 0 (resolved future 1) [17:28:07.117] resolve() on list ... DONE [17:28:07.117] - globals: [1] 'x' [17:28:07.117] Resolving futures part of globals (recursively) ... DONE [17:28:07.118] The total size of the 1 globals is 39 bytes (39 bytes) [17:28:07.118] The total size of the 1 globals exported for future expression ('{; x <- x + 1; x; }') is 39 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (39 bytes of class 'numeric') [17:28:07.119] - globals: [1] 'x' [17:28:07.119] [17:28:07.119] getGlobalsAndPackages() ... DONE [17:28:07.120] run() for 'Future' ... [17:28:07.120] - state: 'created' [17:28:07.120] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:07.121] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:07.121] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:07.122] - Field: 'label' [17:28:07.122] - Field: 'local' [17:28:07.122] - Field: 'owner' [17:28:07.123] - Field: 'envir' [17:28:07.123] - Field: 'packages' [17:28:07.123] - Field: 'gc' [17:28:07.124] - Field: 'conditions' [17:28:07.124] - Field: 'expr' [17:28:07.124] - Field: 'uuid' [17:28:07.124] - Field: 'seed' [17:28:07.125] - Field: 'version' [17:28:07.125] - Field: 'result' [17:28:07.125] - Field: 'asynchronous' [17:28:07.126] - Field: 'calls' [17:28:07.126] - Field: 'globals' [17:28:07.126] - Field: 'stdout' [17:28:07.127] - Field: 'earlySignal' [17:28:07.127] - Field: 'lazy' [17:28:07.127] - Field: 'state' [17:28:07.128] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:07.128] - Launch lazy future ... [17:28:07.129] Packages needed by the future expression (n = 0): [17:28:07.129] Packages needed by future strategies (n = 0): [17:28:07.130] { [17:28:07.130] { [17:28:07.130] { [17:28:07.130] ...future.startTime <- base::Sys.time() [17:28:07.130] { [17:28:07.130] { [17:28:07.130] { [17:28:07.130] base::local({ [17:28:07.130] has_future <- base::requireNamespace("future", [17:28:07.130] quietly = TRUE) [17:28:07.130] if (has_future) { [17:28:07.130] ns <- base::getNamespace("future") [17:28:07.130] version <- ns[[".package"]][["version"]] [17:28:07.130] if (is.null(version)) [17:28:07.130] version <- utils::packageVersion("future") [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] version <- NULL [17:28:07.130] } [17:28:07.130] if (!has_future || version < "1.8.0") { [17:28:07.130] info <- base::c(r_version = base::gsub("R version ", [17:28:07.130] "", base::R.version$version.string), [17:28:07.130] platform = base::sprintf("%s (%s-bit)", [17:28:07.130] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.130] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.130] "release", "version")], collapse = " "), [17:28:07.130] hostname = base::Sys.info()[["nodename"]]) [17:28:07.130] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.130] info) [17:28:07.130] info <- base::paste(info, collapse = "; ") [17:28:07.130] if (!has_future) { [17:28:07.130] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.130] info) [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.130] info, version) [17:28:07.130] } [17:28:07.130] base::stop(msg) [17:28:07.130] } [17:28:07.130] }) [17:28:07.130] } [17:28:07.130] ...future.strategy.old <- future::plan("list") [17:28:07.130] options(future.plan = NULL) [17:28:07.130] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.130] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.130] } [17:28:07.130] ...future.workdir <- getwd() [17:28:07.130] } [17:28:07.130] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.130] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.130] } [17:28:07.130] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.130] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.130] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.130] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.130] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.130] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.130] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.130] base::names(...future.oldOptions)) [17:28:07.130] } [17:28:07.130] if (FALSE) { [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] if (TRUE) { [17:28:07.130] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.130] open = "w") [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.130] windows = "NUL", "/dev/null"), open = "w") [17:28:07.130] } [17:28:07.130] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.130] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.130] base::sink(type = "output", split = FALSE) [17:28:07.130] base::close(...future.stdout) [17:28:07.130] }, add = TRUE) [17:28:07.130] } [17:28:07.130] ...future.frame <- base::sys.nframe() [17:28:07.130] ...future.conditions <- base::list() [17:28:07.130] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.130] if (FALSE) { [17:28:07.130] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.130] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.130] } [17:28:07.130] ...future.result <- base::tryCatch({ [17:28:07.130] base::withCallingHandlers({ [17:28:07.130] ...future.value <- base::withVisible(base::local({ [17:28:07.130] x <- x + 1 [17:28:07.130] x [17:28:07.130] })) [17:28:07.130] future::FutureResult(value = ...future.value$value, [17:28:07.130] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.130] ...future.rng), globalenv = if (FALSE) [17:28:07.130] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.130] ...future.globalenv.names)) [17:28:07.130] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.130] }, condition = base::local({ [17:28:07.130] c <- base::c [17:28:07.130] inherits <- base::inherits [17:28:07.130] invokeRestart <- base::invokeRestart [17:28:07.130] length <- base::length [17:28:07.130] list <- base::list [17:28:07.130] seq.int <- base::seq.int [17:28:07.130] signalCondition <- base::signalCondition [17:28:07.130] sys.calls <- base::sys.calls [17:28:07.130] `[[` <- base::`[[` [17:28:07.130] `+` <- base::`+` [17:28:07.130] `<<-` <- base::`<<-` [17:28:07.130] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.130] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.130] 3L)] [17:28:07.130] } [17:28:07.130] function(cond) { [17:28:07.130] is_error <- inherits(cond, "error") [17:28:07.130] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.130] NULL) [17:28:07.130] if (is_error) { [17:28:07.130] sessionInformation <- function() { [17:28:07.130] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.130] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.130] search = base::search(), system = base::Sys.info()) [17:28:07.130] } [17:28:07.130] ...future.conditions[[length(...future.conditions) + [17:28:07.130] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.130] cond$call), session = sessionInformation(), [17:28:07.130] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.130] signalCondition(cond) [17:28:07.130] } [17:28:07.130] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.130] "immediateCondition"))) { [17:28:07.130] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.130] ...future.conditions[[length(...future.conditions) + [17:28:07.130] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.130] if (TRUE && !signal) { [17:28:07.130] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.130] { [17:28:07.130] inherits <- base::inherits [17:28:07.130] invokeRestart <- base::invokeRestart [17:28:07.130] is.null <- base::is.null [17:28:07.130] muffled <- FALSE [17:28:07.130] if (inherits(cond, "message")) { [17:28:07.130] muffled <- grepl(pattern, "muffleMessage") [17:28:07.130] if (muffled) [17:28:07.130] invokeRestart("muffleMessage") [17:28:07.130] } [17:28:07.130] else if (inherits(cond, "warning")) { [17:28:07.130] muffled <- grepl(pattern, "muffleWarning") [17:28:07.130] if (muffled) [17:28:07.130] invokeRestart("muffleWarning") [17:28:07.130] } [17:28:07.130] else if (inherits(cond, "condition")) { [17:28:07.130] if (!is.null(pattern)) { [17:28:07.130] computeRestarts <- base::computeRestarts [17:28:07.130] grepl <- base::grepl [17:28:07.130] restarts <- computeRestarts(cond) [17:28:07.130] for (restart in restarts) { [17:28:07.130] name <- restart$name [17:28:07.130] if (is.null(name)) [17:28:07.130] next [17:28:07.130] if (!grepl(pattern, name)) [17:28:07.130] next [17:28:07.130] invokeRestart(restart) [17:28:07.130] muffled <- TRUE [17:28:07.130] break [17:28:07.130] } [17:28:07.130] } [17:28:07.130] } [17:28:07.130] invisible(muffled) [17:28:07.130] } [17:28:07.130] muffleCondition(cond, pattern = "^muffle") [17:28:07.130] } [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] if (TRUE) { [17:28:07.130] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.130] { [17:28:07.130] inherits <- base::inherits [17:28:07.130] invokeRestart <- base::invokeRestart [17:28:07.130] is.null <- base::is.null [17:28:07.130] muffled <- FALSE [17:28:07.130] if (inherits(cond, "message")) { [17:28:07.130] muffled <- grepl(pattern, "muffleMessage") [17:28:07.130] if (muffled) [17:28:07.130] invokeRestart("muffleMessage") [17:28:07.130] } [17:28:07.130] else if (inherits(cond, "warning")) { [17:28:07.130] muffled <- grepl(pattern, "muffleWarning") [17:28:07.130] if (muffled) [17:28:07.130] invokeRestart("muffleWarning") [17:28:07.130] } [17:28:07.130] else if (inherits(cond, "condition")) { [17:28:07.130] if (!is.null(pattern)) { [17:28:07.130] computeRestarts <- base::computeRestarts [17:28:07.130] grepl <- base::grepl [17:28:07.130] restarts <- computeRestarts(cond) [17:28:07.130] for (restart in restarts) { [17:28:07.130] name <- restart$name [17:28:07.130] if (is.null(name)) [17:28:07.130] next [17:28:07.130] if (!grepl(pattern, name)) [17:28:07.130] next [17:28:07.130] invokeRestart(restart) [17:28:07.130] muffled <- TRUE [17:28:07.130] break [17:28:07.130] } [17:28:07.130] } [17:28:07.130] } [17:28:07.130] invisible(muffled) [17:28:07.130] } [17:28:07.130] muffleCondition(cond, pattern = "^muffle") [17:28:07.130] } [17:28:07.130] } [17:28:07.130] } [17:28:07.130] })) [17:28:07.130] }, error = function(ex) { [17:28:07.130] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.130] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.130] ...future.rng), started = ...future.startTime, [17:28:07.130] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.130] version = "1.8"), class = "FutureResult") [17:28:07.130] }, finally = { [17:28:07.130] if (!identical(...future.workdir, getwd())) [17:28:07.130] setwd(...future.workdir) [17:28:07.130] { [17:28:07.130] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.130] ...future.oldOptions$nwarnings <- NULL [17:28:07.130] } [17:28:07.130] base::options(...future.oldOptions) [17:28:07.130] if (.Platform$OS.type == "windows") { [17:28:07.130] old_names <- names(...future.oldEnvVars) [17:28:07.130] envs <- base::Sys.getenv() [17:28:07.130] names <- names(envs) [17:28:07.130] common <- intersect(names, old_names) [17:28:07.130] added <- setdiff(names, old_names) [17:28:07.130] removed <- setdiff(old_names, names) [17:28:07.130] changed <- common[...future.oldEnvVars[common] != [17:28:07.130] envs[common]] [17:28:07.130] NAMES <- toupper(changed) [17:28:07.130] args <- list() [17:28:07.130] for (kk in seq_along(NAMES)) { [17:28:07.130] name <- changed[[kk]] [17:28:07.130] NAME <- NAMES[[kk]] [17:28:07.130] if (name != NAME && is.element(NAME, old_names)) [17:28:07.130] next [17:28:07.130] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.130] } [17:28:07.130] NAMES <- toupper(added) [17:28:07.130] for (kk in seq_along(NAMES)) { [17:28:07.130] name <- added[[kk]] [17:28:07.130] NAME <- NAMES[[kk]] [17:28:07.130] if (name != NAME && is.element(NAME, old_names)) [17:28:07.130] next [17:28:07.130] args[[name]] <- "" [17:28:07.130] } [17:28:07.130] NAMES <- toupper(removed) [17:28:07.130] for (kk in seq_along(NAMES)) { [17:28:07.130] name <- removed[[kk]] [17:28:07.130] NAME <- NAMES[[kk]] [17:28:07.130] if (name != NAME && is.element(NAME, old_names)) [17:28:07.130] next [17:28:07.130] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.130] } [17:28:07.130] if (length(args) > 0) [17:28:07.130] base::do.call(base::Sys.setenv, args = args) [17:28:07.130] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.130] } [17:28:07.130] { [17:28:07.130] if (base::length(...future.futureOptionsAdded) > [17:28:07.130] 0L) { [17:28:07.130] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.130] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.130] base::options(opts) [17:28:07.130] } [17:28:07.130] { [17:28:07.130] { [17:28:07.130] NULL [17:28:07.130] RNGkind("Mersenne-Twister") [17:28:07.130] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:07.130] inherits = FALSE) [17:28:07.130] } [17:28:07.130] options(future.plan = NULL) [17:28:07.130] if (is.na(NA_character_)) [17:28:07.130] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.130] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.130] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.130] .init = FALSE) [17:28:07.130] } [17:28:07.130] } [17:28:07.130] } [17:28:07.130] }) [17:28:07.130] if (TRUE) { [17:28:07.130] base::sink(type = "output", split = FALSE) [17:28:07.130] if (TRUE) { [17:28:07.130] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.130] } [17:28:07.130] else { [17:28:07.130] ...future.result["stdout"] <- base::list(NULL) [17:28:07.130] } [17:28:07.130] base::close(...future.stdout) [17:28:07.130] ...future.stdout <- NULL [17:28:07.130] } [17:28:07.130] ...future.result$conditions <- ...future.conditions [17:28:07.130] ...future.result$finished <- base::Sys.time() [17:28:07.130] ...future.result [17:28:07.130] } [17:28:07.134] assign_globals() ... [17:28:07.134] List of 1 [17:28:07.134] $ x: num 1 [17:28:07.134] - attr(*, "where")=List of 1 [17:28:07.134] ..$ x: [17:28:07.134] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:07.134] - attr(*, "resolved")= logi TRUE [17:28:07.134] - attr(*, "total_size")= int 39 [17:28:07.134] - attr(*, "already-done")= logi TRUE [17:28:07.138] - copied 'x' to environment [17:28:07.138] assign_globals() ... done [17:28:07.139] plan(): Setting new future strategy stack: [17:28:07.139] List of future strategies: [17:28:07.139] 1. sequential: [17:28:07.139] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.139] - tweaked: FALSE [17:28:07.139] - call: NULL [17:28:07.140] plan(): nbrOfWorkers() = 1 [17:28:07.141] plan(): Setting new future strategy stack: [17:28:07.142] List of future strategies: [17:28:07.142] 1. sequential: [17:28:07.142] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.142] - tweaked: FALSE [17:28:07.142] - call: plan(strategy) [17:28:07.143] plan(): nbrOfWorkers() = 1 [17:28:07.143] SequentialFuture started (and completed) [17:28:07.143] - Launch lazy future ... done [17:28:07.144] run() for 'SequentialFuture' ... done value(f) = '2' Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:07.145] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:07.145] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:07.151] - globals found: [3] '{', '<-', 'x' [17:28:07.151] Searching for globals ... DONE [17:28:07.152] Resolving globals: TRUE [17:28:07.152] Resolving any globals that are futures ... [17:28:07.152] - globals: [3] '{', '<-', 'x' [17:28:07.152] Resolving any globals that are futures ... DONE [17:28:07.153] Resolving futures part of globals (recursively) ... [17:28:07.153] resolve() on list ... [17:28:07.153] recursive: 99 [17:28:07.153] length: 1 [17:28:07.153] elements: 'x' [17:28:07.154] length: 0 (resolved future 1) [17:28:07.154] resolve() on list ... DONE [17:28:07.154] - globals: [1] 'x' [17:28:07.154] Resolving futures part of globals (recursively) ... DONE [17:28:07.154] The total size of the 1 globals is 260 bytes (260 bytes) [17:28:07.155] The total size of the 1 globals exported for future expression ('{; x <- x(); x; }') is 260 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (260 bytes of class 'function') [17:28:07.155] - globals: [1] 'x' [17:28:07.155] [17:28:07.155] getGlobalsAndPackages() ... DONE [17:28:07.156] run() for 'Future' ... [17:28:07.156] - state: 'created' [17:28:07.156] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:28:07.156] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:28:07.157] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:28:07.157] - Field: 'label' [17:28:07.157] - Field: 'local' [17:28:07.157] - Field: 'owner' [17:28:07.157] - Field: 'envir' [17:28:07.157] - Field: 'packages' [17:28:07.158] - Field: 'gc' [17:28:07.158] - Field: 'conditions' [17:28:07.158] - Field: 'expr' [17:28:07.158] - Field: 'uuid' [17:28:07.158] - Field: 'seed' [17:28:07.159] - Field: 'version' [17:28:07.159] - Field: 'result' [17:28:07.159] - Field: 'asynchronous' [17:28:07.159] - Field: 'calls' [17:28:07.159] - Field: 'globals' [17:28:07.159] - Field: 'stdout' [17:28:07.160] - Field: 'earlySignal' [17:28:07.160] - Field: 'lazy' [17:28:07.160] - Field: 'state' [17:28:07.160] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:28:07.160] - Launch lazy future ... [17:28:07.161] Packages needed by the future expression (n = 0): [17:28:07.161] Packages needed by future strategies (n = 0): [17:28:07.161] { [17:28:07.161] { [17:28:07.161] { [17:28:07.161] ...future.startTime <- base::Sys.time() [17:28:07.161] { [17:28:07.161] { [17:28:07.161] { [17:28:07.161] base::local({ [17:28:07.161] has_future <- base::requireNamespace("future", [17:28:07.161] quietly = TRUE) [17:28:07.161] if (has_future) { [17:28:07.161] ns <- base::getNamespace("future") [17:28:07.161] version <- ns[[".package"]][["version"]] [17:28:07.161] if (is.null(version)) [17:28:07.161] version <- utils::packageVersion("future") [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] version <- NULL [17:28:07.161] } [17:28:07.161] if (!has_future || version < "1.8.0") { [17:28:07.161] info <- base::c(r_version = base::gsub("R version ", [17:28:07.161] "", base::R.version$version.string), [17:28:07.161] platform = base::sprintf("%s (%s-bit)", [17:28:07.161] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.161] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.161] "release", "version")], collapse = " "), [17:28:07.161] hostname = base::Sys.info()[["nodename"]]) [17:28:07.161] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.161] info) [17:28:07.161] info <- base::paste(info, collapse = "; ") [17:28:07.161] if (!has_future) { [17:28:07.161] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.161] info) [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.161] info, version) [17:28:07.161] } [17:28:07.161] base::stop(msg) [17:28:07.161] } [17:28:07.161] }) [17:28:07.161] } [17:28:07.161] ...future.strategy.old <- future::plan("list") [17:28:07.161] options(future.plan = NULL) [17:28:07.161] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.161] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.161] } [17:28:07.161] ...future.workdir <- getwd() [17:28:07.161] } [17:28:07.161] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.161] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.161] } [17:28:07.161] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.161] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.161] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.161] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.161] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.161] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.161] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.161] base::names(...future.oldOptions)) [17:28:07.161] } [17:28:07.161] if (FALSE) { [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] if (TRUE) { [17:28:07.161] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.161] open = "w") [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.161] windows = "NUL", "/dev/null"), open = "w") [17:28:07.161] } [17:28:07.161] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.161] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.161] base::sink(type = "output", split = FALSE) [17:28:07.161] base::close(...future.stdout) [17:28:07.161] }, add = TRUE) [17:28:07.161] } [17:28:07.161] ...future.frame <- base::sys.nframe() [17:28:07.161] ...future.conditions <- base::list() [17:28:07.161] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.161] if (FALSE) { [17:28:07.161] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.161] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.161] } [17:28:07.161] ...future.result <- base::tryCatch({ [17:28:07.161] base::withCallingHandlers({ [17:28:07.161] ...future.value <- base::withVisible(base::local({ [17:28:07.161] x <- x() [17:28:07.161] x [17:28:07.161] })) [17:28:07.161] future::FutureResult(value = ...future.value$value, [17:28:07.161] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.161] ...future.rng), globalenv = if (FALSE) [17:28:07.161] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.161] ...future.globalenv.names)) [17:28:07.161] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.161] }, condition = base::local({ [17:28:07.161] c <- base::c [17:28:07.161] inherits <- base::inherits [17:28:07.161] invokeRestart <- base::invokeRestart [17:28:07.161] length <- base::length [17:28:07.161] list <- base::list [17:28:07.161] seq.int <- base::seq.int [17:28:07.161] signalCondition <- base::signalCondition [17:28:07.161] sys.calls <- base::sys.calls [17:28:07.161] `[[` <- base::`[[` [17:28:07.161] `+` <- base::`+` [17:28:07.161] `<<-` <- base::`<<-` [17:28:07.161] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.161] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.161] 3L)] [17:28:07.161] } [17:28:07.161] function(cond) { [17:28:07.161] is_error <- inherits(cond, "error") [17:28:07.161] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.161] NULL) [17:28:07.161] if (is_error) { [17:28:07.161] sessionInformation <- function() { [17:28:07.161] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.161] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.161] search = base::search(), system = base::Sys.info()) [17:28:07.161] } [17:28:07.161] ...future.conditions[[length(...future.conditions) + [17:28:07.161] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.161] cond$call), session = sessionInformation(), [17:28:07.161] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.161] signalCondition(cond) [17:28:07.161] } [17:28:07.161] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.161] "immediateCondition"))) { [17:28:07.161] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.161] ...future.conditions[[length(...future.conditions) + [17:28:07.161] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.161] if (TRUE && !signal) { [17:28:07.161] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.161] { [17:28:07.161] inherits <- base::inherits [17:28:07.161] invokeRestart <- base::invokeRestart [17:28:07.161] is.null <- base::is.null [17:28:07.161] muffled <- FALSE [17:28:07.161] if (inherits(cond, "message")) { [17:28:07.161] muffled <- grepl(pattern, "muffleMessage") [17:28:07.161] if (muffled) [17:28:07.161] invokeRestart("muffleMessage") [17:28:07.161] } [17:28:07.161] else if (inherits(cond, "warning")) { [17:28:07.161] muffled <- grepl(pattern, "muffleWarning") [17:28:07.161] if (muffled) [17:28:07.161] invokeRestart("muffleWarning") [17:28:07.161] } [17:28:07.161] else if (inherits(cond, "condition")) { [17:28:07.161] if (!is.null(pattern)) { [17:28:07.161] computeRestarts <- base::computeRestarts [17:28:07.161] grepl <- base::grepl [17:28:07.161] restarts <- computeRestarts(cond) [17:28:07.161] for (restart in restarts) { [17:28:07.161] name <- restart$name [17:28:07.161] if (is.null(name)) [17:28:07.161] next [17:28:07.161] if (!grepl(pattern, name)) [17:28:07.161] next [17:28:07.161] invokeRestart(restart) [17:28:07.161] muffled <- TRUE [17:28:07.161] break [17:28:07.161] } [17:28:07.161] } [17:28:07.161] } [17:28:07.161] invisible(muffled) [17:28:07.161] } [17:28:07.161] muffleCondition(cond, pattern = "^muffle") [17:28:07.161] } [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] if (TRUE) { [17:28:07.161] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.161] { [17:28:07.161] inherits <- base::inherits [17:28:07.161] invokeRestart <- base::invokeRestart [17:28:07.161] is.null <- base::is.null [17:28:07.161] muffled <- FALSE [17:28:07.161] if (inherits(cond, "message")) { [17:28:07.161] muffled <- grepl(pattern, "muffleMessage") [17:28:07.161] if (muffled) [17:28:07.161] invokeRestart("muffleMessage") [17:28:07.161] } [17:28:07.161] else if (inherits(cond, "warning")) { [17:28:07.161] muffled <- grepl(pattern, "muffleWarning") [17:28:07.161] if (muffled) [17:28:07.161] invokeRestart("muffleWarning") [17:28:07.161] } [17:28:07.161] else if (inherits(cond, "condition")) { [17:28:07.161] if (!is.null(pattern)) { [17:28:07.161] computeRestarts <- base::computeRestarts [17:28:07.161] grepl <- base::grepl [17:28:07.161] restarts <- computeRestarts(cond) [17:28:07.161] for (restart in restarts) { [17:28:07.161] name <- restart$name [17:28:07.161] if (is.null(name)) [17:28:07.161] next [17:28:07.161] if (!grepl(pattern, name)) [17:28:07.161] next [17:28:07.161] invokeRestart(restart) [17:28:07.161] muffled <- TRUE [17:28:07.161] break [17:28:07.161] } [17:28:07.161] } [17:28:07.161] } [17:28:07.161] invisible(muffled) [17:28:07.161] } [17:28:07.161] muffleCondition(cond, pattern = "^muffle") [17:28:07.161] } [17:28:07.161] } [17:28:07.161] } [17:28:07.161] })) [17:28:07.161] }, error = function(ex) { [17:28:07.161] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.161] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.161] ...future.rng), started = ...future.startTime, [17:28:07.161] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.161] version = "1.8"), class = "FutureResult") [17:28:07.161] }, finally = { [17:28:07.161] if (!identical(...future.workdir, getwd())) [17:28:07.161] setwd(...future.workdir) [17:28:07.161] { [17:28:07.161] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.161] ...future.oldOptions$nwarnings <- NULL [17:28:07.161] } [17:28:07.161] base::options(...future.oldOptions) [17:28:07.161] if (.Platform$OS.type == "windows") { [17:28:07.161] old_names <- names(...future.oldEnvVars) [17:28:07.161] envs <- base::Sys.getenv() [17:28:07.161] names <- names(envs) [17:28:07.161] common <- intersect(names, old_names) [17:28:07.161] added <- setdiff(names, old_names) [17:28:07.161] removed <- setdiff(old_names, names) [17:28:07.161] changed <- common[...future.oldEnvVars[common] != [17:28:07.161] envs[common]] [17:28:07.161] NAMES <- toupper(changed) [17:28:07.161] args <- list() [17:28:07.161] for (kk in seq_along(NAMES)) { [17:28:07.161] name <- changed[[kk]] [17:28:07.161] NAME <- NAMES[[kk]] [17:28:07.161] if (name != NAME && is.element(NAME, old_names)) [17:28:07.161] next [17:28:07.161] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.161] } [17:28:07.161] NAMES <- toupper(added) [17:28:07.161] for (kk in seq_along(NAMES)) { [17:28:07.161] name <- added[[kk]] [17:28:07.161] NAME <- NAMES[[kk]] [17:28:07.161] if (name != NAME && is.element(NAME, old_names)) [17:28:07.161] next [17:28:07.161] args[[name]] <- "" [17:28:07.161] } [17:28:07.161] NAMES <- toupper(removed) [17:28:07.161] for (kk in seq_along(NAMES)) { [17:28:07.161] name <- removed[[kk]] [17:28:07.161] NAME <- NAMES[[kk]] [17:28:07.161] if (name != NAME && is.element(NAME, old_names)) [17:28:07.161] next [17:28:07.161] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.161] } [17:28:07.161] if (length(args) > 0) [17:28:07.161] base::do.call(base::Sys.setenv, args = args) [17:28:07.161] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.161] } [17:28:07.161] { [17:28:07.161] if (base::length(...future.futureOptionsAdded) > [17:28:07.161] 0L) { [17:28:07.161] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.161] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.161] base::options(opts) [17:28:07.161] } [17:28:07.161] { [17:28:07.161] { [17:28:07.161] NULL [17:28:07.161] RNGkind("Mersenne-Twister") [17:28:07.161] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:07.161] inherits = FALSE) [17:28:07.161] } [17:28:07.161] options(future.plan = NULL) [17:28:07.161] if (is.na(NA_character_)) [17:28:07.161] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.161] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.161] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.161] .init = FALSE) [17:28:07.161] } [17:28:07.161] } [17:28:07.161] } [17:28:07.161] }) [17:28:07.161] if (TRUE) { [17:28:07.161] base::sink(type = "output", split = FALSE) [17:28:07.161] if (TRUE) { [17:28:07.161] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.161] } [17:28:07.161] else { [17:28:07.161] ...future.result["stdout"] <- base::list(NULL) [17:28:07.161] } [17:28:07.161] base::close(...future.stdout) [17:28:07.161] ...future.stdout <- NULL [17:28:07.161] } [17:28:07.161] ...future.result$conditions <- ...future.conditions [17:28:07.161] ...future.result$finished <- base::Sys.time() [17:28:07.161] ...future.result [17:28:07.161] } [17:28:07.165] assign_globals() ... [17:28:07.165] List of 1 [17:28:07.165] $ x:function () [17:28:07.165] - attr(*, "where")=List of 1 [17:28:07.165] ..$ x: [17:28:07.165] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:07.165] - attr(*, "resolved")= logi TRUE [17:28:07.165] - attr(*, "total_size")= int 260 [17:28:07.165] - attr(*, "already-done")= logi TRUE [17:28:07.168] - reassign environment for 'x' [17:28:07.168] - copied 'x' to environment [17:28:07.168] assign_globals() ... done [17:28:07.169] plan(): Setting new future strategy stack: [17:28:07.169] List of future strategies: [17:28:07.169] 1. sequential: [17:28:07.169] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.169] - tweaked: FALSE [17:28:07.169] - call: NULL [17:28:07.170] plan(): nbrOfWorkers() = 1 [17:28:07.172] plan(): Setting new future strategy stack: [17:28:07.172] List of future strategies: [17:28:07.172] 1. sequential: [17:28:07.172] - args: function (..., envir = parent.frame(), workers = "") [17:28:07.172] - tweaked: FALSE [17:28:07.172] - call: plan(strategy) [17:28:07.173] plan(): nbrOfWorkers() = 1 [17:28:07.173] SequentialFuture started (and completed) [17:28:07.174] - Launch lazy future ... done [17:28:07.174] run() for 'SequentialFuture' ... done value(f) = 'TRUE' Testing with 1 cores ... DONE Testing with 2 cores ... availableCores(): 2 - Local variables with the same name as globals ... - plan('multisession') ... [17:28:07.191] plan(): Setting new future strategy stack: [17:28:07.191] List of future strategies: [17:28:07.191] 1. multisession: [17:28:07.191] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:28:07.191] - tweaked: FALSE [17:28:07.191] - call: plan(strategy) [17:28:07.191] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:28:07.192] multisession: [17:28:07.192] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:28:07.192] - tweaked: FALSE [17:28:07.192] - call: plan(strategy) Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:07.198] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:07.199] Not searching for globals [17:28:07.199] - globals: [0] [17:28:07.199] getGlobalsAndPackages() ... DONE [17:28:07.200] [local output] makeClusterPSOCK() ... [17:28:07.252] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:28:07.260] [local output] Base port: 34485 [17:28:07.260] [local output] Getting setup options for 2 cluster nodes ... [17:28:07.260] [local output] - Node #1 of 2 ... [17:28:07.261] [local output] localMachine=TRUE => revtunnel=FALSE [17:28:07.263] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp8QEhSv/worker.rank=1.parallelly.parent=162952.27c882c462fd6.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp8QEhSv/worker.rank=1.parallelly.parent=162952.27c882c462fd6.pid\")"' [17:28:07.596] - Possible to infer worker's PID: TRUE [17:28:07.597] [local output] Rscript port: 34485 [17:28:07.598] [local output] - Node #2 of 2 ... [17:28:07.599] [local output] localMachine=TRUE => revtunnel=FALSE [17:28:07.601] [local output] Rscript port: 34485 [17:28:07.603] [local output] Getting setup options for 2 cluster nodes ... done [17:28:07.603] [local output] - Parallel setup requested for some PSOCK nodes [17:28:07.604] [local output] Setting up PSOCK nodes in parallel [17:28:07.604] List of 36 [17:28:07.604] $ worker : chr "localhost" [17:28:07.604] ..- attr(*, "localhost")= logi TRUE [17:28:07.604] $ master : chr "localhost" [17:28:07.604] $ port : int 34485 [17:28:07.604] $ connectTimeout : num 120 [17:28:07.604] $ timeout : num 120 [17:28:07.604] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:28:07.604] $ homogeneous : logi TRUE [17:28:07.604] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=globals,tricky.R:162952:CRANWIN3"| __truncated__ [17:28:07.604] $ rscript_envs : NULL [17:28:07.604] $ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:28:07.604] $ rscript_startup : NULL [17:28:07.604] $ rscript_sh : chr [1:2] "cmd" "cmd" [17:28:07.604] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:28:07.604] $ methods : logi TRUE [17:28:07.604] $ socketOptions : chr "no-delay" [17:28:07.604] $ useXDR : logi FALSE [17:28:07.604] $ outfile : chr "/dev/null" [17:28:07.604] $ renice : int NA [17:28:07.604] $ rshcmd : NULL [17:28:07.604] $ user : chr(0) [17:28:07.604] $ revtunnel : logi FALSE [17:28:07.604] $ rshlogfile : NULL [17:28:07.604] $ rshopts : chr(0) [17:28:07.604] $ rank : int 1 [17:28:07.604] $ manual : logi FALSE [17:28:07.604] $ dryrun : logi FALSE [17:28:07.604] $ quiet : logi FALSE [17:28:07.604] $ setup_strategy : chr "parallel" [17:28:07.604] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:28:07.604] $ pidfile : chr "D:/temp/Rtmp8QEhSv/worker.rank=1.parallelly.parent=162952.27c882c462fd6.pid" [17:28:07.604] $ rshcmd_label : NULL [17:28:07.604] $ rsh_call : NULL [17:28:07.604] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:28:07.604] $ localMachine : logi TRUE [17:28:07.604] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:28:07.604] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:28:07.604] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:28:07.604] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:28:07.604] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:28:07.604] "cmd", "sh", "none"), default_packages = c("datasets", "utils", [17:28:07.604] "grDevices", "graphics", "stats", if (methods) "methods"), methods = TRUE, [17:28:07.604] socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:28:07.604] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:28:07.604] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:28:07.604] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:28:07.604] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:28:07.604] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:28:07.604] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:28:07.604] $ arguments :List of 28 [17:28:07.604] ..$ worker : chr "localhost" [17:28:07.604] ..$ master : NULL [17:28:07.604] ..$ port : int 34485 [17:28:07.604] ..$ connectTimeout : num 120 [17:28:07.604] ..$ timeout : num 120 [17:28:07.604] ..$ rscript : NULL [17:28:07.604] ..$ homogeneous : NULL [17:28:07.604] ..$ rscript_args : NULL [17:28:07.604] ..$ rscript_envs : NULL [17:28:07.604] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda" "D:/RCompile/recent/R/library" [17:28:07.604] ..$ rscript_startup : NULL [17:28:07.604] ..$ rscript_sh : chr "auto" [17:28:07.604] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:28:07.604] ..$ methods : logi TRUE [17:28:07.604] ..$ socketOptions : chr "no-delay" [17:28:07.604] ..$ useXDR : logi FALSE [17:28:07.604] ..$ outfile : chr "/dev/null" [17:28:07.604] ..$ renice : int NA [17:28:07.604] ..$ rshcmd : NULL [17:28:07.604] ..$ user : NULL [17:28:07.604] ..$ revtunnel : logi NA [17:28:07.604] ..$ rshlogfile : NULL [17:28:07.604] ..$ rshopts : NULL [17:28:07.604] ..$ rank : int 1 [17:28:07.604] ..$ manual : logi FALSE [17:28:07.604] ..$ dryrun : logi FALSE [17:28:07.604] ..$ quiet : logi FALSE [17:28:07.604] ..$ setup_strategy : chr "parallel" [17:28:07.604] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:28:07.644] [local output] System call to launch all workers: [17:28:07.645] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=globals,tricky.R:162952:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp8QEhSv/worker.rank=1.parallelly.parent=162952.27c882c462fd6.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpsXpk4j/RLIBS_1097c668d2fda\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=34485 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:28:07.645] [local output] Starting PSOCK main server [17:28:07.655] [local output] Workers launched [17:28:07.656] [local output] Waiting for workers to connect back [17:28:07.656] - [local output] 0 workers out of 2 ready [17:28:07.915] - [local output] 0 workers out of 2 ready [17:28:07.916] - [local output] 1 workers out of 2 ready [17:28:07.926] - [local output] 1 workers out of 2 ready [17:28:07.927] - [local output] 2 workers out of 2 ready [17:28:07.927] [local output] Launching of 2 workers completed [17:28:07.927] [local output] Number of nodes in cluster: 2 [17:28:07.927] [local output] Collecting session information from 2 workers [17:28:07.929] [local output] - Worker #1 of 2 [17:28:07.930] [local output] - Worker #2 of 2 [17:28:07.930] [local output] makeClusterPSOCK() ... done [17:28:07.947] Packages needed by the future expression (n = 0): [17:28:07.948] Packages needed by future strategies (n = 0): [17:28:07.948] { [17:28:07.948] { [17:28:07.948] { [17:28:07.948] ...future.startTime <- base::Sys.time() [17:28:07.948] { [17:28:07.948] { [17:28:07.948] { [17:28:07.948] { [17:28:07.948] base::local({ [17:28:07.948] has_future <- base::requireNamespace("future", [17:28:07.948] quietly = TRUE) [17:28:07.948] if (has_future) { [17:28:07.948] ns <- base::getNamespace("future") [17:28:07.948] version <- ns[[".package"]][["version"]] [17:28:07.948] if (is.null(version)) [17:28:07.948] version <- utils::packageVersion("future") [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] version <- NULL [17:28:07.948] } [17:28:07.948] if (!has_future || version < "1.8.0") { [17:28:07.948] info <- base::c(r_version = base::gsub("R version ", [17:28:07.948] "", base::R.version$version.string), [17:28:07.948] platform = base::sprintf("%s (%s-bit)", [17:28:07.948] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:07.948] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:07.948] "release", "version")], collapse = " "), [17:28:07.948] hostname = base::Sys.info()[["nodename"]]) [17:28:07.948] info <- base::sprintf("%s: %s", base::names(info), [17:28:07.948] info) [17:28:07.948] info <- base::paste(info, collapse = "; ") [17:28:07.948] if (!has_future) { [17:28:07.948] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:07.948] info) [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:07.948] info, version) [17:28:07.948] } [17:28:07.948] base::stop(msg) [17:28:07.948] } [17:28:07.948] }) [17:28:07.948] } [17:28:07.948] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:07.948] base::options(mc.cores = 1L) [17:28:07.948] } [17:28:07.948] ...future.strategy.old <- future::plan("list") [17:28:07.948] options(future.plan = NULL) [17:28:07.948] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.948] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:07.948] } [17:28:07.948] ...future.workdir <- getwd() [17:28:07.948] } [17:28:07.948] ...future.oldOptions <- base::as.list(base::.Options) [17:28:07.948] ...future.oldEnvVars <- base::Sys.getenv() [17:28:07.948] } [17:28:07.948] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:07.948] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:07.948] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:07.948] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:07.948] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:07.948] future.stdout.windows.reencode = NULL, width = 80L) [17:28:07.948] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:07.948] base::names(...future.oldOptions)) [17:28:07.948] } [17:28:07.948] if (FALSE) { [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] if (TRUE) { [17:28:07.948] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:07.948] open = "w") [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:07.948] windows = "NUL", "/dev/null"), open = "w") [17:28:07.948] } [17:28:07.948] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:07.948] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:07.948] base::sink(type = "output", split = FALSE) [17:28:07.948] base::close(...future.stdout) [17:28:07.948] }, add = TRUE) [17:28:07.948] } [17:28:07.948] ...future.frame <- base::sys.nframe() [17:28:07.948] ...future.conditions <- base::list() [17:28:07.948] ...future.rng <- base::globalenv()$.Random.seed [17:28:07.948] if (FALSE) { [17:28:07.948] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:07.948] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:07.948] } [17:28:07.948] ...future.result <- base::tryCatch({ [17:28:07.948] base::withCallingHandlers({ [17:28:07.948] ...future.value <- base::withVisible(base::local({ [17:28:07.948] ...future.makeSendCondition <- base::local({ [17:28:07.948] sendCondition <- NULL [17:28:07.948] function(frame = 1L) { [17:28:07.948] if (is.function(sendCondition)) [17:28:07.948] return(sendCondition) [17:28:07.948] ns <- getNamespace("parallel") [17:28:07.948] if (exists("sendData", mode = "function", [17:28:07.948] envir = ns)) { [17:28:07.948] parallel_sendData <- get("sendData", mode = "function", [17:28:07.948] envir = ns) [17:28:07.948] envir <- sys.frame(frame) [17:28:07.948] master <- NULL [17:28:07.948] while (!identical(envir, .GlobalEnv) && [17:28:07.948] !identical(envir, emptyenv())) { [17:28:07.948] if (exists("master", mode = "list", envir = envir, [17:28:07.948] inherits = FALSE)) { [17:28:07.948] master <- get("master", mode = "list", [17:28:07.948] envir = envir, inherits = FALSE) [17:28:07.948] if (inherits(master, c("SOCKnode", [17:28:07.948] "SOCK0node"))) { [17:28:07.948] sendCondition <<- function(cond) { [17:28:07.948] data <- list(type = "VALUE", value = cond, [17:28:07.948] success = TRUE) [17:28:07.948] parallel_sendData(master, data) [17:28:07.948] } [17:28:07.948] return(sendCondition) [17:28:07.948] } [17:28:07.948] } [17:28:07.948] frame <- frame + 1L [17:28:07.948] envir <- sys.frame(frame) [17:28:07.948] } [17:28:07.948] } [17:28:07.948] sendCondition <<- function(cond) NULL [17:28:07.948] } [17:28:07.948] }) [17:28:07.948] withCallingHandlers({ [17:28:07.948] NA [17:28:07.948] }, immediateCondition = function(cond) { [17:28:07.948] sendCondition <- ...future.makeSendCondition() [17:28:07.948] sendCondition(cond) [17:28:07.948] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.948] { [17:28:07.948] inherits <- base::inherits [17:28:07.948] invokeRestart <- base::invokeRestart [17:28:07.948] is.null <- base::is.null [17:28:07.948] muffled <- FALSE [17:28:07.948] if (inherits(cond, "message")) { [17:28:07.948] muffled <- grepl(pattern, "muffleMessage") [17:28:07.948] if (muffled) [17:28:07.948] invokeRestart("muffleMessage") [17:28:07.948] } [17:28:07.948] else if (inherits(cond, "warning")) { [17:28:07.948] muffled <- grepl(pattern, "muffleWarning") [17:28:07.948] if (muffled) [17:28:07.948] invokeRestart("muffleWarning") [17:28:07.948] } [17:28:07.948] else if (inherits(cond, "condition")) { [17:28:07.948] if (!is.null(pattern)) { [17:28:07.948] computeRestarts <- base::computeRestarts [17:28:07.948] grepl <- base::grepl [17:28:07.948] restarts <- computeRestarts(cond) [17:28:07.948] for (restart in restarts) { [17:28:07.948] name <- restart$name [17:28:07.948] if (is.null(name)) [17:28:07.948] next [17:28:07.948] if (!grepl(pattern, name)) [17:28:07.948] next [17:28:07.948] invokeRestart(restart) [17:28:07.948] muffled <- TRUE [17:28:07.948] break [17:28:07.948] } [17:28:07.948] } [17:28:07.948] } [17:28:07.948] invisible(muffled) [17:28:07.948] } [17:28:07.948] muffleCondition(cond) [17:28:07.948] }) [17:28:07.948] })) [17:28:07.948] future::FutureResult(value = ...future.value$value, [17:28:07.948] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.948] ...future.rng), globalenv = if (FALSE) [17:28:07.948] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:07.948] ...future.globalenv.names)) [17:28:07.948] else NULL, started = ...future.startTime, version = "1.8") [17:28:07.948] }, condition = base::local({ [17:28:07.948] c <- base::c [17:28:07.948] inherits <- base::inherits [17:28:07.948] invokeRestart <- base::invokeRestart [17:28:07.948] length <- base::length [17:28:07.948] list <- base::list [17:28:07.948] seq.int <- base::seq.int [17:28:07.948] signalCondition <- base::signalCondition [17:28:07.948] sys.calls <- base::sys.calls [17:28:07.948] `[[` <- base::`[[` [17:28:07.948] `+` <- base::`+` [17:28:07.948] `<<-` <- base::`<<-` [17:28:07.948] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:07.948] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:07.948] 3L)] [17:28:07.948] } [17:28:07.948] function(cond) { [17:28:07.948] is_error <- inherits(cond, "error") [17:28:07.948] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:07.948] NULL) [17:28:07.948] if (is_error) { [17:28:07.948] sessionInformation <- function() { [17:28:07.948] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:07.948] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:07.948] search = base::search(), system = base::Sys.info()) [17:28:07.948] } [17:28:07.948] ...future.conditions[[length(...future.conditions) + [17:28:07.948] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:07.948] cond$call), session = sessionInformation(), [17:28:07.948] timestamp = base::Sys.time(), signaled = 0L) [17:28:07.948] signalCondition(cond) [17:28:07.948] } [17:28:07.948] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:07.948] "immediateCondition"))) { [17:28:07.948] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:07.948] ...future.conditions[[length(...future.conditions) + [17:28:07.948] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:07.948] if (TRUE && !signal) { [17:28:07.948] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.948] { [17:28:07.948] inherits <- base::inherits [17:28:07.948] invokeRestart <- base::invokeRestart [17:28:07.948] is.null <- base::is.null [17:28:07.948] muffled <- FALSE [17:28:07.948] if (inherits(cond, "message")) { [17:28:07.948] muffled <- grepl(pattern, "muffleMessage") [17:28:07.948] if (muffled) [17:28:07.948] invokeRestart("muffleMessage") [17:28:07.948] } [17:28:07.948] else if (inherits(cond, "warning")) { [17:28:07.948] muffled <- grepl(pattern, "muffleWarning") [17:28:07.948] if (muffled) [17:28:07.948] invokeRestart("muffleWarning") [17:28:07.948] } [17:28:07.948] else if (inherits(cond, "condition")) { [17:28:07.948] if (!is.null(pattern)) { [17:28:07.948] computeRestarts <- base::computeRestarts [17:28:07.948] grepl <- base::grepl [17:28:07.948] restarts <- computeRestarts(cond) [17:28:07.948] for (restart in restarts) { [17:28:07.948] name <- restart$name [17:28:07.948] if (is.null(name)) [17:28:07.948] next [17:28:07.948] if (!grepl(pattern, name)) [17:28:07.948] next [17:28:07.948] invokeRestart(restart) [17:28:07.948] muffled <- TRUE [17:28:07.948] break [17:28:07.948] } [17:28:07.948] } [17:28:07.948] } [17:28:07.948] invisible(muffled) [17:28:07.948] } [17:28:07.948] muffleCondition(cond, pattern = "^muffle") [17:28:07.948] } [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] if (TRUE) { [17:28:07.948] muffleCondition <- function (cond, pattern = "^muffle") [17:28:07.948] { [17:28:07.948] inherits <- base::inherits [17:28:07.948] invokeRestart <- base::invokeRestart [17:28:07.948] is.null <- base::is.null [17:28:07.948] muffled <- FALSE [17:28:07.948] if (inherits(cond, "message")) { [17:28:07.948] muffled <- grepl(pattern, "muffleMessage") [17:28:07.948] if (muffled) [17:28:07.948] invokeRestart("muffleMessage") [17:28:07.948] } [17:28:07.948] else if (inherits(cond, "warning")) { [17:28:07.948] muffled <- grepl(pattern, "muffleWarning") [17:28:07.948] if (muffled) [17:28:07.948] invokeRestart("muffleWarning") [17:28:07.948] } [17:28:07.948] else if (inherits(cond, "condition")) { [17:28:07.948] if (!is.null(pattern)) { [17:28:07.948] computeRestarts <- base::computeRestarts [17:28:07.948] grepl <- base::grepl [17:28:07.948] restarts <- computeRestarts(cond) [17:28:07.948] for (restart in restarts) { [17:28:07.948] name <- restart$name [17:28:07.948] if (is.null(name)) [17:28:07.948] next [17:28:07.948] if (!grepl(pattern, name)) [17:28:07.948] next [17:28:07.948] invokeRestart(restart) [17:28:07.948] muffled <- TRUE [17:28:07.948] break [17:28:07.948] } [17:28:07.948] } [17:28:07.948] } [17:28:07.948] invisible(muffled) [17:28:07.948] } [17:28:07.948] muffleCondition(cond, pattern = "^muffle") [17:28:07.948] } [17:28:07.948] } [17:28:07.948] } [17:28:07.948] })) [17:28:07.948] }, error = function(ex) { [17:28:07.948] base::structure(base::list(value = NULL, visible = NULL, [17:28:07.948] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:07.948] ...future.rng), started = ...future.startTime, [17:28:07.948] finished = Sys.time(), session_uuid = NA_character_, [17:28:07.948] version = "1.8"), class = "FutureResult") [17:28:07.948] }, finally = { [17:28:07.948] if (!identical(...future.workdir, getwd())) [17:28:07.948] setwd(...future.workdir) [17:28:07.948] { [17:28:07.948] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:07.948] ...future.oldOptions$nwarnings <- NULL [17:28:07.948] } [17:28:07.948] base::options(...future.oldOptions) [17:28:07.948] if (.Platform$OS.type == "windows") { [17:28:07.948] old_names <- names(...future.oldEnvVars) [17:28:07.948] envs <- base::Sys.getenv() [17:28:07.948] names <- names(envs) [17:28:07.948] common <- intersect(names, old_names) [17:28:07.948] added <- setdiff(names, old_names) [17:28:07.948] removed <- setdiff(old_names, names) [17:28:07.948] changed <- common[...future.oldEnvVars[common] != [17:28:07.948] envs[common]] [17:28:07.948] NAMES <- toupper(changed) [17:28:07.948] args <- list() [17:28:07.948] for (kk in seq_along(NAMES)) { [17:28:07.948] name <- changed[[kk]] [17:28:07.948] NAME <- NAMES[[kk]] [17:28:07.948] if (name != NAME && is.element(NAME, old_names)) [17:28:07.948] next [17:28:07.948] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.948] } [17:28:07.948] NAMES <- toupper(added) [17:28:07.948] for (kk in seq_along(NAMES)) { [17:28:07.948] name <- added[[kk]] [17:28:07.948] NAME <- NAMES[[kk]] [17:28:07.948] if (name != NAME && is.element(NAME, old_names)) [17:28:07.948] next [17:28:07.948] args[[name]] <- "" [17:28:07.948] } [17:28:07.948] NAMES <- toupper(removed) [17:28:07.948] for (kk in seq_along(NAMES)) { [17:28:07.948] name <- removed[[kk]] [17:28:07.948] NAME <- NAMES[[kk]] [17:28:07.948] if (name != NAME && is.element(NAME, old_names)) [17:28:07.948] next [17:28:07.948] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:07.948] } [17:28:07.948] if (length(args) > 0) [17:28:07.948] base::do.call(base::Sys.setenv, args = args) [17:28:07.948] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:07.948] } [17:28:07.948] { [17:28:07.948] if (base::length(...future.futureOptionsAdded) > [17:28:07.948] 0L) { [17:28:07.948] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:07.948] base::names(opts) <- ...future.futureOptionsAdded [17:28:07.948] base::options(opts) [17:28:07.948] } [17:28:07.948] { [17:28:07.948] { [17:28:07.948] base::options(mc.cores = ...future.mc.cores.old) [17:28:07.948] NULL [17:28:07.948] } [17:28:07.948] options(future.plan = NULL) [17:28:07.948] if (is.na(NA_character_)) [17:28:07.948] Sys.unsetenv("R_FUTURE_PLAN") [17:28:07.948] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:07.948] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:07.948] .init = FALSE) [17:28:07.948] } [17:28:07.948] } [17:28:07.948] } [17:28:07.948] }) [17:28:07.948] if (TRUE) { [17:28:07.948] base::sink(type = "output", split = FALSE) [17:28:07.948] if (TRUE) { [17:28:07.948] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:07.948] } [17:28:07.948] else { [17:28:07.948] ...future.result["stdout"] <- base::list(NULL) [17:28:07.948] } [17:28:07.948] base::close(...future.stdout) [17:28:07.948] ...future.stdout <- NULL [17:28:07.948] } [17:28:07.948] ...future.result$conditions <- ...future.conditions [17:28:07.948] ...future.result$finished <- base::Sys.time() [17:28:07.948] ...future.result [17:28:07.948] } [17:28:08.077] MultisessionFuture started [17:28:08.078] result() for ClusterFuture ... [17:28:08.078] receiveMessageFromWorker() for ClusterFuture ... [17:28:08.079] - Validating connection of MultisessionFuture [17:28:08.156] - received message: FutureResult [17:28:08.156] - Received FutureResult [17:28:08.163] - Erased future from FutureRegistry [17:28:08.163] result() for ClusterFuture ... [17:28:08.163] - result already collected: FutureResult [17:28:08.164] result() for ClusterFuture ... done [17:28:08.164] receiveMessageFromWorker() for ClusterFuture ... done [17:28:08.164] result() for ClusterFuture ... done [17:28:08.165] result() for ClusterFuture ... [17:28:08.165] - result already collected: FutureResult [17:28:08.165] result() for ClusterFuture ... done [17:28:08.166] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:28:08.170] plan(): nbrOfWorkers() = 2 Method for identifying globals: 'conservative' ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.172] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.172] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.176] - globals found: [3] '{', '<-', '*' [17:28:08.176] Searching for globals ... DONE [17:28:08.176] Resolving globals: TRUE [17:28:08.177] Resolving any globals that are futures ... [17:28:08.177] - globals: [3] '{', '<-', '*' [17:28:08.177] Resolving any globals that are futures ... DONE [17:28:08.178] [17:28:08.178] [17:28:08.178] getGlobalsAndPackages() ... DONE [17:28:08.179] run() for 'Future' ... [17:28:08.179] - state: 'created' [17:28:08.180] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.201] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.202] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.202] - Field: 'node' [17:28:08.203] - Field: 'label' [17:28:08.203] - Field: 'local' [17:28:08.203] - Field: 'owner' [17:28:08.204] - Field: 'envir' [17:28:08.204] - Field: 'workers' [17:28:08.204] - Field: 'packages' [17:28:08.205] - Field: 'gc' [17:28:08.205] - Field: 'conditions' [17:28:08.205] - Field: 'persistent' [17:28:08.206] - Field: 'expr' [17:28:08.206] - Field: 'uuid' [17:28:08.207] - Field: 'seed' [17:28:08.207] - Field: 'version' [17:28:08.207] - Field: 'result' [17:28:08.208] - Field: 'asynchronous' [17:28:08.208] - Field: 'calls' [17:28:08.209] - Field: 'globals' [17:28:08.209] - Field: 'stdout' [17:28:08.209] - Field: 'earlySignal' [17:28:08.210] - Field: 'lazy' [17:28:08.210] - Field: 'state' [17:28:08.210] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.211] - Launch lazy future ... [17:28:08.212] Packages needed by the future expression (n = 0): [17:28:08.212] Packages needed by future strategies (n = 0): [17:28:08.213] { [17:28:08.213] { [17:28:08.213] { [17:28:08.213] ...future.startTime <- base::Sys.time() [17:28:08.213] { [17:28:08.213] { [17:28:08.213] { [17:28:08.213] { [17:28:08.213] base::local({ [17:28:08.213] has_future <- base::requireNamespace("future", [17:28:08.213] quietly = TRUE) [17:28:08.213] if (has_future) { [17:28:08.213] ns <- base::getNamespace("future") [17:28:08.213] version <- ns[[".package"]][["version"]] [17:28:08.213] if (is.null(version)) [17:28:08.213] version <- utils::packageVersion("future") [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] version <- NULL [17:28:08.213] } [17:28:08.213] if (!has_future || version < "1.8.0") { [17:28:08.213] info <- base::c(r_version = base::gsub("R version ", [17:28:08.213] "", base::R.version$version.string), [17:28:08.213] platform = base::sprintf("%s (%s-bit)", [17:28:08.213] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.213] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.213] "release", "version")], collapse = " "), [17:28:08.213] hostname = base::Sys.info()[["nodename"]]) [17:28:08.213] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.213] info) [17:28:08.213] info <- base::paste(info, collapse = "; ") [17:28:08.213] if (!has_future) { [17:28:08.213] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.213] info) [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.213] info, version) [17:28:08.213] } [17:28:08.213] base::stop(msg) [17:28:08.213] } [17:28:08.213] }) [17:28:08.213] } [17:28:08.213] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.213] base::options(mc.cores = 1L) [17:28:08.213] } [17:28:08.213] ...future.strategy.old <- future::plan("list") [17:28:08.213] options(future.plan = NULL) [17:28:08.213] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.213] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.213] } [17:28:08.213] ...future.workdir <- getwd() [17:28:08.213] } [17:28:08.213] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.213] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.213] } [17:28:08.213] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.213] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.213] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.213] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.213] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.213] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.213] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.213] base::names(...future.oldOptions)) [17:28:08.213] } [17:28:08.213] if (FALSE) { [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] if (TRUE) { [17:28:08.213] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.213] open = "w") [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.213] windows = "NUL", "/dev/null"), open = "w") [17:28:08.213] } [17:28:08.213] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.213] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.213] base::sink(type = "output", split = FALSE) [17:28:08.213] base::close(...future.stdout) [17:28:08.213] }, add = TRUE) [17:28:08.213] } [17:28:08.213] ...future.frame <- base::sys.nframe() [17:28:08.213] ...future.conditions <- base::list() [17:28:08.213] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.213] if (FALSE) { [17:28:08.213] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.213] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.213] } [17:28:08.213] ...future.result <- base::tryCatch({ [17:28:08.213] base::withCallingHandlers({ [17:28:08.213] ...future.value <- base::withVisible(base::local({ [17:28:08.213] ...future.makeSendCondition <- base::local({ [17:28:08.213] sendCondition <- NULL [17:28:08.213] function(frame = 1L) { [17:28:08.213] if (is.function(sendCondition)) [17:28:08.213] return(sendCondition) [17:28:08.213] ns <- getNamespace("parallel") [17:28:08.213] if (exists("sendData", mode = "function", [17:28:08.213] envir = ns)) { [17:28:08.213] parallel_sendData <- get("sendData", mode = "function", [17:28:08.213] envir = ns) [17:28:08.213] envir <- sys.frame(frame) [17:28:08.213] master <- NULL [17:28:08.213] while (!identical(envir, .GlobalEnv) && [17:28:08.213] !identical(envir, emptyenv())) { [17:28:08.213] if (exists("master", mode = "list", envir = envir, [17:28:08.213] inherits = FALSE)) { [17:28:08.213] master <- get("master", mode = "list", [17:28:08.213] envir = envir, inherits = FALSE) [17:28:08.213] if (inherits(master, c("SOCKnode", [17:28:08.213] "SOCK0node"))) { [17:28:08.213] sendCondition <<- function(cond) { [17:28:08.213] data <- list(type = "VALUE", value = cond, [17:28:08.213] success = TRUE) [17:28:08.213] parallel_sendData(master, data) [17:28:08.213] } [17:28:08.213] return(sendCondition) [17:28:08.213] } [17:28:08.213] } [17:28:08.213] frame <- frame + 1L [17:28:08.213] envir <- sys.frame(frame) [17:28:08.213] } [17:28:08.213] } [17:28:08.213] sendCondition <<- function(cond) NULL [17:28:08.213] } [17:28:08.213] }) [17:28:08.213] withCallingHandlers({ [17:28:08.213] { [17:28:08.213] b <- a [17:28:08.213] a <- 2 [17:28:08.213] a * b [17:28:08.213] } [17:28:08.213] }, immediateCondition = function(cond) { [17:28:08.213] sendCondition <- ...future.makeSendCondition() [17:28:08.213] sendCondition(cond) [17:28:08.213] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.213] { [17:28:08.213] inherits <- base::inherits [17:28:08.213] invokeRestart <- base::invokeRestart [17:28:08.213] is.null <- base::is.null [17:28:08.213] muffled <- FALSE [17:28:08.213] if (inherits(cond, "message")) { [17:28:08.213] muffled <- grepl(pattern, "muffleMessage") [17:28:08.213] if (muffled) [17:28:08.213] invokeRestart("muffleMessage") [17:28:08.213] } [17:28:08.213] else if (inherits(cond, "warning")) { [17:28:08.213] muffled <- grepl(pattern, "muffleWarning") [17:28:08.213] if (muffled) [17:28:08.213] invokeRestart("muffleWarning") [17:28:08.213] } [17:28:08.213] else if (inherits(cond, "condition")) { [17:28:08.213] if (!is.null(pattern)) { [17:28:08.213] computeRestarts <- base::computeRestarts [17:28:08.213] grepl <- base::grepl [17:28:08.213] restarts <- computeRestarts(cond) [17:28:08.213] for (restart in restarts) { [17:28:08.213] name <- restart$name [17:28:08.213] if (is.null(name)) [17:28:08.213] next [17:28:08.213] if (!grepl(pattern, name)) [17:28:08.213] next [17:28:08.213] invokeRestart(restart) [17:28:08.213] muffled <- TRUE [17:28:08.213] break [17:28:08.213] } [17:28:08.213] } [17:28:08.213] } [17:28:08.213] invisible(muffled) [17:28:08.213] } [17:28:08.213] muffleCondition(cond) [17:28:08.213] }) [17:28:08.213] })) [17:28:08.213] future::FutureResult(value = ...future.value$value, [17:28:08.213] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.213] ...future.rng), globalenv = if (FALSE) [17:28:08.213] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.213] ...future.globalenv.names)) [17:28:08.213] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.213] }, condition = base::local({ [17:28:08.213] c <- base::c [17:28:08.213] inherits <- base::inherits [17:28:08.213] invokeRestart <- base::invokeRestart [17:28:08.213] length <- base::length [17:28:08.213] list <- base::list [17:28:08.213] seq.int <- base::seq.int [17:28:08.213] signalCondition <- base::signalCondition [17:28:08.213] sys.calls <- base::sys.calls [17:28:08.213] `[[` <- base::`[[` [17:28:08.213] `+` <- base::`+` [17:28:08.213] `<<-` <- base::`<<-` [17:28:08.213] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.213] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.213] 3L)] [17:28:08.213] } [17:28:08.213] function(cond) { [17:28:08.213] is_error <- inherits(cond, "error") [17:28:08.213] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.213] NULL) [17:28:08.213] if (is_error) { [17:28:08.213] sessionInformation <- function() { [17:28:08.213] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.213] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.213] search = base::search(), system = base::Sys.info()) [17:28:08.213] } [17:28:08.213] ...future.conditions[[length(...future.conditions) + [17:28:08.213] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.213] cond$call), session = sessionInformation(), [17:28:08.213] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.213] signalCondition(cond) [17:28:08.213] } [17:28:08.213] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.213] "immediateCondition"))) { [17:28:08.213] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.213] ...future.conditions[[length(...future.conditions) + [17:28:08.213] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.213] if (TRUE && !signal) { [17:28:08.213] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.213] { [17:28:08.213] inherits <- base::inherits [17:28:08.213] invokeRestart <- base::invokeRestart [17:28:08.213] is.null <- base::is.null [17:28:08.213] muffled <- FALSE [17:28:08.213] if (inherits(cond, "message")) { [17:28:08.213] muffled <- grepl(pattern, "muffleMessage") [17:28:08.213] if (muffled) [17:28:08.213] invokeRestart("muffleMessage") [17:28:08.213] } [17:28:08.213] else if (inherits(cond, "warning")) { [17:28:08.213] muffled <- grepl(pattern, "muffleWarning") [17:28:08.213] if (muffled) [17:28:08.213] invokeRestart("muffleWarning") [17:28:08.213] } [17:28:08.213] else if (inherits(cond, "condition")) { [17:28:08.213] if (!is.null(pattern)) { [17:28:08.213] computeRestarts <- base::computeRestarts [17:28:08.213] grepl <- base::grepl [17:28:08.213] restarts <- computeRestarts(cond) [17:28:08.213] for (restart in restarts) { [17:28:08.213] name <- restart$name [17:28:08.213] if (is.null(name)) [17:28:08.213] next [17:28:08.213] if (!grepl(pattern, name)) [17:28:08.213] next [17:28:08.213] invokeRestart(restart) [17:28:08.213] muffled <- TRUE [17:28:08.213] break [17:28:08.213] } [17:28:08.213] } [17:28:08.213] } [17:28:08.213] invisible(muffled) [17:28:08.213] } [17:28:08.213] muffleCondition(cond, pattern = "^muffle") [17:28:08.213] } [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] if (TRUE) { [17:28:08.213] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.213] { [17:28:08.213] inherits <- base::inherits [17:28:08.213] invokeRestart <- base::invokeRestart [17:28:08.213] is.null <- base::is.null [17:28:08.213] muffled <- FALSE [17:28:08.213] if (inherits(cond, "message")) { [17:28:08.213] muffled <- grepl(pattern, "muffleMessage") [17:28:08.213] if (muffled) [17:28:08.213] invokeRestart("muffleMessage") [17:28:08.213] } [17:28:08.213] else if (inherits(cond, "warning")) { [17:28:08.213] muffled <- grepl(pattern, "muffleWarning") [17:28:08.213] if (muffled) [17:28:08.213] invokeRestart("muffleWarning") [17:28:08.213] } [17:28:08.213] else if (inherits(cond, "condition")) { [17:28:08.213] if (!is.null(pattern)) { [17:28:08.213] computeRestarts <- base::computeRestarts [17:28:08.213] grepl <- base::grepl [17:28:08.213] restarts <- computeRestarts(cond) [17:28:08.213] for (restart in restarts) { [17:28:08.213] name <- restart$name [17:28:08.213] if (is.null(name)) [17:28:08.213] next [17:28:08.213] if (!grepl(pattern, name)) [17:28:08.213] next [17:28:08.213] invokeRestart(restart) [17:28:08.213] muffled <- TRUE [17:28:08.213] break [17:28:08.213] } [17:28:08.213] } [17:28:08.213] } [17:28:08.213] invisible(muffled) [17:28:08.213] } [17:28:08.213] muffleCondition(cond, pattern = "^muffle") [17:28:08.213] } [17:28:08.213] } [17:28:08.213] } [17:28:08.213] })) [17:28:08.213] }, error = function(ex) { [17:28:08.213] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.213] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.213] ...future.rng), started = ...future.startTime, [17:28:08.213] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.213] version = "1.8"), class = "FutureResult") [17:28:08.213] }, finally = { [17:28:08.213] if (!identical(...future.workdir, getwd())) [17:28:08.213] setwd(...future.workdir) [17:28:08.213] { [17:28:08.213] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.213] ...future.oldOptions$nwarnings <- NULL [17:28:08.213] } [17:28:08.213] base::options(...future.oldOptions) [17:28:08.213] if (.Platform$OS.type == "windows") { [17:28:08.213] old_names <- names(...future.oldEnvVars) [17:28:08.213] envs <- base::Sys.getenv() [17:28:08.213] names <- names(envs) [17:28:08.213] common <- intersect(names, old_names) [17:28:08.213] added <- setdiff(names, old_names) [17:28:08.213] removed <- setdiff(old_names, names) [17:28:08.213] changed <- common[...future.oldEnvVars[common] != [17:28:08.213] envs[common]] [17:28:08.213] NAMES <- toupper(changed) [17:28:08.213] args <- list() [17:28:08.213] for (kk in seq_along(NAMES)) { [17:28:08.213] name <- changed[[kk]] [17:28:08.213] NAME <- NAMES[[kk]] [17:28:08.213] if (name != NAME && is.element(NAME, old_names)) [17:28:08.213] next [17:28:08.213] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.213] } [17:28:08.213] NAMES <- toupper(added) [17:28:08.213] for (kk in seq_along(NAMES)) { [17:28:08.213] name <- added[[kk]] [17:28:08.213] NAME <- NAMES[[kk]] [17:28:08.213] if (name != NAME && is.element(NAME, old_names)) [17:28:08.213] next [17:28:08.213] args[[name]] <- "" [17:28:08.213] } [17:28:08.213] NAMES <- toupper(removed) [17:28:08.213] for (kk in seq_along(NAMES)) { [17:28:08.213] name <- removed[[kk]] [17:28:08.213] NAME <- NAMES[[kk]] [17:28:08.213] if (name != NAME && is.element(NAME, old_names)) [17:28:08.213] next [17:28:08.213] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.213] } [17:28:08.213] if (length(args) > 0) [17:28:08.213] base::do.call(base::Sys.setenv, args = args) [17:28:08.213] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.213] } [17:28:08.213] { [17:28:08.213] if (base::length(...future.futureOptionsAdded) > [17:28:08.213] 0L) { [17:28:08.213] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.213] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.213] base::options(opts) [17:28:08.213] } [17:28:08.213] { [17:28:08.213] { [17:28:08.213] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.213] NULL [17:28:08.213] } [17:28:08.213] options(future.plan = NULL) [17:28:08.213] if (is.na(NA_character_)) [17:28:08.213] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.213] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.213] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.213] .init = FALSE) [17:28:08.213] } [17:28:08.213] } [17:28:08.213] } [17:28:08.213] }) [17:28:08.213] if (TRUE) { [17:28:08.213] base::sink(type = "output", split = FALSE) [17:28:08.213] if (TRUE) { [17:28:08.213] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.213] } [17:28:08.213] else { [17:28:08.213] ...future.result["stdout"] <- base::list(NULL) [17:28:08.213] } [17:28:08.213] base::close(...future.stdout) [17:28:08.213] ...future.stdout <- NULL [17:28:08.213] } [17:28:08.213] ...future.result$conditions <- ...future.conditions [17:28:08.213] ...future.result$finished <- base::Sys.time() [17:28:08.213] ...future.result [17:28:08.213] } [17:28:08.224] MultisessionFuture started [17:28:08.224] - Launch lazy future ... done [17:28:08.225] run() for 'MultisessionFuture' ... done [17:28:08.226] result() for ClusterFuture ... [17:28:08.226] receiveMessageFromWorker() for ClusterFuture ... [17:28:08.226] - Validating connection of MultisessionFuture [17:28:08.246] - received message: FutureResult [17:28:08.247] - Received FutureResult [17:28:08.247] - Erased future from FutureRegistry [17:28:08.248] result() for ClusterFuture ... [17:28:08.248] - result already collected: FutureResult [17:28:08.248] result() for ClusterFuture ... done [17:28:08.248] signalConditions() ... [17:28:08.248] - include = 'immediateCondition' [17:28:08.249] - exclude = [17:28:08.249] - resignal = FALSE [17:28:08.249] - Number of conditions: 1 [17:28:08.249] signalConditions() ... done [17:28:08.250] receiveMessageFromWorker() for ClusterFuture ... done [17:28:08.250] result() for ClusterFuture ... done [17:28:08.250] result() for ClusterFuture ... [17:28:08.251] - result already collected: FutureResult [17:28:08.251] result() for ClusterFuture ... done [17:28:08.251] signalConditions() ... [17:28:08.251] - include = 'immediateCondition' [17:28:08.252] - exclude = [17:28:08.252] - resignal = FALSE [17:28:08.253] - Number of conditions: 1 [17:28:08.253] signalConditions() ... done [17:28:08.253] Future state: 'finished' [17:28:08.254] result() for ClusterFuture ... [17:28:08.254] - result already collected: FutureResult [17:28:08.255] result() for ClusterFuture ... done [17:28:08.255] signalConditions() ... [17:28:08.255] - include = 'condition' [17:28:08.256] - exclude = 'immediateCondition' [17:28:08.256] - resignal = TRUE [17:28:08.256] - Number of conditions: 1 [17:28:08.256] - Condition #1: 'simpleError', 'error', 'condition' [17:28:08.257] signalConditions() ... done List of 1 $ res: 'try-error' chr "Error in eval(quote({ : object 'a' not found\n" ..- attr(*, "condition")=List of 3 .. ..$ message : chr "object 'a' not found" .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" .. .. ..$ calls :List of 9 .. .. .. ..$ : language y %<-% { b <- a ... .. .. .. ..$ : language futureAssignInternal(target, expr, envir = envir, substitute = FALSE) .. .. .. ..$ : language futureAssign(name, expr, envir = envir, assign.env = assign.env, substitute = FALSE) .. .. .. ..$ : language do.call(future::future, args = future.args, envir = assign.env) .. .. .. ..$ : language (function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = FALSE, globals = TRUE, pack| __truncated__ ... .. .. .. ..$ : language Future(expr, substitute = FALSE, envir = envir, lazy = TRUE, seed = seed, globals = globals, packages = pack| __truncated__ ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. ..$ session :List of 6 .. .. .. ..$ r :List of 15 .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" .. .. .. .. ..$ arch : chr "x86_64" .. .. .. .. ..$ os : chr "mingw32" .. .. .. .. ..$ crt : chr "ucrt" .. .. .. .. ..$ system : chr "x86_64, mingw32" .. .. .. .. ..$ status : chr "Under development (unstable)" .. .. .. .. ..$ major : chr "4" .. .. .. .. ..$ minor : chr "5.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "07" .. .. .. .. ..$ day : chr "28" .. .. .. .. ..$ svn rev : chr "86931" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-07-28 r86931 ucrt)" .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... .. .. .. ..$ search : chr [1:9] ".GlobalEnv" "package:stats" "package:graphics" "package:grDevices" ... .. .. .. ..$ system : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. .. ..$ timestamp: POSIXct[1:1], format: "2024-07-29 17:28:08" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.281] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.282] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.285] - globals found: [3] '{', '<-', '*' [17:28:08.285] Searching for globals ... DONE [17:28:08.285] Resolving globals: TRUE [17:28:08.286] Resolving any globals that are futures ... [17:28:08.286] - globals: [3] '{', '<-', '*' [17:28:08.286] Resolving any globals that are futures ... DONE [17:28:08.286] [17:28:08.287] [17:28:08.287] getGlobalsAndPackages() ... DONE [17:28:08.287] run() for 'Future' ... [17:28:08.287] - state: 'created' [17:28:08.288] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.304] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.304] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.305] - Field: 'node' [17:28:08.305] - Field: 'label' [17:28:08.305] - Field: 'local' [17:28:08.305] - Field: 'owner' [17:28:08.305] - Field: 'envir' [17:28:08.306] - Field: 'workers' [17:28:08.306] - Field: 'packages' [17:28:08.306] - Field: 'gc' [17:28:08.306] - Field: 'conditions' [17:28:08.306] - Field: 'persistent' [17:28:08.306] - Field: 'expr' [17:28:08.307] - Field: 'uuid' [17:28:08.307] - Field: 'seed' [17:28:08.307] - Field: 'version' [17:28:08.307] - Field: 'result' [17:28:08.307] - Field: 'asynchronous' [17:28:08.308] - Field: 'calls' [17:28:08.308] - Field: 'globals' [17:28:08.308] - Field: 'stdout' [17:28:08.308] - Field: 'earlySignal' [17:28:08.308] - Field: 'lazy' [17:28:08.309] - Field: 'state' [17:28:08.309] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.309] - Launch lazy future ... [17:28:08.309] Packages needed by the future expression (n = 0): [17:28:08.310] Packages needed by future strategies (n = 0): [17:28:08.311] { [17:28:08.311] { [17:28:08.311] { [17:28:08.311] ...future.startTime <- base::Sys.time() [17:28:08.311] { [17:28:08.311] { [17:28:08.311] { [17:28:08.311] { [17:28:08.311] base::local({ [17:28:08.311] has_future <- base::requireNamespace("future", [17:28:08.311] quietly = TRUE) [17:28:08.311] if (has_future) { [17:28:08.311] ns <- base::getNamespace("future") [17:28:08.311] version <- ns[[".package"]][["version"]] [17:28:08.311] if (is.null(version)) [17:28:08.311] version <- utils::packageVersion("future") [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] version <- NULL [17:28:08.311] } [17:28:08.311] if (!has_future || version < "1.8.0") { [17:28:08.311] info <- base::c(r_version = base::gsub("R version ", [17:28:08.311] "", base::R.version$version.string), [17:28:08.311] platform = base::sprintf("%s (%s-bit)", [17:28:08.311] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.311] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.311] "release", "version")], collapse = " "), [17:28:08.311] hostname = base::Sys.info()[["nodename"]]) [17:28:08.311] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.311] info) [17:28:08.311] info <- base::paste(info, collapse = "; ") [17:28:08.311] if (!has_future) { [17:28:08.311] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.311] info) [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.311] info, version) [17:28:08.311] } [17:28:08.311] base::stop(msg) [17:28:08.311] } [17:28:08.311] }) [17:28:08.311] } [17:28:08.311] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.311] base::options(mc.cores = 1L) [17:28:08.311] } [17:28:08.311] ...future.strategy.old <- future::plan("list") [17:28:08.311] options(future.plan = NULL) [17:28:08.311] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.311] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.311] } [17:28:08.311] ...future.workdir <- getwd() [17:28:08.311] } [17:28:08.311] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.311] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.311] } [17:28:08.311] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.311] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.311] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.311] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.311] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.311] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.311] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.311] base::names(...future.oldOptions)) [17:28:08.311] } [17:28:08.311] if (FALSE) { [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] if (TRUE) { [17:28:08.311] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.311] open = "w") [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.311] windows = "NUL", "/dev/null"), open = "w") [17:28:08.311] } [17:28:08.311] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.311] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.311] base::sink(type = "output", split = FALSE) [17:28:08.311] base::close(...future.stdout) [17:28:08.311] }, add = TRUE) [17:28:08.311] } [17:28:08.311] ...future.frame <- base::sys.nframe() [17:28:08.311] ...future.conditions <- base::list() [17:28:08.311] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.311] if (FALSE) { [17:28:08.311] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.311] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.311] } [17:28:08.311] ...future.result <- base::tryCatch({ [17:28:08.311] base::withCallingHandlers({ [17:28:08.311] ...future.value <- base::withVisible(base::local({ [17:28:08.311] ...future.makeSendCondition <- base::local({ [17:28:08.311] sendCondition <- NULL [17:28:08.311] function(frame = 1L) { [17:28:08.311] if (is.function(sendCondition)) [17:28:08.311] return(sendCondition) [17:28:08.311] ns <- getNamespace("parallel") [17:28:08.311] if (exists("sendData", mode = "function", [17:28:08.311] envir = ns)) { [17:28:08.311] parallel_sendData <- get("sendData", mode = "function", [17:28:08.311] envir = ns) [17:28:08.311] envir <- sys.frame(frame) [17:28:08.311] master <- NULL [17:28:08.311] while (!identical(envir, .GlobalEnv) && [17:28:08.311] !identical(envir, emptyenv())) { [17:28:08.311] if (exists("master", mode = "list", envir = envir, [17:28:08.311] inherits = FALSE)) { [17:28:08.311] master <- get("master", mode = "list", [17:28:08.311] envir = envir, inherits = FALSE) [17:28:08.311] if (inherits(master, c("SOCKnode", [17:28:08.311] "SOCK0node"))) { [17:28:08.311] sendCondition <<- function(cond) { [17:28:08.311] data <- list(type = "VALUE", value = cond, [17:28:08.311] success = TRUE) [17:28:08.311] parallel_sendData(master, data) [17:28:08.311] } [17:28:08.311] return(sendCondition) [17:28:08.311] } [17:28:08.311] } [17:28:08.311] frame <- frame + 1L [17:28:08.311] envir <- sys.frame(frame) [17:28:08.311] } [17:28:08.311] } [17:28:08.311] sendCondition <<- function(cond) NULL [17:28:08.311] } [17:28:08.311] }) [17:28:08.311] withCallingHandlers({ [17:28:08.311] { [17:28:08.311] b <- a [17:28:08.311] a <- 2 [17:28:08.311] a * b [17:28:08.311] } [17:28:08.311] }, immediateCondition = function(cond) { [17:28:08.311] sendCondition <- ...future.makeSendCondition() [17:28:08.311] sendCondition(cond) [17:28:08.311] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.311] { [17:28:08.311] inherits <- base::inherits [17:28:08.311] invokeRestart <- base::invokeRestart [17:28:08.311] is.null <- base::is.null [17:28:08.311] muffled <- FALSE [17:28:08.311] if (inherits(cond, "message")) { [17:28:08.311] muffled <- grepl(pattern, "muffleMessage") [17:28:08.311] if (muffled) [17:28:08.311] invokeRestart("muffleMessage") [17:28:08.311] } [17:28:08.311] else if (inherits(cond, "warning")) { [17:28:08.311] muffled <- grepl(pattern, "muffleWarning") [17:28:08.311] if (muffled) [17:28:08.311] invokeRestart("muffleWarning") [17:28:08.311] } [17:28:08.311] else if (inherits(cond, "condition")) { [17:28:08.311] if (!is.null(pattern)) { [17:28:08.311] computeRestarts <- base::computeRestarts [17:28:08.311] grepl <- base::grepl [17:28:08.311] restarts <- computeRestarts(cond) [17:28:08.311] for (restart in restarts) { [17:28:08.311] name <- restart$name [17:28:08.311] if (is.null(name)) [17:28:08.311] next [17:28:08.311] if (!grepl(pattern, name)) [17:28:08.311] next [17:28:08.311] invokeRestart(restart) [17:28:08.311] muffled <- TRUE [17:28:08.311] break [17:28:08.311] } [17:28:08.311] } [17:28:08.311] } [17:28:08.311] invisible(muffled) [17:28:08.311] } [17:28:08.311] muffleCondition(cond) [17:28:08.311] }) [17:28:08.311] })) [17:28:08.311] future::FutureResult(value = ...future.value$value, [17:28:08.311] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.311] ...future.rng), globalenv = if (FALSE) [17:28:08.311] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.311] ...future.globalenv.names)) [17:28:08.311] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.311] }, condition = base::local({ [17:28:08.311] c <- base::c [17:28:08.311] inherits <- base::inherits [17:28:08.311] invokeRestart <- base::invokeRestart [17:28:08.311] length <- base::length [17:28:08.311] list <- base::list [17:28:08.311] seq.int <- base::seq.int [17:28:08.311] signalCondition <- base::signalCondition [17:28:08.311] sys.calls <- base::sys.calls [17:28:08.311] `[[` <- base::`[[` [17:28:08.311] `+` <- base::`+` [17:28:08.311] `<<-` <- base::`<<-` [17:28:08.311] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.311] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.311] 3L)] [17:28:08.311] } [17:28:08.311] function(cond) { [17:28:08.311] is_error <- inherits(cond, "error") [17:28:08.311] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.311] NULL) [17:28:08.311] if (is_error) { [17:28:08.311] sessionInformation <- function() { [17:28:08.311] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.311] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.311] search = base::search(), system = base::Sys.info()) [17:28:08.311] } [17:28:08.311] ...future.conditions[[length(...future.conditions) + [17:28:08.311] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.311] cond$call), session = sessionInformation(), [17:28:08.311] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.311] signalCondition(cond) [17:28:08.311] } [17:28:08.311] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.311] "immediateCondition"))) { [17:28:08.311] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.311] ...future.conditions[[length(...future.conditions) + [17:28:08.311] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.311] if (TRUE && !signal) { [17:28:08.311] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.311] { [17:28:08.311] inherits <- base::inherits [17:28:08.311] invokeRestart <- base::invokeRestart [17:28:08.311] is.null <- base::is.null [17:28:08.311] muffled <- FALSE [17:28:08.311] if (inherits(cond, "message")) { [17:28:08.311] muffled <- grepl(pattern, "muffleMessage") [17:28:08.311] if (muffled) [17:28:08.311] invokeRestart("muffleMessage") [17:28:08.311] } [17:28:08.311] else if (inherits(cond, "warning")) { [17:28:08.311] muffled <- grepl(pattern, "muffleWarning") [17:28:08.311] if (muffled) [17:28:08.311] invokeRestart("muffleWarning") [17:28:08.311] } [17:28:08.311] else if (inherits(cond, "condition")) { [17:28:08.311] if (!is.null(pattern)) { [17:28:08.311] computeRestarts <- base::computeRestarts [17:28:08.311] grepl <- base::grepl [17:28:08.311] restarts <- computeRestarts(cond) [17:28:08.311] for (restart in restarts) { [17:28:08.311] name <- restart$name [17:28:08.311] if (is.null(name)) [17:28:08.311] next [17:28:08.311] if (!grepl(pattern, name)) [17:28:08.311] next [17:28:08.311] invokeRestart(restart) [17:28:08.311] muffled <- TRUE [17:28:08.311] break [17:28:08.311] } [17:28:08.311] } [17:28:08.311] } [17:28:08.311] invisible(muffled) [17:28:08.311] } [17:28:08.311] muffleCondition(cond, pattern = "^muffle") [17:28:08.311] } [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] if (TRUE) { [17:28:08.311] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.311] { [17:28:08.311] inherits <- base::inherits [17:28:08.311] invokeRestart <- base::invokeRestart [17:28:08.311] is.null <- base::is.null [17:28:08.311] muffled <- FALSE [17:28:08.311] if (inherits(cond, "message")) { [17:28:08.311] muffled <- grepl(pattern, "muffleMessage") [17:28:08.311] if (muffled) [17:28:08.311] invokeRestart("muffleMessage") [17:28:08.311] } [17:28:08.311] else if (inherits(cond, "warning")) { [17:28:08.311] muffled <- grepl(pattern, "muffleWarning") [17:28:08.311] if (muffled) [17:28:08.311] invokeRestart("muffleWarning") [17:28:08.311] } [17:28:08.311] else if (inherits(cond, "condition")) { [17:28:08.311] if (!is.null(pattern)) { [17:28:08.311] computeRestarts <- base::computeRestarts [17:28:08.311] grepl <- base::grepl [17:28:08.311] restarts <- computeRestarts(cond) [17:28:08.311] for (restart in restarts) { [17:28:08.311] name <- restart$name [17:28:08.311] if (is.null(name)) [17:28:08.311] next [17:28:08.311] if (!grepl(pattern, name)) [17:28:08.311] next [17:28:08.311] invokeRestart(restart) [17:28:08.311] muffled <- TRUE [17:28:08.311] break [17:28:08.311] } [17:28:08.311] } [17:28:08.311] } [17:28:08.311] invisible(muffled) [17:28:08.311] } [17:28:08.311] muffleCondition(cond, pattern = "^muffle") [17:28:08.311] } [17:28:08.311] } [17:28:08.311] } [17:28:08.311] })) [17:28:08.311] }, error = function(ex) { [17:28:08.311] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.311] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.311] ...future.rng), started = ...future.startTime, [17:28:08.311] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.311] version = "1.8"), class = "FutureResult") [17:28:08.311] }, finally = { [17:28:08.311] if (!identical(...future.workdir, getwd())) [17:28:08.311] setwd(...future.workdir) [17:28:08.311] { [17:28:08.311] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.311] ...future.oldOptions$nwarnings <- NULL [17:28:08.311] } [17:28:08.311] base::options(...future.oldOptions) [17:28:08.311] if (.Platform$OS.type == "windows") { [17:28:08.311] old_names <- names(...future.oldEnvVars) [17:28:08.311] envs <- base::Sys.getenv() [17:28:08.311] names <- names(envs) [17:28:08.311] common <- intersect(names, old_names) [17:28:08.311] added <- setdiff(names, old_names) [17:28:08.311] removed <- setdiff(old_names, names) [17:28:08.311] changed <- common[...future.oldEnvVars[common] != [17:28:08.311] envs[common]] [17:28:08.311] NAMES <- toupper(changed) [17:28:08.311] args <- list() [17:28:08.311] for (kk in seq_along(NAMES)) { [17:28:08.311] name <- changed[[kk]] [17:28:08.311] NAME <- NAMES[[kk]] [17:28:08.311] if (name != NAME && is.element(NAME, old_names)) [17:28:08.311] next [17:28:08.311] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.311] } [17:28:08.311] NAMES <- toupper(added) [17:28:08.311] for (kk in seq_along(NAMES)) { [17:28:08.311] name <- added[[kk]] [17:28:08.311] NAME <- NAMES[[kk]] [17:28:08.311] if (name != NAME && is.element(NAME, old_names)) [17:28:08.311] next [17:28:08.311] args[[name]] <- "" [17:28:08.311] } [17:28:08.311] NAMES <- toupper(removed) [17:28:08.311] for (kk in seq_along(NAMES)) { [17:28:08.311] name <- removed[[kk]] [17:28:08.311] NAME <- NAMES[[kk]] [17:28:08.311] if (name != NAME && is.element(NAME, old_names)) [17:28:08.311] next [17:28:08.311] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.311] } [17:28:08.311] if (length(args) > 0) [17:28:08.311] base::do.call(base::Sys.setenv, args = args) [17:28:08.311] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.311] } [17:28:08.311] { [17:28:08.311] if (base::length(...future.futureOptionsAdded) > [17:28:08.311] 0L) { [17:28:08.311] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.311] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.311] base::options(opts) [17:28:08.311] } [17:28:08.311] { [17:28:08.311] { [17:28:08.311] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.311] NULL [17:28:08.311] } [17:28:08.311] options(future.plan = NULL) [17:28:08.311] if (is.na(NA_character_)) [17:28:08.311] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.311] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.311] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.311] .init = FALSE) [17:28:08.311] } [17:28:08.311] } [17:28:08.311] } [17:28:08.311] }) [17:28:08.311] if (TRUE) { [17:28:08.311] base::sink(type = "output", split = FALSE) [17:28:08.311] if (TRUE) { [17:28:08.311] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.311] } [17:28:08.311] else { [17:28:08.311] ...future.result["stdout"] <- base::list(NULL) [17:28:08.311] } [17:28:08.311] base::close(...future.stdout) [17:28:08.311] ...future.stdout <- NULL [17:28:08.311] } [17:28:08.311] ...future.result$conditions <- ...future.conditions [17:28:08.311] ...future.result$finished <- base::Sys.time() [17:28:08.311] ...future.result [17:28:08.311] } [17:28:08.323] MultisessionFuture started [17:28:08.323] - Launch lazy future ... done [17:28:08.324] run() for 'MultisessionFuture' ... done [17:28:08.324] result() for ClusterFuture ... [17:28:08.324] receiveMessageFromWorker() for ClusterFuture ... [17:28:08.324] - Validating connection of MultisessionFuture [17:28:08.349] - received message: FutureResult [17:28:08.349] - Received FutureResult [17:28:08.350] - Erased future from FutureRegistry [17:28:08.350] result() for ClusterFuture ... [17:28:08.350] - result already collected: FutureResult [17:28:08.351] result() for ClusterFuture ... done [17:28:08.351] signalConditions() ... [17:28:08.351] - include = 'immediateCondition' [17:28:08.352] - exclude = [17:28:08.352] - resignal = FALSE [17:28:08.352] - Number of conditions: 1 [17:28:08.353] signalConditions() ... done [17:28:08.353] receiveMessageFromWorker() for ClusterFuture ... done [17:28:08.353] result() for ClusterFuture ... done [17:28:08.353] result() for ClusterFuture ... [17:28:08.354] - result already collected: FutureResult [17:28:08.354] result() for ClusterFuture ... done [17:28:08.354] signalConditions() ... [17:28:08.354] - include = 'immediateCondition' [17:28:08.355] - exclude = [17:28:08.355] - resignal = FALSE [17:28:08.355] - Number of conditions: 1 [17:28:08.356] signalConditions() ... done [17:28:08.356] Future state: 'finished' [17:28:08.356] result() for ClusterFuture ... [17:28:08.357] - result already collected: FutureResult [17:28:08.357] result() for ClusterFuture ... done [17:28:08.357] signalConditions() ... [17:28:08.358] - include = 'condition' [17:28:08.358] - exclude = 'immediateCondition' [17:28:08.358] - resignal = TRUE [17:28:08.359] - Number of conditions: 1 [17:28:08.359] - Condition #1: 'simpleError', 'error', 'condition' [17:28:08.359] signalConditions() ... done List of 1 $ res: 'try-error' chr "Error in eval(quote({ : object 'a' not found\n" ..- attr(*, "condition")=List of 3 .. ..$ message : chr "object 'a' not found" .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" .. .. ..$ calls :List of 12 .. .. .. ..$ : language y %<-% { b <- a ... .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language y %<-% { b <- a ... .. .. .. ..$ : language futureAssignInternal(target, expr, envir = envir, substitute = FALSE) .. .. .. ..$ : language futureAssign(name, expr, envir = envir, assign.env = assign.env, substitute = FALSE) .. .. .. ..$ : language do.call(future::future, args = future.args, envir = assign.env) .. .. .. ..$ : language (function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = FALSE, globals = TRUE, pack| __truncated__ ... .. .. .. ..$ : language Future(expr, substitute = FALSE, envir = envir, lazy = TRUE, seed = seed, globals = globals, packages = pack| __truncated__ ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. ..$ session :List of 6 .. .. .. ..$ r :List of 15 .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" .. .. .. .. ..$ arch : chr "x86_64" .. .. .. .. ..$ os : chr "mingw32" .. .. .. .. ..$ crt : chr "ucrt" .. .. .. .. ..$ system : chr "x86_64, mingw32" .. .. .. .. ..$ status : chr "Under development (unstable)" .. .. .. .. ..$ major : chr "4" .. .. .. .. ..$ minor : chr "5.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "07" .. .. .. .. ..$ day : chr "28" .. .. .. .. ..$ svn rev : chr "86931" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-07-28 r86931 ucrt)" .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... .. .. .. ..$ search : chr [1:9] ".GlobalEnv" "package:stats" "package:graphics" "package:grDevices" ... .. .. .. ..$ system : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. .. ..$ timestamp: POSIXct[1:1], format: "2024-07-29 17:28:08" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.393] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.393] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.396] - globals found: [4] '{', '<-', '*', 'ii' [17:28:08.397] Searching for globals ... DONE [17:28:08.397] Resolving globals: TRUE [17:28:08.397] Resolving any globals that are futures ... [17:28:08.398] - globals: [4] '{', '<-', '*', 'ii' [17:28:08.398] Resolving any globals that are futures ... DONE [17:28:08.399] Resolving futures part of globals (recursively) ... [17:28:08.399] resolve() on list ... [17:28:08.400] recursive: 99 [17:28:08.400] length: 1 [17:28:08.400] elements: 'ii' [17:28:08.401] length: 0 (resolved future 1) [17:28:08.401] resolve() on list ... DONE [17:28:08.401] - globals: [1] 'ii' [17:28:08.401] Resolving futures part of globals (recursively) ... DONE [17:28:08.402] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:08.402] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:08.403] - globals: [1] 'ii' [17:28:08.403] [17:28:08.403] getGlobalsAndPackages() ... DONE [17:28:08.404] run() for 'Future' ... [17:28:08.404] - state: 'created' [17:28:08.405] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.426] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.426] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.426] - Field: 'node' [17:28:08.427] - Field: 'label' [17:28:08.427] - Field: 'local' [17:28:08.427] - Field: 'owner' [17:28:08.428] - Field: 'envir' [17:28:08.428] - Field: 'workers' [17:28:08.428] - Field: 'packages' [17:28:08.429] - Field: 'gc' [17:28:08.429] - Field: 'conditions' [17:28:08.429] - Field: 'persistent' [17:28:08.430] - Field: 'expr' [17:28:08.430] - Field: 'uuid' [17:28:08.430] - Field: 'seed' [17:28:08.431] - Field: 'version' [17:28:08.431] - Field: 'result' [17:28:08.431] - Field: 'asynchronous' [17:28:08.431] - Field: 'calls' [17:28:08.432] - Field: 'globals' [17:28:08.432] - Field: 'stdout' [17:28:08.432] - Field: 'earlySignal' [17:28:08.433] - Field: 'lazy' [17:28:08.433] - Field: 'state' [17:28:08.433] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.434] - Launch lazy future ... [17:28:08.434] Packages needed by the future expression (n = 0): [17:28:08.435] Packages needed by future strategies (n = 0): [17:28:08.436] { [17:28:08.436] { [17:28:08.436] { [17:28:08.436] ...future.startTime <- base::Sys.time() [17:28:08.436] { [17:28:08.436] { [17:28:08.436] { [17:28:08.436] { [17:28:08.436] base::local({ [17:28:08.436] has_future <- base::requireNamespace("future", [17:28:08.436] quietly = TRUE) [17:28:08.436] if (has_future) { [17:28:08.436] ns <- base::getNamespace("future") [17:28:08.436] version <- ns[[".package"]][["version"]] [17:28:08.436] if (is.null(version)) [17:28:08.436] version <- utils::packageVersion("future") [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] version <- NULL [17:28:08.436] } [17:28:08.436] if (!has_future || version < "1.8.0") { [17:28:08.436] info <- base::c(r_version = base::gsub("R version ", [17:28:08.436] "", base::R.version$version.string), [17:28:08.436] platform = base::sprintf("%s (%s-bit)", [17:28:08.436] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.436] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.436] "release", "version")], collapse = " "), [17:28:08.436] hostname = base::Sys.info()[["nodename"]]) [17:28:08.436] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.436] info) [17:28:08.436] info <- base::paste(info, collapse = "; ") [17:28:08.436] if (!has_future) { [17:28:08.436] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.436] info) [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.436] info, version) [17:28:08.436] } [17:28:08.436] base::stop(msg) [17:28:08.436] } [17:28:08.436] }) [17:28:08.436] } [17:28:08.436] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.436] base::options(mc.cores = 1L) [17:28:08.436] } [17:28:08.436] ...future.strategy.old <- future::plan("list") [17:28:08.436] options(future.plan = NULL) [17:28:08.436] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.436] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.436] } [17:28:08.436] ...future.workdir <- getwd() [17:28:08.436] } [17:28:08.436] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.436] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.436] } [17:28:08.436] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.436] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.436] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.436] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.436] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.436] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.436] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.436] base::names(...future.oldOptions)) [17:28:08.436] } [17:28:08.436] if (FALSE) { [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] if (TRUE) { [17:28:08.436] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.436] open = "w") [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.436] windows = "NUL", "/dev/null"), open = "w") [17:28:08.436] } [17:28:08.436] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.436] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.436] base::sink(type = "output", split = FALSE) [17:28:08.436] base::close(...future.stdout) [17:28:08.436] }, add = TRUE) [17:28:08.436] } [17:28:08.436] ...future.frame <- base::sys.nframe() [17:28:08.436] ...future.conditions <- base::list() [17:28:08.436] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.436] if (FALSE) { [17:28:08.436] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.436] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.436] } [17:28:08.436] ...future.result <- base::tryCatch({ [17:28:08.436] base::withCallingHandlers({ [17:28:08.436] ...future.value <- base::withVisible(base::local({ [17:28:08.436] ...future.makeSendCondition <- base::local({ [17:28:08.436] sendCondition <- NULL [17:28:08.436] function(frame = 1L) { [17:28:08.436] if (is.function(sendCondition)) [17:28:08.436] return(sendCondition) [17:28:08.436] ns <- getNamespace("parallel") [17:28:08.436] if (exists("sendData", mode = "function", [17:28:08.436] envir = ns)) { [17:28:08.436] parallel_sendData <- get("sendData", mode = "function", [17:28:08.436] envir = ns) [17:28:08.436] envir <- sys.frame(frame) [17:28:08.436] master <- NULL [17:28:08.436] while (!identical(envir, .GlobalEnv) && [17:28:08.436] !identical(envir, emptyenv())) { [17:28:08.436] if (exists("master", mode = "list", envir = envir, [17:28:08.436] inherits = FALSE)) { [17:28:08.436] master <- get("master", mode = "list", [17:28:08.436] envir = envir, inherits = FALSE) [17:28:08.436] if (inherits(master, c("SOCKnode", [17:28:08.436] "SOCK0node"))) { [17:28:08.436] sendCondition <<- function(cond) { [17:28:08.436] data <- list(type = "VALUE", value = cond, [17:28:08.436] success = TRUE) [17:28:08.436] parallel_sendData(master, data) [17:28:08.436] } [17:28:08.436] return(sendCondition) [17:28:08.436] } [17:28:08.436] } [17:28:08.436] frame <- frame + 1L [17:28:08.436] envir <- sys.frame(frame) [17:28:08.436] } [17:28:08.436] } [17:28:08.436] sendCondition <<- function(cond) NULL [17:28:08.436] } [17:28:08.436] }) [17:28:08.436] withCallingHandlers({ [17:28:08.436] { [17:28:08.436] b <- a * ii [17:28:08.436] a <- 0 [17:28:08.436] b [17:28:08.436] } [17:28:08.436] }, immediateCondition = function(cond) { [17:28:08.436] sendCondition <- ...future.makeSendCondition() [17:28:08.436] sendCondition(cond) [17:28:08.436] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.436] { [17:28:08.436] inherits <- base::inherits [17:28:08.436] invokeRestart <- base::invokeRestart [17:28:08.436] is.null <- base::is.null [17:28:08.436] muffled <- FALSE [17:28:08.436] if (inherits(cond, "message")) { [17:28:08.436] muffled <- grepl(pattern, "muffleMessage") [17:28:08.436] if (muffled) [17:28:08.436] invokeRestart("muffleMessage") [17:28:08.436] } [17:28:08.436] else if (inherits(cond, "warning")) { [17:28:08.436] muffled <- grepl(pattern, "muffleWarning") [17:28:08.436] if (muffled) [17:28:08.436] invokeRestart("muffleWarning") [17:28:08.436] } [17:28:08.436] else if (inherits(cond, "condition")) { [17:28:08.436] if (!is.null(pattern)) { [17:28:08.436] computeRestarts <- base::computeRestarts [17:28:08.436] grepl <- base::grepl [17:28:08.436] restarts <- computeRestarts(cond) [17:28:08.436] for (restart in restarts) { [17:28:08.436] name <- restart$name [17:28:08.436] if (is.null(name)) [17:28:08.436] next [17:28:08.436] if (!grepl(pattern, name)) [17:28:08.436] next [17:28:08.436] invokeRestart(restart) [17:28:08.436] muffled <- TRUE [17:28:08.436] break [17:28:08.436] } [17:28:08.436] } [17:28:08.436] } [17:28:08.436] invisible(muffled) [17:28:08.436] } [17:28:08.436] muffleCondition(cond) [17:28:08.436] }) [17:28:08.436] })) [17:28:08.436] future::FutureResult(value = ...future.value$value, [17:28:08.436] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.436] ...future.rng), globalenv = if (FALSE) [17:28:08.436] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.436] ...future.globalenv.names)) [17:28:08.436] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.436] }, condition = base::local({ [17:28:08.436] c <- base::c [17:28:08.436] inherits <- base::inherits [17:28:08.436] invokeRestart <- base::invokeRestart [17:28:08.436] length <- base::length [17:28:08.436] list <- base::list [17:28:08.436] seq.int <- base::seq.int [17:28:08.436] signalCondition <- base::signalCondition [17:28:08.436] sys.calls <- base::sys.calls [17:28:08.436] `[[` <- base::`[[` [17:28:08.436] `+` <- base::`+` [17:28:08.436] `<<-` <- base::`<<-` [17:28:08.436] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.436] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.436] 3L)] [17:28:08.436] } [17:28:08.436] function(cond) { [17:28:08.436] is_error <- inherits(cond, "error") [17:28:08.436] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.436] NULL) [17:28:08.436] if (is_error) { [17:28:08.436] sessionInformation <- function() { [17:28:08.436] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.436] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.436] search = base::search(), system = base::Sys.info()) [17:28:08.436] } [17:28:08.436] ...future.conditions[[length(...future.conditions) + [17:28:08.436] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.436] cond$call), session = sessionInformation(), [17:28:08.436] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.436] signalCondition(cond) [17:28:08.436] } [17:28:08.436] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.436] "immediateCondition"))) { [17:28:08.436] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.436] ...future.conditions[[length(...future.conditions) + [17:28:08.436] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.436] if (TRUE && !signal) { [17:28:08.436] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.436] { [17:28:08.436] inherits <- base::inherits [17:28:08.436] invokeRestart <- base::invokeRestart [17:28:08.436] is.null <- base::is.null [17:28:08.436] muffled <- FALSE [17:28:08.436] if (inherits(cond, "message")) { [17:28:08.436] muffled <- grepl(pattern, "muffleMessage") [17:28:08.436] if (muffled) [17:28:08.436] invokeRestart("muffleMessage") [17:28:08.436] } [17:28:08.436] else if (inherits(cond, "warning")) { [17:28:08.436] muffled <- grepl(pattern, "muffleWarning") [17:28:08.436] if (muffled) [17:28:08.436] invokeRestart("muffleWarning") [17:28:08.436] } [17:28:08.436] else if (inherits(cond, "condition")) { [17:28:08.436] if (!is.null(pattern)) { [17:28:08.436] computeRestarts <- base::computeRestarts [17:28:08.436] grepl <- base::grepl [17:28:08.436] restarts <- computeRestarts(cond) [17:28:08.436] for (restart in restarts) { [17:28:08.436] name <- restart$name [17:28:08.436] if (is.null(name)) [17:28:08.436] next [17:28:08.436] if (!grepl(pattern, name)) [17:28:08.436] next [17:28:08.436] invokeRestart(restart) [17:28:08.436] muffled <- TRUE [17:28:08.436] break [17:28:08.436] } [17:28:08.436] } [17:28:08.436] } [17:28:08.436] invisible(muffled) [17:28:08.436] } [17:28:08.436] muffleCondition(cond, pattern = "^muffle") [17:28:08.436] } [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] if (TRUE) { [17:28:08.436] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.436] { [17:28:08.436] inherits <- base::inherits [17:28:08.436] invokeRestart <- base::invokeRestart [17:28:08.436] is.null <- base::is.null [17:28:08.436] muffled <- FALSE [17:28:08.436] if (inherits(cond, "message")) { [17:28:08.436] muffled <- grepl(pattern, "muffleMessage") [17:28:08.436] if (muffled) [17:28:08.436] invokeRestart("muffleMessage") [17:28:08.436] } [17:28:08.436] else if (inherits(cond, "warning")) { [17:28:08.436] muffled <- grepl(pattern, "muffleWarning") [17:28:08.436] if (muffled) [17:28:08.436] invokeRestart("muffleWarning") [17:28:08.436] } [17:28:08.436] else if (inherits(cond, "condition")) { [17:28:08.436] if (!is.null(pattern)) { [17:28:08.436] computeRestarts <- base::computeRestarts [17:28:08.436] grepl <- base::grepl [17:28:08.436] restarts <- computeRestarts(cond) [17:28:08.436] for (restart in restarts) { [17:28:08.436] name <- restart$name [17:28:08.436] if (is.null(name)) [17:28:08.436] next [17:28:08.436] if (!grepl(pattern, name)) [17:28:08.436] next [17:28:08.436] invokeRestart(restart) [17:28:08.436] muffled <- TRUE [17:28:08.436] break [17:28:08.436] } [17:28:08.436] } [17:28:08.436] } [17:28:08.436] invisible(muffled) [17:28:08.436] } [17:28:08.436] muffleCondition(cond, pattern = "^muffle") [17:28:08.436] } [17:28:08.436] } [17:28:08.436] } [17:28:08.436] })) [17:28:08.436] }, error = function(ex) { [17:28:08.436] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.436] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.436] ...future.rng), started = ...future.startTime, [17:28:08.436] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.436] version = "1.8"), class = "FutureResult") [17:28:08.436] }, finally = { [17:28:08.436] if (!identical(...future.workdir, getwd())) [17:28:08.436] setwd(...future.workdir) [17:28:08.436] { [17:28:08.436] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.436] ...future.oldOptions$nwarnings <- NULL [17:28:08.436] } [17:28:08.436] base::options(...future.oldOptions) [17:28:08.436] if (.Platform$OS.type == "windows") { [17:28:08.436] old_names <- names(...future.oldEnvVars) [17:28:08.436] envs <- base::Sys.getenv() [17:28:08.436] names <- names(envs) [17:28:08.436] common <- intersect(names, old_names) [17:28:08.436] added <- setdiff(names, old_names) [17:28:08.436] removed <- setdiff(old_names, names) [17:28:08.436] changed <- common[...future.oldEnvVars[common] != [17:28:08.436] envs[common]] [17:28:08.436] NAMES <- toupper(changed) [17:28:08.436] args <- list() [17:28:08.436] for (kk in seq_along(NAMES)) { [17:28:08.436] name <- changed[[kk]] [17:28:08.436] NAME <- NAMES[[kk]] [17:28:08.436] if (name != NAME && is.element(NAME, old_names)) [17:28:08.436] next [17:28:08.436] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.436] } [17:28:08.436] NAMES <- toupper(added) [17:28:08.436] for (kk in seq_along(NAMES)) { [17:28:08.436] name <- added[[kk]] [17:28:08.436] NAME <- NAMES[[kk]] [17:28:08.436] if (name != NAME && is.element(NAME, old_names)) [17:28:08.436] next [17:28:08.436] args[[name]] <- "" [17:28:08.436] } [17:28:08.436] NAMES <- toupper(removed) [17:28:08.436] for (kk in seq_along(NAMES)) { [17:28:08.436] name <- removed[[kk]] [17:28:08.436] NAME <- NAMES[[kk]] [17:28:08.436] if (name != NAME && is.element(NAME, old_names)) [17:28:08.436] next [17:28:08.436] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.436] } [17:28:08.436] if (length(args) > 0) [17:28:08.436] base::do.call(base::Sys.setenv, args = args) [17:28:08.436] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.436] } [17:28:08.436] { [17:28:08.436] if (base::length(...future.futureOptionsAdded) > [17:28:08.436] 0L) { [17:28:08.436] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.436] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.436] base::options(opts) [17:28:08.436] } [17:28:08.436] { [17:28:08.436] { [17:28:08.436] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.436] NULL [17:28:08.436] } [17:28:08.436] options(future.plan = NULL) [17:28:08.436] if (is.na(NA_character_)) [17:28:08.436] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.436] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.436] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.436] .init = FALSE) [17:28:08.436] } [17:28:08.436] } [17:28:08.436] } [17:28:08.436] }) [17:28:08.436] if (TRUE) { [17:28:08.436] base::sink(type = "output", split = FALSE) [17:28:08.436] if (TRUE) { [17:28:08.436] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.436] } [17:28:08.436] else { [17:28:08.436] ...future.result["stdout"] <- base::list(NULL) [17:28:08.436] } [17:28:08.436] base::close(...future.stdout) [17:28:08.436] ...future.stdout <- NULL [17:28:08.436] } [17:28:08.436] ...future.result$conditions <- ...future.conditions [17:28:08.436] ...future.result$finished <- base::Sys.time() [17:28:08.436] ...future.result [17:28:08.436] } [17:28:08.445] Exporting 1 global objects (340 bytes) to cluster node #1 ... [17:28:08.445] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:28:08.446] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:28:08.446] Exporting 1 global objects (340 bytes) to cluster node #1 ... DONE [17:28:08.447] MultisessionFuture started [17:28:08.448] - Launch lazy future ... done [17:28:08.448] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.449] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.450] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.453] - globals found: [4] '{', '<-', '*', 'ii' [17:28:08.453] Searching for globals ... DONE [17:28:08.454] Resolving globals: TRUE [17:28:08.454] Resolving any globals that are futures ... [17:28:08.454] - globals: [4] '{', '<-', '*', 'ii' [17:28:08.455] Resolving any globals that are futures ... DONE [17:28:08.455] Resolving futures part of globals (recursively) ... [17:28:08.456] resolve() on list ... [17:28:08.456] recursive: 99 [17:28:08.457] length: 1 [17:28:08.457] elements: 'ii' [17:28:08.457] length: 0 (resolved future 1) [17:28:08.458] resolve() on list ... DONE [17:28:08.458] - globals: [1] 'ii' [17:28:08.458] Resolving futures part of globals (recursively) ... DONE [17:28:08.459] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:08.459] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:08.460] - globals: [1] 'ii' [17:28:08.460] [17:28:08.460] getGlobalsAndPackages() ... DONE [17:28:08.461] run() for 'Future' ... [17:28:08.461] - state: 'created' [17:28:08.462] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.481] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.481] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.482] - Field: 'node' [17:28:08.482] - Field: 'label' [17:28:08.482] - Field: 'local' [17:28:08.482] - Field: 'owner' [17:28:08.482] - Field: 'envir' [17:28:08.483] - Field: 'workers' [17:28:08.483] - Field: 'packages' [17:28:08.483] - Field: 'gc' [17:28:08.483] - Field: 'conditions' [17:28:08.483] - Field: 'persistent' [17:28:08.484] - Field: 'expr' [17:28:08.484] - Field: 'uuid' [17:28:08.484] - Field: 'seed' [17:28:08.484] - Field: 'version' [17:28:08.485] - Field: 'result' [17:28:08.485] - Field: 'asynchronous' [17:28:08.485] - Field: 'calls' [17:28:08.486] - Field: 'globals' [17:28:08.486] - Field: 'stdout' [17:28:08.486] - Field: 'earlySignal' [17:28:08.487] - Field: 'lazy' [17:28:08.487] - Field: 'state' [17:28:08.487] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.488] - Launch lazy future ... [17:28:08.488] Packages needed by the future expression (n = 0): [17:28:08.489] Packages needed by future strategies (n = 0): [17:28:08.490] { [17:28:08.490] { [17:28:08.490] { [17:28:08.490] ...future.startTime <- base::Sys.time() [17:28:08.490] { [17:28:08.490] { [17:28:08.490] { [17:28:08.490] { [17:28:08.490] base::local({ [17:28:08.490] has_future <- base::requireNamespace("future", [17:28:08.490] quietly = TRUE) [17:28:08.490] if (has_future) { [17:28:08.490] ns <- base::getNamespace("future") [17:28:08.490] version <- ns[[".package"]][["version"]] [17:28:08.490] if (is.null(version)) [17:28:08.490] version <- utils::packageVersion("future") [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] version <- NULL [17:28:08.490] } [17:28:08.490] if (!has_future || version < "1.8.0") { [17:28:08.490] info <- base::c(r_version = base::gsub("R version ", [17:28:08.490] "", base::R.version$version.string), [17:28:08.490] platform = base::sprintf("%s (%s-bit)", [17:28:08.490] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.490] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.490] "release", "version")], collapse = " "), [17:28:08.490] hostname = base::Sys.info()[["nodename"]]) [17:28:08.490] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.490] info) [17:28:08.490] info <- base::paste(info, collapse = "; ") [17:28:08.490] if (!has_future) { [17:28:08.490] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.490] info) [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.490] info, version) [17:28:08.490] } [17:28:08.490] base::stop(msg) [17:28:08.490] } [17:28:08.490] }) [17:28:08.490] } [17:28:08.490] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.490] base::options(mc.cores = 1L) [17:28:08.490] } [17:28:08.490] ...future.strategy.old <- future::plan("list") [17:28:08.490] options(future.plan = NULL) [17:28:08.490] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.490] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.490] } [17:28:08.490] ...future.workdir <- getwd() [17:28:08.490] } [17:28:08.490] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.490] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.490] } [17:28:08.490] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.490] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.490] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.490] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.490] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.490] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.490] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.490] base::names(...future.oldOptions)) [17:28:08.490] } [17:28:08.490] if (FALSE) { [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] if (TRUE) { [17:28:08.490] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.490] open = "w") [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.490] windows = "NUL", "/dev/null"), open = "w") [17:28:08.490] } [17:28:08.490] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.490] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.490] base::sink(type = "output", split = FALSE) [17:28:08.490] base::close(...future.stdout) [17:28:08.490] }, add = TRUE) [17:28:08.490] } [17:28:08.490] ...future.frame <- base::sys.nframe() [17:28:08.490] ...future.conditions <- base::list() [17:28:08.490] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.490] if (FALSE) { [17:28:08.490] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.490] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.490] } [17:28:08.490] ...future.result <- base::tryCatch({ [17:28:08.490] base::withCallingHandlers({ [17:28:08.490] ...future.value <- base::withVisible(base::local({ [17:28:08.490] ...future.makeSendCondition <- base::local({ [17:28:08.490] sendCondition <- NULL [17:28:08.490] function(frame = 1L) { [17:28:08.490] if (is.function(sendCondition)) [17:28:08.490] return(sendCondition) [17:28:08.490] ns <- getNamespace("parallel") [17:28:08.490] if (exists("sendData", mode = "function", [17:28:08.490] envir = ns)) { [17:28:08.490] parallel_sendData <- get("sendData", mode = "function", [17:28:08.490] envir = ns) [17:28:08.490] envir <- sys.frame(frame) [17:28:08.490] master <- NULL [17:28:08.490] while (!identical(envir, .GlobalEnv) && [17:28:08.490] !identical(envir, emptyenv())) { [17:28:08.490] if (exists("master", mode = "list", envir = envir, [17:28:08.490] inherits = FALSE)) { [17:28:08.490] master <- get("master", mode = "list", [17:28:08.490] envir = envir, inherits = FALSE) [17:28:08.490] if (inherits(master, c("SOCKnode", [17:28:08.490] "SOCK0node"))) { [17:28:08.490] sendCondition <<- function(cond) { [17:28:08.490] data <- list(type = "VALUE", value = cond, [17:28:08.490] success = TRUE) [17:28:08.490] parallel_sendData(master, data) [17:28:08.490] } [17:28:08.490] return(sendCondition) [17:28:08.490] } [17:28:08.490] } [17:28:08.490] frame <- frame + 1L [17:28:08.490] envir <- sys.frame(frame) [17:28:08.490] } [17:28:08.490] } [17:28:08.490] sendCondition <<- function(cond) NULL [17:28:08.490] } [17:28:08.490] }) [17:28:08.490] withCallingHandlers({ [17:28:08.490] { [17:28:08.490] b <- a * ii [17:28:08.490] a <- 0 [17:28:08.490] b [17:28:08.490] } [17:28:08.490] }, immediateCondition = function(cond) { [17:28:08.490] sendCondition <- ...future.makeSendCondition() [17:28:08.490] sendCondition(cond) [17:28:08.490] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.490] { [17:28:08.490] inherits <- base::inherits [17:28:08.490] invokeRestart <- base::invokeRestart [17:28:08.490] is.null <- base::is.null [17:28:08.490] muffled <- FALSE [17:28:08.490] if (inherits(cond, "message")) { [17:28:08.490] muffled <- grepl(pattern, "muffleMessage") [17:28:08.490] if (muffled) [17:28:08.490] invokeRestart("muffleMessage") [17:28:08.490] } [17:28:08.490] else if (inherits(cond, "warning")) { [17:28:08.490] muffled <- grepl(pattern, "muffleWarning") [17:28:08.490] if (muffled) [17:28:08.490] invokeRestart("muffleWarning") [17:28:08.490] } [17:28:08.490] else if (inherits(cond, "condition")) { [17:28:08.490] if (!is.null(pattern)) { [17:28:08.490] computeRestarts <- base::computeRestarts [17:28:08.490] grepl <- base::grepl [17:28:08.490] restarts <- computeRestarts(cond) [17:28:08.490] for (restart in restarts) { [17:28:08.490] name <- restart$name [17:28:08.490] if (is.null(name)) [17:28:08.490] next [17:28:08.490] if (!grepl(pattern, name)) [17:28:08.490] next [17:28:08.490] invokeRestart(restart) [17:28:08.490] muffled <- TRUE [17:28:08.490] break [17:28:08.490] } [17:28:08.490] } [17:28:08.490] } [17:28:08.490] invisible(muffled) [17:28:08.490] } [17:28:08.490] muffleCondition(cond) [17:28:08.490] }) [17:28:08.490] })) [17:28:08.490] future::FutureResult(value = ...future.value$value, [17:28:08.490] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.490] ...future.rng), globalenv = if (FALSE) [17:28:08.490] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.490] ...future.globalenv.names)) [17:28:08.490] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.490] }, condition = base::local({ [17:28:08.490] c <- base::c [17:28:08.490] inherits <- base::inherits [17:28:08.490] invokeRestart <- base::invokeRestart [17:28:08.490] length <- base::length [17:28:08.490] list <- base::list [17:28:08.490] seq.int <- base::seq.int [17:28:08.490] signalCondition <- base::signalCondition [17:28:08.490] sys.calls <- base::sys.calls [17:28:08.490] `[[` <- base::`[[` [17:28:08.490] `+` <- base::`+` [17:28:08.490] `<<-` <- base::`<<-` [17:28:08.490] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.490] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.490] 3L)] [17:28:08.490] } [17:28:08.490] function(cond) { [17:28:08.490] is_error <- inherits(cond, "error") [17:28:08.490] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.490] NULL) [17:28:08.490] if (is_error) { [17:28:08.490] sessionInformation <- function() { [17:28:08.490] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.490] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.490] search = base::search(), system = base::Sys.info()) [17:28:08.490] } [17:28:08.490] ...future.conditions[[length(...future.conditions) + [17:28:08.490] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.490] cond$call), session = sessionInformation(), [17:28:08.490] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.490] signalCondition(cond) [17:28:08.490] } [17:28:08.490] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.490] "immediateCondition"))) { [17:28:08.490] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.490] ...future.conditions[[length(...future.conditions) + [17:28:08.490] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.490] if (TRUE && !signal) { [17:28:08.490] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.490] { [17:28:08.490] inherits <- base::inherits [17:28:08.490] invokeRestart <- base::invokeRestart [17:28:08.490] is.null <- base::is.null [17:28:08.490] muffled <- FALSE [17:28:08.490] if (inherits(cond, "message")) { [17:28:08.490] muffled <- grepl(pattern, "muffleMessage") [17:28:08.490] if (muffled) [17:28:08.490] invokeRestart("muffleMessage") [17:28:08.490] } [17:28:08.490] else if (inherits(cond, "warning")) { [17:28:08.490] muffled <- grepl(pattern, "muffleWarning") [17:28:08.490] if (muffled) [17:28:08.490] invokeRestart("muffleWarning") [17:28:08.490] } [17:28:08.490] else if (inherits(cond, "condition")) { [17:28:08.490] if (!is.null(pattern)) { [17:28:08.490] computeRestarts <- base::computeRestarts [17:28:08.490] grepl <- base::grepl [17:28:08.490] restarts <- computeRestarts(cond) [17:28:08.490] for (restart in restarts) { [17:28:08.490] name <- restart$name [17:28:08.490] if (is.null(name)) [17:28:08.490] next [17:28:08.490] if (!grepl(pattern, name)) [17:28:08.490] next [17:28:08.490] invokeRestart(restart) [17:28:08.490] muffled <- TRUE [17:28:08.490] break [17:28:08.490] } [17:28:08.490] } [17:28:08.490] } [17:28:08.490] invisible(muffled) [17:28:08.490] } [17:28:08.490] muffleCondition(cond, pattern = "^muffle") [17:28:08.490] } [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] if (TRUE) { [17:28:08.490] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.490] { [17:28:08.490] inherits <- base::inherits [17:28:08.490] invokeRestart <- base::invokeRestart [17:28:08.490] is.null <- base::is.null [17:28:08.490] muffled <- FALSE [17:28:08.490] if (inherits(cond, "message")) { [17:28:08.490] muffled <- grepl(pattern, "muffleMessage") [17:28:08.490] if (muffled) [17:28:08.490] invokeRestart("muffleMessage") [17:28:08.490] } [17:28:08.490] else if (inherits(cond, "warning")) { [17:28:08.490] muffled <- grepl(pattern, "muffleWarning") [17:28:08.490] if (muffled) [17:28:08.490] invokeRestart("muffleWarning") [17:28:08.490] } [17:28:08.490] else if (inherits(cond, "condition")) { [17:28:08.490] if (!is.null(pattern)) { [17:28:08.490] computeRestarts <- base::computeRestarts [17:28:08.490] grepl <- base::grepl [17:28:08.490] restarts <- computeRestarts(cond) [17:28:08.490] for (restart in restarts) { [17:28:08.490] name <- restart$name [17:28:08.490] if (is.null(name)) [17:28:08.490] next [17:28:08.490] if (!grepl(pattern, name)) [17:28:08.490] next [17:28:08.490] invokeRestart(restart) [17:28:08.490] muffled <- TRUE [17:28:08.490] break [17:28:08.490] } [17:28:08.490] } [17:28:08.490] } [17:28:08.490] invisible(muffled) [17:28:08.490] } [17:28:08.490] muffleCondition(cond, pattern = "^muffle") [17:28:08.490] } [17:28:08.490] } [17:28:08.490] } [17:28:08.490] })) [17:28:08.490] }, error = function(ex) { [17:28:08.490] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.490] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.490] ...future.rng), started = ...future.startTime, [17:28:08.490] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.490] version = "1.8"), class = "FutureResult") [17:28:08.490] }, finally = { [17:28:08.490] if (!identical(...future.workdir, getwd())) [17:28:08.490] setwd(...future.workdir) [17:28:08.490] { [17:28:08.490] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.490] ...future.oldOptions$nwarnings <- NULL [17:28:08.490] } [17:28:08.490] base::options(...future.oldOptions) [17:28:08.490] if (.Platform$OS.type == "windows") { [17:28:08.490] old_names <- names(...future.oldEnvVars) [17:28:08.490] envs <- base::Sys.getenv() [17:28:08.490] names <- names(envs) [17:28:08.490] common <- intersect(names, old_names) [17:28:08.490] added <- setdiff(names, old_names) [17:28:08.490] removed <- setdiff(old_names, names) [17:28:08.490] changed <- common[...future.oldEnvVars[common] != [17:28:08.490] envs[common]] [17:28:08.490] NAMES <- toupper(changed) [17:28:08.490] args <- list() [17:28:08.490] for (kk in seq_along(NAMES)) { [17:28:08.490] name <- changed[[kk]] [17:28:08.490] NAME <- NAMES[[kk]] [17:28:08.490] if (name != NAME && is.element(NAME, old_names)) [17:28:08.490] next [17:28:08.490] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.490] } [17:28:08.490] NAMES <- toupper(added) [17:28:08.490] for (kk in seq_along(NAMES)) { [17:28:08.490] name <- added[[kk]] [17:28:08.490] NAME <- NAMES[[kk]] [17:28:08.490] if (name != NAME && is.element(NAME, old_names)) [17:28:08.490] next [17:28:08.490] args[[name]] <- "" [17:28:08.490] } [17:28:08.490] NAMES <- toupper(removed) [17:28:08.490] for (kk in seq_along(NAMES)) { [17:28:08.490] name <- removed[[kk]] [17:28:08.490] NAME <- NAMES[[kk]] [17:28:08.490] if (name != NAME && is.element(NAME, old_names)) [17:28:08.490] next [17:28:08.490] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.490] } [17:28:08.490] if (length(args) > 0) [17:28:08.490] base::do.call(base::Sys.setenv, args = args) [17:28:08.490] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.490] } [17:28:08.490] { [17:28:08.490] if (base::length(...future.futureOptionsAdded) > [17:28:08.490] 0L) { [17:28:08.490] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.490] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.490] base::options(opts) [17:28:08.490] } [17:28:08.490] { [17:28:08.490] { [17:28:08.490] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.490] NULL [17:28:08.490] } [17:28:08.490] options(future.plan = NULL) [17:28:08.490] if (is.na(NA_character_)) [17:28:08.490] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.490] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.490] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.490] .init = FALSE) [17:28:08.490] } [17:28:08.490] } [17:28:08.490] } [17:28:08.490] }) [17:28:08.490] if (TRUE) { [17:28:08.490] base::sink(type = "output", split = FALSE) [17:28:08.490] if (TRUE) { [17:28:08.490] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.490] } [17:28:08.490] else { [17:28:08.490] ...future.result["stdout"] <- base::list(NULL) [17:28:08.490] } [17:28:08.490] base::close(...future.stdout) [17:28:08.490] ...future.stdout <- NULL [17:28:08.490] } [17:28:08.490] ...future.result$conditions <- ...future.conditions [17:28:08.490] ...future.result$finished <- base::Sys.time() [17:28:08.490] ...future.result [17:28:08.490] } [17:28:08.648] Exporting 1 global objects (340 bytes) to cluster node #2 ... [17:28:08.648] Exporting 'ii' (35 bytes) to cluster node #2 ... [17:28:08.649] Exporting 'ii' (35 bytes) to cluster node #2 ... DONE [17:28:08.649] Exporting 1 global objects (340 bytes) to cluster node #2 ... DONE [17:28:08.650] MultisessionFuture started [17:28:08.650] - Launch lazy future ... done [17:28:08.650] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.651] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.652] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.654] - globals found: [4] '{', '<-', '*', 'ii' [17:28:08.654] Searching for globals ... DONE [17:28:08.654] Resolving globals: TRUE [17:28:08.655] Resolving any globals that are futures ... [17:28:08.655] - globals: [4] '{', '<-', '*', 'ii' [17:28:08.655] Resolving any globals that are futures ... DONE [17:28:08.655] Resolving futures part of globals (recursively) ... [17:28:08.656] resolve() on list ... [17:28:08.656] recursive: 99 [17:28:08.656] length: 1 [17:28:08.656] elements: 'ii' [17:28:08.656] length: 0 (resolved future 1) [17:28:08.657] resolve() on list ... DONE [17:28:08.657] - globals: [1] 'ii' [17:28:08.657] Resolving futures part of globals (recursively) ... DONE [17:28:08.657] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:08.658] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:08.658] - globals: [1] 'ii' [17:28:08.658] [17:28:08.658] getGlobalsAndPackages() ... DONE [17:28:08.659] run() for 'Future' ... [17:28:08.659] - state: 'created' [17:28:08.659] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.675] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.675] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.675] - Field: 'node' [17:28:08.675] - Field: 'label' [17:28:08.676] - Field: 'local' [17:28:08.676] - Field: 'owner' [17:28:08.676] - Field: 'envir' [17:28:08.676] - Field: 'workers' [17:28:08.676] - Field: 'packages' [17:28:08.677] - Field: 'gc' [17:28:08.677] - Field: 'conditions' [17:28:08.677] - Field: 'persistent' [17:28:08.677] - Field: 'expr' [17:28:08.677] - Field: 'uuid' [17:28:08.677] - Field: 'seed' [17:28:08.678] - Field: 'version' [17:28:08.678] - Field: 'result' [17:28:08.678] - Field: 'asynchronous' [17:28:08.678] - Field: 'calls' [17:28:08.678] - Field: 'globals' [17:28:08.678] - Field: 'stdout' [17:28:08.679] - Field: 'earlySignal' [17:28:08.679] - Field: 'lazy' [17:28:08.679] - Field: 'state' [17:28:08.679] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.679] - Launch lazy future ... [17:28:08.680] Packages needed by the future expression (n = 0): [17:28:08.680] Packages needed by future strategies (n = 0): [17:28:08.681] { [17:28:08.681] { [17:28:08.681] { [17:28:08.681] ...future.startTime <- base::Sys.time() [17:28:08.681] { [17:28:08.681] { [17:28:08.681] { [17:28:08.681] { [17:28:08.681] base::local({ [17:28:08.681] has_future <- base::requireNamespace("future", [17:28:08.681] quietly = TRUE) [17:28:08.681] if (has_future) { [17:28:08.681] ns <- base::getNamespace("future") [17:28:08.681] version <- ns[[".package"]][["version"]] [17:28:08.681] if (is.null(version)) [17:28:08.681] version <- utils::packageVersion("future") [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] version <- NULL [17:28:08.681] } [17:28:08.681] if (!has_future || version < "1.8.0") { [17:28:08.681] info <- base::c(r_version = base::gsub("R version ", [17:28:08.681] "", base::R.version$version.string), [17:28:08.681] platform = base::sprintf("%s (%s-bit)", [17:28:08.681] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.681] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.681] "release", "version")], collapse = " "), [17:28:08.681] hostname = base::Sys.info()[["nodename"]]) [17:28:08.681] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.681] info) [17:28:08.681] info <- base::paste(info, collapse = "; ") [17:28:08.681] if (!has_future) { [17:28:08.681] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.681] info) [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.681] info, version) [17:28:08.681] } [17:28:08.681] base::stop(msg) [17:28:08.681] } [17:28:08.681] }) [17:28:08.681] } [17:28:08.681] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.681] base::options(mc.cores = 1L) [17:28:08.681] } [17:28:08.681] ...future.strategy.old <- future::plan("list") [17:28:08.681] options(future.plan = NULL) [17:28:08.681] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.681] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.681] } [17:28:08.681] ...future.workdir <- getwd() [17:28:08.681] } [17:28:08.681] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.681] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.681] } [17:28:08.681] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.681] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.681] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.681] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.681] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.681] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.681] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.681] base::names(...future.oldOptions)) [17:28:08.681] } [17:28:08.681] if (FALSE) { [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] if (TRUE) { [17:28:08.681] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.681] open = "w") [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.681] windows = "NUL", "/dev/null"), open = "w") [17:28:08.681] } [17:28:08.681] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.681] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.681] base::sink(type = "output", split = FALSE) [17:28:08.681] base::close(...future.stdout) [17:28:08.681] }, add = TRUE) [17:28:08.681] } [17:28:08.681] ...future.frame <- base::sys.nframe() [17:28:08.681] ...future.conditions <- base::list() [17:28:08.681] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.681] if (FALSE) { [17:28:08.681] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.681] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.681] } [17:28:08.681] ...future.result <- base::tryCatch({ [17:28:08.681] base::withCallingHandlers({ [17:28:08.681] ...future.value <- base::withVisible(base::local({ [17:28:08.681] ...future.makeSendCondition <- base::local({ [17:28:08.681] sendCondition <- NULL [17:28:08.681] function(frame = 1L) { [17:28:08.681] if (is.function(sendCondition)) [17:28:08.681] return(sendCondition) [17:28:08.681] ns <- getNamespace("parallel") [17:28:08.681] if (exists("sendData", mode = "function", [17:28:08.681] envir = ns)) { [17:28:08.681] parallel_sendData <- get("sendData", mode = "function", [17:28:08.681] envir = ns) [17:28:08.681] envir <- sys.frame(frame) [17:28:08.681] master <- NULL [17:28:08.681] while (!identical(envir, .GlobalEnv) && [17:28:08.681] !identical(envir, emptyenv())) { [17:28:08.681] if (exists("master", mode = "list", envir = envir, [17:28:08.681] inherits = FALSE)) { [17:28:08.681] master <- get("master", mode = "list", [17:28:08.681] envir = envir, inherits = FALSE) [17:28:08.681] if (inherits(master, c("SOCKnode", [17:28:08.681] "SOCK0node"))) { [17:28:08.681] sendCondition <<- function(cond) { [17:28:08.681] data <- list(type = "VALUE", value = cond, [17:28:08.681] success = TRUE) [17:28:08.681] parallel_sendData(master, data) [17:28:08.681] } [17:28:08.681] return(sendCondition) [17:28:08.681] } [17:28:08.681] } [17:28:08.681] frame <- frame + 1L [17:28:08.681] envir <- sys.frame(frame) [17:28:08.681] } [17:28:08.681] } [17:28:08.681] sendCondition <<- function(cond) NULL [17:28:08.681] } [17:28:08.681] }) [17:28:08.681] withCallingHandlers({ [17:28:08.681] { [17:28:08.681] b <- a * ii [17:28:08.681] a <- 0 [17:28:08.681] b [17:28:08.681] } [17:28:08.681] }, immediateCondition = function(cond) { [17:28:08.681] sendCondition <- ...future.makeSendCondition() [17:28:08.681] sendCondition(cond) [17:28:08.681] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.681] { [17:28:08.681] inherits <- base::inherits [17:28:08.681] invokeRestart <- base::invokeRestart [17:28:08.681] is.null <- base::is.null [17:28:08.681] muffled <- FALSE [17:28:08.681] if (inherits(cond, "message")) { [17:28:08.681] muffled <- grepl(pattern, "muffleMessage") [17:28:08.681] if (muffled) [17:28:08.681] invokeRestart("muffleMessage") [17:28:08.681] } [17:28:08.681] else if (inherits(cond, "warning")) { [17:28:08.681] muffled <- grepl(pattern, "muffleWarning") [17:28:08.681] if (muffled) [17:28:08.681] invokeRestart("muffleWarning") [17:28:08.681] } [17:28:08.681] else if (inherits(cond, "condition")) { [17:28:08.681] if (!is.null(pattern)) { [17:28:08.681] computeRestarts <- base::computeRestarts [17:28:08.681] grepl <- base::grepl [17:28:08.681] restarts <- computeRestarts(cond) [17:28:08.681] for (restart in restarts) { [17:28:08.681] name <- restart$name [17:28:08.681] if (is.null(name)) [17:28:08.681] next [17:28:08.681] if (!grepl(pattern, name)) [17:28:08.681] next [17:28:08.681] invokeRestart(restart) [17:28:08.681] muffled <- TRUE [17:28:08.681] break [17:28:08.681] } [17:28:08.681] } [17:28:08.681] } [17:28:08.681] invisible(muffled) [17:28:08.681] } [17:28:08.681] muffleCondition(cond) [17:28:08.681] }) [17:28:08.681] })) [17:28:08.681] future::FutureResult(value = ...future.value$value, [17:28:08.681] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.681] ...future.rng), globalenv = if (FALSE) [17:28:08.681] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.681] ...future.globalenv.names)) [17:28:08.681] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.681] }, condition = base::local({ [17:28:08.681] c <- base::c [17:28:08.681] inherits <- base::inherits [17:28:08.681] invokeRestart <- base::invokeRestart [17:28:08.681] length <- base::length [17:28:08.681] list <- base::list [17:28:08.681] seq.int <- base::seq.int [17:28:08.681] signalCondition <- base::signalCondition [17:28:08.681] sys.calls <- base::sys.calls [17:28:08.681] `[[` <- base::`[[` [17:28:08.681] `+` <- base::`+` [17:28:08.681] `<<-` <- base::`<<-` [17:28:08.681] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.681] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.681] 3L)] [17:28:08.681] } [17:28:08.681] function(cond) { [17:28:08.681] is_error <- inherits(cond, "error") [17:28:08.681] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.681] NULL) [17:28:08.681] if (is_error) { [17:28:08.681] sessionInformation <- function() { [17:28:08.681] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.681] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.681] search = base::search(), system = base::Sys.info()) [17:28:08.681] } [17:28:08.681] ...future.conditions[[length(...future.conditions) + [17:28:08.681] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.681] cond$call), session = sessionInformation(), [17:28:08.681] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.681] signalCondition(cond) [17:28:08.681] } [17:28:08.681] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.681] "immediateCondition"))) { [17:28:08.681] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.681] ...future.conditions[[length(...future.conditions) + [17:28:08.681] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.681] if (TRUE && !signal) { [17:28:08.681] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.681] { [17:28:08.681] inherits <- base::inherits [17:28:08.681] invokeRestart <- base::invokeRestart [17:28:08.681] is.null <- base::is.null [17:28:08.681] muffled <- FALSE [17:28:08.681] if (inherits(cond, "message")) { [17:28:08.681] muffled <- grepl(pattern, "muffleMessage") [17:28:08.681] if (muffled) [17:28:08.681] invokeRestart("muffleMessage") [17:28:08.681] } [17:28:08.681] else if (inherits(cond, "warning")) { [17:28:08.681] muffled <- grepl(pattern, "muffleWarning") [17:28:08.681] if (muffled) [17:28:08.681] invokeRestart("muffleWarning") [17:28:08.681] } [17:28:08.681] else if (inherits(cond, "condition")) { [17:28:08.681] if (!is.null(pattern)) { [17:28:08.681] computeRestarts <- base::computeRestarts [17:28:08.681] grepl <- base::grepl [17:28:08.681] restarts <- computeRestarts(cond) [17:28:08.681] for (restart in restarts) { [17:28:08.681] name <- restart$name [17:28:08.681] if (is.null(name)) [17:28:08.681] next [17:28:08.681] if (!grepl(pattern, name)) [17:28:08.681] next [17:28:08.681] invokeRestart(restart) [17:28:08.681] muffled <- TRUE [17:28:08.681] break [17:28:08.681] } [17:28:08.681] } [17:28:08.681] } [17:28:08.681] invisible(muffled) [17:28:08.681] } [17:28:08.681] muffleCondition(cond, pattern = "^muffle") [17:28:08.681] } [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] if (TRUE) { [17:28:08.681] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.681] { [17:28:08.681] inherits <- base::inherits [17:28:08.681] invokeRestart <- base::invokeRestart [17:28:08.681] is.null <- base::is.null [17:28:08.681] muffled <- FALSE [17:28:08.681] if (inherits(cond, "message")) { [17:28:08.681] muffled <- grepl(pattern, "muffleMessage") [17:28:08.681] if (muffled) [17:28:08.681] invokeRestart("muffleMessage") [17:28:08.681] } [17:28:08.681] else if (inherits(cond, "warning")) { [17:28:08.681] muffled <- grepl(pattern, "muffleWarning") [17:28:08.681] if (muffled) [17:28:08.681] invokeRestart("muffleWarning") [17:28:08.681] } [17:28:08.681] else if (inherits(cond, "condition")) { [17:28:08.681] if (!is.null(pattern)) { [17:28:08.681] computeRestarts <- base::computeRestarts [17:28:08.681] grepl <- base::grepl [17:28:08.681] restarts <- computeRestarts(cond) [17:28:08.681] for (restart in restarts) { [17:28:08.681] name <- restart$name [17:28:08.681] if (is.null(name)) [17:28:08.681] next [17:28:08.681] if (!grepl(pattern, name)) [17:28:08.681] next [17:28:08.681] invokeRestart(restart) [17:28:08.681] muffled <- TRUE [17:28:08.681] break [17:28:08.681] } [17:28:08.681] } [17:28:08.681] } [17:28:08.681] invisible(muffled) [17:28:08.681] } [17:28:08.681] muffleCondition(cond, pattern = "^muffle") [17:28:08.681] } [17:28:08.681] } [17:28:08.681] } [17:28:08.681] })) [17:28:08.681] }, error = function(ex) { [17:28:08.681] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.681] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.681] ...future.rng), started = ...future.startTime, [17:28:08.681] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.681] version = "1.8"), class = "FutureResult") [17:28:08.681] }, finally = { [17:28:08.681] if (!identical(...future.workdir, getwd())) [17:28:08.681] setwd(...future.workdir) [17:28:08.681] { [17:28:08.681] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.681] ...future.oldOptions$nwarnings <- NULL [17:28:08.681] } [17:28:08.681] base::options(...future.oldOptions) [17:28:08.681] if (.Platform$OS.type == "windows") { [17:28:08.681] old_names <- names(...future.oldEnvVars) [17:28:08.681] envs <- base::Sys.getenv() [17:28:08.681] names <- names(envs) [17:28:08.681] common <- intersect(names, old_names) [17:28:08.681] added <- setdiff(names, old_names) [17:28:08.681] removed <- setdiff(old_names, names) [17:28:08.681] changed <- common[...future.oldEnvVars[common] != [17:28:08.681] envs[common]] [17:28:08.681] NAMES <- toupper(changed) [17:28:08.681] args <- list() [17:28:08.681] for (kk in seq_along(NAMES)) { [17:28:08.681] name <- changed[[kk]] [17:28:08.681] NAME <- NAMES[[kk]] [17:28:08.681] if (name != NAME && is.element(NAME, old_names)) [17:28:08.681] next [17:28:08.681] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.681] } [17:28:08.681] NAMES <- toupper(added) [17:28:08.681] for (kk in seq_along(NAMES)) { [17:28:08.681] name <- added[[kk]] [17:28:08.681] NAME <- NAMES[[kk]] [17:28:08.681] if (name != NAME && is.element(NAME, old_names)) [17:28:08.681] next [17:28:08.681] args[[name]] <- "" [17:28:08.681] } [17:28:08.681] NAMES <- toupper(removed) [17:28:08.681] for (kk in seq_along(NAMES)) { [17:28:08.681] name <- removed[[kk]] [17:28:08.681] NAME <- NAMES[[kk]] [17:28:08.681] if (name != NAME && is.element(NAME, old_names)) [17:28:08.681] next [17:28:08.681] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.681] } [17:28:08.681] if (length(args) > 0) [17:28:08.681] base::do.call(base::Sys.setenv, args = args) [17:28:08.681] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.681] } [17:28:08.681] { [17:28:08.681] if (base::length(...future.futureOptionsAdded) > [17:28:08.681] 0L) { [17:28:08.681] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.681] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.681] base::options(opts) [17:28:08.681] } [17:28:08.681] { [17:28:08.681] { [17:28:08.681] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.681] NULL [17:28:08.681] } [17:28:08.681] options(future.plan = NULL) [17:28:08.681] if (is.na(NA_character_)) [17:28:08.681] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.681] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.681] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.681] .init = FALSE) [17:28:08.681] } [17:28:08.681] } [17:28:08.681] } [17:28:08.681] }) [17:28:08.681] if (TRUE) { [17:28:08.681] base::sink(type = "output", split = FALSE) [17:28:08.681] if (TRUE) { [17:28:08.681] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.681] } [17:28:08.681] else { [17:28:08.681] ...future.result["stdout"] <- base::list(NULL) [17:28:08.681] } [17:28:08.681] base::close(...future.stdout) [17:28:08.681] ...future.stdout <- NULL [17:28:08.681] } [17:28:08.681] ...future.result$conditions <- ...future.conditions [17:28:08.681] ...future.result$finished <- base::Sys.time() [17:28:08.681] ...future.result [17:28:08.681] } [17:28:08.685] Poll #1 (0): usedNodes() = 2, workers = 2 [17:28:08.706] receiveMessageFromWorker() for ClusterFuture ... [17:28:08.706] - Validating connection of MultisessionFuture [17:28:08.706] - received message: FutureResult [17:28:08.707] - Received FutureResult [17:28:08.707] - Erased future from FutureRegistry [17:28:08.707] result() for ClusterFuture ... [17:28:08.707] - result already collected: FutureResult [17:28:08.707] result() for ClusterFuture ... done [17:28:08.708] signalConditions() ... [17:28:08.708] - include = 'immediateCondition' [17:28:08.708] - exclude = [17:28:08.708] - resignal = FALSE [17:28:08.708] - Number of conditions: 1 [17:28:08.708] signalConditions() ... done [17:28:08.709] receiveMessageFromWorker() for ClusterFuture ... done [17:28:08.709] result() for ClusterFuture ... [17:28:08.709] - result already collected: FutureResult [17:28:08.710] result() for ClusterFuture ... done [17:28:08.710] result() for ClusterFuture ... [17:28:08.710] - result already collected: FutureResult [17:28:08.710] result() for ClusterFuture ... done [17:28:08.711] signalConditions() ... [17:28:08.711] - include = 'immediateCondition' [17:28:08.711] - exclude = [17:28:08.712] - resignal = FALSE [17:28:08.712] - Number of conditions: 1 [17:28:08.712] signalConditions() ... done [17:28:08.713] Exporting 1 global objects (340 bytes) to cluster node #1 ... [17:28:08.713] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:28:08.714] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:28:08.714] Exporting 1 global objects (340 bytes) to cluster node #1 ... DONE [17:28:08.715] MultisessionFuture started [17:28:08.715] - Launch lazy future ... done [17:28:08.715] run() for 'MultisessionFuture' ... done [17:28:08.716] result() for ClusterFuture ... [17:28:08.716] - result already collected: FutureResult [17:28:08.716] result() for ClusterFuture ... done [17:28:08.716] result() for ClusterFuture ... [17:28:08.716] - result already collected: FutureResult [17:28:08.716] result() for ClusterFuture ... done [17:28:08.717] signalConditions() ... [17:28:08.717] - include = 'immediateCondition' [17:28:08.717] - exclude = [17:28:08.717] - resignal = FALSE [17:28:08.717] - Number of conditions: 1 [17:28:08.717] signalConditions() ... done [17:28:08.718] Future state: 'finished' [17:28:08.718] result() for ClusterFuture ... [17:28:08.718] - result already collected: FutureResult [17:28:08.718] result() for ClusterFuture ... done [17:28:08.718] signalConditions() ... [17:28:08.718] - include = 'condition' [17:28:08.719] - exclude = 'immediateCondition' [17:28:08.719] - resignal = TRUE [17:28:08.719] - Number of conditions: 1 [17:28:08.719] - Condition #1: 'simpleError', 'error', 'condition' [17:28:08.719] signalConditions() ... done List of 1 $ res: 'try-error' chr "Error in eval(quote({ : object 'a' not found\n" ..- attr(*, "condition")=List of 3 .. ..$ message : chr "object 'a' not found" .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" .. .. ..$ calls :List of 9 .. .. .. ..$ : language res[[ii]] %<-% { b <- a * ii ... .. .. .. ..$ : language futureAssignInternal(target, expr, envir = envir, substitute = FALSE) .. .. .. ..$ : language futureAssign(name, expr, envir = envir, assign.env = assign.env, substitute = FALSE) .. .. .. ..$ : language do.call(future::future, args = future.args, envir = assign.env) .. .. .. ..$ : language (function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = FALSE, globals = TRUE, pack| __truncated__ ... .. .. .. ..$ : language Future(expr, substitute = FALSE, envir = envir, lazy = TRUE, seed = seed, globals = globals, packages = pack| __truncated__ ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. ..$ session :List of 6 .. .. .. ..$ r :List of 15 .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" .. .. .. .. ..$ arch : chr "x86_64" .. .. .. .. ..$ os : chr "mingw32" .. .. .. .. ..$ crt : chr "ucrt" .. .. .. .. ..$ system : chr "x86_64, mingw32" .. .. .. .. ..$ status : chr "Under development (unstable)" .. .. .. .. ..$ major : chr "4" .. .. .. .. ..$ minor : chr "5.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "07" .. .. .. .. ..$ day : chr "28" .. .. .. .. ..$ svn rev : chr "86931" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-07-28 r86931 ucrt)" .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... .. .. .. ..$ search : chr [1:9] ".GlobalEnv" "package:stats" "package:graphics" "package:grDevices" ... .. .. .. ..$ system : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. .. ..$ timestamp: POSIXct[1:1], format: "2024-07-29 17:28:08" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.759] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.760] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.764] - globals found: [4] '{', '<-', '*', 'ii' [17:28:08.764] Searching for globals ... DONE [17:28:08.764] Resolving globals: TRUE [17:28:08.765] Resolving any globals that are futures ... [17:28:08.765] - globals: [4] '{', '<-', '*', 'ii' [17:28:08.765] Resolving any globals that are futures ... DONE [17:28:08.766] Resolving futures part of globals (recursively) ... [17:28:08.767] resolve() on list ... [17:28:08.767] recursive: 99 [17:28:08.767] length: 1 [17:28:08.768] elements: 'ii' [17:28:08.768] length: 0 (resolved future 1) [17:28:08.768] resolve() on list ... DONE [17:28:08.769] - globals: [1] 'ii' [17:28:08.769] Resolving futures part of globals (recursively) ... DONE [17:28:08.769] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:08.770] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:08.771] - globals: [1] 'ii' [17:28:08.771] [17:28:08.771] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.773] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.774] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.777] - globals found: [4] '{', '<-', '*', 'ii' [17:28:08.777] Searching for globals ... DONE [17:28:08.777] Resolving globals: TRUE [17:28:08.778] Resolving any globals that are futures ... [17:28:08.778] - globals: [4] '{', '<-', '*', 'ii' [17:28:08.778] Resolving any globals that are futures ... DONE [17:28:08.779] Resolving futures part of globals (recursively) ... [17:28:08.780] resolve() on list ... [17:28:08.780] recursive: 99 [17:28:08.780] length: 1 [17:28:08.781] elements: 'ii' [17:28:08.781] length: 0 (resolved future 1) [17:28:08.781] resolve() on list ... DONE [17:28:08.782] - globals: [1] 'ii' [17:28:08.782] Resolving futures part of globals (recursively) ... DONE [17:28:08.782] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:08.783] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:08.784] - globals: [1] 'ii' [17:28:08.784] [17:28:08.784] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.786] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.786] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.789] - globals found: [4] '{', '<-', '*', 'ii' [17:28:08.790] Searching for globals ... DONE [17:28:08.790] Resolving globals: TRUE [17:28:08.790] Resolving any globals that are futures ... [17:28:08.791] - globals: [4] '{', '<-', '*', 'ii' [17:28:08.791] Resolving any globals that are futures ... DONE [17:28:08.792] Resolving futures part of globals (recursively) ... [17:28:08.792] resolve() on list ... [17:28:08.793] recursive: 99 [17:28:08.793] length: 1 [17:28:08.793] elements: 'ii' [17:28:08.794] length: 0 (resolved future 1) [17:28:08.794] resolve() on list ... DONE [17:28:08.794] - globals: [1] 'ii' [17:28:08.795] Resolving futures part of globals (recursively) ... DONE [17:28:08.795] The total size of the 1 globals is 35 bytes (35 bytes) [17:28:08.796] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 35 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (35 bytes of class 'numeric') [17:28:08.796] - globals: [1] 'ii' [17:28:08.797] [17:28:08.797] getGlobalsAndPackages() ... DONE [17:28:08.798] run() for 'Future' ... [17:28:08.798] - state: 'created' [17:28:08.799] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.819] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.820] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.820] - Field: 'node' [17:28:08.820] - Field: 'label' [17:28:08.821] - Field: 'local' [17:28:08.821] - Field: 'owner' [17:28:08.821] - Field: 'envir' [17:28:08.822] - Field: 'workers' [17:28:08.822] - Field: 'packages' [17:28:08.822] - Field: 'gc' [17:28:08.822] - Field: 'conditions' [17:28:08.823] - Field: 'persistent' [17:28:08.823] - Field: 'expr' [17:28:08.823] - Field: 'uuid' [17:28:08.824] - Field: 'seed' [17:28:08.824] - Field: 'version' [17:28:08.824] - Field: 'result' [17:28:08.824] - Field: 'asynchronous' [17:28:08.825] - Field: 'calls' [17:28:08.825] - Field: 'globals' [17:28:08.825] - Field: 'stdout' [17:28:08.825] - Field: 'earlySignal' [17:28:08.826] - Field: 'lazy' [17:28:08.826] - Field: 'state' [17:28:08.826] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.826] - Launch lazy future ... [17:28:08.827] Packages needed by the future expression (n = 0): [17:28:08.827] Packages needed by future strategies (n = 0): [17:28:08.828] { [17:28:08.828] { [17:28:08.828] { [17:28:08.828] ...future.startTime <- base::Sys.time() [17:28:08.828] { [17:28:08.828] { [17:28:08.828] { [17:28:08.828] { [17:28:08.828] base::local({ [17:28:08.828] has_future <- base::requireNamespace("future", [17:28:08.828] quietly = TRUE) [17:28:08.828] if (has_future) { [17:28:08.828] ns <- base::getNamespace("future") [17:28:08.828] version <- ns[[".package"]][["version"]] [17:28:08.828] if (is.null(version)) [17:28:08.828] version <- utils::packageVersion("future") [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] version <- NULL [17:28:08.828] } [17:28:08.828] if (!has_future || version < "1.8.0") { [17:28:08.828] info <- base::c(r_version = base::gsub("R version ", [17:28:08.828] "", base::R.version$version.string), [17:28:08.828] platform = base::sprintf("%s (%s-bit)", [17:28:08.828] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.828] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.828] "release", "version")], collapse = " "), [17:28:08.828] hostname = base::Sys.info()[["nodename"]]) [17:28:08.828] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.828] info) [17:28:08.828] info <- base::paste(info, collapse = "; ") [17:28:08.828] if (!has_future) { [17:28:08.828] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.828] info) [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.828] info, version) [17:28:08.828] } [17:28:08.828] base::stop(msg) [17:28:08.828] } [17:28:08.828] }) [17:28:08.828] } [17:28:08.828] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.828] base::options(mc.cores = 1L) [17:28:08.828] } [17:28:08.828] ...future.strategy.old <- future::plan("list") [17:28:08.828] options(future.plan = NULL) [17:28:08.828] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.828] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.828] } [17:28:08.828] ...future.workdir <- getwd() [17:28:08.828] } [17:28:08.828] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.828] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.828] } [17:28:08.828] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.828] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.828] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.828] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.828] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.828] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.828] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.828] base::names(...future.oldOptions)) [17:28:08.828] } [17:28:08.828] if (FALSE) { [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] if (TRUE) { [17:28:08.828] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.828] open = "w") [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.828] windows = "NUL", "/dev/null"), open = "w") [17:28:08.828] } [17:28:08.828] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.828] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.828] base::sink(type = "output", split = FALSE) [17:28:08.828] base::close(...future.stdout) [17:28:08.828] }, add = TRUE) [17:28:08.828] } [17:28:08.828] ...future.frame <- base::sys.nframe() [17:28:08.828] ...future.conditions <- base::list() [17:28:08.828] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.828] if (FALSE) { [17:28:08.828] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.828] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.828] } [17:28:08.828] ...future.result <- base::tryCatch({ [17:28:08.828] base::withCallingHandlers({ [17:28:08.828] ...future.value <- base::withVisible(base::local({ [17:28:08.828] ...future.makeSendCondition <- base::local({ [17:28:08.828] sendCondition <- NULL [17:28:08.828] function(frame = 1L) { [17:28:08.828] if (is.function(sendCondition)) [17:28:08.828] return(sendCondition) [17:28:08.828] ns <- getNamespace("parallel") [17:28:08.828] if (exists("sendData", mode = "function", [17:28:08.828] envir = ns)) { [17:28:08.828] parallel_sendData <- get("sendData", mode = "function", [17:28:08.828] envir = ns) [17:28:08.828] envir <- sys.frame(frame) [17:28:08.828] master <- NULL [17:28:08.828] while (!identical(envir, .GlobalEnv) && [17:28:08.828] !identical(envir, emptyenv())) { [17:28:08.828] if (exists("master", mode = "list", envir = envir, [17:28:08.828] inherits = FALSE)) { [17:28:08.828] master <- get("master", mode = "list", [17:28:08.828] envir = envir, inherits = FALSE) [17:28:08.828] if (inherits(master, c("SOCKnode", [17:28:08.828] "SOCK0node"))) { [17:28:08.828] sendCondition <<- function(cond) { [17:28:08.828] data <- list(type = "VALUE", value = cond, [17:28:08.828] success = TRUE) [17:28:08.828] parallel_sendData(master, data) [17:28:08.828] } [17:28:08.828] return(sendCondition) [17:28:08.828] } [17:28:08.828] } [17:28:08.828] frame <- frame + 1L [17:28:08.828] envir <- sys.frame(frame) [17:28:08.828] } [17:28:08.828] } [17:28:08.828] sendCondition <<- function(cond) NULL [17:28:08.828] } [17:28:08.828] }) [17:28:08.828] withCallingHandlers({ [17:28:08.828] { [17:28:08.828] b <- a * ii [17:28:08.828] a <- 0 [17:28:08.828] b [17:28:08.828] } [17:28:08.828] }, immediateCondition = function(cond) { [17:28:08.828] sendCondition <- ...future.makeSendCondition() [17:28:08.828] sendCondition(cond) [17:28:08.828] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.828] { [17:28:08.828] inherits <- base::inherits [17:28:08.828] invokeRestart <- base::invokeRestart [17:28:08.828] is.null <- base::is.null [17:28:08.828] muffled <- FALSE [17:28:08.828] if (inherits(cond, "message")) { [17:28:08.828] muffled <- grepl(pattern, "muffleMessage") [17:28:08.828] if (muffled) [17:28:08.828] invokeRestart("muffleMessage") [17:28:08.828] } [17:28:08.828] else if (inherits(cond, "warning")) { [17:28:08.828] muffled <- grepl(pattern, "muffleWarning") [17:28:08.828] if (muffled) [17:28:08.828] invokeRestart("muffleWarning") [17:28:08.828] } [17:28:08.828] else if (inherits(cond, "condition")) { [17:28:08.828] if (!is.null(pattern)) { [17:28:08.828] computeRestarts <- base::computeRestarts [17:28:08.828] grepl <- base::grepl [17:28:08.828] restarts <- computeRestarts(cond) [17:28:08.828] for (restart in restarts) { [17:28:08.828] name <- restart$name [17:28:08.828] if (is.null(name)) [17:28:08.828] next [17:28:08.828] if (!grepl(pattern, name)) [17:28:08.828] next [17:28:08.828] invokeRestart(restart) [17:28:08.828] muffled <- TRUE [17:28:08.828] break [17:28:08.828] } [17:28:08.828] } [17:28:08.828] } [17:28:08.828] invisible(muffled) [17:28:08.828] } [17:28:08.828] muffleCondition(cond) [17:28:08.828] }) [17:28:08.828] })) [17:28:08.828] future::FutureResult(value = ...future.value$value, [17:28:08.828] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.828] ...future.rng), globalenv = if (FALSE) [17:28:08.828] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.828] ...future.globalenv.names)) [17:28:08.828] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.828] }, condition = base::local({ [17:28:08.828] c <- base::c [17:28:08.828] inherits <- base::inherits [17:28:08.828] invokeRestart <- base::invokeRestart [17:28:08.828] length <- base::length [17:28:08.828] list <- base::list [17:28:08.828] seq.int <- base::seq.int [17:28:08.828] signalCondition <- base::signalCondition [17:28:08.828] sys.calls <- base::sys.calls [17:28:08.828] `[[` <- base::`[[` [17:28:08.828] `+` <- base::`+` [17:28:08.828] `<<-` <- base::`<<-` [17:28:08.828] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.828] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.828] 3L)] [17:28:08.828] } [17:28:08.828] function(cond) { [17:28:08.828] is_error <- inherits(cond, "error") [17:28:08.828] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.828] NULL) [17:28:08.828] if (is_error) { [17:28:08.828] sessionInformation <- function() { [17:28:08.828] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.828] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.828] search = base::search(), system = base::Sys.info()) [17:28:08.828] } [17:28:08.828] ...future.conditions[[length(...future.conditions) + [17:28:08.828] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.828] cond$call), session = sessionInformation(), [17:28:08.828] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.828] signalCondition(cond) [17:28:08.828] } [17:28:08.828] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.828] "immediateCondition"))) { [17:28:08.828] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.828] ...future.conditions[[length(...future.conditions) + [17:28:08.828] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.828] if (TRUE && !signal) { [17:28:08.828] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.828] { [17:28:08.828] inherits <- base::inherits [17:28:08.828] invokeRestart <- base::invokeRestart [17:28:08.828] is.null <- base::is.null [17:28:08.828] muffled <- FALSE [17:28:08.828] if (inherits(cond, "message")) { [17:28:08.828] muffled <- grepl(pattern, "muffleMessage") [17:28:08.828] if (muffled) [17:28:08.828] invokeRestart("muffleMessage") [17:28:08.828] } [17:28:08.828] else if (inherits(cond, "warning")) { [17:28:08.828] muffled <- grepl(pattern, "muffleWarning") [17:28:08.828] if (muffled) [17:28:08.828] invokeRestart("muffleWarning") [17:28:08.828] } [17:28:08.828] else if (inherits(cond, "condition")) { [17:28:08.828] if (!is.null(pattern)) { [17:28:08.828] computeRestarts <- base::computeRestarts [17:28:08.828] grepl <- base::grepl [17:28:08.828] restarts <- computeRestarts(cond) [17:28:08.828] for (restart in restarts) { [17:28:08.828] name <- restart$name [17:28:08.828] if (is.null(name)) [17:28:08.828] next [17:28:08.828] if (!grepl(pattern, name)) [17:28:08.828] next [17:28:08.828] invokeRestart(restart) [17:28:08.828] muffled <- TRUE [17:28:08.828] break [17:28:08.828] } [17:28:08.828] } [17:28:08.828] } [17:28:08.828] invisible(muffled) [17:28:08.828] } [17:28:08.828] muffleCondition(cond, pattern = "^muffle") [17:28:08.828] } [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] if (TRUE) { [17:28:08.828] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.828] { [17:28:08.828] inherits <- base::inherits [17:28:08.828] invokeRestart <- base::invokeRestart [17:28:08.828] is.null <- base::is.null [17:28:08.828] muffled <- FALSE [17:28:08.828] if (inherits(cond, "message")) { [17:28:08.828] muffled <- grepl(pattern, "muffleMessage") [17:28:08.828] if (muffled) [17:28:08.828] invokeRestart("muffleMessage") [17:28:08.828] } [17:28:08.828] else if (inherits(cond, "warning")) { [17:28:08.828] muffled <- grepl(pattern, "muffleWarning") [17:28:08.828] if (muffled) [17:28:08.828] invokeRestart("muffleWarning") [17:28:08.828] } [17:28:08.828] else if (inherits(cond, "condition")) { [17:28:08.828] if (!is.null(pattern)) { [17:28:08.828] computeRestarts <- base::computeRestarts [17:28:08.828] grepl <- base::grepl [17:28:08.828] restarts <- computeRestarts(cond) [17:28:08.828] for (restart in restarts) { [17:28:08.828] name <- restart$name [17:28:08.828] if (is.null(name)) [17:28:08.828] next [17:28:08.828] if (!grepl(pattern, name)) [17:28:08.828] next [17:28:08.828] invokeRestart(restart) [17:28:08.828] muffled <- TRUE [17:28:08.828] break [17:28:08.828] } [17:28:08.828] } [17:28:08.828] } [17:28:08.828] invisible(muffled) [17:28:08.828] } [17:28:08.828] muffleCondition(cond, pattern = "^muffle") [17:28:08.828] } [17:28:08.828] } [17:28:08.828] } [17:28:08.828] })) [17:28:08.828] }, error = function(ex) { [17:28:08.828] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.828] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.828] ...future.rng), started = ...future.startTime, [17:28:08.828] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.828] version = "1.8"), class = "FutureResult") [17:28:08.828] }, finally = { [17:28:08.828] if (!identical(...future.workdir, getwd())) [17:28:08.828] setwd(...future.workdir) [17:28:08.828] { [17:28:08.828] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.828] ...future.oldOptions$nwarnings <- NULL [17:28:08.828] } [17:28:08.828] base::options(...future.oldOptions) [17:28:08.828] if (.Platform$OS.type == "windows") { [17:28:08.828] old_names <- names(...future.oldEnvVars) [17:28:08.828] envs <- base::Sys.getenv() [17:28:08.828] names <- names(envs) [17:28:08.828] common <- intersect(names, old_names) [17:28:08.828] added <- setdiff(names, old_names) [17:28:08.828] removed <- setdiff(old_names, names) [17:28:08.828] changed <- common[...future.oldEnvVars[common] != [17:28:08.828] envs[common]] [17:28:08.828] NAMES <- toupper(changed) [17:28:08.828] args <- list() [17:28:08.828] for (kk in seq_along(NAMES)) { [17:28:08.828] name <- changed[[kk]] [17:28:08.828] NAME <- NAMES[[kk]] [17:28:08.828] if (name != NAME && is.element(NAME, old_names)) [17:28:08.828] next [17:28:08.828] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.828] } [17:28:08.828] NAMES <- toupper(added) [17:28:08.828] for (kk in seq_along(NAMES)) { [17:28:08.828] name <- added[[kk]] [17:28:08.828] NAME <- NAMES[[kk]] [17:28:08.828] if (name != NAME && is.element(NAME, old_names)) [17:28:08.828] next [17:28:08.828] args[[name]] <- "" [17:28:08.828] } [17:28:08.828] NAMES <- toupper(removed) [17:28:08.828] for (kk in seq_along(NAMES)) { [17:28:08.828] name <- removed[[kk]] [17:28:08.828] NAME <- NAMES[[kk]] [17:28:08.828] if (name != NAME && is.element(NAME, old_names)) [17:28:08.828] next [17:28:08.828] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.828] } [17:28:08.828] if (length(args) > 0) [17:28:08.828] base::do.call(base::Sys.setenv, args = args) [17:28:08.828] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.828] } [17:28:08.828] { [17:28:08.828] if (base::length(...future.futureOptionsAdded) > [17:28:08.828] 0L) { [17:28:08.828] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.828] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.828] base::options(opts) [17:28:08.828] } [17:28:08.828] { [17:28:08.828] { [17:28:08.828] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.828] NULL [17:28:08.828] } [17:28:08.828] options(future.plan = NULL) [17:28:08.828] if (is.na(NA_character_)) [17:28:08.828] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.828] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.828] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.828] .init = FALSE) [17:28:08.828] } [17:28:08.828] } [17:28:08.828] } [17:28:08.828] }) [17:28:08.828] if (TRUE) { [17:28:08.828] base::sink(type = "output", split = FALSE) [17:28:08.828] if (TRUE) { [17:28:08.828] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.828] } [17:28:08.828] else { [17:28:08.828] ...future.result["stdout"] <- base::list(NULL) [17:28:08.828] } [17:28:08.828] base::close(...future.stdout) [17:28:08.828] ...future.stdout <- NULL [17:28:08.828] } [17:28:08.828] ...future.result$conditions <- ...future.conditions [17:28:08.828] ...future.result$finished <- base::Sys.time() [17:28:08.828] ...future.result [17:28:08.828] } [17:28:08.836] Poll #1 (0): usedNodes() = 2, workers = 2 [17:28:08.879] receiveMessageFromWorker() for ClusterFuture ... [17:28:08.880] - Validating connection of MultisessionFuture [17:28:08.881] - received message: FutureResult [17:28:08.881] - Received FutureResult [17:28:08.881] - Erased future from FutureRegistry [17:28:08.881] result() for ClusterFuture ... [17:28:08.882] - result already collected: FutureResult [17:28:08.882] result() for ClusterFuture ... done [17:28:08.882] signalConditions() ... [17:28:08.882] - include = 'immediateCondition' [17:28:08.883] - exclude = [17:28:08.883] - resignal = FALSE [17:28:08.883] - Number of conditions: 1 [17:28:08.883] signalConditions() ... done [17:28:08.884] receiveMessageFromWorker() for ClusterFuture ... done [17:28:08.884] result() for ClusterFuture ... [17:28:08.884] - result already collected: FutureResult [17:28:08.884] result() for ClusterFuture ... done [17:28:08.885] result() for ClusterFuture ... [17:28:08.885] - result already collected: FutureResult [17:28:08.885] result() for ClusterFuture ... done [17:28:08.885] signalConditions() ... [17:28:08.885] - include = 'immediateCondition' [17:28:08.886] - exclude = [17:28:08.886] - resignal = FALSE [17:28:08.886] - Number of conditions: 1 [17:28:08.886] signalConditions() ... done [17:28:08.888] Exporting 1 global objects (340 bytes) to cluster node #2 ... [17:28:08.888] Exporting 'ii' (35 bytes) to cluster node #2 ... [17:28:08.889] Exporting 'ii' (35 bytes) to cluster node #2 ... DONE [17:28:08.889] Exporting 1 global objects (340 bytes) to cluster node #2 ... DONE [17:28:08.890] MultisessionFuture started [17:28:08.890] - Launch lazy future ... done [17:28:08.891] run() for 'MultisessionFuture' ... done [17:28:08.891] result() for ClusterFuture ... [17:28:08.891] receiveMessageFromWorker() for ClusterFuture ... [17:28:08.891] - Validating connection of MultisessionFuture [17:28:08.923] - received message: FutureResult [17:28:08.923] - Received FutureResult [17:28:08.924] - Erased future from FutureRegistry [17:28:08.924] result() for ClusterFuture ... [17:28:08.924] - result already collected: FutureResult [17:28:08.925] result() for ClusterFuture ... done [17:28:08.925] signalConditions() ... [17:28:08.925] - include = 'immediateCondition' [17:28:08.925] - exclude = [17:28:08.926] - resignal = FALSE [17:28:08.926] - Number of conditions: 1 [17:28:08.926] signalConditions() ... done [17:28:08.926] receiveMessageFromWorker() for ClusterFuture ... done [17:28:08.927] result() for ClusterFuture ... done [17:28:08.927] result() for ClusterFuture ... [17:28:08.927] - result already collected: FutureResult [17:28:08.927] result() for ClusterFuture ... done [17:28:08.928] signalConditions() ... [17:28:08.928] - include = 'immediateCondition' [17:28:08.928] - exclude = [17:28:08.928] - resignal = FALSE [17:28:08.929] - Number of conditions: 1 [17:28:08.929] signalConditions() ... done [17:28:08.929] Future state: 'finished' [17:28:08.930] result() for ClusterFuture ... [17:28:08.930] - result already collected: FutureResult [17:28:08.930] result() for ClusterFuture ... done [17:28:08.930] signalConditions() ... [17:28:08.931] - include = 'condition' [17:28:08.931] - exclude = 'immediateCondition' [17:28:08.931] - resignal = TRUE [17:28:08.932] - Number of conditions: 1 [17:28:08.932] - Condition #1: 'simpleError', 'error', 'condition' [17:28:08.932] signalConditions() ... done List of 1 $ res: 'try-error' chr "Error in eval(quote({ : object 'a' not found\n" ..- attr(*, "condition")=List of 3 .. ..$ message : chr "object 'a' not found" .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. ..$ future.info:List of 5 .. .. ..$ condition:List of 2 .. .. .. ..$ message: chr "object 'a' not found" .. .. .. ..$ call : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" .. .. ..$ calls :List of 12 .. .. .. ..$ : language res[[ii]] %<-% { b <- a * ii ... .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language eval(fassignment, envir = envir, enclos = baseenv()) .. .. .. ..$ : language res[[ii]] %<-% { b <- a * ii ... .. .. .. ..$ : language futureAssignInternal(target, expr, envir = envir, substitute = FALSE) .. .. .. ..$ : language futureAssign(name, expr, envir = envir, assign.env = assign.env, substitute = FALSE) .. .. .. ..$ : language do.call(future::future, args = future.args, envir = assign.env) .. .. .. ..$ : language (function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = FALSE, globals = TRUE, pack| __truncated__ ... .. .. .. ..$ : language Future(expr, substitute = FALSE, envir = envir, lazy = TRUE, seed = seed, globals = globals, packages = pack| __truncated__ ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. .. ..$ : language withCallingHandlers({ { ... .. .. .. ..$ : language eval(quote({ ...future.makeSendCondition <- base::local({ ... .. .. ..$ session :List of 6 .. .. .. ..$ r :List of 15 .. .. .. .. ..$ platform : chr "x86_64-w64-mingw32" .. .. .. .. ..$ arch : chr "x86_64" .. .. .. .. ..$ os : chr "mingw32" .. .. .. .. ..$ crt : chr "ucrt" .. .. .. .. ..$ system : chr "x86_64, mingw32" .. .. .. .. ..$ status : chr "Under development (unstable)" .. .. .. .. ..$ major : chr "4" .. .. .. .. ..$ minor : chr "5.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "07" .. .. .. .. ..$ day : chr "28" .. .. .. .. ..$ svn rev : chr "86931" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-07-28 r86931 ucrt)" .. .. .. .. ..$ nickname : chr "Unsuffered Consequences" .. .. .. ..$ locale : chr "LC_COLLATE=C;LC_CTYPE=German_Germany.utf8;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C" .. .. .. ..$ rngkind : chr [1:3] "Mersenne-Twister" "Inversion" "Rejection" .. .. .. ..$ namespaces: chr [1:16] "compiler" "parallelly" "graphics" "tools" ... .. .. .. ..$ search : chr [1:9] ".GlobalEnv" "package:stats" "package:graphics" "package:grDevices" ... .. .. .. ..$ system : Named chr [1:8] "Windows" "Server x64" "build 20348" "CRANWIN3" ... .. .. .. .. ..- attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ... .. .. ..$ timestamp: POSIXct[1:1], format: "2024-07-29 17:28:08" .. .. ..$ signaled : int 1 .. ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition" Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:08.962] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:08.962] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:08.964] [17:28:08.964] Searching for globals ... DONE [17:28:08.964] - globals: [0] [17:28:08.965] getGlobalsAndPackages() ... DONE [17:28:08.965] run() for 'Future' ... [17:28:08.965] - state: 'created' [17:28:08.966] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:08.985] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:08.985] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:08.986] - Field: 'node' [17:28:08.986] - Field: 'label' [17:28:08.986] - Field: 'local' [17:28:08.987] - Field: 'owner' [17:28:08.987] - Field: 'envir' [17:28:08.987] - Field: 'workers' [17:28:08.988] - Field: 'packages' [17:28:08.988] - Field: 'gc' [17:28:08.988] - Field: 'conditions' [17:28:08.988] - Field: 'persistent' [17:28:08.989] - Field: 'expr' [17:28:08.989] - Field: 'uuid' [17:28:08.989] - Field: 'seed' [17:28:08.989] - Field: 'version' [17:28:08.990] - Field: 'result' [17:28:08.990] - Field: 'asynchronous' [17:28:08.990] - Field: 'calls' [17:28:08.990] - Field: 'globals' [17:28:08.991] - Field: 'stdout' [17:28:08.991] - Field: 'earlySignal' [17:28:08.991] - Field: 'lazy' [17:28:08.992] - Field: 'state' [17:28:08.992] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:08.992] - Launch lazy future ... [17:28:08.993] Packages needed by the future expression (n = 0): [17:28:08.993] Packages needed by future strategies (n = 0): [17:28:08.994] { [17:28:08.994] { [17:28:08.994] { [17:28:08.994] ...future.startTime <- base::Sys.time() [17:28:08.994] { [17:28:08.994] { [17:28:08.994] { [17:28:08.994] { [17:28:08.994] base::local({ [17:28:08.994] has_future <- base::requireNamespace("future", [17:28:08.994] quietly = TRUE) [17:28:08.994] if (has_future) { [17:28:08.994] ns <- base::getNamespace("future") [17:28:08.994] version <- ns[[".package"]][["version"]] [17:28:08.994] if (is.null(version)) [17:28:08.994] version <- utils::packageVersion("future") [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] version <- NULL [17:28:08.994] } [17:28:08.994] if (!has_future || version < "1.8.0") { [17:28:08.994] info <- base::c(r_version = base::gsub("R version ", [17:28:08.994] "", base::R.version$version.string), [17:28:08.994] platform = base::sprintf("%s (%s-bit)", [17:28:08.994] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:08.994] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:08.994] "release", "version")], collapse = " "), [17:28:08.994] hostname = base::Sys.info()[["nodename"]]) [17:28:08.994] info <- base::sprintf("%s: %s", base::names(info), [17:28:08.994] info) [17:28:08.994] info <- base::paste(info, collapse = "; ") [17:28:08.994] if (!has_future) { [17:28:08.994] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:08.994] info) [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:08.994] info, version) [17:28:08.994] } [17:28:08.994] base::stop(msg) [17:28:08.994] } [17:28:08.994] }) [17:28:08.994] } [17:28:08.994] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:08.994] base::options(mc.cores = 1L) [17:28:08.994] } [17:28:08.994] ...future.strategy.old <- future::plan("list") [17:28:08.994] options(future.plan = NULL) [17:28:08.994] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.994] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:08.994] } [17:28:08.994] ...future.workdir <- getwd() [17:28:08.994] } [17:28:08.994] ...future.oldOptions <- base::as.list(base::.Options) [17:28:08.994] ...future.oldEnvVars <- base::Sys.getenv() [17:28:08.994] } [17:28:08.994] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:08.994] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:08.994] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:08.994] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:08.994] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:08.994] future.stdout.windows.reencode = NULL, width = 80L) [17:28:08.994] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:08.994] base::names(...future.oldOptions)) [17:28:08.994] } [17:28:08.994] if (FALSE) { [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] if (TRUE) { [17:28:08.994] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:08.994] open = "w") [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:08.994] windows = "NUL", "/dev/null"), open = "w") [17:28:08.994] } [17:28:08.994] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:08.994] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:08.994] base::sink(type = "output", split = FALSE) [17:28:08.994] base::close(...future.stdout) [17:28:08.994] }, add = TRUE) [17:28:08.994] } [17:28:08.994] ...future.frame <- base::sys.nframe() [17:28:08.994] ...future.conditions <- base::list() [17:28:08.994] ...future.rng <- base::globalenv()$.Random.seed [17:28:08.994] if (FALSE) { [17:28:08.994] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:08.994] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:08.994] } [17:28:08.994] ...future.result <- base::tryCatch({ [17:28:08.994] base::withCallingHandlers({ [17:28:08.994] ...future.value <- base::withVisible(base::local({ [17:28:08.994] ...future.makeSendCondition <- base::local({ [17:28:08.994] sendCondition <- NULL [17:28:08.994] function(frame = 1L) { [17:28:08.994] if (is.function(sendCondition)) [17:28:08.994] return(sendCondition) [17:28:08.994] ns <- getNamespace("parallel") [17:28:08.994] if (exists("sendData", mode = "function", [17:28:08.994] envir = ns)) { [17:28:08.994] parallel_sendData <- get("sendData", mode = "function", [17:28:08.994] envir = ns) [17:28:08.994] envir <- sys.frame(frame) [17:28:08.994] master <- NULL [17:28:08.994] while (!identical(envir, .GlobalEnv) && [17:28:08.994] !identical(envir, emptyenv())) { [17:28:08.994] if (exists("master", mode = "list", envir = envir, [17:28:08.994] inherits = FALSE)) { [17:28:08.994] master <- get("master", mode = "list", [17:28:08.994] envir = envir, inherits = FALSE) [17:28:08.994] if (inherits(master, c("SOCKnode", [17:28:08.994] "SOCK0node"))) { [17:28:08.994] sendCondition <<- function(cond) { [17:28:08.994] data <- list(type = "VALUE", value = cond, [17:28:08.994] success = TRUE) [17:28:08.994] parallel_sendData(master, data) [17:28:08.994] } [17:28:08.994] return(sendCondition) [17:28:08.994] } [17:28:08.994] } [17:28:08.994] frame <- frame + 1L [17:28:08.994] envir <- sys.frame(frame) [17:28:08.994] } [17:28:08.994] } [17:28:08.994] sendCondition <<- function(cond) NULL [17:28:08.994] } [17:28:08.994] }) [17:28:08.994] withCallingHandlers({ [17:28:08.994] 1 [17:28:08.994] }, immediateCondition = function(cond) { [17:28:08.994] sendCondition <- ...future.makeSendCondition() [17:28:08.994] sendCondition(cond) [17:28:08.994] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.994] { [17:28:08.994] inherits <- base::inherits [17:28:08.994] invokeRestart <- base::invokeRestart [17:28:08.994] is.null <- base::is.null [17:28:08.994] muffled <- FALSE [17:28:08.994] if (inherits(cond, "message")) { [17:28:08.994] muffled <- grepl(pattern, "muffleMessage") [17:28:08.994] if (muffled) [17:28:08.994] invokeRestart("muffleMessage") [17:28:08.994] } [17:28:08.994] else if (inherits(cond, "warning")) { [17:28:08.994] muffled <- grepl(pattern, "muffleWarning") [17:28:08.994] if (muffled) [17:28:08.994] invokeRestart("muffleWarning") [17:28:08.994] } [17:28:08.994] else if (inherits(cond, "condition")) { [17:28:08.994] if (!is.null(pattern)) { [17:28:08.994] computeRestarts <- base::computeRestarts [17:28:08.994] grepl <- base::grepl [17:28:08.994] restarts <- computeRestarts(cond) [17:28:08.994] for (restart in restarts) { [17:28:08.994] name <- restart$name [17:28:08.994] if (is.null(name)) [17:28:08.994] next [17:28:08.994] if (!grepl(pattern, name)) [17:28:08.994] next [17:28:08.994] invokeRestart(restart) [17:28:08.994] muffled <- TRUE [17:28:08.994] break [17:28:08.994] } [17:28:08.994] } [17:28:08.994] } [17:28:08.994] invisible(muffled) [17:28:08.994] } [17:28:08.994] muffleCondition(cond) [17:28:08.994] }) [17:28:08.994] })) [17:28:08.994] future::FutureResult(value = ...future.value$value, [17:28:08.994] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.994] ...future.rng), globalenv = if (FALSE) [17:28:08.994] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:08.994] ...future.globalenv.names)) [17:28:08.994] else NULL, started = ...future.startTime, version = "1.8") [17:28:08.994] }, condition = base::local({ [17:28:08.994] c <- base::c [17:28:08.994] inherits <- base::inherits [17:28:08.994] invokeRestart <- base::invokeRestart [17:28:08.994] length <- base::length [17:28:08.994] list <- base::list [17:28:08.994] seq.int <- base::seq.int [17:28:08.994] signalCondition <- base::signalCondition [17:28:08.994] sys.calls <- base::sys.calls [17:28:08.994] `[[` <- base::`[[` [17:28:08.994] `+` <- base::`+` [17:28:08.994] `<<-` <- base::`<<-` [17:28:08.994] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:08.994] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:08.994] 3L)] [17:28:08.994] } [17:28:08.994] function(cond) { [17:28:08.994] is_error <- inherits(cond, "error") [17:28:08.994] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:08.994] NULL) [17:28:08.994] if (is_error) { [17:28:08.994] sessionInformation <- function() { [17:28:08.994] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:08.994] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:08.994] search = base::search(), system = base::Sys.info()) [17:28:08.994] } [17:28:08.994] ...future.conditions[[length(...future.conditions) + [17:28:08.994] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:08.994] cond$call), session = sessionInformation(), [17:28:08.994] timestamp = base::Sys.time(), signaled = 0L) [17:28:08.994] signalCondition(cond) [17:28:08.994] } [17:28:08.994] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:08.994] "immediateCondition"))) { [17:28:08.994] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:08.994] ...future.conditions[[length(...future.conditions) + [17:28:08.994] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:08.994] if (TRUE && !signal) { [17:28:08.994] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.994] { [17:28:08.994] inherits <- base::inherits [17:28:08.994] invokeRestart <- base::invokeRestart [17:28:08.994] is.null <- base::is.null [17:28:08.994] muffled <- FALSE [17:28:08.994] if (inherits(cond, "message")) { [17:28:08.994] muffled <- grepl(pattern, "muffleMessage") [17:28:08.994] if (muffled) [17:28:08.994] invokeRestart("muffleMessage") [17:28:08.994] } [17:28:08.994] else if (inherits(cond, "warning")) { [17:28:08.994] muffled <- grepl(pattern, "muffleWarning") [17:28:08.994] if (muffled) [17:28:08.994] invokeRestart("muffleWarning") [17:28:08.994] } [17:28:08.994] else if (inherits(cond, "condition")) { [17:28:08.994] if (!is.null(pattern)) { [17:28:08.994] computeRestarts <- base::computeRestarts [17:28:08.994] grepl <- base::grepl [17:28:08.994] restarts <- computeRestarts(cond) [17:28:08.994] for (restart in restarts) { [17:28:08.994] name <- restart$name [17:28:08.994] if (is.null(name)) [17:28:08.994] next [17:28:08.994] if (!grepl(pattern, name)) [17:28:08.994] next [17:28:08.994] invokeRestart(restart) [17:28:08.994] muffled <- TRUE [17:28:08.994] break [17:28:08.994] } [17:28:08.994] } [17:28:08.994] } [17:28:08.994] invisible(muffled) [17:28:08.994] } [17:28:08.994] muffleCondition(cond, pattern = "^muffle") [17:28:08.994] } [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] if (TRUE) { [17:28:08.994] muffleCondition <- function (cond, pattern = "^muffle") [17:28:08.994] { [17:28:08.994] inherits <- base::inherits [17:28:08.994] invokeRestart <- base::invokeRestart [17:28:08.994] is.null <- base::is.null [17:28:08.994] muffled <- FALSE [17:28:08.994] if (inherits(cond, "message")) { [17:28:08.994] muffled <- grepl(pattern, "muffleMessage") [17:28:08.994] if (muffled) [17:28:08.994] invokeRestart("muffleMessage") [17:28:08.994] } [17:28:08.994] else if (inherits(cond, "warning")) { [17:28:08.994] muffled <- grepl(pattern, "muffleWarning") [17:28:08.994] if (muffled) [17:28:08.994] invokeRestart("muffleWarning") [17:28:08.994] } [17:28:08.994] else if (inherits(cond, "condition")) { [17:28:08.994] if (!is.null(pattern)) { [17:28:08.994] computeRestarts <- base::computeRestarts [17:28:08.994] grepl <- base::grepl [17:28:08.994] restarts <- computeRestarts(cond) [17:28:08.994] for (restart in restarts) { [17:28:08.994] name <- restart$name [17:28:08.994] if (is.null(name)) [17:28:08.994] next [17:28:08.994] if (!grepl(pattern, name)) [17:28:08.994] next [17:28:08.994] invokeRestart(restart) [17:28:08.994] muffled <- TRUE [17:28:08.994] break [17:28:08.994] } [17:28:08.994] } [17:28:08.994] } [17:28:08.994] invisible(muffled) [17:28:08.994] } [17:28:08.994] muffleCondition(cond, pattern = "^muffle") [17:28:08.994] } [17:28:08.994] } [17:28:08.994] } [17:28:08.994] })) [17:28:08.994] }, error = function(ex) { [17:28:08.994] base::structure(base::list(value = NULL, visible = NULL, [17:28:08.994] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:08.994] ...future.rng), started = ...future.startTime, [17:28:08.994] finished = Sys.time(), session_uuid = NA_character_, [17:28:08.994] version = "1.8"), class = "FutureResult") [17:28:08.994] }, finally = { [17:28:08.994] if (!identical(...future.workdir, getwd())) [17:28:08.994] setwd(...future.workdir) [17:28:08.994] { [17:28:08.994] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:08.994] ...future.oldOptions$nwarnings <- NULL [17:28:08.994] } [17:28:08.994] base::options(...future.oldOptions) [17:28:08.994] if (.Platform$OS.type == "windows") { [17:28:08.994] old_names <- names(...future.oldEnvVars) [17:28:08.994] envs <- base::Sys.getenv() [17:28:08.994] names <- names(envs) [17:28:08.994] common <- intersect(names, old_names) [17:28:08.994] added <- setdiff(names, old_names) [17:28:08.994] removed <- setdiff(old_names, names) [17:28:08.994] changed <- common[...future.oldEnvVars[common] != [17:28:08.994] envs[common]] [17:28:08.994] NAMES <- toupper(changed) [17:28:08.994] args <- list() [17:28:08.994] for (kk in seq_along(NAMES)) { [17:28:08.994] name <- changed[[kk]] [17:28:08.994] NAME <- NAMES[[kk]] [17:28:08.994] if (name != NAME && is.element(NAME, old_names)) [17:28:08.994] next [17:28:08.994] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.994] } [17:28:08.994] NAMES <- toupper(added) [17:28:08.994] for (kk in seq_along(NAMES)) { [17:28:08.994] name <- added[[kk]] [17:28:08.994] NAME <- NAMES[[kk]] [17:28:08.994] if (name != NAME && is.element(NAME, old_names)) [17:28:08.994] next [17:28:08.994] args[[name]] <- "" [17:28:08.994] } [17:28:08.994] NAMES <- toupper(removed) [17:28:08.994] for (kk in seq_along(NAMES)) { [17:28:08.994] name <- removed[[kk]] [17:28:08.994] NAME <- NAMES[[kk]] [17:28:08.994] if (name != NAME && is.element(NAME, old_names)) [17:28:08.994] next [17:28:08.994] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:08.994] } [17:28:08.994] if (length(args) > 0) [17:28:08.994] base::do.call(base::Sys.setenv, args = args) [17:28:08.994] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:08.994] } [17:28:08.994] { [17:28:08.994] if (base::length(...future.futureOptionsAdded) > [17:28:08.994] 0L) { [17:28:08.994] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:08.994] base::names(opts) <- ...future.futureOptionsAdded [17:28:08.994] base::options(opts) [17:28:08.994] } [17:28:08.994] { [17:28:08.994] { [17:28:08.994] base::options(mc.cores = ...future.mc.cores.old) [17:28:08.994] NULL [17:28:08.994] } [17:28:08.994] options(future.plan = NULL) [17:28:08.994] if (is.na(NA_character_)) [17:28:08.994] Sys.unsetenv("R_FUTURE_PLAN") [17:28:08.994] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:08.994] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:08.994] .init = FALSE) [17:28:08.994] } [17:28:08.994] } [17:28:08.994] } [17:28:08.994] }) [17:28:08.994] if (TRUE) { [17:28:08.994] base::sink(type = "output", split = FALSE) [17:28:08.994] if (TRUE) { [17:28:08.994] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:08.994] } [17:28:08.994] else { [17:28:08.994] ...future.result["stdout"] <- base::list(NULL) [17:28:08.994] } [17:28:08.994] base::close(...future.stdout) [17:28:08.994] ...future.stdout <- NULL [17:28:08.994] } [17:28:08.994] ...future.result$conditions <- ...future.conditions [17:28:08.994] ...future.result$finished <- base::Sys.time() [17:28:08.994] ...future.result [17:28:08.994] } [17:28:09.004] MultisessionFuture started [17:28:09.004] - Launch lazy future ... done [17:28:09.005] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.006] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.006] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.009] - globals found: [3] '+', 'value', 'a' [17:28:09.009] Searching for globals ... DONE [17:28:09.010] Resolving globals: TRUE [17:28:09.010] Resolving any globals that are futures ... [17:28:09.010] - globals: [3] '+', 'value', 'a' [17:28:09.011] Resolving any globals that are futures ... DONE [17:28:09.012] Resolving futures part of globals (recursively) ... [17:28:09.012] resolve() on list ... [17:28:09.013] recursive: 99 [17:28:09.013] length: 1 [17:28:09.013] elements: 'a' [17:28:09.029] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.030] - Validating connection of MultisessionFuture [17:28:09.030] - received message: FutureResult [17:28:09.030] - Received FutureResult [17:28:09.031] - Erased future from FutureRegistry [17:28:09.031] result() for ClusterFuture ... [17:28:09.031] - result already collected: FutureResult [17:28:09.031] result() for ClusterFuture ... done [17:28:09.031] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.032] Future #1 [17:28:09.032] result() for ClusterFuture ... [17:28:09.032] - result already collected: FutureResult [17:28:09.032] result() for ClusterFuture ... done [17:28:09.032] result() for ClusterFuture ... [17:28:09.033] - result already collected: FutureResult [17:28:09.033] result() for ClusterFuture ... done [17:28:09.034] A MultisessionFuture was resolved [17:28:09.034] length: 0 (resolved future 1) [17:28:09.034] resolve() on list ... DONE [17:28:09.034] - globals: [1] 'a' [17:28:09.034] Resolving futures part of globals (recursively) ... DONE [17:28:09.050] The total size of the 1 globals is 313.64 KiB (321164 bytes) [17:28:09.054] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.64 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.64 KiB of class 'environment') [17:28:09.054] - globals: [1] 'a' [17:28:09.054] - packages: [1] 'future' [17:28:09.054] getGlobalsAndPackages() ... DONE [17:28:09.055] run() for 'Future' ... [17:28:09.055] - state: 'created' [17:28:09.055] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.071] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.071] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.072] - Field: 'node' [17:28:09.072] - Field: 'label' [17:28:09.072] - Field: 'local' [17:28:09.072] - Field: 'owner' [17:28:09.072] - Field: 'envir' [17:28:09.073] - Field: 'workers' [17:28:09.073] - Field: 'packages' [17:28:09.073] - Field: 'gc' [17:28:09.073] - Field: 'conditions' [17:28:09.073] - Field: 'persistent' [17:28:09.074] - Field: 'expr' [17:28:09.074] - Field: 'uuid' [17:28:09.074] - Field: 'seed' [17:28:09.074] - Field: 'version' [17:28:09.075] - Field: 'result' [17:28:09.075] - Field: 'asynchronous' [17:28:09.075] - Field: 'calls' [17:28:09.075] - Field: 'globals' [17:28:09.076] - Field: 'stdout' [17:28:09.076] - Field: 'earlySignal' [17:28:09.076] - Field: 'lazy' [17:28:09.076] - Field: 'state' [17:28:09.076] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.077] - Launch lazy future ... [17:28:09.077] Packages needed by the future expression (n = 1): 'future' [17:28:09.077] Packages needed by future strategies (n = 0): [17:28:09.078] { [17:28:09.078] { [17:28:09.078] { [17:28:09.078] ...future.startTime <- base::Sys.time() [17:28:09.078] { [17:28:09.078] { [17:28:09.078] { [17:28:09.078] { [17:28:09.078] { [17:28:09.078] base::local({ [17:28:09.078] has_future <- base::requireNamespace("future", [17:28:09.078] quietly = TRUE) [17:28:09.078] if (has_future) { [17:28:09.078] ns <- base::getNamespace("future") [17:28:09.078] version <- ns[[".package"]][["version"]] [17:28:09.078] if (is.null(version)) [17:28:09.078] version <- utils::packageVersion("future") [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] version <- NULL [17:28:09.078] } [17:28:09.078] if (!has_future || version < "1.8.0") { [17:28:09.078] info <- base::c(r_version = base::gsub("R version ", [17:28:09.078] "", base::R.version$version.string), [17:28:09.078] platform = base::sprintf("%s (%s-bit)", [17:28:09.078] base::R.version$platform, 8 * [17:28:09.078] base::.Machine$sizeof.pointer), [17:28:09.078] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.078] "release", "version")], collapse = " "), [17:28:09.078] hostname = base::Sys.info()[["nodename"]]) [17:28:09.078] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.078] info) [17:28:09.078] info <- base::paste(info, collapse = "; ") [17:28:09.078] if (!has_future) { [17:28:09.078] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.078] info) [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.078] info, version) [17:28:09.078] } [17:28:09.078] base::stop(msg) [17:28:09.078] } [17:28:09.078] }) [17:28:09.078] } [17:28:09.078] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.078] base::options(mc.cores = 1L) [17:28:09.078] } [17:28:09.078] base::local({ [17:28:09.078] for (pkg in "future") { [17:28:09.078] base::loadNamespace(pkg) [17:28:09.078] base::library(pkg, character.only = TRUE) [17:28:09.078] } [17:28:09.078] }) [17:28:09.078] } [17:28:09.078] ...future.strategy.old <- future::plan("list") [17:28:09.078] options(future.plan = NULL) [17:28:09.078] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.078] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.078] } [17:28:09.078] ...future.workdir <- getwd() [17:28:09.078] } [17:28:09.078] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.078] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.078] } [17:28:09.078] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.078] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.078] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.078] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.078] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.078] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.078] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.078] base::names(...future.oldOptions)) [17:28:09.078] } [17:28:09.078] if (FALSE) { [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] if (TRUE) { [17:28:09.078] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.078] open = "w") [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.078] windows = "NUL", "/dev/null"), open = "w") [17:28:09.078] } [17:28:09.078] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.078] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.078] base::sink(type = "output", split = FALSE) [17:28:09.078] base::close(...future.stdout) [17:28:09.078] }, add = TRUE) [17:28:09.078] } [17:28:09.078] ...future.frame <- base::sys.nframe() [17:28:09.078] ...future.conditions <- base::list() [17:28:09.078] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.078] if (FALSE) { [17:28:09.078] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.078] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.078] } [17:28:09.078] ...future.result <- base::tryCatch({ [17:28:09.078] base::withCallingHandlers({ [17:28:09.078] ...future.value <- base::withVisible(base::local({ [17:28:09.078] ...future.makeSendCondition <- base::local({ [17:28:09.078] sendCondition <- NULL [17:28:09.078] function(frame = 1L) { [17:28:09.078] if (is.function(sendCondition)) [17:28:09.078] return(sendCondition) [17:28:09.078] ns <- getNamespace("parallel") [17:28:09.078] if (exists("sendData", mode = "function", [17:28:09.078] envir = ns)) { [17:28:09.078] parallel_sendData <- get("sendData", mode = "function", [17:28:09.078] envir = ns) [17:28:09.078] envir <- sys.frame(frame) [17:28:09.078] master <- NULL [17:28:09.078] while (!identical(envir, .GlobalEnv) && [17:28:09.078] !identical(envir, emptyenv())) { [17:28:09.078] if (exists("master", mode = "list", envir = envir, [17:28:09.078] inherits = FALSE)) { [17:28:09.078] master <- get("master", mode = "list", [17:28:09.078] envir = envir, inherits = FALSE) [17:28:09.078] if (inherits(master, c("SOCKnode", [17:28:09.078] "SOCK0node"))) { [17:28:09.078] sendCondition <<- function(cond) { [17:28:09.078] data <- list(type = "VALUE", value = cond, [17:28:09.078] success = TRUE) [17:28:09.078] parallel_sendData(master, data) [17:28:09.078] } [17:28:09.078] return(sendCondition) [17:28:09.078] } [17:28:09.078] } [17:28:09.078] frame <- frame + 1L [17:28:09.078] envir <- sys.frame(frame) [17:28:09.078] } [17:28:09.078] } [17:28:09.078] sendCondition <<- function(cond) NULL [17:28:09.078] } [17:28:09.078] }) [17:28:09.078] withCallingHandlers({ [17:28:09.078] value(a) + 1 [17:28:09.078] }, immediateCondition = function(cond) { [17:28:09.078] sendCondition <- ...future.makeSendCondition() [17:28:09.078] sendCondition(cond) [17:28:09.078] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.078] { [17:28:09.078] inherits <- base::inherits [17:28:09.078] invokeRestart <- base::invokeRestart [17:28:09.078] is.null <- base::is.null [17:28:09.078] muffled <- FALSE [17:28:09.078] if (inherits(cond, "message")) { [17:28:09.078] muffled <- grepl(pattern, "muffleMessage") [17:28:09.078] if (muffled) [17:28:09.078] invokeRestart("muffleMessage") [17:28:09.078] } [17:28:09.078] else if (inherits(cond, "warning")) { [17:28:09.078] muffled <- grepl(pattern, "muffleWarning") [17:28:09.078] if (muffled) [17:28:09.078] invokeRestart("muffleWarning") [17:28:09.078] } [17:28:09.078] else if (inherits(cond, "condition")) { [17:28:09.078] if (!is.null(pattern)) { [17:28:09.078] computeRestarts <- base::computeRestarts [17:28:09.078] grepl <- base::grepl [17:28:09.078] restarts <- computeRestarts(cond) [17:28:09.078] for (restart in restarts) { [17:28:09.078] name <- restart$name [17:28:09.078] if (is.null(name)) [17:28:09.078] next [17:28:09.078] if (!grepl(pattern, name)) [17:28:09.078] next [17:28:09.078] invokeRestart(restart) [17:28:09.078] muffled <- TRUE [17:28:09.078] break [17:28:09.078] } [17:28:09.078] } [17:28:09.078] } [17:28:09.078] invisible(muffled) [17:28:09.078] } [17:28:09.078] muffleCondition(cond) [17:28:09.078] }) [17:28:09.078] })) [17:28:09.078] future::FutureResult(value = ...future.value$value, [17:28:09.078] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.078] ...future.rng), globalenv = if (FALSE) [17:28:09.078] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.078] ...future.globalenv.names)) [17:28:09.078] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.078] }, condition = base::local({ [17:28:09.078] c <- base::c [17:28:09.078] inherits <- base::inherits [17:28:09.078] invokeRestart <- base::invokeRestart [17:28:09.078] length <- base::length [17:28:09.078] list <- base::list [17:28:09.078] seq.int <- base::seq.int [17:28:09.078] signalCondition <- base::signalCondition [17:28:09.078] sys.calls <- base::sys.calls [17:28:09.078] `[[` <- base::`[[` [17:28:09.078] `+` <- base::`+` [17:28:09.078] `<<-` <- base::`<<-` [17:28:09.078] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.078] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.078] 3L)] [17:28:09.078] } [17:28:09.078] function(cond) { [17:28:09.078] is_error <- inherits(cond, "error") [17:28:09.078] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.078] NULL) [17:28:09.078] if (is_error) { [17:28:09.078] sessionInformation <- function() { [17:28:09.078] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.078] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.078] search = base::search(), system = base::Sys.info()) [17:28:09.078] } [17:28:09.078] ...future.conditions[[length(...future.conditions) + [17:28:09.078] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.078] cond$call), session = sessionInformation(), [17:28:09.078] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.078] signalCondition(cond) [17:28:09.078] } [17:28:09.078] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.078] "immediateCondition"))) { [17:28:09.078] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.078] ...future.conditions[[length(...future.conditions) + [17:28:09.078] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.078] if (TRUE && !signal) { [17:28:09.078] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.078] { [17:28:09.078] inherits <- base::inherits [17:28:09.078] invokeRestart <- base::invokeRestart [17:28:09.078] is.null <- base::is.null [17:28:09.078] muffled <- FALSE [17:28:09.078] if (inherits(cond, "message")) { [17:28:09.078] muffled <- grepl(pattern, "muffleMessage") [17:28:09.078] if (muffled) [17:28:09.078] invokeRestart("muffleMessage") [17:28:09.078] } [17:28:09.078] else if (inherits(cond, "warning")) { [17:28:09.078] muffled <- grepl(pattern, "muffleWarning") [17:28:09.078] if (muffled) [17:28:09.078] invokeRestart("muffleWarning") [17:28:09.078] } [17:28:09.078] else if (inherits(cond, "condition")) { [17:28:09.078] if (!is.null(pattern)) { [17:28:09.078] computeRestarts <- base::computeRestarts [17:28:09.078] grepl <- base::grepl [17:28:09.078] restarts <- computeRestarts(cond) [17:28:09.078] for (restart in restarts) { [17:28:09.078] name <- restart$name [17:28:09.078] if (is.null(name)) [17:28:09.078] next [17:28:09.078] if (!grepl(pattern, name)) [17:28:09.078] next [17:28:09.078] invokeRestart(restart) [17:28:09.078] muffled <- TRUE [17:28:09.078] break [17:28:09.078] } [17:28:09.078] } [17:28:09.078] } [17:28:09.078] invisible(muffled) [17:28:09.078] } [17:28:09.078] muffleCondition(cond, pattern = "^muffle") [17:28:09.078] } [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] if (TRUE) { [17:28:09.078] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.078] { [17:28:09.078] inherits <- base::inherits [17:28:09.078] invokeRestart <- base::invokeRestart [17:28:09.078] is.null <- base::is.null [17:28:09.078] muffled <- FALSE [17:28:09.078] if (inherits(cond, "message")) { [17:28:09.078] muffled <- grepl(pattern, "muffleMessage") [17:28:09.078] if (muffled) [17:28:09.078] invokeRestart("muffleMessage") [17:28:09.078] } [17:28:09.078] else if (inherits(cond, "warning")) { [17:28:09.078] muffled <- grepl(pattern, "muffleWarning") [17:28:09.078] if (muffled) [17:28:09.078] invokeRestart("muffleWarning") [17:28:09.078] } [17:28:09.078] else if (inherits(cond, "condition")) { [17:28:09.078] if (!is.null(pattern)) { [17:28:09.078] computeRestarts <- base::computeRestarts [17:28:09.078] grepl <- base::grepl [17:28:09.078] restarts <- computeRestarts(cond) [17:28:09.078] for (restart in restarts) { [17:28:09.078] name <- restart$name [17:28:09.078] if (is.null(name)) [17:28:09.078] next [17:28:09.078] if (!grepl(pattern, name)) [17:28:09.078] next [17:28:09.078] invokeRestart(restart) [17:28:09.078] muffled <- TRUE [17:28:09.078] break [17:28:09.078] } [17:28:09.078] } [17:28:09.078] } [17:28:09.078] invisible(muffled) [17:28:09.078] } [17:28:09.078] muffleCondition(cond, pattern = "^muffle") [17:28:09.078] } [17:28:09.078] } [17:28:09.078] } [17:28:09.078] })) [17:28:09.078] }, error = function(ex) { [17:28:09.078] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.078] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.078] ...future.rng), started = ...future.startTime, [17:28:09.078] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.078] version = "1.8"), class = "FutureResult") [17:28:09.078] }, finally = { [17:28:09.078] if (!identical(...future.workdir, getwd())) [17:28:09.078] setwd(...future.workdir) [17:28:09.078] { [17:28:09.078] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.078] ...future.oldOptions$nwarnings <- NULL [17:28:09.078] } [17:28:09.078] base::options(...future.oldOptions) [17:28:09.078] if (.Platform$OS.type == "windows") { [17:28:09.078] old_names <- names(...future.oldEnvVars) [17:28:09.078] envs <- base::Sys.getenv() [17:28:09.078] names <- names(envs) [17:28:09.078] common <- intersect(names, old_names) [17:28:09.078] added <- setdiff(names, old_names) [17:28:09.078] removed <- setdiff(old_names, names) [17:28:09.078] changed <- common[...future.oldEnvVars[common] != [17:28:09.078] envs[common]] [17:28:09.078] NAMES <- toupper(changed) [17:28:09.078] args <- list() [17:28:09.078] for (kk in seq_along(NAMES)) { [17:28:09.078] name <- changed[[kk]] [17:28:09.078] NAME <- NAMES[[kk]] [17:28:09.078] if (name != NAME && is.element(NAME, old_names)) [17:28:09.078] next [17:28:09.078] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.078] } [17:28:09.078] NAMES <- toupper(added) [17:28:09.078] for (kk in seq_along(NAMES)) { [17:28:09.078] name <- added[[kk]] [17:28:09.078] NAME <- NAMES[[kk]] [17:28:09.078] if (name != NAME && is.element(NAME, old_names)) [17:28:09.078] next [17:28:09.078] args[[name]] <- "" [17:28:09.078] } [17:28:09.078] NAMES <- toupper(removed) [17:28:09.078] for (kk in seq_along(NAMES)) { [17:28:09.078] name <- removed[[kk]] [17:28:09.078] NAME <- NAMES[[kk]] [17:28:09.078] if (name != NAME && is.element(NAME, old_names)) [17:28:09.078] next [17:28:09.078] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.078] } [17:28:09.078] if (length(args) > 0) [17:28:09.078] base::do.call(base::Sys.setenv, args = args) [17:28:09.078] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.078] } [17:28:09.078] { [17:28:09.078] if (base::length(...future.futureOptionsAdded) > [17:28:09.078] 0L) { [17:28:09.078] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.078] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.078] base::options(opts) [17:28:09.078] } [17:28:09.078] { [17:28:09.078] { [17:28:09.078] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.078] NULL [17:28:09.078] } [17:28:09.078] options(future.plan = NULL) [17:28:09.078] if (is.na(NA_character_)) [17:28:09.078] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.078] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.078] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.078] .init = FALSE) [17:28:09.078] } [17:28:09.078] } [17:28:09.078] } [17:28:09.078] }) [17:28:09.078] if (TRUE) { [17:28:09.078] base::sink(type = "output", split = FALSE) [17:28:09.078] if (TRUE) { [17:28:09.078] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.078] } [17:28:09.078] else { [17:28:09.078] ...future.result["stdout"] <- base::list(NULL) [17:28:09.078] } [17:28:09.078] base::close(...future.stdout) [17:28:09.078] ...future.stdout <- NULL [17:28:09.078] } [17:28:09.078] ...future.result$conditions <- ...future.conditions [17:28:09.078] ...future.result$finished <- base::Sys.time() [17:28:09.078] ...future.result [17:28:09.078] } [17:28:09.095] Exporting 1 global objects (313.84 KiB) to cluster node #2 ... [17:28:09.109] Exporting 'a' (313.64 KiB) to cluster node #2 ... [17:28:09.129] Exporting 'a' (313.64 KiB) to cluster node #2 ... DONE [17:28:09.130] Exporting 1 global objects (313.84 KiB) to cluster node #2 ... DONE [17:28:09.131] MultisessionFuture started [17:28:09.131] - Launch lazy future ... done [17:28:09.132] run() for 'MultisessionFuture' ... done [17:28:09.132] result() for ClusterFuture ... [17:28:09.133] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.133] - Validating connection of MultisessionFuture [17:28:09.170] - received message: FutureResult [17:28:09.170] - Received FutureResult [17:28:09.171] - Erased future from FutureRegistry [17:28:09.171] result() for ClusterFuture ... [17:28:09.171] - result already collected: FutureResult [17:28:09.171] result() for ClusterFuture ... done [17:28:09.171] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.172] result() for ClusterFuture ... done [17:28:09.172] result() for ClusterFuture ... [17:28:09.172] - result already collected: FutureResult [17:28:09.173] result() for ClusterFuture ... done value(b) = 2 [17:28:09.173] result() for ClusterFuture ... [17:28:09.173] - result already collected: FutureResult [17:28:09.173] result() for ClusterFuture ... done [17:28:09.174] result() for ClusterFuture ... [17:28:09.174] - result already collected: FutureResult [17:28:09.174] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.175] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.175] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.177] [17:28:09.177] Searching for globals ... DONE [17:28:09.177] - globals: [0] [17:28:09.177] getGlobalsAndPackages() ... DONE [17:28:09.178] run() for 'Future' ... [17:28:09.178] - state: 'created' [17:28:09.179] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.199] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.200] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.200] - Field: 'node' [17:28:09.200] - Field: 'label' [17:28:09.200] - Field: 'local' [17:28:09.200] - Field: 'owner' [17:28:09.200] - Field: 'envir' [17:28:09.201] - Field: 'workers' [17:28:09.201] - Field: 'packages' [17:28:09.201] - Field: 'gc' [17:28:09.201] - Field: 'conditions' [17:28:09.201] - Field: 'persistent' [17:28:09.201] - Field: 'expr' [17:28:09.202] - Field: 'uuid' [17:28:09.202] - Field: 'seed' [17:28:09.202] - Field: 'version' [17:28:09.202] - Field: 'result' [17:28:09.202] - Field: 'asynchronous' [17:28:09.202] - Field: 'calls' [17:28:09.203] - Field: 'globals' [17:28:09.203] - Field: 'stdout' [17:28:09.203] - Field: 'earlySignal' [17:28:09.203] - Field: 'lazy' [17:28:09.203] - Field: 'state' [17:28:09.203] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.204] - Launch lazy future ... [17:28:09.204] Packages needed by the future expression (n = 0): [17:28:09.204] Packages needed by future strategies (n = 0): [17:28:09.205] { [17:28:09.205] { [17:28:09.205] { [17:28:09.205] ...future.startTime <- base::Sys.time() [17:28:09.205] { [17:28:09.205] { [17:28:09.205] { [17:28:09.205] { [17:28:09.205] base::local({ [17:28:09.205] has_future <- base::requireNamespace("future", [17:28:09.205] quietly = TRUE) [17:28:09.205] if (has_future) { [17:28:09.205] ns <- base::getNamespace("future") [17:28:09.205] version <- ns[[".package"]][["version"]] [17:28:09.205] if (is.null(version)) [17:28:09.205] version <- utils::packageVersion("future") [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] version <- NULL [17:28:09.205] } [17:28:09.205] if (!has_future || version < "1.8.0") { [17:28:09.205] info <- base::c(r_version = base::gsub("R version ", [17:28:09.205] "", base::R.version$version.string), [17:28:09.205] platform = base::sprintf("%s (%s-bit)", [17:28:09.205] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:09.205] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.205] "release", "version")], collapse = " "), [17:28:09.205] hostname = base::Sys.info()[["nodename"]]) [17:28:09.205] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.205] info) [17:28:09.205] info <- base::paste(info, collapse = "; ") [17:28:09.205] if (!has_future) { [17:28:09.205] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.205] info) [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.205] info, version) [17:28:09.205] } [17:28:09.205] base::stop(msg) [17:28:09.205] } [17:28:09.205] }) [17:28:09.205] } [17:28:09.205] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.205] base::options(mc.cores = 1L) [17:28:09.205] } [17:28:09.205] ...future.strategy.old <- future::plan("list") [17:28:09.205] options(future.plan = NULL) [17:28:09.205] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.205] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.205] } [17:28:09.205] ...future.workdir <- getwd() [17:28:09.205] } [17:28:09.205] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.205] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.205] } [17:28:09.205] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.205] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.205] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.205] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.205] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.205] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.205] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.205] base::names(...future.oldOptions)) [17:28:09.205] } [17:28:09.205] if (FALSE) { [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] if (TRUE) { [17:28:09.205] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.205] open = "w") [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.205] windows = "NUL", "/dev/null"), open = "w") [17:28:09.205] } [17:28:09.205] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.205] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.205] base::sink(type = "output", split = FALSE) [17:28:09.205] base::close(...future.stdout) [17:28:09.205] }, add = TRUE) [17:28:09.205] } [17:28:09.205] ...future.frame <- base::sys.nframe() [17:28:09.205] ...future.conditions <- base::list() [17:28:09.205] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.205] if (FALSE) { [17:28:09.205] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.205] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.205] } [17:28:09.205] ...future.result <- base::tryCatch({ [17:28:09.205] base::withCallingHandlers({ [17:28:09.205] ...future.value <- base::withVisible(base::local({ [17:28:09.205] ...future.makeSendCondition <- base::local({ [17:28:09.205] sendCondition <- NULL [17:28:09.205] function(frame = 1L) { [17:28:09.205] if (is.function(sendCondition)) [17:28:09.205] return(sendCondition) [17:28:09.205] ns <- getNamespace("parallel") [17:28:09.205] if (exists("sendData", mode = "function", [17:28:09.205] envir = ns)) { [17:28:09.205] parallel_sendData <- get("sendData", mode = "function", [17:28:09.205] envir = ns) [17:28:09.205] envir <- sys.frame(frame) [17:28:09.205] master <- NULL [17:28:09.205] while (!identical(envir, .GlobalEnv) && [17:28:09.205] !identical(envir, emptyenv())) { [17:28:09.205] if (exists("master", mode = "list", envir = envir, [17:28:09.205] inherits = FALSE)) { [17:28:09.205] master <- get("master", mode = "list", [17:28:09.205] envir = envir, inherits = FALSE) [17:28:09.205] if (inherits(master, c("SOCKnode", [17:28:09.205] "SOCK0node"))) { [17:28:09.205] sendCondition <<- function(cond) { [17:28:09.205] data <- list(type = "VALUE", value = cond, [17:28:09.205] success = TRUE) [17:28:09.205] parallel_sendData(master, data) [17:28:09.205] } [17:28:09.205] return(sendCondition) [17:28:09.205] } [17:28:09.205] } [17:28:09.205] frame <- frame + 1L [17:28:09.205] envir <- sys.frame(frame) [17:28:09.205] } [17:28:09.205] } [17:28:09.205] sendCondition <<- function(cond) NULL [17:28:09.205] } [17:28:09.205] }) [17:28:09.205] withCallingHandlers({ [17:28:09.205] 1 [17:28:09.205] }, immediateCondition = function(cond) { [17:28:09.205] sendCondition <- ...future.makeSendCondition() [17:28:09.205] sendCondition(cond) [17:28:09.205] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.205] { [17:28:09.205] inherits <- base::inherits [17:28:09.205] invokeRestart <- base::invokeRestart [17:28:09.205] is.null <- base::is.null [17:28:09.205] muffled <- FALSE [17:28:09.205] if (inherits(cond, "message")) { [17:28:09.205] muffled <- grepl(pattern, "muffleMessage") [17:28:09.205] if (muffled) [17:28:09.205] invokeRestart("muffleMessage") [17:28:09.205] } [17:28:09.205] else if (inherits(cond, "warning")) { [17:28:09.205] muffled <- grepl(pattern, "muffleWarning") [17:28:09.205] if (muffled) [17:28:09.205] invokeRestart("muffleWarning") [17:28:09.205] } [17:28:09.205] else if (inherits(cond, "condition")) { [17:28:09.205] if (!is.null(pattern)) { [17:28:09.205] computeRestarts <- base::computeRestarts [17:28:09.205] grepl <- base::grepl [17:28:09.205] restarts <- computeRestarts(cond) [17:28:09.205] for (restart in restarts) { [17:28:09.205] name <- restart$name [17:28:09.205] if (is.null(name)) [17:28:09.205] next [17:28:09.205] if (!grepl(pattern, name)) [17:28:09.205] next [17:28:09.205] invokeRestart(restart) [17:28:09.205] muffled <- TRUE [17:28:09.205] break [17:28:09.205] } [17:28:09.205] } [17:28:09.205] } [17:28:09.205] invisible(muffled) [17:28:09.205] } [17:28:09.205] muffleCondition(cond) [17:28:09.205] }) [17:28:09.205] })) [17:28:09.205] future::FutureResult(value = ...future.value$value, [17:28:09.205] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.205] ...future.rng), globalenv = if (FALSE) [17:28:09.205] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.205] ...future.globalenv.names)) [17:28:09.205] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.205] }, condition = base::local({ [17:28:09.205] c <- base::c [17:28:09.205] inherits <- base::inherits [17:28:09.205] invokeRestart <- base::invokeRestart [17:28:09.205] length <- base::length [17:28:09.205] list <- base::list [17:28:09.205] seq.int <- base::seq.int [17:28:09.205] signalCondition <- base::signalCondition [17:28:09.205] sys.calls <- base::sys.calls [17:28:09.205] `[[` <- base::`[[` [17:28:09.205] `+` <- base::`+` [17:28:09.205] `<<-` <- base::`<<-` [17:28:09.205] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.205] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.205] 3L)] [17:28:09.205] } [17:28:09.205] function(cond) { [17:28:09.205] is_error <- inherits(cond, "error") [17:28:09.205] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.205] NULL) [17:28:09.205] if (is_error) { [17:28:09.205] sessionInformation <- function() { [17:28:09.205] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.205] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.205] search = base::search(), system = base::Sys.info()) [17:28:09.205] } [17:28:09.205] ...future.conditions[[length(...future.conditions) + [17:28:09.205] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.205] cond$call), session = sessionInformation(), [17:28:09.205] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.205] signalCondition(cond) [17:28:09.205] } [17:28:09.205] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.205] "immediateCondition"))) { [17:28:09.205] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.205] ...future.conditions[[length(...future.conditions) + [17:28:09.205] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.205] if (TRUE && !signal) { [17:28:09.205] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.205] { [17:28:09.205] inherits <- base::inherits [17:28:09.205] invokeRestart <- base::invokeRestart [17:28:09.205] is.null <- base::is.null [17:28:09.205] muffled <- FALSE [17:28:09.205] if (inherits(cond, "message")) { [17:28:09.205] muffled <- grepl(pattern, "muffleMessage") [17:28:09.205] if (muffled) [17:28:09.205] invokeRestart("muffleMessage") [17:28:09.205] } [17:28:09.205] else if (inherits(cond, "warning")) { [17:28:09.205] muffled <- grepl(pattern, "muffleWarning") [17:28:09.205] if (muffled) [17:28:09.205] invokeRestart("muffleWarning") [17:28:09.205] } [17:28:09.205] else if (inherits(cond, "condition")) { [17:28:09.205] if (!is.null(pattern)) { [17:28:09.205] computeRestarts <- base::computeRestarts [17:28:09.205] grepl <- base::grepl [17:28:09.205] restarts <- computeRestarts(cond) [17:28:09.205] for (restart in restarts) { [17:28:09.205] name <- restart$name [17:28:09.205] if (is.null(name)) [17:28:09.205] next [17:28:09.205] if (!grepl(pattern, name)) [17:28:09.205] next [17:28:09.205] invokeRestart(restart) [17:28:09.205] muffled <- TRUE [17:28:09.205] break [17:28:09.205] } [17:28:09.205] } [17:28:09.205] } [17:28:09.205] invisible(muffled) [17:28:09.205] } [17:28:09.205] muffleCondition(cond, pattern = "^muffle") [17:28:09.205] } [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] if (TRUE) { [17:28:09.205] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.205] { [17:28:09.205] inherits <- base::inherits [17:28:09.205] invokeRestart <- base::invokeRestart [17:28:09.205] is.null <- base::is.null [17:28:09.205] muffled <- FALSE [17:28:09.205] if (inherits(cond, "message")) { [17:28:09.205] muffled <- grepl(pattern, "muffleMessage") [17:28:09.205] if (muffled) [17:28:09.205] invokeRestart("muffleMessage") [17:28:09.205] } [17:28:09.205] else if (inherits(cond, "warning")) { [17:28:09.205] muffled <- grepl(pattern, "muffleWarning") [17:28:09.205] if (muffled) [17:28:09.205] invokeRestart("muffleWarning") [17:28:09.205] } [17:28:09.205] else if (inherits(cond, "condition")) { [17:28:09.205] if (!is.null(pattern)) { [17:28:09.205] computeRestarts <- base::computeRestarts [17:28:09.205] grepl <- base::grepl [17:28:09.205] restarts <- computeRestarts(cond) [17:28:09.205] for (restart in restarts) { [17:28:09.205] name <- restart$name [17:28:09.205] if (is.null(name)) [17:28:09.205] next [17:28:09.205] if (!grepl(pattern, name)) [17:28:09.205] next [17:28:09.205] invokeRestart(restart) [17:28:09.205] muffled <- TRUE [17:28:09.205] break [17:28:09.205] } [17:28:09.205] } [17:28:09.205] } [17:28:09.205] invisible(muffled) [17:28:09.205] } [17:28:09.205] muffleCondition(cond, pattern = "^muffle") [17:28:09.205] } [17:28:09.205] } [17:28:09.205] } [17:28:09.205] })) [17:28:09.205] }, error = function(ex) { [17:28:09.205] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.205] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.205] ...future.rng), started = ...future.startTime, [17:28:09.205] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.205] version = "1.8"), class = "FutureResult") [17:28:09.205] }, finally = { [17:28:09.205] if (!identical(...future.workdir, getwd())) [17:28:09.205] setwd(...future.workdir) [17:28:09.205] { [17:28:09.205] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.205] ...future.oldOptions$nwarnings <- NULL [17:28:09.205] } [17:28:09.205] base::options(...future.oldOptions) [17:28:09.205] if (.Platform$OS.type == "windows") { [17:28:09.205] old_names <- names(...future.oldEnvVars) [17:28:09.205] envs <- base::Sys.getenv() [17:28:09.205] names <- names(envs) [17:28:09.205] common <- intersect(names, old_names) [17:28:09.205] added <- setdiff(names, old_names) [17:28:09.205] removed <- setdiff(old_names, names) [17:28:09.205] changed <- common[...future.oldEnvVars[common] != [17:28:09.205] envs[common]] [17:28:09.205] NAMES <- toupper(changed) [17:28:09.205] args <- list() [17:28:09.205] for (kk in seq_along(NAMES)) { [17:28:09.205] name <- changed[[kk]] [17:28:09.205] NAME <- NAMES[[kk]] [17:28:09.205] if (name != NAME && is.element(NAME, old_names)) [17:28:09.205] next [17:28:09.205] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.205] } [17:28:09.205] NAMES <- toupper(added) [17:28:09.205] for (kk in seq_along(NAMES)) { [17:28:09.205] name <- added[[kk]] [17:28:09.205] NAME <- NAMES[[kk]] [17:28:09.205] if (name != NAME && is.element(NAME, old_names)) [17:28:09.205] next [17:28:09.205] args[[name]] <- "" [17:28:09.205] } [17:28:09.205] NAMES <- toupper(removed) [17:28:09.205] for (kk in seq_along(NAMES)) { [17:28:09.205] name <- removed[[kk]] [17:28:09.205] NAME <- NAMES[[kk]] [17:28:09.205] if (name != NAME && is.element(NAME, old_names)) [17:28:09.205] next [17:28:09.205] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.205] } [17:28:09.205] if (length(args) > 0) [17:28:09.205] base::do.call(base::Sys.setenv, args = args) [17:28:09.205] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.205] } [17:28:09.205] { [17:28:09.205] if (base::length(...future.futureOptionsAdded) > [17:28:09.205] 0L) { [17:28:09.205] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.205] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.205] base::options(opts) [17:28:09.205] } [17:28:09.205] { [17:28:09.205] { [17:28:09.205] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.205] NULL [17:28:09.205] } [17:28:09.205] options(future.plan = NULL) [17:28:09.205] if (is.na(NA_character_)) [17:28:09.205] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.205] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.205] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.205] .init = FALSE) [17:28:09.205] } [17:28:09.205] } [17:28:09.205] } [17:28:09.205] }) [17:28:09.205] if (TRUE) { [17:28:09.205] base::sink(type = "output", split = FALSE) [17:28:09.205] if (TRUE) { [17:28:09.205] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.205] } [17:28:09.205] else { [17:28:09.205] ...future.result["stdout"] <- base::list(NULL) [17:28:09.205] } [17:28:09.205] base::close(...future.stdout) [17:28:09.205] ...future.stdout <- NULL [17:28:09.205] } [17:28:09.205] ...future.result$conditions <- ...future.conditions [17:28:09.205] ...future.result$finished <- base::Sys.time() [17:28:09.205] ...future.result [17:28:09.205] } [17:28:09.214] MultisessionFuture started [17:28:09.215] - Launch lazy future ... done [17:28:09.215] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.216] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.216] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.218] - globals found: [3] '+', 'value', 'a' [17:28:09.219] Searching for globals ... DONE [17:28:09.219] Resolving globals: TRUE [17:28:09.219] Resolving any globals that are futures ... [17:28:09.219] - globals: [3] '+', 'value', 'a' [17:28:09.220] Resolving any globals that are futures ... DONE [17:28:09.220] Resolving futures part of globals (recursively) ... [17:28:09.221] resolve() on list ... [17:28:09.221] recursive: 99 [17:28:09.221] length: 1 [17:28:09.222] elements: 'a' [17:28:09.244] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.245] - Validating connection of MultisessionFuture [17:28:09.245] - received message: FutureResult [17:28:09.246] - Received FutureResult [17:28:09.246] - Erased future from FutureRegistry [17:28:09.246] result() for ClusterFuture ... [17:28:09.247] - result already collected: FutureResult [17:28:09.247] result() for ClusterFuture ... done [17:28:09.247] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.247] Future #1 [17:28:09.248] result() for ClusterFuture ... [17:28:09.248] - result already collected: FutureResult [17:28:09.248] result() for ClusterFuture ... done [17:28:09.249] result() for ClusterFuture ... [17:28:09.249] - result already collected: FutureResult [17:28:09.249] result() for ClusterFuture ... done [17:28:09.250] A MultisessionFuture was resolved [17:28:09.250] length: 0 (resolved future 1) [17:28:09.250] resolve() on list ... DONE [17:28:09.251] - globals: [1] 'a' [17:28:09.251] Resolving futures part of globals (recursively) ... DONE [17:28:09.268] The total size of the 1 globals is 313.64 KiB (321164 bytes) [17:28:09.269] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.64 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.64 KiB of class 'environment') [17:28:09.270] - globals: [1] 'a' [17:28:09.270] - packages: [1] 'future' [17:28:09.271] getGlobalsAndPackages() ... DONE [17:28:09.271] run() for 'Future' ... [17:28:09.272] - state: 'created' [17:28:09.272] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.296] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.297] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.297] - Field: 'node' [17:28:09.298] - Field: 'label' [17:28:09.298] - Field: 'local' [17:28:09.298] - Field: 'owner' [17:28:09.299] - Field: 'envir' [17:28:09.299] - Field: 'workers' [17:28:09.299] - Field: 'packages' [17:28:09.300] - Field: 'gc' [17:28:09.300] - Field: 'conditions' [17:28:09.300] - Field: 'persistent' [17:28:09.301] - Field: 'expr' [17:28:09.301] - Field: 'uuid' [17:28:09.301] - Field: 'seed' [17:28:09.302] - Field: 'version' [17:28:09.302] - Field: 'result' [17:28:09.302] - Field: 'asynchronous' [17:28:09.303] - Field: 'calls' [17:28:09.303] - Field: 'globals' [17:28:09.303] - Field: 'stdout' [17:28:09.304] - Field: 'earlySignal' [17:28:09.304] - Field: 'lazy' [17:28:09.304] - Field: 'state' [17:28:09.305] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.305] - Launch lazy future ... [17:28:09.306] Packages needed by the future expression (n = 1): 'future' [17:28:09.306] Packages needed by future strategies (n = 0): [17:28:09.307] { [17:28:09.307] { [17:28:09.307] { [17:28:09.307] ...future.startTime <- base::Sys.time() [17:28:09.307] { [17:28:09.307] { [17:28:09.307] { [17:28:09.307] { [17:28:09.307] { [17:28:09.307] base::local({ [17:28:09.307] has_future <- base::requireNamespace("future", [17:28:09.307] quietly = TRUE) [17:28:09.307] if (has_future) { [17:28:09.307] ns <- base::getNamespace("future") [17:28:09.307] version <- ns[[".package"]][["version"]] [17:28:09.307] if (is.null(version)) [17:28:09.307] version <- utils::packageVersion("future") [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] version <- NULL [17:28:09.307] } [17:28:09.307] if (!has_future || version < "1.8.0") { [17:28:09.307] info <- base::c(r_version = base::gsub("R version ", [17:28:09.307] "", base::R.version$version.string), [17:28:09.307] platform = base::sprintf("%s (%s-bit)", [17:28:09.307] base::R.version$platform, 8 * [17:28:09.307] base::.Machine$sizeof.pointer), [17:28:09.307] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.307] "release", "version")], collapse = " "), [17:28:09.307] hostname = base::Sys.info()[["nodename"]]) [17:28:09.307] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.307] info) [17:28:09.307] info <- base::paste(info, collapse = "; ") [17:28:09.307] if (!has_future) { [17:28:09.307] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.307] info) [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.307] info, version) [17:28:09.307] } [17:28:09.307] base::stop(msg) [17:28:09.307] } [17:28:09.307] }) [17:28:09.307] } [17:28:09.307] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.307] base::options(mc.cores = 1L) [17:28:09.307] } [17:28:09.307] base::local({ [17:28:09.307] for (pkg in "future") { [17:28:09.307] base::loadNamespace(pkg) [17:28:09.307] base::library(pkg, character.only = TRUE) [17:28:09.307] } [17:28:09.307] }) [17:28:09.307] } [17:28:09.307] ...future.strategy.old <- future::plan("list") [17:28:09.307] options(future.plan = NULL) [17:28:09.307] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.307] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.307] } [17:28:09.307] ...future.workdir <- getwd() [17:28:09.307] } [17:28:09.307] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.307] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.307] } [17:28:09.307] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.307] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.307] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.307] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.307] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.307] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.307] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.307] base::names(...future.oldOptions)) [17:28:09.307] } [17:28:09.307] if (FALSE) { [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] if (TRUE) { [17:28:09.307] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.307] open = "w") [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.307] windows = "NUL", "/dev/null"), open = "w") [17:28:09.307] } [17:28:09.307] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.307] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.307] base::sink(type = "output", split = FALSE) [17:28:09.307] base::close(...future.stdout) [17:28:09.307] }, add = TRUE) [17:28:09.307] } [17:28:09.307] ...future.frame <- base::sys.nframe() [17:28:09.307] ...future.conditions <- base::list() [17:28:09.307] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.307] if (FALSE) { [17:28:09.307] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.307] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.307] } [17:28:09.307] ...future.result <- base::tryCatch({ [17:28:09.307] base::withCallingHandlers({ [17:28:09.307] ...future.value <- base::withVisible(base::local({ [17:28:09.307] ...future.makeSendCondition <- base::local({ [17:28:09.307] sendCondition <- NULL [17:28:09.307] function(frame = 1L) { [17:28:09.307] if (is.function(sendCondition)) [17:28:09.307] return(sendCondition) [17:28:09.307] ns <- getNamespace("parallel") [17:28:09.307] if (exists("sendData", mode = "function", [17:28:09.307] envir = ns)) { [17:28:09.307] parallel_sendData <- get("sendData", mode = "function", [17:28:09.307] envir = ns) [17:28:09.307] envir <- sys.frame(frame) [17:28:09.307] master <- NULL [17:28:09.307] while (!identical(envir, .GlobalEnv) && [17:28:09.307] !identical(envir, emptyenv())) { [17:28:09.307] if (exists("master", mode = "list", envir = envir, [17:28:09.307] inherits = FALSE)) { [17:28:09.307] master <- get("master", mode = "list", [17:28:09.307] envir = envir, inherits = FALSE) [17:28:09.307] if (inherits(master, c("SOCKnode", [17:28:09.307] "SOCK0node"))) { [17:28:09.307] sendCondition <<- function(cond) { [17:28:09.307] data <- list(type = "VALUE", value = cond, [17:28:09.307] success = TRUE) [17:28:09.307] parallel_sendData(master, data) [17:28:09.307] } [17:28:09.307] return(sendCondition) [17:28:09.307] } [17:28:09.307] } [17:28:09.307] frame <- frame + 1L [17:28:09.307] envir <- sys.frame(frame) [17:28:09.307] } [17:28:09.307] } [17:28:09.307] sendCondition <<- function(cond) NULL [17:28:09.307] } [17:28:09.307] }) [17:28:09.307] withCallingHandlers({ [17:28:09.307] value(a) + 1 [17:28:09.307] }, immediateCondition = function(cond) { [17:28:09.307] sendCondition <- ...future.makeSendCondition() [17:28:09.307] sendCondition(cond) [17:28:09.307] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.307] { [17:28:09.307] inherits <- base::inherits [17:28:09.307] invokeRestart <- base::invokeRestart [17:28:09.307] is.null <- base::is.null [17:28:09.307] muffled <- FALSE [17:28:09.307] if (inherits(cond, "message")) { [17:28:09.307] muffled <- grepl(pattern, "muffleMessage") [17:28:09.307] if (muffled) [17:28:09.307] invokeRestart("muffleMessage") [17:28:09.307] } [17:28:09.307] else if (inherits(cond, "warning")) { [17:28:09.307] muffled <- grepl(pattern, "muffleWarning") [17:28:09.307] if (muffled) [17:28:09.307] invokeRestart("muffleWarning") [17:28:09.307] } [17:28:09.307] else if (inherits(cond, "condition")) { [17:28:09.307] if (!is.null(pattern)) { [17:28:09.307] computeRestarts <- base::computeRestarts [17:28:09.307] grepl <- base::grepl [17:28:09.307] restarts <- computeRestarts(cond) [17:28:09.307] for (restart in restarts) { [17:28:09.307] name <- restart$name [17:28:09.307] if (is.null(name)) [17:28:09.307] next [17:28:09.307] if (!grepl(pattern, name)) [17:28:09.307] next [17:28:09.307] invokeRestart(restart) [17:28:09.307] muffled <- TRUE [17:28:09.307] break [17:28:09.307] } [17:28:09.307] } [17:28:09.307] } [17:28:09.307] invisible(muffled) [17:28:09.307] } [17:28:09.307] muffleCondition(cond) [17:28:09.307] }) [17:28:09.307] })) [17:28:09.307] future::FutureResult(value = ...future.value$value, [17:28:09.307] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.307] ...future.rng), globalenv = if (FALSE) [17:28:09.307] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.307] ...future.globalenv.names)) [17:28:09.307] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.307] }, condition = base::local({ [17:28:09.307] c <- base::c [17:28:09.307] inherits <- base::inherits [17:28:09.307] invokeRestart <- base::invokeRestart [17:28:09.307] length <- base::length [17:28:09.307] list <- base::list [17:28:09.307] seq.int <- base::seq.int [17:28:09.307] signalCondition <- base::signalCondition [17:28:09.307] sys.calls <- base::sys.calls [17:28:09.307] `[[` <- base::`[[` [17:28:09.307] `+` <- base::`+` [17:28:09.307] `<<-` <- base::`<<-` [17:28:09.307] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.307] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.307] 3L)] [17:28:09.307] } [17:28:09.307] function(cond) { [17:28:09.307] is_error <- inherits(cond, "error") [17:28:09.307] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.307] NULL) [17:28:09.307] if (is_error) { [17:28:09.307] sessionInformation <- function() { [17:28:09.307] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.307] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.307] search = base::search(), system = base::Sys.info()) [17:28:09.307] } [17:28:09.307] ...future.conditions[[length(...future.conditions) + [17:28:09.307] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.307] cond$call), session = sessionInformation(), [17:28:09.307] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.307] signalCondition(cond) [17:28:09.307] } [17:28:09.307] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.307] "immediateCondition"))) { [17:28:09.307] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.307] ...future.conditions[[length(...future.conditions) + [17:28:09.307] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.307] if (TRUE && !signal) { [17:28:09.307] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.307] { [17:28:09.307] inherits <- base::inherits [17:28:09.307] invokeRestart <- base::invokeRestart [17:28:09.307] is.null <- base::is.null [17:28:09.307] muffled <- FALSE [17:28:09.307] if (inherits(cond, "message")) { [17:28:09.307] muffled <- grepl(pattern, "muffleMessage") [17:28:09.307] if (muffled) [17:28:09.307] invokeRestart("muffleMessage") [17:28:09.307] } [17:28:09.307] else if (inherits(cond, "warning")) { [17:28:09.307] muffled <- grepl(pattern, "muffleWarning") [17:28:09.307] if (muffled) [17:28:09.307] invokeRestart("muffleWarning") [17:28:09.307] } [17:28:09.307] else if (inherits(cond, "condition")) { [17:28:09.307] if (!is.null(pattern)) { [17:28:09.307] computeRestarts <- base::computeRestarts [17:28:09.307] grepl <- base::grepl [17:28:09.307] restarts <- computeRestarts(cond) [17:28:09.307] for (restart in restarts) { [17:28:09.307] name <- restart$name [17:28:09.307] if (is.null(name)) [17:28:09.307] next [17:28:09.307] if (!grepl(pattern, name)) [17:28:09.307] next [17:28:09.307] invokeRestart(restart) [17:28:09.307] muffled <- TRUE [17:28:09.307] break [17:28:09.307] } [17:28:09.307] } [17:28:09.307] } [17:28:09.307] invisible(muffled) [17:28:09.307] } [17:28:09.307] muffleCondition(cond, pattern = "^muffle") [17:28:09.307] } [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] if (TRUE) { [17:28:09.307] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.307] { [17:28:09.307] inherits <- base::inherits [17:28:09.307] invokeRestart <- base::invokeRestart [17:28:09.307] is.null <- base::is.null [17:28:09.307] muffled <- FALSE [17:28:09.307] if (inherits(cond, "message")) { [17:28:09.307] muffled <- grepl(pattern, "muffleMessage") [17:28:09.307] if (muffled) [17:28:09.307] invokeRestart("muffleMessage") [17:28:09.307] } [17:28:09.307] else if (inherits(cond, "warning")) { [17:28:09.307] muffled <- grepl(pattern, "muffleWarning") [17:28:09.307] if (muffled) [17:28:09.307] invokeRestart("muffleWarning") [17:28:09.307] } [17:28:09.307] else if (inherits(cond, "condition")) { [17:28:09.307] if (!is.null(pattern)) { [17:28:09.307] computeRestarts <- base::computeRestarts [17:28:09.307] grepl <- base::grepl [17:28:09.307] restarts <- computeRestarts(cond) [17:28:09.307] for (restart in restarts) { [17:28:09.307] name <- restart$name [17:28:09.307] if (is.null(name)) [17:28:09.307] next [17:28:09.307] if (!grepl(pattern, name)) [17:28:09.307] next [17:28:09.307] invokeRestart(restart) [17:28:09.307] muffled <- TRUE [17:28:09.307] break [17:28:09.307] } [17:28:09.307] } [17:28:09.307] } [17:28:09.307] invisible(muffled) [17:28:09.307] } [17:28:09.307] muffleCondition(cond, pattern = "^muffle") [17:28:09.307] } [17:28:09.307] } [17:28:09.307] } [17:28:09.307] })) [17:28:09.307] }, error = function(ex) { [17:28:09.307] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.307] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.307] ...future.rng), started = ...future.startTime, [17:28:09.307] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.307] version = "1.8"), class = "FutureResult") [17:28:09.307] }, finally = { [17:28:09.307] if (!identical(...future.workdir, getwd())) [17:28:09.307] setwd(...future.workdir) [17:28:09.307] { [17:28:09.307] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.307] ...future.oldOptions$nwarnings <- NULL [17:28:09.307] } [17:28:09.307] base::options(...future.oldOptions) [17:28:09.307] if (.Platform$OS.type == "windows") { [17:28:09.307] old_names <- names(...future.oldEnvVars) [17:28:09.307] envs <- base::Sys.getenv() [17:28:09.307] names <- names(envs) [17:28:09.307] common <- intersect(names, old_names) [17:28:09.307] added <- setdiff(names, old_names) [17:28:09.307] removed <- setdiff(old_names, names) [17:28:09.307] changed <- common[...future.oldEnvVars[common] != [17:28:09.307] envs[common]] [17:28:09.307] NAMES <- toupper(changed) [17:28:09.307] args <- list() [17:28:09.307] for (kk in seq_along(NAMES)) { [17:28:09.307] name <- changed[[kk]] [17:28:09.307] NAME <- NAMES[[kk]] [17:28:09.307] if (name != NAME && is.element(NAME, old_names)) [17:28:09.307] next [17:28:09.307] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.307] } [17:28:09.307] NAMES <- toupper(added) [17:28:09.307] for (kk in seq_along(NAMES)) { [17:28:09.307] name <- added[[kk]] [17:28:09.307] NAME <- NAMES[[kk]] [17:28:09.307] if (name != NAME && is.element(NAME, old_names)) [17:28:09.307] next [17:28:09.307] args[[name]] <- "" [17:28:09.307] } [17:28:09.307] NAMES <- toupper(removed) [17:28:09.307] for (kk in seq_along(NAMES)) { [17:28:09.307] name <- removed[[kk]] [17:28:09.307] NAME <- NAMES[[kk]] [17:28:09.307] if (name != NAME && is.element(NAME, old_names)) [17:28:09.307] next [17:28:09.307] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.307] } [17:28:09.307] if (length(args) > 0) [17:28:09.307] base::do.call(base::Sys.setenv, args = args) [17:28:09.307] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.307] } [17:28:09.307] { [17:28:09.307] if (base::length(...future.futureOptionsAdded) > [17:28:09.307] 0L) { [17:28:09.307] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.307] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.307] base::options(opts) [17:28:09.307] } [17:28:09.307] { [17:28:09.307] { [17:28:09.307] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.307] NULL [17:28:09.307] } [17:28:09.307] options(future.plan = NULL) [17:28:09.307] if (is.na(NA_character_)) [17:28:09.307] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.307] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.307] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.307] .init = FALSE) [17:28:09.307] } [17:28:09.307] } [17:28:09.307] } [17:28:09.307] }) [17:28:09.307] if (TRUE) { [17:28:09.307] base::sink(type = "output", split = FALSE) [17:28:09.307] if (TRUE) { [17:28:09.307] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.307] } [17:28:09.307] else { [17:28:09.307] ...future.result["stdout"] <- base::list(NULL) [17:28:09.307] } [17:28:09.307] base::close(...future.stdout) [17:28:09.307] ...future.stdout <- NULL [17:28:09.307] } [17:28:09.307] ...future.result$conditions <- ...future.conditions [17:28:09.307] ...future.result$finished <- base::Sys.time() [17:28:09.307] ...future.result [17:28:09.307] } [17:28:09.335] Exporting 1 global objects (313.84 KiB) to cluster node #2 ... [17:28:09.352] Exporting 'a' (313.64 KiB) to cluster node #2 ... [17:28:09.368] Exporting 'a' (313.64 KiB) to cluster node #2 ... DONE [17:28:09.368] Exporting 1 global objects (313.84 KiB) to cluster node #2 ... DONE [17:28:09.369] MultisessionFuture started [17:28:09.369] - Launch lazy future ... done [17:28:09.370] run() for 'MultisessionFuture' ... done [17:28:09.370] result() for ClusterFuture ... [17:28:09.370] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.371] - Validating connection of MultisessionFuture [17:28:09.394] - received message: FutureResult [17:28:09.394] - Received FutureResult [17:28:09.395] - Erased future from FutureRegistry [17:28:09.395] result() for ClusterFuture ... [17:28:09.395] - result already collected: FutureResult [17:28:09.395] result() for ClusterFuture ... done [17:28:09.396] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.396] result() for ClusterFuture ... done [17:28:09.396] result() for ClusterFuture ... [17:28:09.396] - result already collected: FutureResult [17:28:09.397] result() for ClusterFuture ... done value(b) = 2 [17:28:09.397] result() for ClusterFuture ... [17:28:09.397] - result already collected: FutureResult [17:28:09.398] result() for ClusterFuture ... done [17:28:09.398] result() for ClusterFuture ... [17:28:09.398] - result already collected: FutureResult [17:28:09.398] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.399] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.400] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.401] [17:28:09.401] Searching for globals ... DONE [17:28:09.401] - globals: [0] [17:28:09.402] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.402] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.403] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.404] - globals found: [3] '+', 'value', 'a' [17:28:09.405] Searching for globals ... DONE [17:28:09.405] Resolving globals: TRUE [17:28:09.405] Resolving any globals that are futures ... [17:28:09.406] - globals: [3] '+', 'value', 'a' [17:28:09.406] Resolving any globals that are futures ... DONE [17:28:09.406] Resolving futures part of globals (recursively) ... [17:28:09.407] resolve() on list ... [17:28:09.407] recursive: 99 [17:28:09.408] length: 1 [17:28:09.408] elements: 'a' [17:28:09.408] run() for 'Future' ... [17:28:09.408] - state: 'created' [17:28:09.409] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.426] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.426] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.426] - Field: 'node' [17:28:09.427] - Field: 'label' [17:28:09.427] - Field: 'local' [17:28:09.427] - Field: 'owner' [17:28:09.428] - Field: 'envir' [17:28:09.428] - Field: 'workers' [17:28:09.428] - Field: 'packages' [17:28:09.428] - Field: 'gc' [17:28:09.429] - Field: 'conditions' [17:28:09.429] - Field: 'persistent' [17:28:09.429] - Field: 'expr' [17:28:09.429] - Field: 'uuid' [17:28:09.430] - Field: 'seed' [17:28:09.430] - Field: 'version' [17:28:09.430] - Field: 'result' [17:28:09.431] - Field: 'asynchronous' [17:28:09.431] - Field: 'calls' [17:28:09.431] - Field: 'globals' [17:28:09.431] - Field: 'stdout' [17:28:09.432] - Field: 'earlySignal' [17:28:09.432] - Field: 'lazy' [17:28:09.432] - Field: 'state' [17:28:09.433] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.433] - Launch lazy future ... [17:28:09.434] Packages needed by the future expression (n = 0): [17:28:09.434] Packages needed by future strategies (n = 0): [17:28:09.435] { [17:28:09.435] { [17:28:09.435] { [17:28:09.435] ...future.startTime <- base::Sys.time() [17:28:09.435] { [17:28:09.435] { [17:28:09.435] { [17:28:09.435] { [17:28:09.435] base::local({ [17:28:09.435] has_future <- base::requireNamespace("future", [17:28:09.435] quietly = TRUE) [17:28:09.435] if (has_future) { [17:28:09.435] ns <- base::getNamespace("future") [17:28:09.435] version <- ns[[".package"]][["version"]] [17:28:09.435] if (is.null(version)) [17:28:09.435] version <- utils::packageVersion("future") [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] version <- NULL [17:28:09.435] } [17:28:09.435] if (!has_future || version < "1.8.0") { [17:28:09.435] info <- base::c(r_version = base::gsub("R version ", [17:28:09.435] "", base::R.version$version.string), [17:28:09.435] platform = base::sprintf("%s (%s-bit)", [17:28:09.435] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:09.435] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.435] "release", "version")], collapse = " "), [17:28:09.435] hostname = base::Sys.info()[["nodename"]]) [17:28:09.435] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.435] info) [17:28:09.435] info <- base::paste(info, collapse = "; ") [17:28:09.435] if (!has_future) { [17:28:09.435] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.435] info) [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.435] info, version) [17:28:09.435] } [17:28:09.435] base::stop(msg) [17:28:09.435] } [17:28:09.435] }) [17:28:09.435] } [17:28:09.435] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.435] base::options(mc.cores = 1L) [17:28:09.435] } [17:28:09.435] ...future.strategy.old <- future::plan("list") [17:28:09.435] options(future.plan = NULL) [17:28:09.435] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.435] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.435] } [17:28:09.435] ...future.workdir <- getwd() [17:28:09.435] } [17:28:09.435] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.435] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.435] } [17:28:09.435] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.435] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.435] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.435] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.435] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.435] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.435] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.435] base::names(...future.oldOptions)) [17:28:09.435] } [17:28:09.435] if (FALSE) { [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] if (TRUE) { [17:28:09.435] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.435] open = "w") [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.435] windows = "NUL", "/dev/null"), open = "w") [17:28:09.435] } [17:28:09.435] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.435] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.435] base::sink(type = "output", split = FALSE) [17:28:09.435] base::close(...future.stdout) [17:28:09.435] }, add = TRUE) [17:28:09.435] } [17:28:09.435] ...future.frame <- base::sys.nframe() [17:28:09.435] ...future.conditions <- base::list() [17:28:09.435] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.435] if (FALSE) { [17:28:09.435] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.435] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.435] } [17:28:09.435] ...future.result <- base::tryCatch({ [17:28:09.435] base::withCallingHandlers({ [17:28:09.435] ...future.value <- base::withVisible(base::local({ [17:28:09.435] ...future.makeSendCondition <- base::local({ [17:28:09.435] sendCondition <- NULL [17:28:09.435] function(frame = 1L) { [17:28:09.435] if (is.function(sendCondition)) [17:28:09.435] return(sendCondition) [17:28:09.435] ns <- getNamespace("parallel") [17:28:09.435] if (exists("sendData", mode = "function", [17:28:09.435] envir = ns)) { [17:28:09.435] parallel_sendData <- get("sendData", mode = "function", [17:28:09.435] envir = ns) [17:28:09.435] envir <- sys.frame(frame) [17:28:09.435] master <- NULL [17:28:09.435] while (!identical(envir, .GlobalEnv) && [17:28:09.435] !identical(envir, emptyenv())) { [17:28:09.435] if (exists("master", mode = "list", envir = envir, [17:28:09.435] inherits = FALSE)) { [17:28:09.435] master <- get("master", mode = "list", [17:28:09.435] envir = envir, inherits = FALSE) [17:28:09.435] if (inherits(master, c("SOCKnode", [17:28:09.435] "SOCK0node"))) { [17:28:09.435] sendCondition <<- function(cond) { [17:28:09.435] data <- list(type = "VALUE", value = cond, [17:28:09.435] success = TRUE) [17:28:09.435] parallel_sendData(master, data) [17:28:09.435] } [17:28:09.435] return(sendCondition) [17:28:09.435] } [17:28:09.435] } [17:28:09.435] frame <- frame + 1L [17:28:09.435] envir <- sys.frame(frame) [17:28:09.435] } [17:28:09.435] } [17:28:09.435] sendCondition <<- function(cond) NULL [17:28:09.435] } [17:28:09.435] }) [17:28:09.435] withCallingHandlers({ [17:28:09.435] 1 [17:28:09.435] }, immediateCondition = function(cond) { [17:28:09.435] sendCondition <- ...future.makeSendCondition() [17:28:09.435] sendCondition(cond) [17:28:09.435] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.435] { [17:28:09.435] inherits <- base::inherits [17:28:09.435] invokeRestart <- base::invokeRestart [17:28:09.435] is.null <- base::is.null [17:28:09.435] muffled <- FALSE [17:28:09.435] if (inherits(cond, "message")) { [17:28:09.435] muffled <- grepl(pattern, "muffleMessage") [17:28:09.435] if (muffled) [17:28:09.435] invokeRestart("muffleMessage") [17:28:09.435] } [17:28:09.435] else if (inherits(cond, "warning")) { [17:28:09.435] muffled <- grepl(pattern, "muffleWarning") [17:28:09.435] if (muffled) [17:28:09.435] invokeRestart("muffleWarning") [17:28:09.435] } [17:28:09.435] else if (inherits(cond, "condition")) { [17:28:09.435] if (!is.null(pattern)) { [17:28:09.435] computeRestarts <- base::computeRestarts [17:28:09.435] grepl <- base::grepl [17:28:09.435] restarts <- computeRestarts(cond) [17:28:09.435] for (restart in restarts) { [17:28:09.435] name <- restart$name [17:28:09.435] if (is.null(name)) [17:28:09.435] next [17:28:09.435] if (!grepl(pattern, name)) [17:28:09.435] next [17:28:09.435] invokeRestart(restart) [17:28:09.435] muffled <- TRUE [17:28:09.435] break [17:28:09.435] } [17:28:09.435] } [17:28:09.435] } [17:28:09.435] invisible(muffled) [17:28:09.435] } [17:28:09.435] muffleCondition(cond) [17:28:09.435] }) [17:28:09.435] })) [17:28:09.435] future::FutureResult(value = ...future.value$value, [17:28:09.435] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.435] ...future.rng), globalenv = if (FALSE) [17:28:09.435] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.435] ...future.globalenv.names)) [17:28:09.435] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.435] }, condition = base::local({ [17:28:09.435] c <- base::c [17:28:09.435] inherits <- base::inherits [17:28:09.435] invokeRestart <- base::invokeRestart [17:28:09.435] length <- base::length [17:28:09.435] list <- base::list [17:28:09.435] seq.int <- base::seq.int [17:28:09.435] signalCondition <- base::signalCondition [17:28:09.435] sys.calls <- base::sys.calls [17:28:09.435] `[[` <- base::`[[` [17:28:09.435] `+` <- base::`+` [17:28:09.435] `<<-` <- base::`<<-` [17:28:09.435] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.435] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.435] 3L)] [17:28:09.435] } [17:28:09.435] function(cond) { [17:28:09.435] is_error <- inherits(cond, "error") [17:28:09.435] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.435] NULL) [17:28:09.435] if (is_error) { [17:28:09.435] sessionInformation <- function() { [17:28:09.435] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.435] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.435] search = base::search(), system = base::Sys.info()) [17:28:09.435] } [17:28:09.435] ...future.conditions[[length(...future.conditions) + [17:28:09.435] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.435] cond$call), session = sessionInformation(), [17:28:09.435] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.435] signalCondition(cond) [17:28:09.435] } [17:28:09.435] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.435] "immediateCondition"))) { [17:28:09.435] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.435] ...future.conditions[[length(...future.conditions) + [17:28:09.435] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.435] if (TRUE && !signal) { [17:28:09.435] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.435] { [17:28:09.435] inherits <- base::inherits [17:28:09.435] invokeRestart <- base::invokeRestart [17:28:09.435] is.null <- base::is.null [17:28:09.435] muffled <- FALSE [17:28:09.435] if (inherits(cond, "message")) { [17:28:09.435] muffled <- grepl(pattern, "muffleMessage") [17:28:09.435] if (muffled) [17:28:09.435] invokeRestart("muffleMessage") [17:28:09.435] } [17:28:09.435] else if (inherits(cond, "warning")) { [17:28:09.435] muffled <- grepl(pattern, "muffleWarning") [17:28:09.435] if (muffled) [17:28:09.435] invokeRestart("muffleWarning") [17:28:09.435] } [17:28:09.435] else if (inherits(cond, "condition")) { [17:28:09.435] if (!is.null(pattern)) { [17:28:09.435] computeRestarts <- base::computeRestarts [17:28:09.435] grepl <- base::grepl [17:28:09.435] restarts <- computeRestarts(cond) [17:28:09.435] for (restart in restarts) { [17:28:09.435] name <- restart$name [17:28:09.435] if (is.null(name)) [17:28:09.435] next [17:28:09.435] if (!grepl(pattern, name)) [17:28:09.435] next [17:28:09.435] invokeRestart(restart) [17:28:09.435] muffled <- TRUE [17:28:09.435] break [17:28:09.435] } [17:28:09.435] } [17:28:09.435] } [17:28:09.435] invisible(muffled) [17:28:09.435] } [17:28:09.435] muffleCondition(cond, pattern = "^muffle") [17:28:09.435] } [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] if (TRUE) { [17:28:09.435] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.435] { [17:28:09.435] inherits <- base::inherits [17:28:09.435] invokeRestart <- base::invokeRestart [17:28:09.435] is.null <- base::is.null [17:28:09.435] muffled <- FALSE [17:28:09.435] if (inherits(cond, "message")) { [17:28:09.435] muffled <- grepl(pattern, "muffleMessage") [17:28:09.435] if (muffled) [17:28:09.435] invokeRestart("muffleMessage") [17:28:09.435] } [17:28:09.435] else if (inherits(cond, "warning")) { [17:28:09.435] muffled <- grepl(pattern, "muffleWarning") [17:28:09.435] if (muffled) [17:28:09.435] invokeRestart("muffleWarning") [17:28:09.435] } [17:28:09.435] else if (inherits(cond, "condition")) { [17:28:09.435] if (!is.null(pattern)) { [17:28:09.435] computeRestarts <- base::computeRestarts [17:28:09.435] grepl <- base::grepl [17:28:09.435] restarts <- computeRestarts(cond) [17:28:09.435] for (restart in restarts) { [17:28:09.435] name <- restart$name [17:28:09.435] if (is.null(name)) [17:28:09.435] next [17:28:09.435] if (!grepl(pattern, name)) [17:28:09.435] next [17:28:09.435] invokeRestart(restart) [17:28:09.435] muffled <- TRUE [17:28:09.435] break [17:28:09.435] } [17:28:09.435] } [17:28:09.435] } [17:28:09.435] invisible(muffled) [17:28:09.435] } [17:28:09.435] muffleCondition(cond, pattern = "^muffle") [17:28:09.435] } [17:28:09.435] } [17:28:09.435] } [17:28:09.435] })) [17:28:09.435] }, error = function(ex) { [17:28:09.435] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.435] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.435] ...future.rng), started = ...future.startTime, [17:28:09.435] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.435] version = "1.8"), class = "FutureResult") [17:28:09.435] }, finally = { [17:28:09.435] if (!identical(...future.workdir, getwd())) [17:28:09.435] setwd(...future.workdir) [17:28:09.435] { [17:28:09.435] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.435] ...future.oldOptions$nwarnings <- NULL [17:28:09.435] } [17:28:09.435] base::options(...future.oldOptions) [17:28:09.435] if (.Platform$OS.type == "windows") { [17:28:09.435] old_names <- names(...future.oldEnvVars) [17:28:09.435] envs <- base::Sys.getenv() [17:28:09.435] names <- names(envs) [17:28:09.435] common <- intersect(names, old_names) [17:28:09.435] added <- setdiff(names, old_names) [17:28:09.435] removed <- setdiff(old_names, names) [17:28:09.435] changed <- common[...future.oldEnvVars[common] != [17:28:09.435] envs[common]] [17:28:09.435] NAMES <- toupper(changed) [17:28:09.435] args <- list() [17:28:09.435] for (kk in seq_along(NAMES)) { [17:28:09.435] name <- changed[[kk]] [17:28:09.435] NAME <- NAMES[[kk]] [17:28:09.435] if (name != NAME && is.element(NAME, old_names)) [17:28:09.435] next [17:28:09.435] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.435] } [17:28:09.435] NAMES <- toupper(added) [17:28:09.435] for (kk in seq_along(NAMES)) { [17:28:09.435] name <- added[[kk]] [17:28:09.435] NAME <- NAMES[[kk]] [17:28:09.435] if (name != NAME && is.element(NAME, old_names)) [17:28:09.435] next [17:28:09.435] args[[name]] <- "" [17:28:09.435] } [17:28:09.435] NAMES <- toupper(removed) [17:28:09.435] for (kk in seq_along(NAMES)) { [17:28:09.435] name <- removed[[kk]] [17:28:09.435] NAME <- NAMES[[kk]] [17:28:09.435] if (name != NAME && is.element(NAME, old_names)) [17:28:09.435] next [17:28:09.435] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.435] } [17:28:09.435] if (length(args) > 0) [17:28:09.435] base::do.call(base::Sys.setenv, args = args) [17:28:09.435] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.435] } [17:28:09.435] { [17:28:09.435] if (base::length(...future.futureOptionsAdded) > [17:28:09.435] 0L) { [17:28:09.435] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.435] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.435] base::options(opts) [17:28:09.435] } [17:28:09.435] { [17:28:09.435] { [17:28:09.435] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.435] NULL [17:28:09.435] } [17:28:09.435] options(future.plan = NULL) [17:28:09.435] if (is.na(NA_character_)) [17:28:09.435] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.435] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.435] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.435] .init = FALSE) [17:28:09.435] } [17:28:09.435] } [17:28:09.435] } [17:28:09.435] }) [17:28:09.435] if (TRUE) { [17:28:09.435] base::sink(type = "output", split = FALSE) [17:28:09.435] if (TRUE) { [17:28:09.435] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.435] } [17:28:09.435] else { [17:28:09.435] ...future.result["stdout"] <- base::list(NULL) [17:28:09.435] } [17:28:09.435] base::close(...future.stdout) [17:28:09.435] ...future.stdout <- NULL [17:28:09.435] } [17:28:09.435] ...future.result$conditions <- ...future.conditions [17:28:09.435] ...future.result$finished <- base::Sys.time() [17:28:09.435] ...future.result [17:28:09.435] } [17:28:09.444] MultisessionFuture started [17:28:09.445] - Launch lazy future ... done [17:28:09.445] run() for 'MultisessionFuture' ... done [17:28:09.479] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.480] - Validating connection of MultisessionFuture [17:28:09.481] - received message: FutureResult [17:28:09.481] - Received FutureResult [17:28:09.481] - Erased future from FutureRegistry [17:28:09.482] result() for ClusterFuture ... [17:28:09.482] - result already collected: FutureResult [17:28:09.482] result() for ClusterFuture ... done [17:28:09.483] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.483] Future #1 [17:28:09.483] result() for ClusterFuture ... [17:28:09.484] - result already collected: FutureResult [17:28:09.484] result() for ClusterFuture ... done [17:28:09.484] result() for ClusterFuture ... [17:28:09.484] - result already collected: FutureResult [17:28:09.485] result() for ClusterFuture ... done [17:28:09.485] A MultisessionFuture was resolved [17:28:09.486] length: 0 (resolved future 1) [17:28:09.486] resolve() on list ... DONE [17:28:09.486] - globals: [1] 'a' [17:28:09.487] Resolving futures part of globals (recursively) ... DONE [17:28:09.501] The total size of the 1 globals is 313.66 KiB (321184 bytes) [17:28:09.502] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.66 KiB of class 'environment') [17:28:09.503] - globals: [1] 'a' [17:28:09.503] - packages: [1] 'future' [17:28:09.503] getGlobalsAndPackages() ... DONE [17:28:09.504] run() for 'Future' ... [17:28:09.504] - state: 'created' [17:28:09.504] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.525] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.525] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.525] - Field: 'node' [17:28:09.526] - Field: 'label' [17:28:09.526] - Field: 'local' [17:28:09.526] - Field: 'owner' [17:28:09.527] - Field: 'envir' [17:28:09.527] - Field: 'workers' [17:28:09.527] - Field: 'packages' [17:28:09.528] - Field: 'gc' [17:28:09.528] - Field: 'conditions' [17:28:09.528] - Field: 'persistent' [17:28:09.529] - Field: 'expr' [17:28:09.529] - Field: 'uuid' [17:28:09.529] - Field: 'seed' [17:28:09.530] - Field: 'version' [17:28:09.530] - Field: 'result' [17:28:09.530] - Field: 'asynchronous' [17:28:09.530] - Field: 'calls' [17:28:09.531] - Field: 'globals' [17:28:09.531] - Field: 'stdout' [17:28:09.531] - Field: 'earlySignal' [17:28:09.532] - Field: 'lazy' [17:28:09.532] - Field: 'state' [17:28:09.532] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.532] - Launch lazy future ... [17:28:09.533] Packages needed by the future expression (n = 1): 'future' [17:28:09.533] Packages needed by future strategies (n = 0): [17:28:09.535] { [17:28:09.535] { [17:28:09.535] { [17:28:09.535] ...future.startTime <- base::Sys.time() [17:28:09.535] { [17:28:09.535] { [17:28:09.535] { [17:28:09.535] { [17:28:09.535] { [17:28:09.535] base::local({ [17:28:09.535] has_future <- base::requireNamespace("future", [17:28:09.535] quietly = TRUE) [17:28:09.535] if (has_future) { [17:28:09.535] ns <- base::getNamespace("future") [17:28:09.535] version <- ns[[".package"]][["version"]] [17:28:09.535] if (is.null(version)) [17:28:09.535] version <- utils::packageVersion("future") [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] version <- NULL [17:28:09.535] } [17:28:09.535] if (!has_future || version < "1.8.0") { [17:28:09.535] info <- base::c(r_version = base::gsub("R version ", [17:28:09.535] "", base::R.version$version.string), [17:28:09.535] platform = base::sprintf("%s (%s-bit)", [17:28:09.535] base::R.version$platform, 8 * [17:28:09.535] base::.Machine$sizeof.pointer), [17:28:09.535] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.535] "release", "version")], collapse = " "), [17:28:09.535] hostname = base::Sys.info()[["nodename"]]) [17:28:09.535] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.535] info) [17:28:09.535] info <- base::paste(info, collapse = "; ") [17:28:09.535] if (!has_future) { [17:28:09.535] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.535] info) [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.535] info, version) [17:28:09.535] } [17:28:09.535] base::stop(msg) [17:28:09.535] } [17:28:09.535] }) [17:28:09.535] } [17:28:09.535] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.535] base::options(mc.cores = 1L) [17:28:09.535] } [17:28:09.535] base::local({ [17:28:09.535] for (pkg in "future") { [17:28:09.535] base::loadNamespace(pkg) [17:28:09.535] base::library(pkg, character.only = TRUE) [17:28:09.535] } [17:28:09.535] }) [17:28:09.535] } [17:28:09.535] ...future.strategy.old <- future::plan("list") [17:28:09.535] options(future.plan = NULL) [17:28:09.535] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.535] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.535] } [17:28:09.535] ...future.workdir <- getwd() [17:28:09.535] } [17:28:09.535] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.535] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.535] } [17:28:09.535] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.535] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.535] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.535] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.535] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.535] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.535] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.535] base::names(...future.oldOptions)) [17:28:09.535] } [17:28:09.535] if (FALSE) { [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] if (TRUE) { [17:28:09.535] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.535] open = "w") [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.535] windows = "NUL", "/dev/null"), open = "w") [17:28:09.535] } [17:28:09.535] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.535] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.535] base::sink(type = "output", split = FALSE) [17:28:09.535] base::close(...future.stdout) [17:28:09.535] }, add = TRUE) [17:28:09.535] } [17:28:09.535] ...future.frame <- base::sys.nframe() [17:28:09.535] ...future.conditions <- base::list() [17:28:09.535] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.535] if (FALSE) { [17:28:09.535] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.535] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.535] } [17:28:09.535] ...future.result <- base::tryCatch({ [17:28:09.535] base::withCallingHandlers({ [17:28:09.535] ...future.value <- base::withVisible(base::local({ [17:28:09.535] ...future.makeSendCondition <- base::local({ [17:28:09.535] sendCondition <- NULL [17:28:09.535] function(frame = 1L) { [17:28:09.535] if (is.function(sendCondition)) [17:28:09.535] return(sendCondition) [17:28:09.535] ns <- getNamespace("parallel") [17:28:09.535] if (exists("sendData", mode = "function", [17:28:09.535] envir = ns)) { [17:28:09.535] parallel_sendData <- get("sendData", mode = "function", [17:28:09.535] envir = ns) [17:28:09.535] envir <- sys.frame(frame) [17:28:09.535] master <- NULL [17:28:09.535] while (!identical(envir, .GlobalEnv) && [17:28:09.535] !identical(envir, emptyenv())) { [17:28:09.535] if (exists("master", mode = "list", envir = envir, [17:28:09.535] inherits = FALSE)) { [17:28:09.535] master <- get("master", mode = "list", [17:28:09.535] envir = envir, inherits = FALSE) [17:28:09.535] if (inherits(master, c("SOCKnode", [17:28:09.535] "SOCK0node"))) { [17:28:09.535] sendCondition <<- function(cond) { [17:28:09.535] data <- list(type = "VALUE", value = cond, [17:28:09.535] success = TRUE) [17:28:09.535] parallel_sendData(master, data) [17:28:09.535] } [17:28:09.535] return(sendCondition) [17:28:09.535] } [17:28:09.535] } [17:28:09.535] frame <- frame + 1L [17:28:09.535] envir <- sys.frame(frame) [17:28:09.535] } [17:28:09.535] } [17:28:09.535] sendCondition <<- function(cond) NULL [17:28:09.535] } [17:28:09.535] }) [17:28:09.535] withCallingHandlers({ [17:28:09.535] value(a) + 1 [17:28:09.535] }, immediateCondition = function(cond) { [17:28:09.535] sendCondition <- ...future.makeSendCondition() [17:28:09.535] sendCondition(cond) [17:28:09.535] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.535] { [17:28:09.535] inherits <- base::inherits [17:28:09.535] invokeRestart <- base::invokeRestart [17:28:09.535] is.null <- base::is.null [17:28:09.535] muffled <- FALSE [17:28:09.535] if (inherits(cond, "message")) { [17:28:09.535] muffled <- grepl(pattern, "muffleMessage") [17:28:09.535] if (muffled) [17:28:09.535] invokeRestart("muffleMessage") [17:28:09.535] } [17:28:09.535] else if (inherits(cond, "warning")) { [17:28:09.535] muffled <- grepl(pattern, "muffleWarning") [17:28:09.535] if (muffled) [17:28:09.535] invokeRestart("muffleWarning") [17:28:09.535] } [17:28:09.535] else if (inherits(cond, "condition")) { [17:28:09.535] if (!is.null(pattern)) { [17:28:09.535] computeRestarts <- base::computeRestarts [17:28:09.535] grepl <- base::grepl [17:28:09.535] restarts <- computeRestarts(cond) [17:28:09.535] for (restart in restarts) { [17:28:09.535] name <- restart$name [17:28:09.535] if (is.null(name)) [17:28:09.535] next [17:28:09.535] if (!grepl(pattern, name)) [17:28:09.535] next [17:28:09.535] invokeRestart(restart) [17:28:09.535] muffled <- TRUE [17:28:09.535] break [17:28:09.535] } [17:28:09.535] } [17:28:09.535] } [17:28:09.535] invisible(muffled) [17:28:09.535] } [17:28:09.535] muffleCondition(cond) [17:28:09.535] }) [17:28:09.535] })) [17:28:09.535] future::FutureResult(value = ...future.value$value, [17:28:09.535] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.535] ...future.rng), globalenv = if (FALSE) [17:28:09.535] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.535] ...future.globalenv.names)) [17:28:09.535] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.535] }, condition = base::local({ [17:28:09.535] c <- base::c [17:28:09.535] inherits <- base::inherits [17:28:09.535] invokeRestart <- base::invokeRestart [17:28:09.535] length <- base::length [17:28:09.535] list <- base::list [17:28:09.535] seq.int <- base::seq.int [17:28:09.535] signalCondition <- base::signalCondition [17:28:09.535] sys.calls <- base::sys.calls [17:28:09.535] `[[` <- base::`[[` [17:28:09.535] `+` <- base::`+` [17:28:09.535] `<<-` <- base::`<<-` [17:28:09.535] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.535] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.535] 3L)] [17:28:09.535] } [17:28:09.535] function(cond) { [17:28:09.535] is_error <- inherits(cond, "error") [17:28:09.535] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.535] NULL) [17:28:09.535] if (is_error) { [17:28:09.535] sessionInformation <- function() { [17:28:09.535] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.535] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.535] search = base::search(), system = base::Sys.info()) [17:28:09.535] } [17:28:09.535] ...future.conditions[[length(...future.conditions) + [17:28:09.535] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.535] cond$call), session = sessionInformation(), [17:28:09.535] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.535] signalCondition(cond) [17:28:09.535] } [17:28:09.535] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.535] "immediateCondition"))) { [17:28:09.535] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.535] ...future.conditions[[length(...future.conditions) + [17:28:09.535] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.535] if (TRUE && !signal) { [17:28:09.535] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.535] { [17:28:09.535] inherits <- base::inherits [17:28:09.535] invokeRestart <- base::invokeRestart [17:28:09.535] is.null <- base::is.null [17:28:09.535] muffled <- FALSE [17:28:09.535] if (inherits(cond, "message")) { [17:28:09.535] muffled <- grepl(pattern, "muffleMessage") [17:28:09.535] if (muffled) [17:28:09.535] invokeRestart("muffleMessage") [17:28:09.535] } [17:28:09.535] else if (inherits(cond, "warning")) { [17:28:09.535] muffled <- grepl(pattern, "muffleWarning") [17:28:09.535] if (muffled) [17:28:09.535] invokeRestart("muffleWarning") [17:28:09.535] } [17:28:09.535] else if (inherits(cond, "condition")) { [17:28:09.535] if (!is.null(pattern)) { [17:28:09.535] computeRestarts <- base::computeRestarts [17:28:09.535] grepl <- base::grepl [17:28:09.535] restarts <- computeRestarts(cond) [17:28:09.535] for (restart in restarts) { [17:28:09.535] name <- restart$name [17:28:09.535] if (is.null(name)) [17:28:09.535] next [17:28:09.535] if (!grepl(pattern, name)) [17:28:09.535] next [17:28:09.535] invokeRestart(restart) [17:28:09.535] muffled <- TRUE [17:28:09.535] break [17:28:09.535] } [17:28:09.535] } [17:28:09.535] } [17:28:09.535] invisible(muffled) [17:28:09.535] } [17:28:09.535] muffleCondition(cond, pattern = "^muffle") [17:28:09.535] } [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] if (TRUE) { [17:28:09.535] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.535] { [17:28:09.535] inherits <- base::inherits [17:28:09.535] invokeRestart <- base::invokeRestart [17:28:09.535] is.null <- base::is.null [17:28:09.535] muffled <- FALSE [17:28:09.535] if (inherits(cond, "message")) { [17:28:09.535] muffled <- grepl(pattern, "muffleMessage") [17:28:09.535] if (muffled) [17:28:09.535] invokeRestart("muffleMessage") [17:28:09.535] } [17:28:09.535] else if (inherits(cond, "warning")) { [17:28:09.535] muffled <- grepl(pattern, "muffleWarning") [17:28:09.535] if (muffled) [17:28:09.535] invokeRestart("muffleWarning") [17:28:09.535] } [17:28:09.535] else if (inherits(cond, "condition")) { [17:28:09.535] if (!is.null(pattern)) { [17:28:09.535] computeRestarts <- base::computeRestarts [17:28:09.535] grepl <- base::grepl [17:28:09.535] restarts <- computeRestarts(cond) [17:28:09.535] for (restart in restarts) { [17:28:09.535] name <- restart$name [17:28:09.535] if (is.null(name)) [17:28:09.535] next [17:28:09.535] if (!grepl(pattern, name)) [17:28:09.535] next [17:28:09.535] invokeRestart(restart) [17:28:09.535] muffled <- TRUE [17:28:09.535] break [17:28:09.535] } [17:28:09.535] } [17:28:09.535] } [17:28:09.535] invisible(muffled) [17:28:09.535] } [17:28:09.535] muffleCondition(cond, pattern = "^muffle") [17:28:09.535] } [17:28:09.535] } [17:28:09.535] } [17:28:09.535] })) [17:28:09.535] }, error = function(ex) { [17:28:09.535] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.535] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.535] ...future.rng), started = ...future.startTime, [17:28:09.535] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.535] version = "1.8"), class = "FutureResult") [17:28:09.535] }, finally = { [17:28:09.535] if (!identical(...future.workdir, getwd())) [17:28:09.535] setwd(...future.workdir) [17:28:09.535] { [17:28:09.535] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.535] ...future.oldOptions$nwarnings <- NULL [17:28:09.535] } [17:28:09.535] base::options(...future.oldOptions) [17:28:09.535] if (.Platform$OS.type == "windows") { [17:28:09.535] old_names <- names(...future.oldEnvVars) [17:28:09.535] envs <- base::Sys.getenv() [17:28:09.535] names <- names(envs) [17:28:09.535] common <- intersect(names, old_names) [17:28:09.535] added <- setdiff(names, old_names) [17:28:09.535] removed <- setdiff(old_names, names) [17:28:09.535] changed <- common[...future.oldEnvVars[common] != [17:28:09.535] envs[common]] [17:28:09.535] NAMES <- toupper(changed) [17:28:09.535] args <- list() [17:28:09.535] for (kk in seq_along(NAMES)) { [17:28:09.535] name <- changed[[kk]] [17:28:09.535] NAME <- NAMES[[kk]] [17:28:09.535] if (name != NAME && is.element(NAME, old_names)) [17:28:09.535] next [17:28:09.535] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.535] } [17:28:09.535] NAMES <- toupper(added) [17:28:09.535] for (kk in seq_along(NAMES)) { [17:28:09.535] name <- added[[kk]] [17:28:09.535] NAME <- NAMES[[kk]] [17:28:09.535] if (name != NAME && is.element(NAME, old_names)) [17:28:09.535] next [17:28:09.535] args[[name]] <- "" [17:28:09.535] } [17:28:09.535] NAMES <- toupper(removed) [17:28:09.535] for (kk in seq_along(NAMES)) { [17:28:09.535] name <- removed[[kk]] [17:28:09.535] NAME <- NAMES[[kk]] [17:28:09.535] if (name != NAME && is.element(NAME, old_names)) [17:28:09.535] next [17:28:09.535] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.535] } [17:28:09.535] if (length(args) > 0) [17:28:09.535] base::do.call(base::Sys.setenv, args = args) [17:28:09.535] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.535] } [17:28:09.535] { [17:28:09.535] if (base::length(...future.futureOptionsAdded) > [17:28:09.535] 0L) { [17:28:09.535] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.535] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.535] base::options(opts) [17:28:09.535] } [17:28:09.535] { [17:28:09.535] { [17:28:09.535] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.535] NULL [17:28:09.535] } [17:28:09.535] options(future.plan = NULL) [17:28:09.535] if (is.na(NA_character_)) [17:28:09.535] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.535] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.535] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.535] .init = FALSE) [17:28:09.535] } [17:28:09.535] } [17:28:09.535] } [17:28:09.535] }) [17:28:09.535] if (TRUE) { [17:28:09.535] base::sink(type = "output", split = FALSE) [17:28:09.535] if (TRUE) { [17:28:09.535] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.535] } [17:28:09.535] else { [17:28:09.535] ...future.result["stdout"] <- base::list(NULL) [17:28:09.535] } [17:28:09.535] base::close(...future.stdout) [17:28:09.535] ...future.stdout <- NULL [17:28:09.535] } [17:28:09.535] ...future.result$conditions <- ...future.conditions [17:28:09.535] ...future.result$finished <- base::Sys.time() [17:28:09.535] ...future.result [17:28:09.535] } [17:28:09.558] Exporting 1 global objects (313.86 KiB) to cluster node #2 ... [17:28:09.573] Exporting 'a' (313.66 KiB) to cluster node #2 ... [17:28:09.590] Exporting 'a' (313.66 KiB) to cluster node #2 ... DONE [17:28:09.590] Exporting 1 global objects (313.86 KiB) to cluster node #2 ... DONE [17:28:09.592] MultisessionFuture started [17:28:09.592] - Launch lazy future ... done [17:28:09.596] run() for 'MultisessionFuture' ... done [17:28:09.597] result() for ClusterFuture ... [17:28:09.597] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.597] - Validating connection of MultisessionFuture [17:28:09.619] - received message: FutureResult [17:28:09.620] - Received FutureResult [17:28:09.620] - Erased future from FutureRegistry [17:28:09.621] result() for ClusterFuture ... [17:28:09.621] - result already collected: FutureResult [17:28:09.621] result() for ClusterFuture ... done [17:28:09.622] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.622] result() for ClusterFuture ... done [17:28:09.622] result() for ClusterFuture ... [17:28:09.622] - result already collected: FutureResult [17:28:09.623] result() for ClusterFuture ... done value(b) = 2 [17:28:09.623] result() for ClusterFuture ... [17:28:09.624] - result already collected: FutureResult [17:28:09.624] result() for ClusterFuture ... done [17:28:09.624] result() for ClusterFuture ... [17:28:09.625] - result already collected: FutureResult [17:28:09.625] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.626] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.626] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.628] [17:28:09.628] Searching for globals ... DONE [17:28:09.628] - globals: [0] [17:28:09.629] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.630] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.630] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.632] - globals found: [3] '+', 'value', 'a' [17:28:09.632] Searching for globals ... DONE [17:28:09.633] Resolving globals: TRUE [17:28:09.633] Resolving any globals that are futures ... [17:28:09.633] - globals: [3] '+', 'value', 'a' [17:28:09.633] Resolving any globals that are futures ... DONE [17:28:09.634] Resolving futures part of globals (recursively) ... [17:28:09.635] resolve() on list ... [17:28:09.635] recursive: 99 [17:28:09.635] length: 1 [17:28:09.635] elements: 'a' [17:28:09.636] run() for 'Future' ... [17:28:09.636] - state: 'created' [17:28:09.636] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.659] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.659] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.659] - Field: 'node' [17:28:09.660] - Field: 'label' [17:28:09.660] - Field: 'local' [17:28:09.660] - Field: 'owner' [17:28:09.661] - Field: 'envir' [17:28:09.661] - Field: 'workers' [17:28:09.661] - Field: 'packages' [17:28:09.661] - Field: 'gc' [17:28:09.662] - Field: 'conditions' [17:28:09.662] - Field: 'persistent' [17:28:09.662] - Field: 'expr' [17:28:09.663] - Field: 'uuid' [17:28:09.663] - Field: 'seed' [17:28:09.663] - Field: 'version' [17:28:09.663] - Field: 'result' [17:28:09.664] - Field: 'asynchronous' [17:28:09.664] - Field: 'calls' [17:28:09.664] - Field: 'globals' [17:28:09.664] - Field: 'stdout' [17:28:09.665] - Field: 'earlySignal' [17:28:09.665] - Field: 'lazy' [17:28:09.665] - Field: 'state' [17:28:09.666] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.666] - Launch lazy future ... [17:28:09.667] Packages needed by the future expression (n = 0): [17:28:09.667] Packages needed by future strategies (n = 0): [17:28:09.668] { [17:28:09.668] { [17:28:09.668] { [17:28:09.668] ...future.startTime <- base::Sys.time() [17:28:09.668] { [17:28:09.668] { [17:28:09.668] { [17:28:09.668] { [17:28:09.668] base::local({ [17:28:09.668] has_future <- base::requireNamespace("future", [17:28:09.668] quietly = TRUE) [17:28:09.668] if (has_future) { [17:28:09.668] ns <- base::getNamespace("future") [17:28:09.668] version <- ns[[".package"]][["version"]] [17:28:09.668] if (is.null(version)) [17:28:09.668] version <- utils::packageVersion("future") [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] version <- NULL [17:28:09.668] } [17:28:09.668] if (!has_future || version < "1.8.0") { [17:28:09.668] info <- base::c(r_version = base::gsub("R version ", [17:28:09.668] "", base::R.version$version.string), [17:28:09.668] platform = base::sprintf("%s (%s-bit)", [17:28:09.668] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:09.668] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.668] "release", "version")], collapse = " "), [17:28:09.668] hostname = base::Sys.info()[["nodename"]]) [17:28:09.668] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.668] info) [17:28:09.668] info <- base::paste(info, collapse = "; ") [17:28:09.668] if (!has_future) { [17:28:09.668] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.668] info) [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.668] info, version) [17:28:09.668] } [17:28:09.668] base::stop(msg) [17:28:09.668] } [17:28:09.668] }) [17:28:09.668] } [17:28:09.668] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.668] base::options(mc.cores = 1L) [17:28:09.668] } [17:28:09.668] ...future.strategy.old <- future::plan("list") [17:28:09.668] options(future.plan = NULL) [17:28:09.668] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.668] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.668] } [17:28:09.668] ...future.workdir <- getwd() [17:28:09.668] } [17:28:09.668] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.668] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.668] } [17:28:09.668] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.668] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.668] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.668] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.668] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.668] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.668] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.668] base::names(...future.oldOptions)) [17:28:09.668] } [17:28:09.668] if (FALSE) { [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] if (TRUE) { [17:28:09.668] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.668] open = "w") [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.668] windows = "NUL", "/dev/null"), open = "w") [17:28:09.668] } [17:28:09.668] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.668] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.668] base::sink(type = "output", split = FALSE) [17:28:09.668] base::close(...future.stdout) [17:28:09.668] }, add = TRUE) [17:28:09.668] } [17:28:09.668] ...future.frame <- base::sys.nframe() [17:28:09.668] ...future.conditions <- base::list() [17:28:09.668] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.668] if (FALSE) { [17:28:09.668] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.668] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.668] } [17:28:09.668] ...future.result <- base::tryCatch({ [17:28:09.668] base::withCallingHandlers({ [17:28:09.668] ...future.value <- base::withVisible(base::local({ [17:28:09.668] ...future.makeSendCondition <- base::local({ [17:28:09.668] sendCondition <- NULL [17:28:09.668] function(frame = 1L) { [17:28:09.668] if (is.function(sendCondition)) [17:28:09.668] return(sendCondition) [17:28:09.668] ns <- getNamespace("parallel") [17:28:09.668] if (exists("sendData", mode = "function", [17:28:09.668] envir = ns)) { [17:28:09.668] parallel_sendData <- get("sendData", mode = "function", [17:28:09.668] envir = ns) [17:28:09.668] envir <- sys.frame(frame) [17:28:09.668] master <- NULL [17:28:09.668] while (!identical(envir, .GlobalEnv) && [17:28:09.668] !identical(envir, emptyenv())) { [17:28:09.668] if (exists("master", mode = "list", envir = envir, [17:28:09.668] inherits = FALSE)) { [17:28:09.668] master <- get("master", mode = "list", [17:28:09.668] envir = envir, inherits = FALSE) [17:28:09.668] if (inherits(master, c("SOCKnode", [17:28:09.668] "SOCK0node"))) { [17:28:09.668] sendCondition <<- function(cond) { [17:28:09.668] data <- list(type = "VALUE", value = cond, [17:28:09.668] success = TRUE) [17:28:09.668] parallel_sendData(master, data) [17:28:09.668] } [17:28:09.668] return(sendCondition) [17:28:09.668] } [17:28:09.668] } [17:28:09.668] frame <- frame + 1L [17:28:09.668] envir <- sys.frame(frame) [17:28:09.668] } [17:28:09.668] } [17:28:09.668] sendCondition <<- function(cond) NULL [17:28:09.668] } [17:28:09.668] }) [17:28:09.668] withCallingHandlers({ [17:28:09.668] 1 [17:28:09.668] }, immediateCondition = function(cond) { [17:28:09.668] sendCondition <- ...future.makeSendCondition() [17:28:09.668] sendCondition(cond) [17:28:09.668] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.668] { [17:28:09.668] inherits <- base::inherits [17:28:09.668] invokeRestart <- base::invokeRestart [17:28:09.668] is.null <- base::is.null [17:28:09.668] muffled <- FALSE [17:28:09.668] if (inherits(cond, "message")) { [17:28:09.668] muffled <- grepl(pattern, "muffleMessage") [17:28:09.668] if (muffled) [17:28:09.668] invokeRestart("muffleMessage") [17:28:09.668] } [17:28:09.668] else if (inherits(cond, "warning")) { [17:28:09.668] muffled <- grepl(pattern, "muffleWarning") [17:28:09.668] if (muffled) [17:28:09.668] invokeRestart("muffleWarning") [17:28:09.668] } [17:28:09.668] else if (inherits(cond, "condition")) { [17:28:09.668] if (!is.null(pattern)) { [17:28:09.668] computeRestarts <- base::computeRestarts [17:28:09.668] grepl <- base::grepl [17:28:09.668] restarts <- computeRestarts(cond) [17:28:09.668] for (restart in restarts) { [17:28:09.668] name <- restart$name [17:28:09.668] if (is.null(name)) [17:28:09.668] next [17:28:09.668] if (!grepl(pattern, name)) [17:28:09.668] next [17:28:09.668] invokeRestart(restart) [17:28:09.668] muffled <- TRUE [17:28:09.668] break [17:28:09.668] } [17:28:09.668] } [17:28:09.668] } [17:28:09.668] invisible(muffled) [17:28:09.668] } [17:28:09.668] muffleCondition(cond) [17:28:09.668] }) [17:28:09.668] })) [17:28:09.668] future::FutureResult(value = ...future.value$value, [17:28:09.668] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.668] ...future.rng), globalenv = if (FALSE) [17:28:09.668] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.668] ...future.globalenv.names)) [17:28:09.668] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.668] }, condition = base::local({ [17:28:09.668] c <- base::c [17:28:09.668] inherits <- base::inherits [17:28:09.668] invokeRestart <- base::invokeRestart [17:28:09.668] length <- base::length [17:28:09.668] list <- base::list [17:28:09.668] seq.int <- base::seq.int [17:28:09.668] signalCondition <- base::signalCondition [17:28:09.668] sys.calls <- base::sys.calls [17:28:09.668] `[[` <- base::`[[` [17:28:09.668] `+` <- base::`+` [17:28:09.668] `<<-` <- base::`<<-` [17:28:09.668] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.668] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.668] 3L)] [17:28:09.668] } [17:28:09.668] function(cond) { [17:28:09.668] is_error <- inherits(cond, "error") [17:28:09.668] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.668] NULL) [17:28:09.668] if (is_error) { [17:28:09.668] sessionInformation <- function() { [17:28:09.668] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.668] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.668] search = base::search(), system = base::Sys.info()) [17:28:09.668] } [17:28:09.668] ...future.conditions[[length(...future.conditions) + [17:28:09.668] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.668] cond$call), session = sessionInformation(), [17:28:09.668] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.668] signalCondition(cond) [17:28:09.668] } [17:28:09.668] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.668] "immediateCondition"))) { [17:28:09.668] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.668] ...future.conditions[[length(...future.conditions) + [17:28:09.668] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.668] if (TRUE && !signal) { [17:28:09.668] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.668] { [17:28:09.668] inherits <- base::inherits [17:28:09.668] invokeRestart <- base::invokeRestart [17:28:09.668] is.null <- base::is.null [17:28:09.668] muffled <- FALSE [17:28:09.668] if (inherits(cond, "message")) { [17:28:09.668] muffled <- grepl(pattern, "muffleMessage") [17:28:09.668] if (muffled) [17:28:09.668] invokeRestart("muffleMessage") [17:28:09.668] } [17:28:09.668] else if (inherits(cond, "warning")) { [17:28:09.668] muffled <- grepl(pattern, "muffleWarning") [17:28:09.668] if (muffled) [17:28:09.668] invokeRestart("muffleWarning") [17:28:09.668] } [17:28:09.668] else if (inherits(cond, "condition")) { [17:28:09.668] if (!is.null(pattern)) { [17:28:09.668] computeRestarts <- base::computeRestarts [17:28:09.668] grepl <- base::grepl [17:28:09.668] restarts <- computeRestarts(cond) [17:28:09.668] for (restart in restarts) { [17:28:09.668] name <- restart$name [17:28:09.668] if (is.null(name)) [17:28:09.668] next [17:28:09.668] if (!grepl(pattern, name)) [17:28:09.668] next [17:28:09.668] invokeRestart(restart) [17:28:09.668] muffled <- TRUE [17:28:09.668] break [17:28:09.668] } [17:28:09.668] } [17:28:09.668] } [17:28:09.668] invisible(muffled) [17:28:09.668] } [17:28:09.668] muffleCondition(cond, pattern = "^muffle") [17:28:09.668] } [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] if (TRUE) { [17:28:09.668] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.668] { [17:28:09.668] inherits <- base::inherits [17:28:09.668] invokeRestart <- base::invokeRestart [17:28:09.668] is.null <- base::is.null [17:28:09.668] muffled <- FALSE [17:28:09.668] if (inherits(cond, "message")) { [17:28:09.668] muffled <- grepl(pattern, "muffleMessage") [17:28:09.668] if (muffled) [17:28:09.668] invokeRestart("muffleMessage") [17:28:09.668] } [17:28:09.668] else if (inherits(cond, "warning")) { [17:28:09.668] muffled <- grepl(pattern, "muffleWarning") [17:28:09.668] if (muffled) [17:28:09.668] invokeRestart("muffleWarning") [17:28:09.668] } [17:28:09.668] else if (inherits(cond, "condition")) { [17:28:09.668] if (!is.null(pattern)) { [17:28:09.668] computeRestarts <- base::computeRestarts [17:28:09.668] grepl <- base::grepl [17:28:09.668] restarts <- computeRestarts(cond) [17:28:09.668] for (restart in restarts) { [17:28:09.668] name <- restart$name [17:28:09.668] if (is.null(name)) [17:28:09.668] next [17:28:09.668] if (!grepl(pattern, name)) [17:28:09.668] next [17:28:09.668] invokeRestart(restart) [17:28:09.668] muffled <- TRUE [17:28:09.668] break [17:28:09.668] } [17:28:09.668] } [17:28:09.668] } [17:28:09.668] invisible(muffled) [17:28:09.668] } [17:28:09.668] muffleCondition(cond, pattern = "^muffle") [17:28:09.668] } [17:28:09.668] } [17:28:09.668] } [17:28:09.668] })) [17:28:09.668] }, error = function(ex) { [17:28:09.668] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.668] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.668] ...future.rng), started = ...future.startTime, [17:28:09.668] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.668] version = "1.8"), class = "FutureResult") [17:28:09.668] }, finally = { [17:28:09.668] if (!identical(...future.workdir, getwd())) [17:28:09.668] setwd(...future.workdir) [17:28:09.668] { [17:28:09.668] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.668] ...future.oldOptions$nwarnings <- NULL [17:28:09.668] } [17:28:09.668] base::options(...future.oldOptions) [17:28:09.668] if (.Platform$OS.type == "windows") { [17:28:09.668] old_names <- names(...future.oldEnvVars) [17:28:09.668] envs <- base::Sys.getenv() [17:28:09.668] names <- names(envs) [17:28:09.668] common <- intersect(names, old_names) [17:28:09.668] added <- setdiff(names, old_names) [17:28:09.668] removed <- setdiff(old_names, names) [17:28:09.668] changed <- common[...future.oldEnvVars[common] != [17:28:09.668] envs[common]] [17:28:09.668] NAMES <- toupper(changed) [17:28:09.668] args <- list() [17:28:09.668] for (kk in seq_along(NAMES)) { [17:28:09.668] name <- changed[[kk]] [17:28:09.668] NAME <- NAMES[[kk]] [17:28:09.668] if (name != NAME && is.element(NAME, old_names)) [17:28:09.668] next [17:28:09.668] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.668] } [17:28:09.668] NAMES <- toupper(added) [17:28:09.668] for (kk in seq_along(NAMES)) { [17:28:09.668] name <- added[[kk]] [17:28:09.668] NAME <- NAMES[[kk]] [17:28:09.668] if (name != NAME && is.element(NAME, old_names)) [17:28:09.668] next [17:28:09.668] args[[name]] <- "" [17:28:09.668] } [17:28:09.668] NAMES <- toupper(removed) [17:28:09.668] for (kk in seq_along(NAMES)) { [17:28:09.668] name <- removed[[kk]] [17:28:09.668] NAME <- NAMES[[kk]] [17:28:09.668] if (name != NAME && is.element(NAME, old_names)) [17:28:09.668] next [17:28:09.668] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.668] } [17:28:09.668] if (length(args) > 0) [17:28:09.668] base::do.call(base::Sys.setenv, args = args) [17:28:09.668] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.668] } [17:28:09.668] { [17:28:09.668] if (base::length(...future.futureOptionsAdded) > [17:28:09.668] 0L) { [17:28:09.668] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.668] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.668] base::options(opts) [17:28:09.668] } [17:28:09.668] { [17:28:09.668] { [17:28:09.668] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.668] NULL [17:28:09.668] } [17:28:09.668] options(future.plan = NULL) [17:28:09.668] if (is.na(NA_character_)) [17:28:09.668] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.668] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.668] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.668] .init = FALSE) [17:28:09.668] } [17:28:09.668] } [17:28:09.668] } [17:28:09.668] }) [17:28:09.668] if (TRUE) { [17:28:09.668] base::sink(type = "output", split = FALSE) [17:28:09.668] if (TRUE) { [17:28:09.668] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.668] } [17:28:09.668] else { [17:28:09.668] ...future.result["stdout"] <- base::list(NULL) [17:28:09.668] } [17:28:09.668] base::close(...future.stdout) [17:28:09.668] ...future.stdout <- NULL [17:28:09.668] } [17:28:09.668] ...future.result$conditions <- ...future.conditions [17:28:09.668] ...future.result$finished <- base::Sys.time() [17:28:09.668] ...future.result [17:28:09.668] } [17:28:09.677] MultisessionFuture started [17:28:09.678] - Launch lazy future ... done [17:28:09.678] run() for 'MultisessionFuture' ... done [17:28:09.709] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.709] - Validating connection of MultisessionFuture [17:28:09.710] - received message: FutureResult [17:28:09.710] - Received FutureResult [17:28:09.711] - Erased future from FutureRegistry [17:28:09.711] result() for ClusterFuture ... [17:28:09.711] - result already collected: FutureResult [17:28:09.711] result() for ClusterFuture ... done [17:28:09.712] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.712] Future #1 [17:28:09.712] result() for ClusterFuture ... [17:28:09.712] - result already collected: FutureResult [17:28:09.713] result() for ClusterFuture ... done [17:28:09.713] result() for ClusterFuture ... [17:28:09.713] - result already collected: FutureResult [17:28:09.714] result() for ClusterFuture ... done [17:28:09.714] A MultisessionFuture was resolved [17:28:09.714] length: 0 (resolved future 1) [17:28:09.714] resolve() on list ... DONE [17:28:09.715] - globals: [1] 'a' [17:28:09.715] Resolving futures part of globals (recursively) ... DONE [17:28:09.729] The total size of the 1 globals is 313.66 KiB (321184 bytes) [17:28:09.730] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.66 KiB of class 'environment') [17:28:09.730] - globals: [1] 'a' [17:28:09.730] - packages: [1] 'future' [17:28:09.731] getGlobalsAndPackages() ... DONE [17:28:09.731] run() for 'Future' ... [17:28:09.732] - state: 'created' [17:28:09.732] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.756] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.756] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.757] - Field: 'node' [17:28:09.757] - Field: 'label' [17:28:09.758] - Field: 'local' [17:28:09.758] - Field: 'owner' [17:28:09.758] - Field: 'envir' [17:28:09.759] - Field: 'workers' [17:28:09.759] - Field: 'packages' [17:28:09.760] - Field: 'gc' [17:28:09.760] - Field: 'conditions' [17:28:09.760] - Field: 'persistent' [17:28:09.761] - Field: 'expr' [17:28:09.761] - Field: 'uuid' [17:28:09.761] - Field: 'seed' [17:28:09.762] - Field: 'version' [17:28:09.762] - Field: 'result' [17:28:09.762] - Field: 'asynchronous' [17:28:09.763] - Field: 'calls' [17:28:09.763] - Field: 'globals' [17:28:09.763] - Field: 'stdout' [17:28:09.764] - Field: 'earlySignal' [17:28:09.764] - Field: 'lazy' [17:28:09.765] - Field: 'state' [17:28:09.765] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.765] - Launch lazy future ... [17:28:09.766] Packages needed by the future expression (n = 1): 'future' [17:28:09.767] Packages needed by future strategies (n = 0): [17:28:09.768] { [17:28:09.768] { [17:28:09.768] { [17:28:09.768] ...future.startTime <- base::Sys.time() [17:28:09.768] { [17:28:09.768] { [17:28:09.768] { [17:28:09.768] { [17:28:09.768] { [17:28:09.768] base::local({ [17:28:09.768] has_future <- base::requireNamespace("future", [17:28:09.768] quietly = TRUE) [17:28:09.768] if (has_future) { [17:28:09.768] ns <- base::getNamespace("future") [17:28:09.768] version <- ns[[".package"]][["version"]] [17:28:09.768] if (is.null(version)) [17:28:09.768] version <- utils::packageVersion("future") [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] version <- NULL [17:28:09.768] } [17:28:09.768] if (!has_future || version < "1.8.0") { [17:28:09.768] info <- base::c(r_version = base::gsub("R version ", [17:28:09.768] "", base::R.version$version.string), [17:28:09.768] platform = base::sprintf("%s (%s-bit)", [17:28:09.768] base::R.version$platform, 8 * [17:28:09.768] base::.Machine$sizeof.pointer), [17:28:09.768] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.768] "release", "version")], collapse = " "), [17:28:09.768] hostname = base::Sys.info()[["nodename"]]) [17:28:09.768] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.768] info) [17:28:09.768] info <- base::paste(info, collapse = "; ") [17:28:09.768] if (!has_future) { [17:28:09.768] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.768] info) [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.768] info, version) [17:28:09.768] } [17:28:09.768] base::stop(msg) [17:28:09.768] } [17:28:09.768] }) [17:28:09.768] } [17:28:09.768] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.768] base::options(mc.cores = 1L) [17:28:09.768] } [17:28:09.768] base::local({ [17:28:09.768] for (pkg in "future") { [17:28:09.768] base::loadNamespace(pkg) [17:28:09.768] base::library(pkg, character.only = TRUE) [17:28:09.768] } [17:28:09.768] }) [17:28:09.768] } [17:28:09.768] ...future.strategy.old <- future::plan("list") [17:28:09.768] options(future.plan = NULL) [17:28:09.768] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.768] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.768] } [17:28:09.768] ...future.workdir <- getwd() [17:28:09.768] } [17:28:09.768] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.768] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.768] } [17:28:09.768] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.768] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.768] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.768] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.768] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.768] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.768] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.768] base::names(...future.oldOptions)) [17:28:09.768] } [17:28:09.768] if (FALSE) { [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] if (TRUE) { [17:28:09.768] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.768] open = "w") [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.768] windows = "NUL", "/dev/null"), open = "w") [17:28:09.768] } [17:28:09.768] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.768] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.768] base::sink(type = "output", split = FALSE) [17:28:09.768] base::close(...future.stdout) [17:28:09.768] }, add = TRUE) [17:28:09.768] } [17:28:09.768] ...future.frame <- base::sys.nframe() [17:28:09.768] ...future.conditions <- base::list() [17:28:09.768] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.768] if (FALSE) { [17:28:09.768] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.768] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.768] } [17:28:09.768] ...future.result <- base::tryCatch({ [17:28:09.768] base::withCallingHandlers({ [17:28:09.768] ...future.value <- base::withVisible(base::local({ [17:28:09.768] ...future.makeSendCondition <- base::local({ [17:28:09.768] sendCondition <- NULL [17:28:09.768] function(frame = 1L) { [17:28:09.768] if (is.function(sendCondition)) [17:28:09.768] return(sendCondition) [17:28:09.768] ns <- getNamespace("parallel") [17:28:09.768] if (exists("sendData", mode = "function", [17:28:09.768] envir = ns)) { [17:28:09.768] parallel_sendData <- get("sendData", mode = "function", [17:28:09.768] envir = ns) [17:28:09.768] envir <- sys.frame(frame) [17:28:09.768] master <- NULL [17:28:09.768] while (!identical(envir, .GlobalEnv) && [17:28:09.768] !identical(envir, emptyenv())) { [17:28:09.768] if (exists("master", mode = "list", envir = envir, [17:28:09.768] inherits = FALSE)) { [17:28:09.768] master <- get("master", mode = "list", [17:28:09.768] envir = envir, inherits = FALSE) [17:28:09.768] if (inherits(master, c("SOCKnode", [17:28:09.768] "SOCK0node"))) { [17:28:09.768] sendCondition <<- function(cond) { [17:28:09.768] data <- list(type = "VALUE", value = cond, [17:28:09.768] success = TRUE) [17:28:09.768] parallel_sendData(master, data) [17:28:09.768] } [17:28:09.768] return(sendCondition) [17:28:09.768] } [17:28:09.768] } [17:28:09.768] frame <- frame + 1L [17:28:09.768] envir <- sys.frame(frame) [17:28:09.768] } [17:28:09.768] } [17:28:09.768] sendCondition <<- function(cond) NULL [17:28:09.768] } [17:28:09.768] }) [17:28:09.768] withCallingHandlers({ [17:28:09.768] value(a) + 1 [17:28:09.768] }, immediateCondition = function(cond) { [17:28:09.768] sendCondition <- ...future.makeSendCondition() [17:28:09.768] sendCondition(cond) [17:28:09.768] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.768] { [17:28:09.768] inherits <- base::inherits [17:28:09.768] invokeRestart <- base::invokeRestart [17:28:09.768] is.null <- base::is.null [17:28:09.768] muffled <- FALSE [17:28:09.768] if (inherits(cond, "message")) { [17:28:09.768] muffled <- grepl(pattern, "muffleMessage") [17:28:09.768] if (muffled) [17:28:09.768] invokeRestart("muffleMessage") [17:28:09.768] } [17:28:09.768] else if (inherits(cond, "warning")) { [17:28:09.768] muffled <- grepl(pattern, "muffleWarning") [17:28:09.768] if (muffled) [17:28:09.768] invokeRestart("muffleWarning") [17:28:09.768] } [17:28:09.768] else if (inherits(cond, "condition")) { [17:28:09.768] if (!is.null(pattern)) { [17:28:09.768] computeRestarts <- base::computeRestarts [17:28:09.768] grepl <- base::grepl [17:28:09.768] restarts <- computeRestarts(cond) [17:28:09.768] for (restart in restarts) { [17:28:09.768] name <- restart$name [17:28:09.768] if (is.null(name)) [17:28:09.768] next [17:28:09.768] if (!grepl(pattern, name)) [17:28:09.768] next [17:28:09.768] invokeRestart(restart) [17:28:09.768] muffled <- TRUE [17:28:09.768] break [17:28:09.768] } [17:28:09.768] } [17:28:09.768] } [17:28:09.768] invisible(muffled) [17:28:09.768] } [17:28:09.768] muffleCondition(cond) [17:28:09.768] }) [17:28:09.768] })) [17:28:09.768] future::FutureResult(value = ...future.value$value, [17:28:09.768] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.768] ...future.rng), globalenv = if (FALSE) [17:28:09.768] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.768] ...future.globalenv.names)) [17:28:09.768] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.768] }, condition = base::local({ [17:28:09.768] c <- base::c [17:28:09.768] inherits <- base::inherits [17:28:09.768] invokeRestart <- base::invokeRestart [17:28:09.768] length <- base::length [17:28:09.768] list <- base::list [17:28:09.768] seq.int <- base::seq.int [17:28:09.768] signalCondition <- base::signalCondition [17:28:09.768] sys.calls <- base::sys.calls [17:28:09.768] `[[` <- base::`[[` [17:28:09.768] `+` <- base::`+` [17:28:09.768] `<<-` <- base::`<<-` [17:28:09.768] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.768] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.768] 3L)] [17:28:09.768] } [17:28:09.768] function(cond) { [17:28:09.768] is_error <- inherits(cond, "error") [17:28:09.768] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.768] NULL) [17:28:09.768] if (is_error) { [17:28:09.768] sessionInformation <- function() { [17:28:09.768] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.768] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.768] search = base::search(), system = base::Sys.info()) [17:28:09.768] } [17:28:09.768] ...future.conditions[[length(...future.conditions) + [17:28:09.768] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.768] cond$call), session = sessionInformation(), [17:28:09.768] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.768] signalCondition(cond) [17:28:09.768] } [17:28:09.768] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.768] "immediateCondition"))) { [17:28:09.768] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.768] ...future.conditions[[length(...future.conditions) + [17:28:09.768] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.768] if (TRUE && !signal) { [17:28:09.768] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.768] { [17:28:09.768] inherits <- base::inherits [17:28:09.768] invokeRestart <- base::invokeRestart [17:28:09.768] is.null <- base::is.null [17:28:09.768] muffled <- FALSE [17:28:09.768] if (inherits(cond, "message")) { [17:28:09.768] muffled <- grepl(pattern, "muffleMessage") [17:28:09.768] if (muffled) [17:28:09.768] invokeRestart("muffleMessage") [17:28:09.768] } [17:28:09.768] else if (inherits(cond, "warning")) { [17:28:09.768] muffled <- grepl(pattern, "muffleWarning") [17:28:09.768] if (muffled) [17:28:09.768] invokeRestart("muffleWarning") [17:28:09.768] } [17:28:09.768] else if (inherits(cond, "condition")) { [17:28:09.768] if (!is.null(pattern)) { [17:28:09.768] computeRestarts <- base::computeRestarts [17:28:09.768] grepl <- base::grepl [17:28:09.768] restarts <- computeRestarts(cond) [17:28:09.768] for (restart in restarts) { [17:28:09.768] name <- restart$name [17:28:09.768] if (is.null(name)) [17:28:09.768] next [17:28:09.768] if (!grepl(pattern, name)) [17:28:09.768] next [17:28:09.768] invokeRestart(restart) [17:28:09.768] muffled <- TRUE [17:28:09.768] break [17:28:09.768] } [17:28:09.768] } [17:28:09.768] } [17:28:09.768] invisible(muffled) [17:28:09.768] } [17:28:09.768] muffleCondition(cond, pattern = "^muffle") [17:28:09.768] } [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] if (TRUE) { [17:28:09.768] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.768] { [17:28:09.768] inherits <- base::inherits [17:28:09.768] invokeRestart <- base::invokeRestart [17:28:09.768] is.null <- base::is.null [17:28:09.768] muffled <- FALSE [17:28:09.768] if (inherits(cond, "message")) { [17:28:09.768] muffled <- grepl(pattern, "muffleMessage") [17:28:09.768] if (muffled) [17:28:09.768] invokeRestart("muffleMessage") [17:28:09.768] } [17:28:09.768] else if (inherits(cond, "warning")) { [17:28:09.768] muffled <- grepl(pattern, "muffleWarning") [17:28:09.768] if (muffled) [17:28:09.768] invokeRestart("muffleWarning") [17:28:09.768] } [17:28:09.768] else if (inherits(cond, "condition")) { [17:28:09.768] if (!is.null(pattern)) { [17:28:09.768] computeRestarts <- base::computeRestarts [17:28:09.768] grepl <- base::grepl [17:28:09.768] restarts <- computeRestarts(cond) [17:28:09.768] for (restart in restarts) { [17:28:09.768] name <- restart$name [17:28:09.768] if (is.null(name)) [17:28:09.768] next [17:28:09.768] if (!grepl(pattern, name)) [17:28:09.768] next [17:28:09.768] invokeRestart(restart) [17:28:09.768] muffled <- TRUE [17:28:09.768] break [17:28:09.768] } [17:28:09.768] } [17:28:09.768] } [17:28:09.768] invisible(muffled) [17:28:09.768] } [17:28:09.768] muffleCondition(cond, pattern = "^muffle") [17:28:09.768] } [17:28:09.768] } [17:28:09.768] } [17:28:09.768] })) [17:28:09.768] }, error = function(ex) { [17:28:09.768] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.768] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.768] ...future.rng), started = ...future.startTime, [17:28:09.768] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.768] version = "1.8"), class = "FutureResult") [17:28:09.768] }, finally = { [17:28:09.768] if (!identical(...future.workdir, getwd())) [17:28:09.768] setwd(...future.workdir) [17:28:09.768] { [17:28:09.768] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.768] ...future.oldOptions$nwarnings <- NULL [17:28:09.768] } [17:28:09.768] base::options(...future.oldOptions) [17:28:09.768] if (.Platform$OS.type == "windows") { [17:28:09.768] old_names <- names(...future.oldEnvVars) [17:28:09.768] envs <- base::Sys.getenv() [17:28:09.768] names <- names(envs) [17:28:09.768] common <- intersect(names, old_names) [17:28:09.768] added <- setdiff(names, old_names) [17:28:09.768] removed <- setdiff(old_names, names) [17:28:09.768] changed <- common[...future.oldEnvVars[common] != [17:28:09.768] envs[common]] [17:28:09.768] NAMES <- toupper(changed) [17:28:09.768] args <- list() [17:28:09.768] for (kk in seq_along(NAMES)) { [17:28:09.768] name <- changed[[kk]] [17:28:09.768] NAME <- NAMES[[kk]] [17:28:09.768] if (name != NAME && is.element(NAME, old_names)) [17:28:09.768] next [17:28:09.768] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.768] } [17:28:09.768] NAMES <- toupper(added) [17:28:09.768] for (kk in seq_along(NAMES)) { [17:28:09.768] name <- added[[kk]] [17:28:09.768] NAME <- NAMES[[kk]] [17:28:09.768] if (name != NAME && is.element(NAME, old_names)) [17:28:09.768] next [17:28:09.768] args[[name]] <- "" [17:28:09.768] } [17:28:09.768] NAMES <- toupper(removed) [17:28:09.768] for (kk in seq_along(NAMES)) { [17:28:09.768] name <- removed[[kk]] [17:28:09.768] NAME <- NAMES[[kk]] [17:28:09.768] if (name != NAME && is.element(NAME, old_names)) [17:28:09.768] next [17:28:09.768] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.768] } [17:28:09.768] if (length(args) > 0) [17:28:09.768] base::do.call(base::Sys.setenv, args = args) [17:28:09.768] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.768] } [17:28:09.768] { [17:28:09.768] if (base::length(...future.futureOptionsAdded) > [17:28:09.768] 0L) { [17:28:09.768] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.768] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.768] base::options(opts) [17:28:09.768] } [17:28:09.768] { [17:28:09.768] { [17:28:09.768] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.768] NULL [17:28:09.768] } [17:28:09.768] options(future.plan = NULL) [17:28:09.768] if (is.na(NA_character_)) [17:28:09.768] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.768] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.768] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.768] .init = FALSE) [17:28:09.768] } [17:28:09.768] } [17:28:09.768] } [17:28:09.768] }) [17:28:09.768] if (TRUE) { [17:28:09.768] base::sink(type = "output", split = FALSE) [17:28:09.768] if (TRUE) { [17:28:09.768] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.768] } [17:28:09.768] else { [17:28:09.768] ...future.result["stdout"] <- base::list(NULL) [17:28:09.768] } [17:28:09.768] base::close(...future.stdout) [17:28:09.768] ...future.stdout <- NULL [17:28:09.768] } [17:28:09.768] ...future.result$conditions <- ...future.conditions [17:28:09.768] ...future.result$finished <- base::Sys.time() [17:28:09.768] ...future.result [17:28:09.768] } [17:28:09.794] Exporting 1 global objects (313.86 KiB) to cluster node #2 ... [17:28:09.811] Exporting 'a' (313.66 KiB) to cluster node #2 ... [17:28:09.831] Exporting 'a' (313.66 KiB) to cluster node #2 ... DONE [17:28:09.832] Exporting 1 global objects (313.86 KiB) to cluster node #2 ... DONE [17:28:09.833] MultisessionFuture started [17:28:09.833] - Launch lazy future ... done [17:28:09.833] run() for 'MultisessionFuture' ... done [17:28:09.833] result() for ClusterFuture ... [17:28:09.833] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.834] - Validating connection of MultisessionFuture [17:28:09.863] - received message: FutureResult [17:28:09.863] - Received FutureResult [17:28:09.864] - Erased future from FutureRegistry [17:28:09.864] result() for ClusterFuture ... [17:28:09.864] - result already collected: FutureResult [17:28:09.864] result() for ClusterFuture ... done [17:28:09.865] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.865] result() for ClusterFuture ... done [17:28:09.865] result() for ClusterFuture ... [17:28:09.865] - result already collected: FutureResult [17:28:09.866] result() for ClusterFuture ... done value(b) = 2 [17:28:09.866] result() for ClusterFuture ... [17:28:09.867] - result already collected: FutureResult [17:28:09.867] result() for ClusterFuture ... done [17:28:09.867] result() for ClusterFuture ... [17:28:09.867] - result already collected: FutureResult [17:28:09.868] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.868] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.869] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'conservative' [17:28:09.871] - globals found: [2] '{', 'pkg' [17:28:09.871] Searching for globals ... DONE [17:28:09.871] Resolving globals: TRUE [17:28:09.872] Resolving any globals that are futures ... [17:28:09.872] - globals: [2] '{', 'pkg' [17:28:09.872] Resolving any globals that are futures ... DONE [17:28:09.873] Resolving futures part of globals (recursively) ... [17:28:09.873] resolve() on list ... [17:28:09.874] recursive: 99 [17:28:09.874] length: 1 [17:28:09.874] elements: 'pkg' [17:28:09.874] length: 0 (resolved future 1) [17:28:09.875] resolve() on list ... DONE [17:28:09.875] - globals: [1] 'pkg' [17:28:09.875] Resolving futures part of globals (recursively) ... DONE [17:28:09.876] The total size of the 1 globals is 42 bytes (42 bytes) [17:28:09.876] The total size of the 1 globals exported for future expression ('{; pkg; }') is 42 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (42 bytes of class 'character') [17:28:09.877] - globals: [1] 'pkg' [17:28:09.877] [17:28:09.877] getGlobalsAndPackages() ... DONE [17:28:09.878] Packages needed by the future expression (n = 0): [17:28:09.878] Packages needed by future strategies (n = 0): [17:28:09.879] { [17:28:09.879] { [17:28:09.879] { [17:28:09.879] ...future.startTime <- base::Sys.time() [17:28:09.879] { [17:28:09.879] { [17:28:09.879] { [17:28:09.879] base::local({ [17:28:09.879] has_future <- base::requireNamespace("future", [17:28:09.879] quietly = TRUE) [17:28:09.879] if (has_future) { [17:28:09.879] ns <- base::getNamespace("future") [17:28:09.879] version <- ns[[".package"]][["version"]] [17:28:09.879] if (is.null(version)) [17:28:09.879] version <- utils::packageVersion("future") [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] version <- NULL [17:28:09.879] } [17:28:09.879] if (!has_future || version < "1.8.0") { [17:28:09.879] info <- base::c(r_version = base::gsub("R version ", [17:28:09.879] "", base::R.version$version.string), [17:28:09.879] platform = base::sprintf("%s (%s-bit)", [17:28:09.879] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:09.879] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.879] "release", "version")], collapse = " "), [17:28:09.879] hostname = base::Sys.info()[["nodename"]]) [17:28:09.879] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.879] info) [17:28:09.879] info <- base::paste(info, collapse = "; ") [17:28:09.879] if (!has_future) { [17:28:09.879] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.879] info) [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.879] info, version) [17:28:09.879] } [17:28:09.879] base::stop(msg) [17:28:09.879] } [17:28:09.879] }) [17:28:09.879] } [17:28:09.879] ...future.strategy.old <- future::plan("list") [17:28:09.879] options(future.plan = NULL) [17:28:09.879] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.879] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.879] } [17:28:09.879] ...future.workdir <- getwd() [17:28:09.879] } [17:28:09.879] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.879] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.879] } [17:28:09.879] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.879] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:28:09.879] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.879] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.879] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.879] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.879] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.879] base::names(...future.oldOptions)) [17:28:09.879] } [17:28:09.879] if (FALSE) { [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] if (TRUE) { [17:28:09.879] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.879] open = "w") [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.879] windows = "NUL", "/dev/null"), open = "w") [17:28:09.879] } [17:28:09.879] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.879] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.879] base::sink(type = "output", split = FALSE) [17:28:09.879] base::close(...future.stdout) [17:28:09.879] }, add = TRUE) [17:28:09.879] } [17:28:09.879] ...future.frame <- base::sys.nframe() [17:28:09.879] ...future.conditions <- base::list() [17:28:09.879] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.879] if (FALSE) { [17:28:09.879] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.879] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.879] } [17:28:09.879] ...future.result <- base::tryCatch({ [17:28:09.879] base::withCallingHandlers({ [17:28:09.879] ...future.value <- base::withVisible(base::local({ [17:28:09.879] pkg [17:28:09.879] })) [17:28:09.879] future::FutureResult(value = ...future.value$value, [17:28:09.879] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.879] ...future.rng), globalenv = if (FALSE) [17:28:09.879] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.879] ...future.globalenv.names)) [17:28:09.879] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.879] }, condition = base::local({ [17:28:09.879] c <- base::c [17:28:09.879] inherits <- base::inherits [17:28:09.879] invokeRestart <- base::invokeRestart [17:28:09.879] length <- base::length [17:28:09.879] list <- base::list [17:28:09.879] seq.int <- base::seq.int [17:28:09.879] signalCondition <- base::signalCondition [17:28:09.879] sys.calls <- base::sys.calls [17:28:09.879] `[[` <- base::`[[` [17:28:09.879] `+` <- base::`+` [17:28:09.879] `<<-` <- base::`<<-` [17:28:09.879] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.879] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.879] 3L)] [17:28:09.879] } [17:28:09.879] function(cond) { [17:28:09.879] is_error <- inherits(cond, "error") [17:28:09.879] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.879] NULL) [17:28:09.879] if (is_error) { [17:28:09.879] sessionInformation <- function() { [17:28:09.879] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.879] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.879] search = base::search(), system = base::Sys.info()) [17:28:09.879] } [17:28:09.879] ...future.conditions[[length(...future.conditions) + [17:28:09.879] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.879] cond$call), session = sessionInformation(), [17:28:09.879] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.879] signalCondition(cond) [17:28:09.879] } [17:28:09.879] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.879] "immediateCondition"))) { [17:28:09.879] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.879] ...future.conditions[[length(...future.conditions) + [17:28:09.879] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.879] if (TRUE && !signal) { [17:28:09.879] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.879] { [17:28:09.879] inherits <- base::inherits [17:28:09.879] invokeRestart <- base::invokeRestart [17:28:09.879] is.null <- base::is.null [17:28:09.879] muffled <- FALSE [17:28:09.879] if (inherits(cond, "message")) { [17:28:09.879] muffled <- grepl(pattern, "muffleMessage") [17:28:09.879] if (muffled) [17:28:09.879] invokeRestart("muffleMessage") [17:28:09.879] } [17:28:09.879] else if (inherits(cond, "warning")) { [17:28:09.879] muffled <- grepl(pattern, "muffleWarning") [17:28:09.879] if (muffled) [17:28:09.879] invokeRestart("muffleWarning") [17:28:09.879] } [17:28:09.879] else if (inherits(cond, "condition")) { [17:28:09.879] if (!is.null(pattern)) { [17:28:09.879] computeRestarts <- base::computeRestarts [17:28:09.879] grepl <- base::grepl [17:28:09.879] restarts <- computeRestarts(cond) [17:28:09.879] for (restart in restarts) { [17:28:09.879] name <- restart$name [17:28:09.879] if (is.null(name)) [17:28:09.879] next [17:28:09.879] if (!grepl(pattern, name)) [17:28:09.879] next [17:28:09.879] invokeRestart(restart) [17:28:09.879] muffled <- TRUE [17:28:09.879] break [17:28:09.879] } [17:28:09.879] } [17:28:09.879] } [17:28:09.879] invisible(muffled) [17:28:09.879] } [17:28:09.879] muffleCondition(cond, pattern = "^muffle") [17:28:09.879] } [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] if (TRUE) { [17:28:09.879] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.879] { [17:28:09.879] inherits <- base::inherits [17:28:09.879] invokeRestart <- base::invokeRestart [17:28:09.879] is.null <- base::is.null [17:28:09.879] muffled <- FALSE [17:28:09.879] if (inherits(cond, "message")) { [17:28:09.879] muffled <- grepl(pattern, "muffleMessage") [17:28:09.879] if (muffled) [17:28:09.879] invokeRestart("muffleMessage") [17:28:09.879] } [17:28:09.879] else if (inherits(cond, "warning")) { [17:28:09.879] muffled <- grepl(pattern, "muffleWarning") [17:28:09.879] if (muffled) [17:28:09.879] invokeRestart("muffleWarning") [17:28:09.879] } [17:28:09.879] else if (inherits(cond, "condition")) { [17:28:09.879] if (!is.null(pattern)) { [17:28:09.879] computeRestarts <- base::computeRestarts [17:28:09.879] grepl <- base::grepl [17:28:09.879] restarts <- computeRestarts(cond) [17:28:09.879] for (restart in restarts) { [17:28:09.879] name <- restart$name [17:28:09.879] if (is.null(name)) [17:28:09.879] next [17:28:09.879] if (!grepl(pattern, name)) [17:28:09.879] next [17:28:09.879] invokeRestart(restart) [17:28:09.879] muffled <- TRUE [17:28:09.879] break [17:28:09.879] } [17:28:09.879] } [17:28:09.879] } [17:28:09.879] invisible(muffled) [17:28:09.879] } [17:28:09.879] muffleCondition(cond, pattern = "^muffle") [17:28:09.879] } [17:28:09.879] } [17:28:09.879] } [17:28:09.879] })) [17:28:09.879] }, error = function(ex) { [17:28:09.879] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.879] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.879] ...future.rng), started = ...future.startTime, [17:28:09.879] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.879] version = "1.8"), class = "FutureResult") [17:28:09.879] }, finally = { [17:28:09.879] if (!identical(...future.workdir, getwd())) [17:28:09.879] setwd(...future.workdir) [17:28:09.879] { [17:28:09.879] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.879] ...future.oldOptions$nwarnings <- NULL [17:28:09.879] } [17:28:09.879] base::options(...future.oldOptions) [17:28:09.879] if (.Platform$OS.type == "windows") { [17:28:09.879] old_names <- names(...future.oldEnvVars) [17:28:09.879] envs <- base::Sys.getenv() [17:28:09.879] names <- names(envs) [17:28:09.879] common <- intersect(names, old_names) [17:28:09.879] added <- setdiff(names, old_names) [17:28:09.879] removed <- setdiff(old_names, names) [17:28:09.879] changed <- common[...future.oldEnvVars[common] != [17:28:09.879] envs[common]] [17:28:09.879] NAMES <- toupper(changed) [17:28:09.879] args <- list() [17:28:09.879] for (kk in seq_along(NAMES)) { [17:28:09.879] name <- changed[[kk]] [17:28:09.879] NAME <- NAMES[[kk]] [17:28:09.879] if (name != NAME && is.element(NAME, old_names)) [17:28:09.879] next [17:28:09.879] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.879] } [17:28:09.879] NAMES <- toupper(added) [17:28:09.879] for (kk in seq_along(NAMES)) { [17:28:09.879] name <- added[[kk]] [17:28:09.879] NAME <- NAMES[[kk]] [17:28:09.879] if (name != NAME && is.element(NAME, old_names)) [17:28:09.879] next [17:28:09.879] args[[name]] <- "" [17:28:09.879] } [17:28:09.879] NAMES <- toupper(removed) [17:28:09.879] for (kk in seq_along(NAMES)) { [17:28:09.879] name <- removed[[kk]] [17:28:09.879] NAME <- NAMES[[kk]] [17:28:09.879] if (name != NAME && is.element(NAME, old_names)) [17:28:09.879] next [17:28:09.879] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.879] } [17:28:09.879] if (length(args) > 0) [17:28:09.879] base::do.call(base::Sys.setenv, args = args) [17:28:09.879] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.879] } [17:28:09.879] { [17:28:09.879] if (base::length(...future.futureOptionsAdded) > [17:28:09.879] 0L) { [17:28:09.879] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.879] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.879] base::options(opts) [17:28:09.879] } [17:28:09.879] { [17:28:09.879] { [17:28:09.879] NULL [17:28:09.879] RNGkind("Mersenne-Twister") [17:28:09.879] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:09.879] inherits = FALSE) [17:28:09.879] } [17:28:09.879] options(future.plan = NULL) [17:28:09.879] if (is.na(NA_character_)) [17:28:09.879] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.879] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.879] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.879] .init = FALSE) [17:28:09.879] } [17:28:09.879] } [17:28:09.879] } [17:28:09.879] }) [17:28:09.879] if (TRUE) { [17:28:09.879] base::sink(type = "output", split = FALSE) [17:28:09.879] if (TRUE) { [17:28:09.879] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.879] } [17:28:09.879] else { [17:28:09.879] ...future.result["stdout"] <- base::list(NULL) [17:28:09.879] } [17:28:09.879] base::close(...future.stdout) [17:28:09.879] ...future.stdout <- NULL [17:28:09.879] } [17:28:09.879] ...future.result$conditions <- ...future.conditions [17:28:09.879] ...future.result$finished <- base::Sys.time() [17:28:09.879] ...future.result [17:28:09.879] } [17:28:09.885] assign_globals() ... [17:28:09.886] List of 1 [17:28:09.886] $ pkg: chr "foo" [17:28:09.886] - attr(*, "where")=List of 1 [17:28:09.886] ..$ pkg: [17:28:09.886] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:09.886] - attr(*, "resolved")= logi TRUE [17:28:09.886] - attr(*, "total_size")= int 42 [17:28:09.890] - copied 'pkg' to environment [17:28:09.890] assign_globals() ... done [17:28:09.891] plan(): Setting new future strategy stack: [17:28:09.891] List of future strategies: [17:28:09.891] 1. sequential: [17:28:09.891] - args: function (..., envir = parent.frame(), workers = "") [17:28:09.891] - tweaked: FALSE [17:28:09.891] - call: NULL [17:28:09.892] plan(): nbrOfWorkers() = 1 [17:28:09.894] plan(): Setting new future strategy stack: [17:28:09.894] List of future strategies: [17:28:09.894] 1. multisession: [17:28:09.894] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:28:09.894] - tweaked: FALSE [17:28:09.894] - call: plan(strategy) [17:28:09.898] plan(): nbrOfWorkers() = 2 [17:28:09.899] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'conservative' ... DONE Method for identifying globals: 'ordered' ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.901] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.901] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:09.905] - globals found: [4] '{', '<-', 'a', '*' [17:28:09.905] Searching for globals ... DONE [17:28:09.906] Resolving globals: TRUE [17:28:09.906] Resolving any globals that are futures ... [17:28:09.906] - globals: [4] '{', '<-', 'a', '*' [17:28:09.907] Resolving any globals that are futures ... DONE [17:28:09.907] Resolving futures part of globals (recursively) ... [17:28:09.908] resolve() on list ... [17:28:09.908] recursive: 99 [17:28:09.908] length: 1 [17:28:09.909] elements: 'a' [17:28:09.909] length: 0 (resolved future 1) [17:28:09.909] resolve() on list ... DONE [17:28:09.909] - globals: [1] 'a' [17:28:09.910] Resolving futures part of globals (recursively) ... DONE [17:28:09.910] The total size of the 1 globals is 39 bytes (39 bytes) [17:28:09.911] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 39 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (39 bytes of class 'numeric') [17:28:09.911] - globals: [1] 'a' [17:28:09.911] [17:28:09.911] getGlobalsAndPackages() ... DONE [17:28:09.912] run() for 'Future' ... [17:28:09.912] - state: 'created' [17:28:09.913] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:09.933] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:09.933] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:09.933] - Field: 'node' [17:28:09.934] - Field: 'label' [17:28:09.934] - Field: 'local' [17:28:09.934] - Field: 'owner' [17:28:09.935] - Field: 'envir' [17:28:09.935] - Field: 'workers' [17:28:09.935] - Field: 'packages' [17:28:09.936] - Field: 'gc' [17:28:09.936] - Field: 'conditions' [17:28:09.936] - Field: 'persistent' [17:28:09.937] - Field: 'expr' [17:28:09.937] - Field: 'uuid' [17:28:09.937] - Field: 'seed' [17:28:09.938] - Field: 'version' [17:28:09.938] - Field: 'result' [17:28:09.938] - Field: 'asynchronous' [17:28:09.939] - Field: 'calls' [17:28:09.939] - Field: 'globals' [17:28:09.939] - Field: 'stdout' [17:28:09.940] - Field: 'earlySignal' [17:28:09.940] - Field: 'lazy' [17:28:09.940] - Field: 'state' [17:28:09.941] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:09.941] - Launch lazy future ... [17:28:09.942] Packages needed by the future expression (n = 0): [17:28:09.942] Packages needed by future strategies (n = 0): [17:28:09.943] { [17:28:09.943] { [17:28:09.943] { [17:28:09.943] ...future.startTime <- base::Sys.time() [17:28:09.943] { [17:28:09.943] { [17:28:09.943] { [17:28:09.943] { [17:28:09.943] base::local({ [17:28:09.943] has_future <- base::requireNamespace("future", [17:28:09.943] quietly = TRUE) [17:28:09.943] if (has_future) { [17:28:09.943] ns <- base::getNamespace("future") [17:28:09.943] version <- ns[[".package"]][["version"]] [17:28:09.943] if (is.null(version)) [17:28:09.943] version <- utils::packageVersion("future") [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] version <- NULL [17:28:09.943] } [17:28:09.943] if (!has_future || version < "1.8.0") { [17:28:09.943] info <- base::c(r_version = base::gsub("R version ", [17:28:09.943] "", base::R.version$version.string), [17:28:09.943] platform = base::sprintf("%s (%s-bit)", [17:28:09.943] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:09.943] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:09.943] "release", "version")], collapse = " "), [17:28:09.943] hostname = base::Sys.info()[["nodename"]]) [17:28:09.943] info <- base::sprintf("%s: %s", base::names(info), [17:28:09.943] info) [17:28:09.943] info <- base::paste(info, collapse = "; ") [17:28:09.943] if (!has_future) { [17:28:09.943] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:09.943] info) [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:09.943] info, version) [17:28:09.943] } [17:28:09.943] base::stop(msg) [17:28:09.943] } [17:28:09.943] }) [17:28:09.943] } [17:28:09.943] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:09.943] base::options(mc.cores = 1L) [17:28:09.943] } [17:28:09.943] ...future.strategy.old <- future::plan("list") [17:28:09.943] options(future.plan = NULL) [17:28:09.943] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.943] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:09.943] } [17:28:09.943] ...future.workdir <- getwd() [17:28:09.943] } [17:28:09.943] ...future.oldOptions <- base::as.list(base::.Options) [17:28:09.943] ...future.oldEnvVars <- base::Sys.getenv() [17:28:09.943] } [17:28:09.943] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:09.943] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:09.943] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:09.943] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:09.943] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:09.943] future.stdout.windows.reencode = NULL, width = 80L) [17:28:09.943] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:09.943] base::names(...future.oldOptions)) [17:28:09.943] } [17:28:09.943] if (FALSE) { [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] if (TRUE) { [17:28:09.943] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:09.943] open = "w") [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:09.943] windows = "NUL", "/dev/null"), open = "w") [17:28:09.943] } [17:28:09.943] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:09.943] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:09.943] base::sink(type = "output", split = FALSE) [17:28:09.943] base::close(...future.stdout) [17:28:09.943] }, add = TRUE) [17:28:09.943] } [17:28:09.943] ...future.frame <- base::sys.nframe() [17:28:09.943] ...future.conditions <- base::list() [17:28:09.943] ...future.rng <- base::globalenv()$.Random.seed [17:28:09.943] if (FALSE) { [17:28:09.943] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:09.943] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:09.943] } [17:28:09.943] ...future.result <- base::tryCatch({ [17:28:09.943] base::withCallingHandlers({ [17:28:09.943] ...future.value <- base::withVisible(base::local({ [17:28:09.943] ...future.makeSendCondition <- base::local({ [17:28:09.943] sendCondition <- NULL [17:28:09.943] function(frame = 1L) { [17:28:09.943] if (is.function(sendCondition)) [17:28:09.943] return(sendCondition) [17:28:09.943] ns <- getNamespace("parallel") [17:28:09.943] if (exists("sendData", mode = "function", [17:28:09.943] envir = ns)) { [17:28:09.943] parallel_sendData <- get("sendData", mode = "function", [17:28:09.943] envir = ns) [17:28:09.943] envir <- sys.frame(frame) [17:28:09.943] master <- NULL [17:28:09.943] while (!identical(envir, .GlobalEnv) && [17:28:09.943] !identical(envir, emptyenv())) { [17:28:09.943] if (exists("master", mode = "list", envir = envir, [17:28:09.943] inherits = FALSE)) { [17:28:09.943] master <- get("master", mode = "list", [17:28:09.943] envir = envir, inherits = FALSE) [17:28:09.943] if (inherits(master, c("SOCKnode", [17:28:09.943] "SOCK0node"))) { [17:28:09.943] sendCondition <<- function(cond) { [17:28:09.943] data <- list(type = "VALUE", value = cond, [17:28:09.943] success = TRUE) [17:28:09.943] parallel_sendData(master, data) [17:28:09.943] } [17:28:09.943] return(sendCondition) [17:28:09.943] } [17:28:09.943] } [17:28:09.943] frame <- frame + 1L [17:28:09.943] envir <- sys.frame(frame) [17:28:09.943] } [17:28:09.943] } [17:28:09.943] sendCondition <<- function(cond) NULL [17:28:09.943] } [17:28:09.943] }) [17:28:09.943] withCallingHandlers({ [17:28:09.943] { [17:28:09.943] b <- a [17:28:09.943] a <- 2 [17:28:09.943] a * b [17:28:09.943] } [17:28:09.943] }, immediateCondition = function(cond) { [17:28:09.943] sendCondition <- ...future.makeSendCondition() [17:28:09.943] sendCondition(cond) [17:28:09.943] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.943] { [17:28:09.943] inherits <- base::inherits [17:28:09.943] invokeRestart <- base::invokeRestart [17:28:09.943] is.null <- base::is.null [17:28:09.943] muffled <- FALSE [17:28:09.943] if (inherits(cond, "message")) { [17:28:09.943] muffled <- grepl(pattern, "muffleMessage") [17:28:09.943] if (muffled) [17:28:09.943] invokeRestart("muffleMessage") [17:28:09.943] } [17:28:09.943] else if (inherits(cond, "warning")) { [17:28:09.943] muffled <- grepl(pattern, "muffleWarning") [17:28:09.943] if (muffled) [17:28:09.943] invokeRestart("muffleWarning") [17:28:09.943] } [17:28:09.943] else if (inherits(cond, "condition")) { [17:28:09.943] if (!is.null(pattern)) { [17:28:09.943] computeRestarts <- base::computeRestarts [17:28:09.943] grepl <- base::grepl [17:28:09.943] restarts <- computeRestarts(cond) [17:28:09.943] for (restart in restarts) { [17:28:09.943] name <- restart$name [17:28:09.943] if (is.null(name)) [17:28:09.943] next [17:28:09.943] if (!grepl(pattern, name)) [17:28:09.943] next [17:28:09.943] invokeRestart(restart) [17:28:09.943] muffled <- TRUE [17:28:09.943] break [17:28:09.943] } [17:28:09.943] } [17:28:09.943] } [17:28:09.943] invisible(muffled) [17:28:09.943] } [17:28:09.943] muffleCondition(cond) [17:28:09.943] }) [17:28:09.943] })) [17:28:09.943] future::FutureResult(value = ...future.value$value, [17:28:09.943] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.943] ...future.rng), globalenv = if (FALSE) [17:28:09.943] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:09.943] ...future.globalenv.names)) [17:28:09.943] else NULL, started = ...future.startTime, version = "1.8") [17:28:09.943] }, condition = base::local({ [17:28:09.943] c <- base::c [17:28:09.943] inherits <- base::inherits [17:28:09.943] invokeRestart <- base::invokeRestart [17:28:09.943] length <- base::length [17:28:09.943] list <- base::list [17:28:09.943] seq.int <- base::seq.int [17:28:09.943] signalCondition <- base::signalCondition [17:28:09.943] sys.calls <- base::sys.calls [17:28:09.943] `[[` <- base::`[[` [17:28:09.943] `+` <- base::`+` [17:28:09.943] `<<-` <- base::`<<-` [17:28:09.943] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:09.943] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:09.943] 3L)] [17:28:09.943] } [17:28:09.943] function(cond) { [17:28:09.943] is_error <- inherits(cond, "error") [17:28:09.943] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:09.943] NULL) [17:28:09.943] if (is_error) { [17:28:09.943] sessionInformation <- function() { [17:28:09.943] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:09.943] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:09.943] search = base::search(), system = base::Sys.info()) [17:28:09.943] } [17:28:09.943] ...future.conditions[[length(...future.conditions) + [17:28:09.943] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:09.943] cond$call), session = sessionInformation(), [17:28:09.943] timestamp = base::Sys.time(), signaled = 0L) [17:28:09.943] signalCondition(cond) [17:28:09.943] } [17:28:09.943] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:09.943] "immediateCondition"))) { [17:28:09.943] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:09.943] ...future.conditions[[length(...future.conditions) + [17:28:09.943] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:09.943] if (TRUE && !signal) { [17:28:09.943] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.943] { [17:28:09.943] inherits <- base::inherits [17:28:09.943] invokeRestart <- base::invokeRestart [17:28:09.943] is.null <- base::is.null [17:28:09.943] muffled <- FALSE [17:28:09.943] if (inherits(cond, "message")) { [17:28:09.943] muffled <- grepl(pattern, "muffleMessage") [17:28:09.943] if (muffled) [17:28:09.943] invokeRestart("muffleMessage") [17:28:09.943] } [17:28:09.943] else if (inherits(cond, "warning")) { [17:28:09.943] muffled <- grepl(pattern, "muffleWarning") [17:28:09.943] if (muffled) [17:28:09.943] invokeRestart("muffleWarning") [17:28:09.943] } [17:28:09.943] else if (inherits(cond, "condition")) { [17:28:09.943] if (!is.null(pattern)) { [17:28:09.943] computeRestarts <- base::computeRestarts [17:28:09.943] grepl <- base::grepl [17:28:09.943] restarts <- computeRestarts(cond) [17:28:09.943] for (restart in restarts) { [17:28:09.943] name <- restart$name [17:28:09.943] if (is.null(name)) [17:28:09.943] next [17:28:09.943] if (!grepl(pattern, name)) [17:28:09.943] next [17:28:09.943] invokeRestart(restart) [17:28:09.943] muffled <- TRUE [17:28:09.943] break [17:28:09.943] } [17:28:09.943] } [17:28:09.943] } [17:28:09.943] invisible(muffled) [17:28:09.943] } [17:28:09.943] muffleCondition(cond, pattern = "^muffle") [17:28:09.943] } [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] if (TRUE) { [17:28:09.943] muffleCondition <- function (cond, pattern = "^muffle") [17:28:09.943] { [17:28:09.943] inherits <- base::inherits [17:28:09.943] invokeRestart <- base::invokeRestart [17:28:09.943] is.null <- base::is.null [17:28:09.943] muffled <- FALSE [17:28:09.943] if (inherits(cond, "message")) { [17:28:09.943] muffled <- grepl(pattern, "muffleMessage") [17:28:09.943] if (muffled) [17:28:09.943] invokeRestart("muffleMessage") [17:28:09.943] } [17:28:09.943] else if (inherits(cond, "warning")) { [17:28:09.943] muffled <- grepl(pattern, "muffleWarning") [17:28:09.943] if (muffled) [17:28:09.943] invokeRestart("muffleWarning") [17:28:09.943] } [17:28:09.943] else if (inherits(cond, "condition")) { [17:28:09.943] if (!is.null(pattern)) { [17:28:09.943] computeRestarts <- base::computeRestarts [17:28:09.943] grepl <- base::grepl [17:28:09.943] restarts <- computeRestarts(cond) [17:28:09.943] for (restart in restarts) { [17:28:09.943] name <- restart$name [17:28:09.943] if (is.null(name)) [17:28:09.943] next [17:28:09.943] if (!grepl(pattern, name)) [17:28:09.943] next [17:28:09.943] invokeRestart(restart) [17:28:09.943] muffled <- TRUE [17:28:09.943] break [17:28:09.943] } [17:28:09.943] } [17:28:09.943] } [17:28:09.943] invisible(muffled) [17:28:09.943] } [17:28:09.943] muffleCondition(cond, pattern = "^muffle") [17:28:09.943] } [17:28:09.943] } [17:28:09.943] } [17:28:09.943] })) [17:28:09.943] }, error = function(ex) { [17:28:09.943] base::structure(base::list(value = NULL, visible = NULL, [17:28:09.943] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:09.943] ...future.rng), started = ...future.startTime, [17:28:09.943] finished = Sys.time(), session_uuid = NA_character_, [17:28:09.943] version = "1.8"), class = "FutureResult") [17:28:09.943] }, finally = { [17:28:09.943] if (!identical(...future.workdir, getwd())) [17:28:09.943] setwd(...future.workdir) [17:28:09.943] { [17:28:09.943] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:09.943] ...future.oldOptions$nwarnings <- NULL [17:28:09.943] } [17:28:09.943] base::options(...future.oldOptions) [17:28:09.943] if (.Platform$OS.type == "windows") { [17:28:09.943] old_names <- names(...future.oldEnvVars) [17:28:09.943] envs <- base::Sys.getenv() [17:28:09.943] names <- names(envs) [17:28:09.943] common <- intersect(names, old_names) [17:28:09.943] added <- setdiff(names, old_names) [17:28:09.943] removed <- setdiff(old_names, names) [17:28:09.943] changed <- common[...future.oldEnvVars[common] != [17:28:09.943] envs[common]] [17:28:09.943] NAMES <- toupper(changed) [17:28:09.943] args <- list() [17:28:09.943] for (kk in seq_along(NAMES)) { [17:28:09.943] name <- changed[[kk]] [17:28:09.943] NAME <- NAMES[[kk]] [17:28:09.943] if (name != NAME && is.element(NAME, old_names)) [17:28:09.943] next [17:28:09.943] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.943] } [17:28:09.943] NAMES <- toupper(added) [17:28:09.943] for (kk in seq_along(NAMES)) { [17:28:09.943] name <- added[[kk]] [17:28:09.943] NAME <- NAMES[[kk]] [17:28:09.943] if (name != NAME && is.element(NAME, old_names)) [17:28:09.943] next [17:28:09.943] args[[name]] <- "" [17:28:09.943] } [17:28:09.943] NAMES <- toupper(removed) [17:28:09.943] for (kk in seq_along(NAMES)) { [17:28:09.943] name <- removed[[kk]] [17:28:09.943] NAME <- NAMES[[kk]] [17:28:09.943] if (name != NAME && is.element(NAME, old_names)) [17:28:09.943] next [17:28:09.943] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:09.943] } [17:28:09.943] if (length(args) > 0) [17:28:09.943] base::do.call(base::Sys.setenv, args = args) [17:28:09.943] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:09.943] } [17:28:09.943] { [17:28:09.943] if (base::length(...future.futureOptionsAdded) > [17:28:09.943] 0L) { [17:28:09.943] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:09.943] base::names(opts) <- ...future.futureOptionsAdded [17:28:09.943] base::options(opts) [17:28:09.943] } [17:28:09.943] { [17:28:09.943] { [17:28:09.943] base::options(mc.cores = ...future.mc.cores.old) [17:28:09.943] NULL [17:28:09.943] } [17:28:09.943] options(future.plan = NULL) [17:28:09.943] if (is.na(NA_character_)) [17:28:09.943] Sys.unsetenv("R_FUTURE_PLAN") [17:28:09.943] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:09.943] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:09.943] .init = FALSE) [17:28:09.943] } [17:28:09.943] } [17:28:09.943] } [17:28:09.943] }) [17:28:09.943] if (TRUE) { [17:28:09.943] base::sink(type = "output", split = FALSE) [17:28:09.943] if (TRUE) { [17:28:09.943] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:09.943] } [17:28:09.943] else { [17:28:09.943] ...future.result["stdout"] <- base::list(NULL) [17:28:09.943] } [17:28:09.943] base::close(...future.stdout) [17:28:09.943] ...future.stdout <- NULL [17:28:09.943] } [17:28:09.943] ...future.result$conditions <- ...future.conditions [17:28:09.943] ...future.result$finished <- base::Sys.time() [17:28:09.943] ...future.result [17:28:09.943] } [17:28:09.952] Exporting 1 global objects (342 bytes) to cluster node #2 ... [17:28:09.953] Exporting 'a' (39 bytes) to cluster node #2 ... [17:28:09.953] Exporting 'a' (39 bytes) to cluster node #2 ... DONE [17:28:09.954] Exporting 1 global objects (342 bytes) to cluster node #2 ... DONE [17:28:09.955] MultisessionFuture started [17:28:09.955] - Launch lazy future ... done [17:28:09.955] run() for 'MultisessionFuture' ... done [17:28:09.956] result() for ClusterFuture ... [17:28:09.956] receiveMessageFromWorker() for ClusterFuture ... [17:28:09.956] - Validating connection of MultisessionFuture [17:28:09.983] - received message: FutureResult [17:28:09.984] - Received FutureResult [17:28:09.984] - Erased future from FutureRegistry [17:28:09.985] result() for ClusterFuture ... [17:28:09.985] - result already collected: FutureResult [17:28:09.985] result() for ClusterFuture ... done [17:28:09.985] receiveMessageFromWorker() for ClusterFuture ... done [17:28:09.986] result() for ClusterFuture ... done [17:28:09.986] result() for ClusterFuture ... [17:28:09.986] - result already collected: FutureResult [17:28:09.987] result() for ClusterFuture ... done y = 6 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:09.988] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:09.989] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:09.993] - globals found: [4] '{', '<-', 'a', '*' [17:28:09.993] Searching for globals ... DONE [17:28:09.994] Resolving globals: TRUE [17:28:09.994] Resolving any globals that are futures ... [17:28:09.994] - globals: [4] '{', '<-', 'a', '*' [17:28:09.995] Resolving any globals that are futures ... DONE [17:28:09.995] Resolving futures part of globals (recursively) ... [17:28:09.996] resolve() on list ... [17:28:09.996] recursive: 99 [17:28:09.997] length: 1 [17:28:09.997] elements: 'a' [17:28:09.997] length: 0 (resolved future 1) [17:28:09.998] resolve() on list ... DONE [17:28:09.998] - globals: [1] 'a' [17:28:09.998] Resolving futures part of globals (recursively) ... DONE [17:28:09.999] The total size of the 1 globals is 39 bytes (39 bytes) [17:28:09.999] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 39 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (39 bytes of class 'numeric') [17:28:10.000] - globals: [1] 'a' [17:28:10.000] [17:28:10.000] getGlobalsAndPackages() ... DONE [17:28:10.001] run() for 'Future' ... [17:28:10.002] - state: 'created' [17:28:10.002] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.022] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.023] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.023] - Field: 'node' [17:28:10.024] - Field: 'label' [17:28:10.024] - Field: 'local' [17:28:10.024] - Field: 'owner' [17:28:10.025] - Field: 'envir' [17:28:10.025] - Field: 'workers' [17:28:10.025] - Field: 'packages' [17:28:10.026] - Field: 'gc' [17:28:10.026] - Field: 'conditions' [17:28:10.027] - Field: 'persistent' [17:28:10.027] - Field: 'expr' [17:28:10.027] - Field: 'uuid' [17:28:10.028] - Field: 'seed' [17:28:10.028] - Field: 'version' [17:28:10.028] - Field: 'result' [17:28:10.029] - Field: 'asynchronous' [17:28:10.029] - Field: 'calls' [17:28:10.029] - Field: 'globals' [17:28:10.030] - Field: 'stdout' [17:28:10.030] - Field: 'earlySignal' [17:28:10.030] - Field: 'lazy' [17:28:10.031] - Field: 'state' [17:28:10.031] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.031] - Launch lazy future ... [17:28:10.032] Packages needed by the future expression (n = 0): [17:28:10.032] Packages needed by future strategies (n = 0): [17:28:10.034] { [17:28:10.034] { [17:28:10.034] { [17:28:10.034] ...future.startTime <- base::Sys.time() [17:28:10.034] { [17:28:10.034] { [17:28:10.034] { [17:28:10.034] { [17:28:10.034] base::local({ [17:28:10.034] has_future <- base::requireNamespace("future", [17:28:10.034] quietly = TRUE) [17:28:10.034] if (has_future) { [17:28:10.034] ns <- base::getNamespace("future") [17:28:10.034] version <- ns[[".package"]][["version"]] [17:28:10.034] if (is.null(version)) [17:28:10.034] version <- utils::packageVersion("future") [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] version <- NULL [17:28:10.034] } [17:28:10.034] if (!has_future || version < "1.8.0") { [17:28:10.034] info <- base::c(r_version = base::gsub("R version ", [17:28:10.034] "", base::R.version$version.string), [17:28:10.034] platform = base::sprintf("%s (%s-bit)", [17:28:10.034] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.034] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.034] "release", "version")], collapse = " "), [17:28:10.034] hostname = base::Sys.info()[["nodename"]]) [17:28:10.034] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.034] info) [17:28:10.034] info <- base::paste(info, collapse = "; ") [17:28:10.034] if (!has_future) { [17:28:10.034] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.034] info) [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.034] info, version) [17:28:10.034] } [17:28:10.034] base::stop(msg) [17:28:10.034] } [17:28:10.034] }) [17:28:10.034] } [17:28:10.034] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.034] base::options(mc.cores = 1L) [17:28:10.034] } [17:28:10.034] ...future.strategy.old <- future::plan("list") [17:28:10.034] options(future.plan = NULL) [17:28:10.034] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.034] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.034] } [17:28:10.034] ...future.workdir <- getwd() [17:28:10.034] } [17:28:10.034] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.034] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.034] } [17:28:10.034] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.034] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.034] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.034] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.034] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.034] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.034] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.034] base::names(...future.oldOptions)) [17:28:10.034] } [17:28:10.034] if (FALSE) { [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] if (TRUE) { [17:28:10.034] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.034] open = "w") [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.034] windows = "NUL", "/dev/null"), open = "w") [17:28:10.034] } [17:28:10.034] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.034] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.034] base::sink(type = "output", split = FALSE) [17:28:10.034] base::close(...future.stdout) [17:28:10.034] }, add = TRUE) [17:28:10.034] } [17:28:10.034] ...future.frame <- base::sys.nframe() [17:28:10.034] ...future.conditions <- base::list() [17:28:10.034] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.034] if (FALSE) { [17:28:10.034] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.034] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.034] } [17:28:10.034] ...future.result <- base::tryCatch({ [17:28:10.034] base::withCallingHandlers({ [17:28:10.034] ...future.value <- base::withVisible(base::local({ [17:28:10.034] ...future.makeSendCondition <- base::local({ [17:28:10.034] sendCondition <- NULL [17:28:10.034] function(frame = 1L) { [17:28:10.034] if (is.function(sendCondition)) [17:28:10.034] return(sendCondition) [17:28:10.034] ns <- getNamespace("parallel") [17:28:10.034] if (exists("sendData", mode = "function", [17:28:10.034] envir = ns)) { [17:28:10.034] parallel_sendData <- get("sendData", mode = "function", [17:28:10.034] envir = ns) [17:28:10.034] envir <- sys.frame(frame) [17:28:10.034] master <- NULL [17:28:10.034] while (!identical(envir, .GlobalEnv) && [17:28:10.034] !identical(envir, emptyenv())) { [17:28:10.034] if (exists("master", mode = "list", envir = envir, [17:28:10.034] inherits = FALSE)) { [17:28:10.034] master <- get("master", mode = "list", [17:28:10.034] envir = envir, inherits = FALSE) [17:28:10.034] if (inherits(master, c("SOCKnode", [17:28:10.034] "SOCK0node"))) { [17:28:10.034] sendCondition <<- function(cond) { [17:28:10.034] data <- list(type = "VALUE", value = cond, [17:28:10.034] success = TRUE) [17:28:10.034] parallel_sendData(master, data) [17:28:10.034] } [17:28:10.034] return(sendCondition) [17:28:10.034] } [17:28:10.034] } [17:28:10.034] frame <- frame + 1L [17:28:10.034] envir <- sys.frame(frame) [17:28:10.034] } [17:28:10.034] } [17:28:10.034] sendCondition <<- function(cond) NULL [17:28:10.034] } [17:28:10.034] }) [17:28:10.034] withCallingHandlers({ [17:28:10.034] { [17:28:10.034] b <- a [17:28:10.034] a <- 2 [17:28:10.034] a * b [17:28:10.034] } [17:28:10.034] }, immediateCondition = function(cond) { [17:28:10.034] sendCondition <- ...future.makeSendCondition() [17:28:10.034] sendCondition(cond) [17:28:10.034] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.034] { [17:28:10.034] inherits <- base::inherits [17:28:10.034] invokeRestart <- base::invokeRestart [17:28:10.034] is.null <- base::is.null [17:28:10.034] muffled <- FALSE [17:28:10.034] if (inherits(cond, "message")) { [17:28:10.034] muffled <- grepl(pattern, "muffleMessage") [17:28:10.034] if (muffled) [17:28:10.034] invokeRestart("muffleMessage") [17:28:10.034] } [17:28:10.034] else if (inherits(cond, "warning")) { [17:28:10.034] muffled <- grepl(pattern, "muffleWarning") [17:28:10.034] if (muffled) [17:28:10.034] invokeRestart("muffleWarning") [17:28:10.034] } [17:28:10.034] else if (inherits(cond, "condition")) { [17:28:10.034] if (!is.null(pattern)) { [17:28:10.034] computeRestarts <- base::computeRestarts [17:28:10.034] grepl <- base::grepl [17:28:10.034] restarts <- computeRestarts(cond) [17:28:10.034] for (restart in restarts) { [17:28:10.034] name <- restart$name [17:28:10.034] if (is.null(name)) [17:28:10.034] next [17:28:10.034] if (!grepl(pattern, name)) [17:28:10.034] next [17:28:10.034] invokeRestart(restart) [17:28:10.034] muffled <- TRUE [17:28:10.034] break [17:28:10.034] } [17:28:10.034] } [17:28:10.034] } [17:28:10.034] invisible(muffled) [17:28:10.034] } [17:28:10.034] muffleCondition(cond) [17:28:10.034] }) [17:28:10.034] })) [17:28:10.034] future::FutureResult(value = ...future.value$value, [17:28:10.034] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.034] ...future.rng), globalenv = if (FALSE) [17:28:10.034] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.034] ...future.globalenv.names)) [17:28:10.034] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.034] }, condition = base::local({ [17:28:10.034] c <- base::c [17:28:10.034] inherits <- base::inherits [17:28:10.034] invokeRestart <- base::invokeRestart [17:28:10.034] length <- base::length [17:28:10.034] list <- base::list [17:28:10.034] seq.int <- base::seq.int [17:28:10.034] signalCondition <- base::signalCondition [17:28:10.034] sys.calls <- base::sys.calls [17:28:10.034] `[[` <- base::`[[` [17:28:10.034] `+` <- base::`+` [17:28:10.034] `<<-` <- base::`<<-` [17:28:10.034] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.034] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.034] 3L)] [17:28:10.034] } [17:28:10.034] function(cond) { [17:28:10.034] is_error <- inherits(cond, "error") [17:28:10.034] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.034] NULL) [17:28:10.034] if (is_error) { [17:28:10.034] sessionInformation <- function() { [17:28:10.034] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.034] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.034] search = base::search(), system = base::Sys.info()) [17:28:10.034] } [17:28:10.034] ...future.conditions[[length(...future.conditions) + [17:28:10.034] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.034] cond$call), session = sessionInformation(), [17:28:10.034] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.034] signalCondition(cond) [17:28:10.034] } [17:28:10.034] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.034] "immediateCondition"))) { [17:28:10.034] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.034] ...future.conditions[[length(...future.conditions) + [17:28:10.034] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.034] if (TRUE && !signal) { [17:28:10.034] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.034] { [17:28:10.034] inherits <- base::inherits [17:28:10.034] invokeRestart <- base::invokeRestart [17:28:10.034] is.null <- base::is.null [17:28:10.034] muffled <- FALSE [17:28:10.034] if (inherits(cond, "message")) { [17:28:10.034] muffled <- grepl(pattern, "muffleMessage") [17:28:10.034] if (muffled) [17:28:10.034] invokeRestart("muffleMessage") [17:28:10.034] } [17:28:10.034] else if (inherits(cond, "warning")) { [17:28:10.034] muffled <- grepl(pattern, "muffleWarning") [17:28:10.034] if (muffled) [17:28:10.034] invokeRestart("muffleWarning") [17:28:10.034] } [17:28:10.034] else if (inherits(cond, "condition")) { [17:28:10.034] if (!is.null(pattern)) { [17:28:10.034] computeRestarts <- base::computeRestarts [17:28:10.034] grepl <- base::grepl [17:28:10.034] restarts <- computeRestarts(cond) [17:28:10.034] for (restart in restarts) { [17:28:10.034] name <- restart$name [17:28:10.034] if (is.null(name)) [17:28:10.034] next [17:28:10.034] if (!grepl(pattern, name)) [17:28:10.034] next [17:28:10.034] invokeRestart(restart) [17:28:10.034] muffled <- TRUE [17:28:10.034] break [17:28:10.034] } [17:28:10.034] } [17:28:10.034] } [17:28:10.034] invisible(muffled) [17:28:10.034] } [17:28:10.034] muffleCondition(cond, pattern = "^muffle") [17:28:10.034] } [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] if (TRUE) { [17:28:10.034] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.034] { [17:28:10.034] inherits <- base::inherits [17:28:10.034] invokeRestart <- base::invokeRestart [17:28:10.034] is.null <- base::is.null [17:28:10.034] muffled <- FALSE [17:28:10.034] if (inherits(cond, "message")) { [17:28:10.034] muffled <- grepl(pattern, "muffleMessage") [17:28:10.034] if (muffled) [17:28:10.034] invokeRestart("muffleMessage") [17:28:10.034] } [17:28:10.034] else if (inherits(cond, "warning")) { [17:28:10.034] muffled <- grepl(pattern, "muffleWarning") [17:28:10.034] if (muffled) [17:28:10.034] invokeRestart("muffleWarning") [17:28:10.034] } [17:28:10.034] else if (inherits(cond, "condition")) { [17:28:10.034] if (!is.null(pattern)) { [17:28:10.034] computeRestarts <- base::computeRestarts [17:28:10.034] grepl <- base::grepl [17:28:10.034] restarts <- computeRestarts(cond) [17:28:10.034] for (restart in restarts) { [17:28:10.034] name <- restart$name [17:28:10.034] if (is.null(name)) [17:28:10.034] next [17:28:10.034] if (!grepl(pattern, name)) [17:28:10.034] next [17:28:10.034] invokeRestart(restart) [17:28:10.034] muffled <- TRUE [17:28:10.034] break [17:28:10.034] } [17:28:10.034] } [17:28:10.034] } [17:28:10.034] invisible(muffled) [17:28:10.034] } [17:28:10.034] muffleCondition(cond, pattern = "^muffle") [17:28:10.034] } [17:28:10.034] } [17:28:10.034] } [17:28:10.034] })) [17:28:10.034] }, error = function(ex) { [17:28:10.034] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.034] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.034] ...future.rng), started = ...future.startTime, [17:28:10.034] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.034] version = "1.8"), class = "FutureResult") [17:28:10.034] }, finally = { [17:28:10.034] if (!identical(...future.workdir, getwd())) [17:28:10.034] setwd(...future.workdir) [17:28:10.034] { [17:28:10.034] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.034] ...future.oldOptions$nwarnings <- NULL [17:28:10.034] } [17:28:10.034] base::options(...future.oldOptions) [17:28:10.034] if (.Platform$OS.type == "windows") { [17:28:10.034] old_names <- names(...future.oldEnvVars) [17:28:10.034] envs <- base::Sys.getenv() [17:28:10.034] names <- names(envs) [17:28:10.034] common <- intersect(names, old_names) [17:28:10.034] added <- setdiff(names, old_names) [17:28:10.034] removed <- setdiff(old_names, names) [17:28:10.034] changed <- common[...future.oldEnvVars[common] != [17:28:10.034] envs[common]] [17:28:10.034] NAMES <- toupper(changed) [17:28:10.034] args <- list() [17:28:10.034] for (kk in seq_along(NAMES)) { [17:28:10.034] name <- changed[[kk]] [17:28:10.034] NAME <- NAMES[[kk]] [17:28:10.034] if (name != NAME && is.element(NAME, old_names)) [17:28:10.034] next [17:28:10.034] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.034] } [17:28:10.034] NAMES <- toupper(added) [17:28:10.034] for (kk in seq_along(NAMES)) { [17:28:10.034] name <- added[[kk]] [17:28:10.034] NAME <- NAMES[[kk]] [17:28:10.034] if (name != NAME && is.element(NAME, old_names)) [17:28:10.034] next [17:28:10.034] args[[name]] <- "" [17:28:10.034] } [17:28:10.034] NAMES <- toupper(removed) [17:28:10.034] for (kk in seq_along(NAMES)) { [17:28:10.034] name <- removed[[kk]] [17:28:10.034] NAME <- NAMES[[kk]] [17:28:10.034] if (name != NAME && is.element(NAME, old_names)) [17:28:10.034] next [17:28:10.034] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.034] } [17:28:10.034] if (length(args) > 0) [17:28:10.034] base::do.call(base::Sys.setenv, args = args) [17:28:10.034] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.034] } [17:28:10.034] { [17:28:10.034] if (base::length(...future.futureOptionsAdded) > [17:28:10.034] 0L) { [17:28:10.034] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.034] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.034] base::options(opts) [17:28:10.034] } [17:28:10.034] { [17:28:10.034] { [17:28:10.034] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.034] NULL [17:28:10.034] } [17:28:10.034] options(future.plan = NULL) [17:28:10.034] if (is.na(NA_character_)) [17:28:10.034] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.034] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.034] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.034] .init = FALSE) [17:28:10.034] } [17:28:10.034] } [17:28:10.034] } [17:28:10.034] }) [17:28:10.034] if (TRUE) { [17:28:10.034] base::sink(type = "output", split = FALSE) [17:28:10.034] if (TRUE) { [17:28:10.034] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.034] } [17:28:10.034] else { [17:28:10.034] ...future.result["stdout"] <- base::list(NULL) [17:28:10.034] } [17:28:10.034] base::close(...future.stdout) [17:28:10.034] ...future.stdout <- NULL [17:28:10.034] } [17:28:10.034] ...future.result$conditions <- ...future.conditions [17:28:10.034] ...future.result$finished <- base::Sys.time() [17:28:10.034] ...future.result [17:28:10.034] } [17:28:10.040] Exporting 1 global objects (342 bytes) to cluster node #2 ... [17:28:10.041] Exporting 'a' (39 bytes) to cluster node #2 ... [17:28:10.042] Exporting 'a' (39 bytes) to cluster node #2 ... DONE [17:28:10.042] Exporting 1 global objects (342 bytes) to cluster node #2 ... DONE [17:28:10.043] MultisessionFuture started [17:28:10.044] - Launch lazy future ... done [17:28:10.044] run() for 'MultisessionFuture' ... done [17:28:10.044] result() for ClusterFuture ... [17:28:10.045] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.045] - Validating connection of MultisessionFuture [17:28:10.062] - received message: FutureResult [17:28:10.063] - Received FutureResult [17:28:10.063] - Erased future from FutureRegistry [17:28:10.063] result() for ClusterFuture ... [17:28:10.064] - result already collected: FutureResult [17:28:10.064] result() for ClusterFuture ... done [17:28:10.064] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.064] result() for ClusterFuture ... done [17:28:10.065] result() for ClusterFuture ... [17:28:10.065] - result already collected: FutureResult [17:28:10.065] result() for ClusterFuture ... done y = 6 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.068] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.069] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.071] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.071] Searching for globals ... DONE [17:28:10.072] Resolving globals: TRUE [17:28:10.072] Resolving any globals that are futures ... [17:28:10.072] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.072] Resolving any globals that are futures ... DONE [17:28:10.073] Resolving futures part of globals (recursively) ... [17:28:10.074] resolve() on list ... [17:28:10.074] recursive: 99 [17:28:10.074] length: 2 [17:28:10.075] elements: 'a', 'ii' [17:28:10.075] length: 1 (resolved future 1) [17:28:10.075] length: 0 (resolved future 2) [17:28:10.075] resolve() on list ... DONE [17:28:10.076] - globals: [2] 'a', 'ii' [17:28:10.076] Resolving futures part of globals (recursively) ... DONE [17:28:10.076] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:10.077] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:10.077] - globals: [2] 'a', 'ii' [17:28:10.077] [17:28:10.077] getGlobalsAndPackages() ... DONE [17:28:10.078] run() for 'Future' ... [17:28:10.078] - state: 'created' [17:28:10.078] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.094] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.095] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.095] - Field: 'node' [17:28:10.095] - Field: 'label' [17:28:10.095] - Field: 'local' [17:28:10.096] - Field: 'owner' [17:28:10.096] - Field: 'envir' [17:28:10.096] - Field: 'workers' [17:28:10.096] - Field: 'packages' [17:28:10.096] - Field: 'gc' [17:28:10.096] - Field: 'conditions' [17:28:10.097] - Field: 'persistent' [17:28:10.097] - Field: 'expr' [17:28:10.097] - Field: 'uuid' [17:28:10.097] - Field: 'seed' [17:28:10.097] - Field: 'version' [17:28:10.098] - Field: 'result' [17:28:10.098] - Field: 'asynchronous' [17:28:10.098] - Field: 'calls' [17:28:10.098] - Field: 'globals' [17:28:10.098] - Field: 'stdout' [17:28:10.098] - Field: 'earlySignal' [17:28:10.099] - Field: 'lazy' [17:28:10.099] - Field: 'state' [17:28:10.099] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.099] - Launch lazy future ... [17:28:10.100] Packages needed by the future expression (n = 0): [17:28:10.100] Packages needed by future strategies (n = 0): [17:28:10.101] { [17:28:10.101] { [17:28:10.101] { [17:28:10.101] ...future.startTime <- base::Sys.time() [17:28:10.101] { [17:28:10.101] { [17:28:10.101] { [17:28:10.101] { [17:28:10.101] base::local({ [17:28:10.101] has_future <- base::requireNamespace("future", [17:28:10.101] quietly = TRUE) [17:28:10.101] if (has_future) { [17:28:10.101] ns <- base::getNamespace("future") [17:28:10.101] version <- ns[[".package"]][["version"]] [17:28:10.101] if (is.null(version)) [17:28:10.101] version <- utils::packageVersion("future") [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] version <- NULL [17:28:10.101] } [17:28:10.101] if (!has_future || version < "1.8.0") { [17:28:10.101] info <- base::c(r_version = base::gsub("R version ", [17:28:10.101] "", base::R.version$version.string), [17:28:10.101] platform = base::sprintf("%s (%s-bit)", [17:28:10.101] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.101] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.101] "release", "version")], collapse = " "), [17:28:10.101] hostname = base::Sys.info()[["nodename"]]) [17:28:10.101] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.101] info) [17:28:10.101] info <- base::paste(info, collapse = "; ") [17:28:10.101] if (!has_future) { [17:28:10.101] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.101] info) [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.101] info, version) [17:28:10.101] } [17:28:10.101] base::stop(msg) [17:28:10.101] } [17:28:10.101] }) [17:28:10.101] } [17:28:10.101] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.101] base::options(mc.cores = 1L) [17:28:10.101] } [17:28:10.101] ...future.strategy.old <- future::plan("list") [17:28:10.101] options(future.plan = NULL) [17:28:10.101] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.101] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.101] } [17:28:10.101] ...future.workdir <- getwd() [17:28:10.101] } [17:28:10.101] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.101] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.101] } [17:28:10.101] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.101] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.101] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.101] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.101] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.101] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.101] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.101] base::names(...future.oldOptions)) [17:28:10.101] } [17:28:10.101] if (FALSE) { [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] if (TRUE) { [17:28:10.101] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.101] open = "w") [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.101] windows = "NUL", "/dev/null"), open = "w") [17:28:10.101] } [17:28:10.101] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.101] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.101] base::sink(type = "output", split = FALSE) [17:28:10.101] base::close(...future.stdout) [17:28:10.101] }, add = TRUE) [17:28:10.101] } [17:28:10.101] ...future.frame <- base::sys.nframe() [17:28:10.101] ...future.conditions <- base::list() [17:28:10.101] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.101] if (FALSE) { [17:28:10.101] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.101] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.101] } [17:28:10.101] ...future.result <- base::tryCatch({ [17:28:10.101] base::withCallingHandlers({ [17:28:10.101] ...future.value <- base::withVisible(base::local({ [17:28:10.101] ...future.makeSendCondition <- base::local({ [17:28:10.101] sendCondition <- NULL [17:28:10.101] function(frame = 1L) { [17:28:10.101] if (is.function(sendCondition)) [17:28:10.101] return(sendCondition) [17:28:10.101] ns <- getNamespace("parallel") [17:28:10.101] if (exists("sendData", mode = "function", [17:28:10.101] envir = ns)) { [17:28:10.101] parallel_sendData <- get("sendData", mode = "function", [17:28:10.101] envir = ns) [17:28:10.101] envir <- sys.frame(frame) [17:28:10.101] master <- NULL [17:28:10.101] while (!identical(envir, .GlobalEnv) && [17:28:10.101] !identical(envir, emptyenv())) { [17:28:10.101] if (exists("master", mode = "list", envir = envir, [17:28:10.101] inherits = FALSE)) { [17:28:10.101] master <- get("master", mode = "list", [17:28:10.101] envir = envir, inherits = FALSE) [17:28:10.101] if (inherits(master, c("SOCKnode", [17:28:10.101] "SOCK0node"))) { [17:28:10.101] sendCondition <<- function(cond) { [17:28:10.101] data <- list(type = "VALUE", value = cond, [17:28:10.101] success = TRUE) [17:28:10.101] parallel_sendData(master, data) [17:28:10.101] } [17:28:10.101] return(sendCondition) [17:28:10.101] } [17:28:10.101] } [17:28:10.101] frame <- frame + 1L [17:28:10.101] envir <- sys.frame(frame) [17:28:10.101] } [17:28:10.101] } [17:28:10.101] sendCondition <<- function(cond) NULL [17:28:10.101] } [17:28:10.101] }) [17:28:10.101] withCallingHandlers({ [17:28:10.101] { [17:28:10.101] b <- a * ii [17:28:10.101] a <- 0 [17:28:10.101] b [17:28:10.101] } [17:28:10.101] }, immediateCondition = function(cond) { [17:28:10.101] sendCondition <- ...future.makeSendCondition() [17:28:10.101] sendCondition(cond) [17:28:10.101] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.101] { [17:28:10.101] inherits <- base::inherits [17:28:10.101] invokeRestart <- base::invokeRestart [17:28:10.101] is.null <- base::is.null [17:28:10.101] muffled <- FALSE [17:28:10.101] if (inherits(cond, "message")) { [17:28:10.101] muffled <- grepl(pattern, "muffleMessage") [17:28:10.101] if (muffled) [17:28:10.101] invokeRestart("muffleMessage") [17:28:10.101] } [17:28:10.101] else if (inherits(cond, "warning")) { [17:28:10.101] muffled <- grepl(pattern, "muffleWarning") [17:28:10.101] if (muffled) [17:28:10.101] invokeRestart("muffleWarning") [17:28:10.101] } [17:28:10.101] else if (inherits(cond, "condition")) { [17:28:10.101] if (!is.null(pattern)) { [17:28:10.101] computeRestarts <- base::computeRestarts [17:28:10.101] grepl <- base::grepl [17:28:10.101] restarts <- computeRestarts(cond) [17:28:10.101] for (restart in restarts) { [17:28:10.101] name <- restart$name [17:28:10.101] if (is.null(name)) [17:28:10.101] next [17:28:10.101] if (!grepl(pattern, name)) [17:28:10.101] next [17:28:10.101] invokeRestart(restart) [17:28:10.101] muffled <- TRUE [17:28:10.101] break [17:28:10.101] } [17:28:10.101] } [17:28:10.101] } [17:28:10.101] invisible(muffled) [17:28:10.101] } [17:28:10.101] muffleCondition(cond) [17:28:10.101] }) [17:28:10.101] })) [17:28:10.101] future::FutureResult(value = ...future.value$value, [17:28:10.101] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.101] ...future.rng), globalenv = if (FALSE) [17:28:10.101] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.101] ...future.globalenv.names)) [17:28:10.101] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.101] }, condition = base::local({ [17:28:10.101] c <- base::c [17:28:10.101] inherits <- base::inherits [17:28:10.101] invokeRestart <- base::invokeRestart [17:28:10.101] length <- base::length [17:28:10.101] list <- base::list [17:28:10.101] seq.int <- base::seq.int [17:28:10.101] signalCondition <- base::signalCondition [17:28:10.101] sys.calls <- base::sys.calls [17:28:10.101] `[[` <- base::`[[` [17:28:10.101] `+` <- base::`+` [17:28:10.101] `<<-` <- base::`<<-` [17:28:10.101] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.101] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.101] 3L)] [17:28:10.101] } [17:28:10.101] function(cond) { [17:28:10.101] is_error <- inherits(cond, "error") [17:28:10.101] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.101] NULL) [17:28:10.101] if (is_error) { [17:28:10.101] sessionInformation <- function() { [17:28:10.101] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.101] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.101] search = base::search(), system = base::Sys.info()) [17:28:10.101] } [17:28:10.101] ...future.conditions[[length(...future.conditions) + [17:28:10.101] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.101] cond$call), session = sessionInformation(), [17:28:10.101] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.101] signalCondition(cond) [17:28:10.101] } [17:28:10.101] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.101] "immediateCondition"))) { [17:28:10.101] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.101] ...future.conditions[[length(...future.conditions) + [17:28:10.101] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.101] if (TRUE && !signal) { [17:28:10.101] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.101] { [17:28:10.101] inherits <- base::inherits [17:28:10.101] invokeRestart <- base::invokeRestart [17:28:10.101] is.null <- base::is.null [17:28:10.101] muffled <- FALSE [17:28:10.101] if (inherits(cond, "message")) { [17:28:10.101] muffled <- grepl(pattern, "muffleMessage") [17:28:10.101] if (muffled) [17:28:10.101] invokeRestart("muffleMessage") [17:28:10.101] } [17:28:10.101] else if (inherits(cond, "warning")) { [17:28:10.101] muffled <- grepl(pattern, "muffleWarning") [17:28:10.101] if (muffled) [17:28:10.101] invokeRestart("muffleWarning") [17:28:10.101] } [17:28:10.101] else if (inherits(cond, "condition")) { [17:28:10.101] if (!is.null(pattern)) { [17:28:10.101] computeRestarts <- base::computeRestarts [17:28:10.101] grepl <- base::grepl [17:28:10.101] restarts <- computeRestarts(cond) [17:28:10.101] for (restart in restarts) { [17:28:10.101] name <- restart$name [17:28:10.101] if (is.null(name)) [17:28:10.101] next [17:28:10.101] if (!grepl(pattern, name)) [17:28:10.101] next [17:28:10.101] invokeRestart(restart) [17:28:10.101] muffled <- TRUE [17:28:10.101] break [17:28:10.101] } [17:28:10.101] } [17:28:10.101] } [17:28:10.101] invisible(muffled) [17:28:10.101] } [17:28:10.101] muffleCondition(cond, pattern = "^muffle") [17:28:10.101] } [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] if (TRUE) { [17:28:10.101] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.101] { [17:28:10.101] inherits <- base::inherits [17:28:10.101] invokeRestart <- base::invokeRestart [17:28:10.101] is.null <- base::is.null [17:28:10.101] muffled <- FALSE [17:28:10.101] if (inherits(cond, "message")) { [17:28:10.101] muffled <- grepl(pattern, "muffleMessage") [17:28:10.101] if (muffled) [17:28:10.101] invokeRestart("muffleMessage") [17:28:10.101] } [17:28:10.101] else if (inherits(cond, "warning")) { [17:28:10.101] muffled <- grepl(pattern, "muffleWarning") [17:28:10.101] if (muffled) [17:28:10.101] invokeRestart("muffleWarning") [17:28:10.101] } [17:28:10.101] else if (inherits(cond, "condition")) { [17:28:10.101] if (!is.null(pattern)) { [17:28:10.101] computeRestarts <- base::computeRestarts [17:28:10.101] grepl <- base::grepl [17:28:10.101] restarts <- computeRestarts(cond) [17:28:10.101] for (restart in restarts) { [17:28:10.101] name <- restart$name [17:28:10.101] if (is.null(name)) [17:28:10.101] next [17:28:10.101] if (!grepl(pattern, name)) [17:28:10.101] next [17:28:10.101] invokeRestart(restart) [17:28:10.101] muffled <- TRUE [17:28:10.101] break [17:28:10.101] } [17:28:10.101] } [17:28:10.101] } [17:28:10.101] invisible(muffled) [17:28:10.101] } [17:28:10.101] muffleCondition(cond, pattern = "^muffle") [17:28:10.101] } [17:28:10.101] } [17:28:10.101] } [17:28:10.101] })) [17:28:10.101] }, error = function(ex) { [17:28:10.101] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.101] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.101] ...future.rng), started = ...future.startTime, [17:28:10.101] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.101] version = "1.8"), class = "FutureResult") [17:28:10.101] }, finally = { [17:28:10.101] if (!identical(...future.workdir, getwd())) [17:28:10.101] setwd(...future.workdir) [17:28:10.101] { [17:28:10.101] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.101] ...future.oldOptions$nwarnings <- NULL [17:28:10.101] } [17:28:10.101] base::options(...future.oldOptions) [17:28:10.101] if (.Platform$OS.type == "windows") { [17:28:10.101] old_names <- names(...future.oldEnvVars) [17:28:10.101] envs <- base::Sys.getenv() [17:28:10.101] names <- names(envs) [17:28:10.101] common <- intersect(names, old_names) [17:28:10.101] added <- setdiff(names, old_names) [17:28:10.101] removed <- setdiff(old_names, names) [17:28:10.101] changed <- common[...future.oldEnvVars[common] != [17:28:10.101] envs[common]] [17:28:10.101] NAMES <- toupper(changed) [17:28:10.101] args <- list() [17:28:10.101] for (kk in seq_along(NAMES)) { [17:28:10.101] name <- changed[[kk]] [17:28:10.101] NAME <- NAMES[[kk]] [17:28:10.101] if (name != NAME && is.element(NAME, old_names)) [17:28:10.101] next [17:28:10.101] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.101] } [17:28:10.101] NAMES <- toupper(added) [17:28:10.101] for (kk in seq_along(NAMES)) { [17:28:10.101] name <- added[[kk]] [17:28:10.101] NAME <- NAMES[[kk]] [17:28:10.101] if (name != NAME && is.element(NAME, old_names)) [17:28:10.101] next [17:28:10.101] args[[name]] <- "" [17:28:10.101] } [17:28:10.101] NAMES <- toupper(removed) [17:28:10.101] for (kk in seq_along(NAMES)) { [17:28:10.101] name <- removed[[kk]] [17:28:10.101] NAME <- NAMES[[kk]] [17:28:10.101] if (name != NAME && is.element(NAME, old_names)) [17:28:10.101] next [17:28:10.101] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.101] } [17:28:10.101] if (length(args) > 0) [17:28:10.101] base::do.call(base::Sys.setenv, args = args) [17:28:10.101] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.101] } [17:28:10.101] { [17:28:10.101] if (base::length(...future.futureOptionsAdded) > [17:28:10.101] 0L) { [17:28:10.101] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.101] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.101] base::options(opts) [17:28:10.101] } [17:28:10.101] { [17:28:10.101] { [17:28:10.101] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.101] NULL [17:28:10.101] } [17:28:10.101] options(future.plan = NULL) [17:28:10.101] if (is.na(NA_character_)) [17:28:10.101] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.101] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.101] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.101] .init = FALSE) [17:28:10.101] } [17:28:10.101] } [17:28:10.101] } [17:28:10.101] }) [17:28:10.101] if (TRUE) { [17:28:10.101] base::sink(type = "output", split = FALSE) [17:28:10.101] if (TRUE) { [17:28:10.101] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.101] } [17:28:10.101] else { [17:28:10.101] ...future.result["stdout"] <- base::list(NULL) [17:28:10.101] } [17:28:10.101] base::close(...future.stdout) [17:28:10.101] ...future.stdout <- NULL [17:28:10.101] } [17:28:10.101] ...future.result$conditions <- ...future.conditions [17:28:10.101] ...future.result$finished <- base::Sys.time() [17:28:10.101] ...future.result [17:28:10.101] } [17:28:10.110] Exporting 2 global objects (378 bytes) to cluster node #2 ... [17:28:10.111] Exporting 'a' (39 bytes) to cluster node #2 ... [17:28:10.112] Exporting 'a' (39 bytes) to cluster node #2 ... DONE [17:28:10.112] Exporting 'ii' (35 bytes) to cluster node #2 ... [17:28:10.113] Exporting 'ii' (35 bytes) to cluster node #2 ... DONE [17:28:10.113] Exporting 2 global objects (378 bytes) to cluster node #2 ... DONE [17:28:10.114] MultisessionFuture started [17:28:10.114] - Launch lazy future ... done [17:28:10.114] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.116] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.116] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.120] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.120] Searching for globals ... DONE [17:28:10.121] Resolving globals: TRUE [17:28:10.121] Resolving any globals that are futures ... [17:28:10.121] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.122] Resolving any globals that are futures ... DONE [17:28:10.122] Resolving futures part of globals (recursively) ... [17:28:10.123] resolve() on list ... [17:28:10.123] recursive: 99 [17:28:10.124] length: 2 [17:28:10.124] elements: 'a', 'ii' [17:28:10.124] length: 1 (resolved future 1) [17:28:10.124] length: 0 (resolved future 2) [17:28:10.125] resolve() on list ... DONE [17:28:10.125] - globals: [2] 'a', 'ii' [17:28:10.125] Resolving futures part of globals (recursively) ... DONE [17:28:10.126] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:10.126] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:10.127] - globals: [2] 'a', 'ii' [17:28:10.127] [17:28:10.127] getGlobalsAndPackages() ... DONE [17:28:10.127] run() for 'Future' ... [17:28:10.128] - state: 'created' [17:28:10.128] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.143] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.144] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.144] - Field: 'node' [17:28:10.144] - Field: 'label' [17:28:10.144] - Field: 'local' [17:28:10.145] - Field: 'owner' [17:28:10.145] - Field: 'envir' [17:28:10.145] - Field: 'workers' [17:28:10.145] - Field: 'packages' [17:28:10.145] - Field: 'gc' [17:28:10.146] - Field: 'conditions' [17:28:10.146] - Field: 'persistent' [17:28:10.146] - Field: 'expr' [17:28:10.147] - Field: 'uuid' [17:28:10.147] - Field: 'seed' [17:28:10.147] - Field: 'version' [17:28:10.148] - Field: 'result' [17:28:10.148] - Field: 'asynchronous' [17:28:10.148] - Field: 'calls' [17:28:10.148] - Field: 'globals' [17:28:10.149] - Field: 'stdout' [17:28:10.149] - Field: 'earlySignal' [17:28:10.149] - Field: 'lazy' [17:28:10.150] - Field: 'state' [17:28:10.150] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.150] - Launch lazy future ... [17:28:10.151] Packages needed by the future expression (n = 0): [17:28:10.151] Packages needed by future strategies (n = 0): [17:28:10.152] { [17:28:10.152] { [17:28:10.152] { [17:28:10.152] ...future.startTime <- base::Sys.time() [17:28:10.152] { [17:28:10.152] { [17:28:10.152] { [17:28:10.152] { [17:28:10.152] base::local({ [17:28:10.152] has_future <- base::requireNamespace("future", [17:28:10.152] quietly = TRUE) [17:28:10.152] if (has_future) { [17:28:10.152] ns <- base::getNamespace("future") [17:28:10.152] version <- ns[[".package"]][["version"]] [17:28:10.152] if (is.null(version)) [17:28:10.152] version <- utils::packageVersion("future") [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] version <- NULL [17:28:10.152] } [17:28:10.152] if (!has_future || version < "1.8.0") { [17:28:10.152] info <- base::c(r_version = base::gsub("R version ", [17:28:10.152] "", base::R.version$version.string), [17:28:10.152] platform = base::sprintf("%s (%s-bit)", [17:28:10.152] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.152] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.152] "release", "version")], collapse = " "), [17:28:10.152] hostname = base::Sys.info()[["nodename"]]) [17:28:10.152] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.152] info) [17:28:10.152] info <- base::paste(info, collapse = "; ") [17:28:10.152] if (!has_future) { [17:28:10.152] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.152] info) [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.152] info, version) [17:28:10.152] } [17:28:10.152] base::stop(msg) [17:28:10.152] } [17:28:10.152] }) [17:28:10.152] } [17:28:10.152] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.152] base::options(mc.cores = 1L) [17:28:10.152] } [17:28:10.152] ...future.strategy.old <- future::plan("list") [17:28:10.152] options(future.plan = NULL) [17:28:10.152] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.152] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.152] } [17:28:10.152] ...future.workdir <- getwd() [17:28:10.152] } [17:28:10.152] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.152] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.152] } [17:28:10.152] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.152] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.152] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.152] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.152] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.152] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.152] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.152] base::names(...future.oldOptions)) [17:28:10.152] } [17:28:10.152] if (FALSE) { [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] if (TRUE) { [17:28:10.152] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.152] open = "w") [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.152] windows = "NUL", "/dev/null"), open = "w") [17:28:10.152] } [17:28:10.152] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.152] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.152] base::sink(type = "output", split = FALSE) [17:28:10.152] base::close(...future.stdout) [17:28:10.152] }, add = TRUE) [17:28:10.152] } [17:28:10.152] ...future.frame <- base::sys.nframe() [17:28:10.152] ...future.conditions <- base::list() [17:28:10.152] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.152] if (FALSE) { [17:28:10.152] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.152] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.152] } [17:28:10.152] ...future.result <- base::tryCatch({ [17:28:10.152] base::withCallingHandlers({ [17:28:10.152] ...future.value <- base::withVisible(base::local({ [17:28:10.152] ...future.makeSendCondition <- base::local({ [17:28:10.152] sendCondition <- NULL [17:28:10.152] function(frame = 1L) { [17:28:10.152] if (is.function(sendCondition)) [17:28:10.152] return(sendCondition) [17:28:10.152] ns <- getNamespace("parallel") [17:28:10.152] if (exists("sendData", mode = "function", [17:28:10.152] envir = ns)) { [17:28:10.152] parallel_sendData <- get("sendData", mode = "function", [17:28:10.152] envir = ns) [17:28:10.152] envir <- sys.frame(frame) [17:28:10.152] master <- NULL [17:28:10.152] while (!identical(envir, .GlobalEnv) && [17:28:10.152] !identical(envir, emptyenv())) { [17:28:10.152] if (exists("master", mode = "list", envir = envir, [17:28:10.152] inherits = FALSE)) { [17:28:10.152] master <- get("master", mode = "list", [17:28:10.152] envir = envir, inherits = FALSE) [17:28:10.152] if (inherits(master, c("SOCKnode", [17:28:10.152] "SOCK0node"))) { [17:28:10.152] sendCondition <<- function(cond) { [17:28:10.152] data <- list(type = "VALUE", value = cond, [17:28:10.152] success = TRUE) [17:28:10.152] parallel_sendData(master, data) [17:28:10.152] } [17:28:10.152] return(sendCondition) [17:28:10.152] } [17:28:10.152] } [17:28:10.152] frame <- frame + 1L [17:28:10.152] envir <- sys.frame(frame) [17:28:10.152] } [17:28:10.152] } [17:28:10.152] sendCondition <<- function(cond) NULL [17:28:10.152] } [17:28:10.152] }) [17:28:10.152] withCallingHandlers({ [17:28:10.152] { [17:28:10.152] b <- a * ii [17:28:10.152] a <- 0 [17:28:10.152] b [17:28:10.152] } [17:28:10.152] }, immediateCondition = function(cond) { [17:28:10.152] sendCondition <- ...future.makeSendCondition() [17:28:10.152] sendCondition(cond) [17:28:10.152] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.152] { [17:28:10.152] inherits <- base::inherits [17:28:10.152] invokeRestart <- base::invokeRestart [17:28:10.152] is.null <- base::is.null [17:28:10.152] muffled <- FALSE [17:28:10.152] if (inherits(cond, "message")) { [17:28:10.152] muffled <- grepl(pattern, "muffleMessage") [17:28:10.152] if (muffled) [17:28:10.152] invokeRestart("muffleMessage") [17:28:10.152] } [17:28:10.152] else if (inherits(cond, "warning")) { [17:28:10.152] muffled <- grepl(pattern, "muffleWarning") [17:28:10.152] if (muffled) [17:28:10.152] invokeRestart("muffleWarning") [17:28:10.152] } [17:28:10.152] else if (inherits(cond, "condition")) { [17:28:10.152] if (!is.null(pattern)) { [17:28:10.152] computeRestarts <- base::computeRestarts [17:28:10.152] grepl <- base::grepl [17:28:10.152] restarts <- computeRestarts(cond) [17:28:10.152] for (restart in restarts) { [17:28:10.152] name <- restart$name [17:28:10.152] if (is.null(name)) [17:28:10.152] next [17:28:10.152] if (!grepl(pattern, name)) [17:28:10.152] next [17:28:10.152] invokeRestart(restart) [17:28:10.152] muffled <- TRUE [17:28:10.152] break [17:28:10.152] } [17:28:10.152] } [17:28:10.152] } [17:28:10.152] invisible(muffled) [17:28:10.152] } [17:28:10.152] muffleCondition(cond) [17:28:10.152] }) [17:28:10.152] })) [17:28:10.152] future::FutureResult(value = ...future.value$value, [17:28:10.152] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.152] ...future.rng), globalenv = if (FALSE) [17:28:10.152] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.152] ...future.globalenv.names)) [17:28:10.152] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.152] }, condition = base::local({ [17:28:10.152] c <- base::c [17:28:10.152] inherits <- base::inherits [17:28:10.152] invokeRestart <- base::invokeRestart [17:28:10.152] length <- base::length [17:28:10.152] list <- base::list [17:28:10.152] seq.int <- base::seq.int [17:28:10.152] signalCondition <- base::signalCondition [17:28:10.152] sys.calls <- base::sys.calls [17:28:10.152] `[[` <- base::`[[` [17:28:10.152] `+` <- base::`+` [17:28:10.152] `<<-` <- base::`<<-` [17:28:10.152] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.152] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.152] 3L)] [17:28:10.152] } [17:28:10.152] function(cond) { [17:28:10.152] is_error <- inherits(cond, "error") [17:28:10.152] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.152] NULL) [17:28:10.152] if (is_error) { [17:28:10.152] sessionInformation <- function() { [17:28:10.152] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.152] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.152] search = base::search(), system = base::Sys.info()) [17:28:10.152] } [17:28:10.152] ...future.conditions[[length(...future.conditions) + [17:28:10.152] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.152] cond$call), session = sessionInformation(), [17:28:10.152] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.152] signalCondition(cond) [17:28:10.152] } [17:28:10.152] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.152] "immediateCondition"))) { [17:28:10.152] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.152] ...future.conditions[[length(...future.conditions) + [17:28:10.152] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.152] if (TRUE && !signal) { [17:28:10.152] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.152] { [17:28:10.152] inherits <- base::inherits [17:28:10.152] invokeRestart <- base::invokeRestart [17:28:10.152] is.null <- base::is.null [17:28:10.152] muffled <- FALSE [17:28:10.152] if (inherits(cond, "message")) { [17:28:10.152] muffled <- grepl(pattern, "muffleMessage") [17:28:10.152] if (muffled) [17:28:10.152] invokeRestart("muffleMessage") [17:28:10.152] } [17:28:10.152] else if (inherits(cond, "warning")) { [17:28:10.152] muffled <- grepl(pattern, "muffleWarning") [17:28:10.152] if (muffled) [17:28:10.152] invokeRestart("muffleWarning") [17:28:10.152] } [17:28:10.152] else if (inherits(cond, "condition")) { [17:28:10.152] if (!is.null(pattern)) { [17:28:10.152] computeRestarts <- base::computeRestarts [17:28:10.152] grepl <- base::grepl [17:28:10.152] restarts <- computeRestarts(cond) [17:28:10.152] for (restart in restarts) { [17:28:10.152] name <- restart$name [17:28:10.152] if (is.null(name)) [17:28:10.152] next [17:28:10.152] if (!grepl(pattern, name)) [17:28:10.152] next [17:28:10.152] invokeRestart(restart) [17:28:10.152] muffled <- TRUE [17:28:10.152] break [17:28:10.152] } [17:28:10.152] } [17:28:10.152] } [17:28:10.152] invisible(muffled) [17:28:10.152] } [17:28:10.152] muffleCondition(cond, pattern = "^muffle") [17:28:10.152] } [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] if (TRUE) { [17:28:10.152] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.152] { [17:28:10.152] inherits <- base::inherits [17:28:10.152] invokeRestart <- base::invokeRestart [17:28:10.152] is.null <- base::is.null [17:28:10.152] muffled <- FALSE [17:28:10.152] if (inherits(cond, "message")) { [17:28:10.152] muffled <- grepl(pattern, "muffleMessage") [17:28:10.152] if (muffled) [17:28:10.152] invokeRestart("muffleMessage") [17:28:10.152] } [17:28:10.152] else if (inherits(cond, "warning")) { [17:28:10.152] muffled <- grepl(pattern, "muffleWarning") [17:28:10.152] if (muffled) [17:28:10.152] invokeRestart("muffleWarning") [17:28:10.152] } [17:28:10.152] else if (inherits(cond, "condition")) { [17:28:10.152] if (!is.null(pattern)) { [17:28:10.152] computeRestarts <- base::computeRestarts [17:28:10.152] grepl <- base::grepl [17:28:10.152] restarts <- computeRestarts(cond) [17:28:10.152] for (restart in restarts) { [17:28:10.152] name <- restart$name [17:28:10.152] if (is.null(name)) [17:28:10.152] next [17:28:10.152] if (!grepl(pattern, name)) [17:28:10.152] next [17:28:10.152] invokeRestart(restart) [17:28:10.152] muffled <- TRUE [17:28:10.152] break [17:28:10.152] } [17:28:10.152] } [17:28:10.152] } [17:28:10.152] invisible(muffled) [17:28:10.152] } [17:28:10.152] muffleCondition(cond, pattern = "^muffle") [17:28:10.152] } [17:28:10.152] } [17:28:10.152] } [17:28:10.152] })) [17:28:10.152] }, error = function(ex) { [17:28:10.152] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.152] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.152] ...future.rng), started = ...future.startTime, [17:28:10.152] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.152] version = "1.8"), class = "FutureResult") [17:28:10.152] }, finally = { [17:28:10.152] if (!identical(...future.workdir, getwd())) [17:28:10.152] setwd(...future.workdir) [17:28:10.152] { [17:28:10.152] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.152] ...future.oldOptions$nwarnings <- NULL [17:28:10.152] } [17:28:10.152] base::options(...future.oldOptions) [17:28:10.152] if (.Platform$OS.type == "windows") { [17:28:10.152] old_names <- names(...future.oldEnvVars) [17:28:10.152] envs <- base::Sys.getenv() [17:28:10.152] names <- names(envs) [17:28:10.152] common <- intersect(names, old_names) [17:28:10.152] added <- setdiff(names, old_names) [17:28:10.152] removed <- setdiff(old_names, names) [17:28:10.152] changed <- common[...future.oldEnvVars[common] != [17:28:10.152] envs[common]] [17:28:10.152] NAMES <- toupper(changed) [17:28:10.152] args <- list() [17:28:10.152] for (kk in seq_along(NAMES)) { [17:28:10.152] name <- changed[[kk]] [17:28:10.152] NAME <- NAMES[[kk]] [17:28:10.152] if (name != NAME && is.element(NAME, old_names)) [17:28:10.152] next [17:28:10.152] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.152] } [17:28:10.152] NAMES <- toupper(added) [17:28:10.152] for (kk in seq_along(NAMES)) { [17:28:10.152] name <- added[[kk]] [17:28:10.152] NAME <- NAMES[[kk]] [17:28:10.152] if (name != NAME && is.element(NAME, old_names)) [17:28:10.152] next [17:28:10.152] args[[name]] <- "" [17:28:10.152] } [17:28:10.152] NAMES <- toupper(removed) [17:28:10.152] for (kk in seq_along(NAMES)) { [17:28:10.152] name <- removed[[kk]] [17:28:10.152] NAME <- NAMES[[kk]] [17:28:10.152] if (name != NAME && is.element(NAME, old_names)) [17:28:10.152] next [17:28:10.152] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.152] } [17:28:10.152] if (length(args) > 0) [17:28:10.152] base::do.call(base::Sys.setenv, args = args) [17:28:10.152] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.152] } [17:28:10.152] { [17:28:10.152] if (base::length(...future.futureOptionsAdded) > [17:28:10.152] 0L) { [17:28:10.152] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.152] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.152] base::options(opts) [17:28:10.152] } [17:28:10.152] { [17:28:10.152] { [17:28:10.152] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.152] NULL [17:28:10.152] } [17:28:10.152] options(future.plan = NULL) [17:28:10.152] if (is.na(NA_character_)) [17:28:10.152] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.152] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.152] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.152] .init = FALSE) [17:28:10.152] } [17:28:10.152] } [17:28:10.152] } [17:28:10.152] }) [17:28:10.152] if (TRUE) { [17:28:10.152] base::sink(type = "output", split = FALSE) [17:28:10.152] if (TRUE) { [17:28:10.152] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.152] } [17:28:10.152] else { [17:28:10.152] ...future.result["stdout"] <- base::list(NULL) [17:28:10.152] } [17:28:10.152] base::close(...future.stdout) [17:28:10.152] ...future.stdout <- NULL [17:28:10.152] } [17:28:10.152] ...future.result$conditions <- ...future.conditions [17:28:10.152] ...future.result$finished <- base::Sys.time() [17:28:10.152] ...future.result [17:28:10.152] } [17:28:10.160] Poll #1 (0): usedNodes() = 2, workers = 2 [17:28:10.174] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.175] - Validating connection of MultisessionFuture [17:28:10.176] - received message: FutureResult [17:28:10.176] - Received FutureResult [17:28:10.176] - Erased future from FutureRegistry [17:28:10.177] result() for ClusterFuture ... [17:28:10.177] - result already collected: FutureResult [17:28:10.177] result() for ClusterFuture ... done [17:28:10.177] signalConditions() ... [17:28:10.178] - include = 'immediateCondition' [17:28:10.178] - exclude = [17:28:10.178] - resignal = FALSE [17:28:10.178] - Number of conditions: 1 [17:28:10.179] signalConditions() ... done [17:28:10.179] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.179] result() for ClusterFuture ... [17:28:10.180] - result already collected: FutureResult [17:28:10.180] result() for ClusterFuture ... done [17:28:10.180] result() for ClusterFuture ... [17:28:10.180] - result already collected: FutureResult [17:28:10.181] result() for ClusterFuture ... done [17:28:10.181] signalConditions() ... [17:28:10.181] - include = 'immediateCondition' [17:28:10.181] - exclude = [17:28:10.182] - resignal = FALSE [17:28:10.182] - Number of conditions: 1 [17:28:10.182] signalConditions() ... done [17:28:10.184] Exporting 2 global objects (378 bytes) to cluster node #1 ... [17:28:10.184] Exporting 'a' (39 bytes) to cluster node #1 ... [17:28:10.185] Exporting 'a' (39 bytes) to cluster node #1 ... DONE [17:28:10.185] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:28:10.186] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:28:10.186] Exporting 2 global objects (378 bytes) to cluster node #1 ... DONE [17:28:10.187] MultisessionFuture started [17:28:10.187] - Launch lazy future ... done [17:28:10.188] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.189] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.190] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.194] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.194] Searching for globals ... DONE [17:28:10.195] Resolving globals: TRUE [17:28:10.195] Resolving any globals that are futures ... [17:28:10.195] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.196] Resolving any globals that are futures ... DONE [17:28:10.197] Resolving futures part of globals (recursively) ... [17:28:10.197] resolve() on list ... [17:28:10.197] recursive: 99 [17:28:10.198] length: 2 [17:28:10.198] elements: 'a', 'ii' [17:28:10.198] length: 1 (resolved future 1) [17:28:10.199] length: 0 (resolved future 2) [17:28:10.199] resolve() on list ... DONE [17:28:10.199] - globals: [2] 'a', 'ii' [17:28:10.200] Resolving futures part of globals (recursively) ... DONE [17:28:10.200] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:10.201] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:10.201] - globals: [2] 'a', 'ii' [17:28:10.202] [17:28:10.202] getGlobalsAndPackages() ... DONE [17:28:10.203] run() for 'Future' ... [17:28:10.203] - state: 'created' [17:28:10.203] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.223] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.224] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.224] - Field: 'node' [17:28:10.224] - Field: 'label' [17:28:10.224] - Field: 'local' [17:28:10.225] - Field: 'owner' [17:28:10.225] - Field: 'envir' [17:28:10.225] - Field: 'workers' [17:28:10.226] - Field: 'packages' [17:28:10.226] - Field: 'gc' [17:28:10.226] - Field: 'conditions' [17:28:10.227] - Field: 'persistent' [17:28:10.227] - Field: 'expr' [17:28:10.227] - Field: 'uuid' [17:28:10.228] - Field: 'seed' [17:28:10.228] - Field: 'version' [17:28:10.228] - Field: 'result' [17:28:10.229] - Field: 'asynchronous' [17:28:10.229] - Field: 'calls' [17:28:10.229] - Field: 'globals' [17:28:10.230] - Field: 'stdout' [17:28:10.230] - Field: 'earlySignal' [17:28:10.230] - Field: 'lazy' [17:28:10.231] - Field: 'state' [17:28:10.231] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.231] - Launch lazy future ... [17:28:10.232] Packages needed by the future expression (n = 0): [17:28:10.232] Packages needed by future strategies (n = 0): [17:28:10.233] { [17:28:10.233] { [17:28:10.233] { [17:28:10.233] ...future.startTime <- base::Sys.time() [17:28:10.233] { [17:28:10.233] { [17:28:10.233] { [17:28:10.233] { [17:28:10.233] base::local({ [17:28:10.233] has_future <- base::requireNamespace("future", [17:28:10.233] quietly = TRUE) [17:28:10.233] if (has_future) { [17:28:10.233] ns <- base::getNamespace("future") [17:28:10.233] version <- ns[[".package"]][["version"]] [17:28:10.233] if (is.null(version)) [17:28:10.233] version <- utils::packageVersion("future") [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] version <- NULL [17:28:10.233] } [17:28:10.233] if (!has_future || version < "1.8.0") { [17:28:10.233] info <- base::c(r_version = base::gsub("R version ", [17:28:10.233] "", base::R.version$version.string), [17:28:10.233] platform = base::sprintf("%s (%s-bit)", [17:28:10.233] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.233] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.233] "release", "version")], collapse = " "), [17:28:10.233] hostname = base::Sys.info()[["nodename"]]) [17:28:10.233] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.233] info) [17:28:10.233] info <- base::paste(info, collapse = "; ") [17:28:10.233] if (!has_future) { [17:28:10.233] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.233] info) [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.233] info, version) [17:28:10.233] } [17:28:10.233] base::stop(msg) [17:28:10.233] } [17:28:10.233] }) [17:28:10.233] } [17:28:10.233] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.233] base::options(mc.cores = 1L) [17:28:10.233] } [17:28:10.233] ...future.strategy.old <- future::plan("list") [17:28:10.233] options(future.plan = NULL) [17:28:10.233] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.233] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.233] } [17:28:10.233] ...future.workdir <- getwd() [17:28:10.233] } [17:28:10.233] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.233] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.233] } [17:28:10.233] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.233] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.233] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.233] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.233] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.233] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.233] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.233] base::names(...future.oldOptions)) [17:28:10.233] } [17:28:10.233] if (FALSE) { [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] if (TRUE) { [17:28:10.233] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.233] open = "w") [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.233] windows = "NUL", "/dev/null"), open = "w") [17:28:10.233] } [17:28:10.233] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.233] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.233] base::sink(type = "output", split = FALSE) [17:28:10.233] base::close(...future.stdout) [17:28:10.233] }, add = TRUE) [17:28:10.233] } [17:28:10.233] ...future.frame <- base::sys.nframe() [17:28:10.233] ...future.conditions <- base::list() [17:28:10.233] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.233] if (FALSE) { [17:28:10.233] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.233] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.233] } [17:28:10.233] ...future.result <- base::tryCatch({ [17:28:10.233] base::withCallingHandlers({ [17:28:10.233] ...future.value <- base::withVisible(base::local({ [17:28:10.233] ...future.makeSendCondition <- base::local({ [17:28:10.233] sendCondition <- NULL [17:28:10.233] function(frame = 1L) { [17:28:10.233] if (is.function(sendCondition)) [17:28:10.233] return(sendCondition) [17:28:10.233] ns <- getNamespace("parallel") [17:28:10.233] if (exists("sendData", mode = "function", [17:28:10.233] envir = ns)) { [17:28:10.233] parallel_sendData <- get("sendData", mode = "function", [17:28:10.233] envir = ns) [17:28:10.233] envir <- sys.frame(frame) [17:28:10.233] master <- NULL [17:28:10.233] while (!identical(envir, .GlobalEnv) && [17:28:10.233] !identical(envir, emptyenv())) { [17:28:10.233] if (exists("master", mode = "list", envir = envir, [17:28:10.233] inherits = FALSE)) { [17:28:10.233] master <- get("master", mode = "list", [17:28:10.233] envir = envir, inherits = FALSE) [17:28:10.233] if (inherits(master, c("SOCKnode", [17:28:10.233] "SOCK0node"))) { [17:28:10.233] sendCondition <<- function(cond) { [17:28:10.233] data <- list(type = "VALUE", value = cond, [17:28:10.233] success = TRUE) [17:28:10.233] parallel_sendData(master, data) [17:28:10.233] } [17:28:10.233] return(sendCondition) [17:28:10.233] } [17:28:10.233] } [17:28:10.233] frame <- frame + 1L [17:28:10.233] envir <- sys.frame(frame) [17:28:10.233] } [17:28:10.233] } [17:28:10.233] sendCondition <<- function(cond) NULL [17:28:10.233] } [17:28:10.233] }) [17:28:10.233] withCallingHandlers({ [17:28:10.233] { [17:28:10.233] b <- a * ii [17:28:10.233] a <- 0 [17:28:10.233] b [17:28:10.233] } [17:28:10.233] }, immediateCondition = function(cond) { [17:28:10.233] sendCondition <- ...future.makeSendCondition() [17:28:10.233] sendCondition(cond) [17:28:10.233] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.233] { [17:28:10.233] inherits <- base::inherits [17:28:10.233] invokeRestart <- base::invokeRestart [17:28:10.233] is.null <- base::is.null [17:28:10.233] muffled <- FALSE [17:28:10.233] if (inherits(cond, "message")) { [17:28:10.233] muffled <- grepl(pattern, "muffleMessage") [17:28:10.233] if (muffled) [17:28:10.233] invokeRestart("muffleMessage") [17:28:10.233] } [17:28:10.233] else if (inherits(cond, "warning")) { [17:28:10.233] muffled <- grepl(pattern, "muffleWarning") [17:28:10.233] if (muffled) [17:28:10.233] invokeRestart("muffleWarning") [17:28:10.233] } [17:28:10.233] else if (inherits(cond, "condition")) { [17:28:10.233] if (!is.null(pattern)) { [17:28:10.233] computeRestarts <- base::computeRestarts [17:28:10.233] grepl <- base::grepl [17:28:10.233] restarts <- computeRestarts(cond) [17:28:10.233] for (restart in restarts) { [17:28:10.233] name <- restart$name [17:28:10.233] if (is.null(name)) [17:28:10.233] next [17:28:10.233] if (!grepl(pattern, name)) [17:28:10.233] next [17:28:10.233] invokeRestart(restart) [17:28:10.233] muffled <- TRUE [17:28:10.233] break [17:28:10.233] } [17:28:10.233] } [17:28:10.233] } [17:28:10.233] invisible(muffled) [17:28:10.233] } [17:28:10.233] muffleCondition(cond) [17:28:10.233] }) [17:28:10.233] })) [17:28:10.233] future::FutureResult(value = ...future.value$value, [17:28:10.233] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.233] ...future.rng), globalenv = if (FALSE) [17:28:10.233] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.233] ...future.globalenv.names)) [17:28:10.233] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.233] }, condition = base::local({ [17:28:10.233] c <- base::c [17:28:10.233] inherits <- base::inherits [17:28:10.233] invokeRestart <- base::invokeRestart [17:28:10.233] length <- base::length [17:28:10.233] list <- base::list [17:28:10.233] seq.int <- base::seq.int [17:28:10.233] signalCondition <- base::signalCondition [17:28:10.233] sys.calls <- base::sys.calls [17:28:10.233] `[[` <- base::`[[` [17:28:10.233] `+` <- base::`+` [17:28:10.233] `<<-` <- base::`<<-` [17:28:10.233] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.233] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.233] 3L)] [17:28:10.233] } [17:28:10.233] function(cond) { [17:28:10.233] is_error <- inherits(cond, "error") [17:28:10.233] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.233] NULL) [17:28:10.233] if (is_error) { [17:28:10.233] sessionInformation <- function() { [17:28:10.233] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.233] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.233] search = base::search(), system = base::Sys.info()) [17:28:10.233] } [17:28:10.233] ...future.conditions[[length(...future.conditions) + [17:28:10.233] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.233] cond$call), session = sessionInformation(), [17:28:10.233] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.233] signalCondition(cond) [17:28:10.233] } [17:28:10.233] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.233] "immediateCondition"))) { [17:28:10.233] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.233] ...future.conditions[[length(...future.conditions) + [17:28:10.233] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.233] if (TRUE && !signal) { [17:28:10.233] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.233] { [17:28:10.233] inherits <- base::inherits [17:28:10.233] invokeRestart <- base::invokeRestart [17:28:10.233] is.null <- base::is.null [17:28:10.233] muffled <- FALSE [17:28:10.233] if (inherits(cond, "message")) { [17:28:10.233] muffled <- grepl(pattern, "muffleMessage") [17:28:10.233] if (muffled) [17:28:10.233] invokeRestart("muffleMessage") [17:28:10.233] } [17:28:10.233] else if (inherits(cond, "warning")) { [17:28:10.233] muffled <- grepl(pattern, "muffleWarning") [17:28:10.233] if (muffled) [17:28:10.233] invokeRestart("muffleWarning") [17:28:10.233] } [17:28:10.233] else if (inherits(cond, "condition")) { [17:28:10.233] if (!is.null(pattern)) { [17:28:10.233] computeRestarts <- base::computeRestarts [17:28:10.233] grepl <- base::grepl [17:28:10.233] restarts <- computeRestarts(cond) [17:28:10.233] for (restart in restarts) { [17:28:10.233] name <- restart$name [17:28:10.233] if (is.null(name)) [17:28:10.233] next [17:28:10.233] if (!grepl(pattern, name)) [17:28:10.233] next [17:28:10.233] invokeRestart(restart) [17:28:10.233] muffled <- TRUE [17:28:10.233] break [17:28:10.233] } [17:28:10.233] } [17:28:10.233] } [17:28:10.233] invisible(muffled) [17:28:10.233] } [17:28:10.233] muffleCondition(cond, pattern = "^muffle") [17:28:10.233] } [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] if (TRUE) { [17:28:10.233] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.233] { [17:28:10.233] inherits <- base::inherits [17:28:10.233] invokeRestart <- base::invokeRestart [17:28:10.233] is.null <- base::is.null [17:28:10.233] muffled <- FALSE [17:28:10.233] if (inherits(cond, "message")) { [17:28:10.233] muffled <- grepl(pattern, "muffleMessage") [17:28:10.233] if (muffled) [17:28:10.233] invokeRestart("muffleMessage") [17:28:10.233] } [17:28:10.233] else if (inherits(cond, "warning")) { [17:28:10.233] muffled <- grepl(pattern, "muffleWarning") [17:28:10.233] if (muffled) [17:28:10.233] invokeRestart("muffleWarning") [17:28:10.233] } [17:28:10.233] else if (inherits(cond, "condition")) { [17:28:10.233] if (!is.null(pattern)) { [17:28:10.233] computeRestarts <- base::computeRestarts [17:28:10.233] grepl <- base::grepl [17:28:10.233] restarts <- computeRestarts(cond) [17:28:10.233] for (restart in restarts) { [17:28:10.233] name <- restart$name [17:28:10.233] if (is.null(name)) [17:28:10.233] next [17:28:10.233] if (!grepl(pattern, name)) [17:28:10.233] next [17:28:10.233] invokeRestart(restart) [17:28:10.233] muffled <- TRUE [17:28:10.233] break [17:28:10.233] } [17:28:10.233] } [17:28:10.233] } [17:28:10.233] invisible(muffled) [17:28:10.233] } [17:28:10.233] muffleCondition(cond, pattern = "^muffle") [17:28:10.233] } [17:28:10.233] } [17:28:10.233] } [17:28:10.233] })) [17:28:10.233] }, error = function(ex) { [17:28:10.233] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.233] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.233] ...future.rng), started = ...future.startTime, [17:28:10.233] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.233] version = "1.8"), class = "FutureResult") [17:28:10.233] }, finally = { [17:28:10.233] if (!identical(...future.workdir, getwd())) [17:28:10.233] setwd(...future.workdir) [17:28:10.233] { [17:28:10.233] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.233] ...future.oldOptions$nwarnings <- NULL [17:28:10.233] } [17:28:10.233] base::options(...future.oldOptions) [17:28:10.233] if (.Platform$OS.type == "windows") { [17:28:10.233] old_names <- names(...future.oldEnvVars) [17:28:10.233] envs <- base::Sys.getenv() [17:28:10.233] names <- names(envs) [17:28:10.233] common <- intersect(names, old_names) [17:28:10.233] added <- setdiff(names, old_names) [17:28:10.233] removed <- setdiff(old_names, names) [17:28:10.233] changed <- common[...future.oldEnvVars[common] != [17:28:10.233] envs[common]] [17:28:10.233] NAMES <- toupper(changed) [17:28:10.233] args <- list() [17:28:10.233] for (kk in seq_along(NAMES)) { [17:28:10.233] name <- changed[[kk]] [17:28:10.233] NAME <- NAMES[[kk]] [17:28:10.233] if (name != NAME && is.element(NAME, old_names)) [17:28:10.233] next [17:28:10.233] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.233] } [17:28:10.233] NAMES <- toupper(added) [17:28:10.233] for (kk in seq_along(NAMES)) { [17:28:10.233] name <- added[[kk]] [17:28:10.233] NAME <- NAMES[[kk]] [17:28:10.233] if (name != NAME && is.element(NAME, old_names)) [17:28:10.233] next [17:28:10.233] args[[name]] <- "" [17:28:10.233] } [17:28:10.233] NAMES <- toupper(removed) [17:28:10.233] for (kk in seq_along(NAMES)) { [17:28:10.233] name <- removed[[kk]] [17:28:10.233] NAME <- NAMES[[kk]] [17:28:10.233] if (name != NAME && is.element(NAME, old_names)) [17:28:10.233] next [17:28:10.233] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.233] } [17:28:10.233] if (length(args) > 0) [17:28:10.233] base::do.call(base::Sys.setenv, args = args) [17:28:10.233] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.233] } [17:28:10.233] { [17:28:10.233] if (base::length(...future.futureOptionsAdded) > [17:28:10.233] 0L) { [17:28:10.233] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.233] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.233] base::options(opts) [17:28:10.233] } [17:28:10.233] { [17:28:10.233] { [17:28:10.233] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.233] NULL [17:28:10.233] } [17:28:10.233] options(future.plan = NULL) [17:28:10.233] if (is.na(NA_character_)) [17:28:10.233] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.233] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.233] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.233] .init = FALSE) [17:28:10.233] } [17:28:10.233] } [17:28:10.233] } [17:28:10.233] }) [17:28:10.233] if (TRUE) { [17:28:10.233] base::sink(type = "output", split = FALSE) [17:28:10.233] if (TRUE) { [17:28:10.233] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.233] } [17:28:10.233] else { [17:28:10.233] ...future.result["stdout"] <- base::list(NULL) [17:28:10.233] } [17:28:10.233] base::close(...future.stdout) [17:28:10.233] ...future.stdout <- NULL [17:28:10.233] } [17:28:10.233] ...future.result$conditions <- ...future.conditions [17:28:10.233] ...future.result$finished <- base::Sys.time() [17:28:10.233] ...future.result [17:28:10.233] } [17:28:10.241] Poll #1 (0): usedNodes() = 2, workers = 2 [17:28:10.269] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.270] - Validating connection of MultisessionFuture [17:28:10.270] - received message: FutureResult [17:28:10.271] - Received FutureResult [17:28:10.271] - Erased future from FutureRegistry [17:28:10.271] result() for ClusterFuture ... [17:28:10.272] - result already collected: FutureResult [17:28:10.272] result() for ClusterFuture ... done [17:28:10.272] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.273] result() for ClusterFuture ... [17:28:10.273] - result already collected: FutureResult [17:28:10.273] result() for ClusterFuture ... done [17:28:10.273] result() for ClusterFuture ... [17:28:10.274] - result already collected: FutureResult [17:28:10.274] result() for ClusterFuture ... done [17:28:10.276] Exporting 2 global objects (378 bytes) to cluster node #2 ... [17:28:10.277] Exporting 'a' (39 bytes) to cluster node #2 ... [17:28:10.278] Exporting 'a' (39 bytes) to cluster node #2 ... DONE [17:28:10.278] Exporting 'ii' (35 bytes) to cluster node #2 ... [17:28:10.279] Exporting 'ii' (35 bytes) to cluster node #2 ... DONE [17:28:10.279] Exporting 2 global objects (378 bytes) to cluster node #2 ... DONE [17:28:10.280] MultisessionFuture started [17:28:10.280] - Launch lazy future ... done [17:28:10.281] run() for 'MultisessionFuture' ... done [17:28:10.281] result() for ClusterFuture ... [17:28:10.282] - result already collected: FutureResult [17:28:10.282] result() for ClusterFuture ... done [17:28:10.282] result() for ClusterFuture ... [17:28:10.283] - result already collected: FutureResult [17:28:10.283] result() for ClusterFuture ... done [17:28:10.283] result() for ClusterFuture ... [17:28:10.284] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.284] - Validating connection of MultisessionFuture [17:28:10.285] - received message: FutureResult [17:28:10.285] - Received FutureResult [17:28:10.285] - Erased future from FutureRegistry [17:28:10.286] result() for ClusterFuture ... [17:28:10.286] - result already collected: FutureResult [17:28:10.286] result() for ClusterFuture ... done [17:28:10.286] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.287] result() for ClusterFuture ... done [17:28:10.287] result() for ClusterFuture ... [17:28:10.287] - result already collected: FutureResult [17:28:10.288] result() for ClusterFuture ... done [17:28:10.288] result() for ClusterFuture ... [17:28:10.288] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.289] - Validating connection of MultisessionFuture [17:28:10.306] - received message: FutureResult [17:28:10.306] - Received FutureResult [17:28:10.307] - Erased future from FutureRegistry [17:28:10.307] result() for ClusterFuture ... [17:28:10.307] - result already collected: FutureResult [17:28:10.307] result() for ClusterFuture ... done [17:28:10.308] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.308] result() for ClusterFuture ... done [17:28:10.308] result() for ClusterFuture ... [17:28:10.308] - result already collected: FutureResult [17:28:10.309] result() for ClusterFuture ... done [1] 1 2 3 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.310] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.310] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.314] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.314] Searching for globals ... DONE [17:28:10.315] Resolving globals: TRUE [17:28:10.315] Resolving any globals that are futures ... [17:28:10.315] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.315] Resolving any globals that are futures ... DONE [17:28:10.316] Resolving futures part of globals (recursively) ... [17:28:10.317] resolve() on list ... [17:28:10.317] recursive: 99 [17:28:10.317] length: 2 [17:28:10.317] elements: 'a', 'ii' [17:28:10.318] length: 1 (resolved future 1) [17:28:10.318] length: 0 (resolved future 2) [17:28:10.318] resolve() on list ... DONE [17:28:10.318] - globals: [2] 'a', 'ii' [17:28:10.319] Resolving futures part of globals (recursively) ... DONE [17:28:10.319] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:10.320] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:10.320] - globals: [2] 'a', 'ii' [17:28:10.320] [17:28:10.321] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.322] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.322] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.326] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.327] Searching for globals ... DONE [17:28:10.327] Resolving globals: TRUE [17:28:10.327] Resolving any globals that are futures ... [17:28:10.327] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.328] Resolving any globals that are futures ... DONE [17:28:10.328] Resolving futures part of globals (recursively) ... [17:28:10.329] resolve() on list ... [17:28:10.329] recursive: 99 [17:28:10.329] length: 2 [17:28:10.329] elements: 'a', 'ii' [17:28:10.330] length: 1 (resolved future 1) [17:28:10.330] length: 0 (resolved future 2) [17:28:10.330] resolve() on list ... DONE [17:28:10.331] - globals: [2] 'a', 'ii' [17:28:10.331] Resolving futures part of globals (recursively) ... DONE [17:28:10.331] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:10.332] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:10.332] - globals: [2] 'a', 'ii' [17:28:10.332] [17:28:10.333] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.334] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.335] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.338] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.338] Searching for globals ... DONE [17:28:10.339] Resolving globals: TRUE [17:28:10.339] Resolving any globals that are futures ... [17:28:10.339] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:28:10.339] Resolving any globals that are futures ... DONE [17:28:10.340] Resolving futures part of globals (recursively) ... [17:28:10.341] resolve() on list ... [17:28:10.341] recursive: 99 [17:28:10.341] length: 2 [17:28:10.341] elements: 'a', 'ii' [17:28:10.342] length: 1 (resolved future 1) [17:28:10.342] length: 0 (resolved future 2) [17:28:10.342] resolve() on list ... DONE [17:28:10.343] - globals: [2] 'a', 'ii' [17:28:10.343] Resolving futures part of globals (recursively) ... DONE [17:28:10.343] The total size of the 2 globals is 74 bytes (74 bytes) [17:28:10.344] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 74 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (39 bytes of class 'numeric') and 'ii' (35 bytes of class 'numeric') [17:28:10.344] - globals: [2] 'a', 'ii' [17:28:10.344] [17:28:10.345] getGlobalsAndPackages() ... DONE [17:28:10.345] run() for 'Future' ... [17:28:10.346] - state: 'created' [17:28:10.346] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.365] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.366] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.366] - Field: 'node' [17:28:10.366] - Field: 'label' [17:28:10.366] - Field: 'local' [17:28:10.367] - Field: 'owner' [17:28:10.367] - Field: 'envir' [17:28:10.369] - Field: 'workers' [17:28:10.370] - Field: 'packages' [17:28:10.370] - Field: 'gc' [17:28:10.370] - Field: 'conditions' [17:28:10.370] - Field: 'persistent' [17:28:10.370] - Field: 'expr' [17:28:10.370] - Field: 'uuid' [17:28:10.371] - Field: 'seed' [17:28:10.371] - Field: 'version' [17:28:10.371] - Field: 'result' [17:28:10.371] - Field: 'asynchronous' [17:28:10.371] - Field: 'calls' [17:28:10.372] - Field: 'globals' [17:28:10.372] - Field: 'stdout' [17:28:10.372] - Field: 'earlySignal' [17:28:10.372] - Field: 'lazy' [17:28:10.372] - Field: 'state' [17:28:10.372] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.373] - Launch lazy future ... [17:28:10.373] Packages needed by the future expression (n = 0): [17:28:10.373] Packages needed by future strategies (n = 0): [17:28:10.374] { [17:28:10.374] { [17:28:10.374] { [17:28:10.374] ...future.startTime <- base::Sys.time() [17:28:10.374] { [17:28:10.374] { [17:28:10.374] { [17:28:10.374] { [17:28:10.374] base::local({ [17:28:10.374] has_future <- base::requireNamespace("future", [17:28:10.374] quietly = TRUE) [17:28:10.374] if (has_future) { [17:28:10.374] ns <- base::getNamespace("future") [17:28:10.374] version <- ns[[".package"]][["version"]] [17:28:10.374] if (is.null(version)) [17:28:10.374] version <- utils::packageVersion("future") [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] version <- NULL [17:28:10.374] } [17:28:10.374] if (!has_future || version < "1.8.0") { [17:28:10.374] info <- base::c(r_version = base::gsub("R version ", [17:28:10.374] "", base::R.version$version.string), [17:28:10.374] platform = base::sprintf("%s (%s-bit)", [17:28:10.374] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.374] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.374] "release", "version")], collapse = " "), [17:28:10.374] hostname = base::Sys.info()[["nodename"]]) [17:28:10.374] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.374] info) [17:28:10.374] info <- base::paste(info, collapse = "; ") [17:28:10.374] if (!has_future) { [17:28:10.374] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.374] info) [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.374] info, version) [17:28:10.374] } [17:28:10.374] base::stop(msg) [17:28:10.374] } [17:28:10.374] }) [17:28:10.374] } [17:28:10.374] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.374] base::options(mc.cores = 1L) [17:28:10.374] } [17:28:10.374] ...future.strategy.old <- future::plan("list") [17:28:10.374] options(future.plan = NULL) [17:28:10.374] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.374] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.374] } [17:28:10.374] ...future.workdir <- getwd() [17:28:10.374] } [17:28:10.374] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.374] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.374] } [17:28:10.374] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.374] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.374] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.374] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.374] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.374] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.374] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.374] base::names(...future.oldOptions)) [17:28:10.374] } [17:28:10.374] if (FALSE) { [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] if (TRUE) { [17:28:10.374] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.374] open = "w") [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.374] windows = "NUL", "/dev/null"), open = "w") [17:28:10.374] } [17:28:10.374] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.374] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.374] base::sink(type = "output", split = FALSE) [17:28:10.374] base::close(...future.stdout) [17:28:10.374] }, add = TRUE) [17:28:10.374] } [17:28:10.374] ...future.frame <- base::sys.nframe() [17:28:10.374] ...future.conditions <- base::list() [17:28:10.374] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.374] if (FALSE) { [17:28:10.374] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.374] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.374] } [17:28:10.374] ...future.result <- base::tryCatch({ [17:28:10.374] base::withCallingHandlers({ [17:28:10.374] ...future.value <- base::withVisible(base::local({ [17:28:10.374] ...future.makeSendCondition <- base::local({ [17:28:10.374] sendCondition <- NULL [17:28:10.374] function(frame = 1L) { [17:28:10.374] if (is.function(sendCondition)) [17:28:10.374] return(sendCondition) [17:28:10.374] ns <- getNamespace("parallel") [17:28:10.374] if (exists("sendData", mode = "function", [17:28:10.374] envir = ns)) { [17:28:10.374] parallel_sendData <- get("sendData", mode = "function", [17:28:10.374] envir = ns) [17:28:10.374] envir <- sys.frame(frame) [17:28:10.374] master <- NULL [17:28:10.374] while (!identical(envir, .GlobalEnv) && [17:28:10.374] !identical(envir, emptyenv())) { [17:28:10.374] if (exists("master", mode = "list", envir = envir, [17:28:10.374] inherits = FALSE)) { [17:28:10.374] master <- get("master", mode = "list", [17:28:10.374] envir = envir, inherits = FALSE) [17:28:10.374] if (inherits(master, c("SOCKnode", [17:28:10.374] "SOCK0node"))) { [17:28:10.374] sendCondition <<- function(cond) { [17:28:10.374] data <- list(type = "VALUE", value = cond, [17:28:10.374] success = TRUE) [17:28:10.374] parallel_sendData(master, data) [17:28:10.374] } [17:28:10.374] return(sendCondition) [17:28:10.374] } [17:28:10.374] } [17:28:10.374] frame <- frame + 1L [17:28:10.374] envir <- sys.frame(frame) [17:28:10.374] } [17:28:10.374] } [17:28:10.374] sendCondition <<- function(cond) NULL [17:28:10.374] } [17:28:10.374] }) [17:28:10.374] withCallingHandlers({ [17:28:10.374] { [17:28:10.374] b <- a * ii [17:28:10.374] a <- 0 [17:28:10.374] b [17:28:10.374] } [17:28:10.374] }, immediateCondition = function(cond) { [17:28:10.374] sendCondition <- ...future.makeSendCondition() [17:28:10.374] sendCondition(cond) [17:28:10.374] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.374] { [17:28:10.374] inherits <- base::inherits [17:28:10.374] invokeRestart <- base::invokeRestart [17:28:10.374] is.null <- base::is.null [17:28:10.374] muffled <- FALSE [17:28:10.374] if (inherits(cond, "message")) { [17:28:10.374] muffled <- grepl(pattern, "muffleMessage") [17:28:10.374] if (muffled) [17:28:10.374] invokeRestart("muffleMessage") [17:28:10.374] } [17:28:10.374] else if (inherits(cond, "warning")) { [17:28:10.374] muffled <- grepl(pattern, "muffleWarning") [17:28:10.374] if (muffled) [17:28:10.374] invokeRestart("muffleWarning") [17:28:10.374] } [17:28:10.374] else if (inherits(cond, "condition")) { [17:28:10.374] if (!is.null(pattern)) { [17:28:10.374] computeRestarts <- base::computeRestarts [17:28:10.374] grepl <- base::grepl [17:28:10.374] restarts <- computeRestarts(cond) [17:28:10.374] for (restart in restarts) { [17:28:10.374] name <- restart$name [17:28:10.374] if (is.null(name)) [17:28:10.374] next [17:28:10.374] if (!grepl(pattern, name)) [17:28:10.374] next [17:28:10.374] invokeRestart(restart) [17:28:10.374] muffled <- TRUE [17:28:10.374] break [17:28:10.374] } [17:28:10.374] } [17:28:10.374] } [17:28:10.374] invisible(muffled) [17:28:10.374] } [17:28:10.374] muffleCondition(cond) [17:28:10.374] }) [17:28:10.374] })) [17:28:10.374] future::FutureResult(value = ...future.value$value, [17:28:10.374] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.374] ...future.rng), globalenv = if (FALSE) [17:28:10.374] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.374] ...future.globalenv.names)) [17:28:10.374] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.374] }, condition = base::local({ [17:28:10.374] c <- base::c [17:28:10.374] inherits <- base::inherits [17:28:10.374] invokeRestart <- base::invokeRestart [17:28:10.374] length <- base::length [17:28:10.374] list <- base::list [17:28:10.374] seq.int <- base::seq.int [17:28:10.374] signalCondition <- base::signalCondition [17:28:10.374] sys.calls <- base::sys.calls [17:28:10.374] `[[` <- base::`[[` [17:28:10.374] `+` <- base::`+` [17:28:10.374] `<<-` <- base::`<<-` [17:28:10.374] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.374] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.374] 3L)] [17:28:10.374] } [17:28:10.374] function(cond) { [17:28:10.374] is_error <- inherits(cond, "error") [17:28:10.374] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.374] NULL) [17:28:10.374] if (is_error) { [17:28:10.374] sessionInformation <- function() { [17:28:10.374] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.374] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.374] search = base::search(), system = base::Sys.info()) [17:28:10.374] } [17:28:10.374] ...future.conditions[[length(...future.conditions) + [17:28:10.374] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.374] cond$call), session = sessionInformation(), [17:28:10.374] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.374] signalCondition(cond) [17:28:10.374] } [17:28:10.374] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.374] "immediateCondition"))) { [17:28:10.374] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.374] ...future.conditions[[length(...future.conditions) + [17:28:10.374] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.374] if (TRUE && !signal) { [17:28:10.374] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.374] { [17:28:10.374] inherits <- base::inherits [17:28:10.374] invokeRestart <- base::invokeRestart [17:28:10.374] is.null <- base::is.null [17:28:10.374] muffled <- FALSE [17:28:10.374] if (inherits(cond, "message")) { [17:28:10.374] muffled <- grepl(pattern, "muffleMessage") [17:28:10.374] if (muffled) [17:28:10.374] invokeRestart("muffleMessage") [17:28:10.374] } [17:28:10.374] else if (inherits(cond, "warning")) { [17:28:10.374] muffled <- grepl(pattern, "muffleWarning") [17:28:10.374] if (muffled) [17:28:10.374] invokeRestart("muffleWarning") [17:28:10.374] } [17:28:10.374] else if (inherits(cond, "condition")) { [17:28:10.374] if (!is.null(pattern)) { [17:28:10.374] computeRestarts <- base::computeRestarts [17:28:10.374] grepl <- base::grepl [17:28:10.374] restarts <- computeRestarts(cond) [17:28:10.374] for (restart in restarts) { [17:28:10.374] name <- restart$name [17:28:10.374] if (is.null(name)) [17:28:10.374] next [17:28:10.374] if (!grepl(pattern, name)) [17:28:10.374] next [17:28:10.374] invokeRestart(restart) [17:28:10.374] muffled <- TRUE [17:28:10.374] break [17:28:10.374] } [17:28:10.374] } [17:28:10.374] } [17:28:10.374] invisible(muffled) [17:28:10.374] } [17:28:10.374] muffleCondition(cond, pattern = "^muffle") [17:28:10.374] } [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] if (TRUE) { [17:28:10.374] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.374] { [17:28:10.374] inherits <- base::inherits [17:28:10.374] invokeRestart <- base::invokeRestart [17:28:10.374] is.null <- base::is.null [17:28:10.374] muffled <- FALSE [17:28:10.374] if (inherits(cond, "message")) { [17:28:10.374] muffled <- grepl(pattern, "muffleMessage") [17:28:10.374] if (muffled) [17:28:10.374] invokeRestart("muffleMessage") [17:28:10.374] } [17:28:10.374] else if (inherits(cond, "warning")) { [17:28:10.374] muffled <- grepl(pattern, "muffleWarning") [17:28:10.374] if (muffled) [17:28:10.374] invokeRestart("muffleWarning") [17:28:10.374] } [17:28:10.374] else if (inherits(cond, "condition")) { [17:28:10.374] if (!is.null(pattern)) { [17:28:10.374] computeRestarts <- base::computeRestarts [17:28:10.374] grepl <- base::grepl [17:28:10.374] restarts <- computeRestarts(cond) [17:28:10.374] for (restart in restarts) { [17:28:10.374] name <- restart$name [17:28:10.374] if (is.null(name)) [17:28:10.374] next [17:28:10.374] if (!grepl(pattern, name)) [17:28:10.374] next [17:28:10.374] invokeRestart(restart) [17:28:10.374] muffled <- TRUE [17:28:10.374] break [17:28:10.374] } [17:28:10.374] } [17:28:10.374] } [17:28:10.374] invisible(muffled) [17:28:10.374] } [17:28:10.374] muffleCondition(cond, pattern = "^muffle") [17:28:10.374] } [17:28:10.374] } [17:28:10.374] } [17:28:10.374] })) [17:28:10.374] }, error = function(ex) { [17:28:10.374] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.374] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.374] ...future.rng), started = ...future.startTime, [17:28:10.374] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.374] version = "1.8"), class = "FutureResult") [17:28:10.374] }, finally = { [17:28:10.374] if (!identical(...future.workdir, getwd())) [17:28:10.374] setwd(...future.workdir) [17:28:10.374] { [17:28:10.374] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.374] ...future.oldOptions$nwarnings <- NULL [17:28:10.374] } [17:28:10.374] base::options(...future.oldOptions) [17:28:10.374] if (.Platform$OS.type == "windows") { [17:28:10.374] old_names <- names(...future.oldEnvVars) [17:28:10.374] envs <- base::Sys.getenv() [17:28:10.374] names <- names(envs) [17:28:10.374] common <- intersect(names, old_names) [17:28:10.374] added <- setdiff(names, old_names) [17:28:10.374] removed <- setdiff(old_names, names) [17:28:10.374] changed <- common[...future.oldEnvVars[common] != [17:28:10.374] envs[common]] [17:28:10.374] NAMES <- toupper(changed) [17:28:10.374] args <- list() [17:28:10.374] for (kk in seq_along(NAMES)) { [17:28:10.374] name <- changed[[kk]] [17:28:10.374] NAME <- NAMES[[kk]] [17:28:10.374] if (name != NAME && is.element(NAME, old_names)) [17:28:10.374] next [17:28:10.374] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.374] } [17:28:10.374] NAMES <- toupper(added) [17:28:10.374] for (kk in seq_along(NAMES)) { [17:28:10.374] name <- added[[kk]] [17:28:10.374] NAME <- NAMES[[kk]] [17:28:10.374] if (name != NAME && is.element(NAME, old_names)) [17:28:10.374] next [17:28:10.374] args[[name]] <- "" [17:28:10.374] } [17:28:10.374] NAMES <- toupper(removed) [17:28:10.374] for (kk in seq_along(NAMES)) { [17:28:10.374] name <- removed[[kk]] [17:28:10.374] NAME <- NAMES[[kk]] [17:28:10.374] if (name != NAME && is.element(NAME, old_names)) [17:28:10.374] next [17:28:10.374] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.374] } [17:28:10.374] if (length(args) > 0) [17:28:10.374] base::do.call(base::Sys.setenv, args = args) [17:28:10.374] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.374] } [17:28:10.374] { [17:28:10.374] if (base::length(...future.futureOptionsAdded) > [17:28:10.374] 0L) { [17:28:10.374] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.374] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.374] base::options(opts) [17:28:10.374] } [17:28:10.374] { [17:28:10.374] { [17:28:10.374] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.374] NULL [17:28:10.374] } [17:28:10.374] options(future.plan = NULL) [17:28:10.374] if (is.na(NA_character_)) [17:28:10.374] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.374] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.374] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.374] .init = FALSE) [17:28:10.374] } [17:28:10.374] } [17:28:10.374] } [17:28:10.374] }) [17:28:10.374] if (TRUE) { [17:28:10.374] base::sink(type = "output", split = FALSE) [17:28:10.374] if (TRUE) { [17:28:10.374] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.374] } [17:28:10.374] else { [17:28:10.374] ...future.result["stdout"] <- base::list(NULL) [17:28:10.374] } [17:28:10.374] base::close(...future.stdout) [17:28:10.374] ...future.stdout <- NULL [17:28:10.374] } [17:28:10.374] ...future.result$conditions <- ...future.conditions [17:28:10.374] ...future.result$finished <- base::Sys.time() [17:28:10.374] ...future.result [17:28:10.374] } [17:28:10.381] Exporting 2 global objects (378 bytes) to cluster node #1 ... [17:28:10.381] Exporting 'a' (39 bytes) to cluster node #1 ... [17:28:10.382] Exporting 'a' (39 bytes) to cluster node #1 ... DONE [17:28:10.382] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:28:10.383] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:28:10.383] Exporting 2 global objects (378 bytes) to cluster node #1 ... DONE [17:28:10.384] MultisessionFuture started [17:28:10.384] - Launch lazy future ... done [17:28:10.384] run() for 'MultisessionFuture' ... done [17:28:10.385] result() for ClusterFuture ... [17:28:10.385] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.385] - Validating connection of MultisessionFuture [17:28:10.408] - received message: FutureResult [17:28:10.408] - Received FutureResult [17:28:10.408] - Erased future from FutureRegistry [17:28:10.409] result() for ClusterFuture ... [17:28:10.409] - result already collected: FutureResult [17:28:10.409] result() for ClusterFuture ... done [17:28:10.409] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.410] result() for ClusterFuture ... done [17:28:10.410] result() for ClusterFuture ... [17:28:10.410] - result already collected: FutureResult [17:28:10.410] result() for ClusterFuture ... done [17:28:10.411] run() for 'Future' ... [17:28:10.411] - state: 'created' [17:28:10.412] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.432] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.433] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.433] - Field: 'node' [17:28:10.433] - Field: 'label' [17:28:10.434] - Field: 'local' [17:28:10.434] - Field: 'owner' [17:28:10.434] - Field: 'envir' [17:28:10.435] - Field: 'workers' [17:28:10.435] - Field: 'packages' [17:28:10.435] - Field: 'gc' [17:28:10.435] - Field: 'conditions' [17:28:10.436] - Field: 'persistent' [17:28:10.436] - Field: 'expr' [17:28:10.436] - Field: 'uuid' [17:28:10.437] - Field: 'seed' [17:28:10.437] - Field: 'version' [17:28:10.437] - Field: 'result' [17:28:10.438] - Field: 'asynchronous' [17:28:10.438] - Field: 'calls' [17:28:10.438] - Field: 'globals' [17:28:10.438] - Field: 'stdout' [17:28:10.439] - Field: 'earlySignal' [17:28:10.439] - Field: 'lazy' [17:28:10.439] - Field: 'state' [17:28:10.440] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.440] - Launch lazy future ... [17:28:10.441] Packages needed by the future expression (n = 0): [17:28:10.441] Packages needed by future strategies (n = 0): [17:28:10.442] { [17:28:10.442] { [17:28:10.442] { [17:28:10.442] ...future.startTime <- base::Sys.time() [17:28:10.442] { [17:28:10.442] { [17:28:10.442] { [17:28:10.442] { [17:28:10.442] base::local({ [17:28:10.442] has_future <- base::requireNamespace("future", [17:28:10.442] quietly = TRUE) [17:28:10.442] if (has_future) { [17:28:10.442] ns <- base::getNamespace("future") [17:28:10.442] version <- ns[[".package"]][["version"]] [17:28:10.442] if (is.null(version)) [17:28:10.442] version <- utils::packageVersion("future") [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] version <- NULL [17:28:10.442] } [17:28:10.442] if (!has_future || version < "1.8.0") { [17:28:10.442] info <- base::c(r_version = base::gsub("R version ", [17:28:10.442] "", base::R.version$version.string), [17:28:10.442] platform = base::sprintf("%s (%s-bit)", [17:28:10.442] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.442] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.442] "release", "version")], collapse = " "), [17:28:10.442] hostname = base::Sys.info()[["nodename"]]) [17:28:10.442] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.442] info) [17:28:10.442] info <- base::paste(info, collapse = "; ") [17:28:10.442] if (!has_future) { [17:28:10.442] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.442] info) [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.442] info, version) [17:28:10.442] } [17:28:10.442] base::stop(msg) [17:28:10.442] } [17:28:10.442] }) [17:28:10.442] } [17:28:10.442] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.442] base::options(mc.cores = 1L) [17:28:10.442] } [17:28:10.442] ...future.strategy.old <- future::plan("list") [17:28:10.442] options(future.plan = NULL) [17:28:10.442] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.442] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.442] } [17:28:10.442] ...future.workdir <- getwd() [17:28:10.442] } [17:28:10.442] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.442] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.442] } [17:28:10.442] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.442] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.442] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.442] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.442] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.442] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.442] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.442] base::names(...future.oldOptions)) [17:28:10.442] } [17:28:10.442] if (FALSE) { [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] if (TRUE) { [17:28:10.442] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.442] open = "w") [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.442] windows = "NUL", "/dev/null"), open = "w") [17:28:10.442] } [17:28:10.442] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.442] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.442] base::sink(type = "output", split = FALSE) [17:28:10.442] base::close(...future.stdout) [17:28:10.442] }, add = TRUE) [17:28:10.442] } [17:28:10.442] ...future.frame <- base::sys.nframe() [17:28:10.442] ...future.conditions <- base::list() [17:28:10.442] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.442] if (FALSE) { [17:28:10.442] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.442] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.442] } [17:28:10.442] ...future.result <- base::tryCatch({ [17:28:10.442] base::withCallingHandlers({ [17:28:10.442] ...future.value <- base::withVisible(base::local({ [17:28:10.442] ...future.makeSendCondition <- base::local({ [17:28:10.442] sendCondition <- NULL [17:28:10.442] function(frame = 1L) { [17:28:10.442] if (is.function(sendCondition)) [17:28:10.442] return(sendCondition) [17:28:10.442] ns <- getNamespace("parallel") [17:28:10.442] if (exists("sendData", mode = "function", [17:28:10.442] envir = ns)) { [17:28:10.442] parallel_sendData <- get("sendData", mode = "function", [17:28:10.442] envir = ns) [17:28:10.442] envir <- sys.frame(frame) [17:28:10.442] master <- NULL [17:28:10.442] while (!identical(envir, .GlobalEnv) && [17:28:10.442] !identical(envir, emptyenv())) { [17:28:10.442] if (exists("master", mode = "list", envir = envir, [17:28:10.442] inherits = FALSE)) { [17:28:10.442] master <- get("master", mode = "list", [17:28:10.442] envir = envir, inherits = FALSE) [17:28:10.442] if (inherits(master, c("SOCKnode", [17:28:10.442] "SOCK0node"))) { [17:28:10.442] sendCondition <<- function(cond) { [17:28:10.442] data <- list(type = "VALUE", value = cond, [17:28:10.442] success = TRUE) [17:28:10.442] parallel_sendData(master, data) [17:28:10.442] } [17:28:10.442] return(sendCondition) [17:28:10.442] } [17:28:10.442] } [17:28:10.442] frame <- frame + 1L [17:28:10.442] envir <- sys.frame(frame) [17:28:10.442] } [17:28:10.442] } [17:28:10.442] sendCondition <<- function(cond) NULL [17:28:10.442] } [17:28:10.442] }) [17:28:10.442] withCallingHandlers({ [17:28:10.442] { [17:28:10.442] b <- a * ii [17:28:10.442] a <- 0 [17:28:10.442] b [17:28:10.442] } [17:28:10.442] }, immediateCondition = function(cond) { [17:28:10.442] sendCondition <- ...future.makeSendCondition() [17:28:10.442] sendCondition(cond) [17:28:10.442] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.442] { [17:28:10.442] inherits <- base::inherits [17:28:10.442] invokeRestart <- base::invokeRestart [17:28:10.442] is.null <- base::is.null [17:28:10.442] muffled <- FALSE [17:28:10.442] if (inherits(cond, "message")) { [17:28:10.442] muffled <- grepl(pattern, "muffleMessage") [17:28:10.442] if (muffled) [17:28:10.442] invokeRestart("muffleMessage") [17:28:10.442] } [17:28:10.442] else if (inherits(cond, "warning")) { [17:28:10.442] muffled <- grepl(pattern, "muffleWarning") [17:28:10.442] if (muffled) [17:28:10.442] invokeRestart("muffleWarning") [17:28:10.442] } [17:28:10.442] else if (inherits(cond, "condition")) { [17:28:10.442] if (!is.null(pattern)) { [17:28:10.442] computeRestarts <- base::computeRestarts [17:28:10.442] grepl <- base::grepl [17:28:10.442] restarts <- computeRestarts(cond) [17:28:10.442] for (restart in restarts) { [17:28:10.442] name <- restart$name [17:28:10.442] if (is.null(name)) [17:28:10.442] next [17:28:10.442] if (!grepl(pattern, name)) [17:28:10.442] next [17:28:10.442] invokeRestart(restart) [17:28:10.442] muffled <- TRUE [17:28:10.442] break [17:28:10.442] } [17:28:10.442] } [17:28:10.442] } [17:28:10.442] invisible(muffled) [17:28:10.442] } [17:28:10.442] muffleCondition(cond) [17:28:10.442] }) [17:28:10.442] })) [17:28:10.442] future::FutureResult(value = ...future.value$value, [17:28:10.442] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.442] ...future.rng), globalenv = if (FALSE) [17:28:10.442] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.442] ...future.globalenv.names)) [17:28:10.442] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.442] }, condition = base::local({ [17:28:10.442] c <- base::c [17:28:10.442] inherits <- base::inherits [17:28:10.442] invokeRestart <- base::invokeRestart [17:28:10.442] length <- base::length [17:28:10.442] list <- base::list [17:28:10.442] seq.int <- base::seq.int [17:28:10.442] signalCondition <- base::signalCondition [17:28:10.442] sys.calls <- base::sys.calls [17:28:10.442] `[[` <- base::`[[` [17:28:10.442] `+` <- base::`+` [17:28:10.442] `<<-` <- base::`<<-` [17:28:10.442] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.442] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.442] 3L)] [17:28:10.442] } [17:28:10.442] function(cond) { [17:28:10.442] is_error <- inherits(cond, "error") [17:28:10.442] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.442] NULL) [17:28:10.442] if (is_error) { [17:28:10.442] sessionInformation <- function() { [17:28:10.442] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.442] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.442] search = base::search(), system = base::Sys.info()) [17:28:10.442] } [17:28:10.442] ...future.conditions[[length(...future.conditions) + [17:28:10.442] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.442] cond$call), session = sessionInformation(), [17:28:10.442] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.442] signalCondition(cond) [17:28:10.442] } [17:28:10.442] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.442] "immediateCondition"))) { [17:28:10.442] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.442] ...future.conditions[[length(...future.conditions) + [17:28:10.442] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.442] if (TRUE && !signal) { [17:28:10.442] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.442] { [17:28:10.442] inherits <- base::inherits [17:28:10.442] invokeRestart <- base::invokeRestart [17:28:10.442] is.null <- base::is.null [17:28:10.442] muffled <- FALSE [17:28:10.442] if (inherits(cond, "message")) { [17:28:10.442] muffled <- grepl(pattern, "muffleMessage") [17:28:10.442] if (muffled) [17:28:10.442] invokeRestart("muffleMessage") [17:28:10.442] } [17:28:10.442] else if (inherits(cond, "warning")) { [17:28:10.442] muffled <- grepl(pattern, "muffleWarning") [17:28:10.442] if (muffled) [17:28:10.442] invokeRestart("muffleWarning") [17:28:10.442] } [17:28:10.442] else if (inherits(cond, "condition")) { [17:28:10.442] if (!is.null(pattern)) { [17:28:10.442] computeRestarts <- base::computeRestarts [17:28:10.442] grepl <- base::grepl [17:28:10.442] restarts <- computeRestarts(cond) [17:28:10.442] for (restart in restarts) { [17:28:10.442] name <- restart$name [17:28:10.442] if (is.null(name)) [17:28:10.442] next [17:28:10.442] if (!grepl(pattern, name)) [17:28:10.442] next [17:28:10.442] invokeRestart(restart) [17:28:10.442] muffled <- TRUE [17:28:10.442] break [17:28:10.442] } [17:28:10.442] } [17:28:10.442] } [17:28:10.442] invisible(muffled) [17:28:10.442] } [17:28:10.442] muffleCondition(cond, pattern = "^muffle") [17:28:10.442] } [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] if (TRUE) { [17:28:10.442] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.442] { [17:28:10.442] inherits <- base::inherits [17:28:10.442] invokeRestart <- base::invokeRestart [17:28:10.442] is.null <- base::is.null [17:28:10.442] muffled <- FALSE [17:28:10.442] if (inherits(cond, "message")) { [17:28:10.442] muffled <- grepl(pattern, "muffleMessage") [17:28:10.442] if (muffled) [17:28:10.442] invokeRestart("muffleMessage") [17:28:10.442] } [17:28:10.442] else if (inherits(cond, "warning")) { [17:28:10.442] muffled <- grepl(pattern, "muffleWarning") [17:28:10.442] if (muffled) [17:28:10.442] invokeRestart("muffleWarning") [17:28:10.442] } [17:28:10.442] else if (inherits(cond, "condition")) { [17:28:10.442] if (!is.null(pattern)) { [17:28:10.442] computeRestarts <- base::computeRestarts [17:28:10.442] grepl <- base::grepl [17:28:10.442] restarts <- computeRestarts(cond) [17:28:10.442] for (restart in restarts) { [17:28:10.442] name <- restart$name [17:28:10.442] if (is.null(name)) [17:28:10.442] next [17:28:10.442] if (!grepl(pattern, name)) [17:28:10.442] next [17:28:10.442] invokeRestart(restart) [17:28:10.442] muffled <- TRUE [17:28:10.442] break [17:28:10.442] } [17:28:10.442] } [17:28:10.442] } [17:28:10.442] invisible(muffled) [17:28:10.442] } [17:28:10.442] muffleCondition(cond, pattern = "^muffle") [17:28:10.442] } [17:28:10.442] } [17:28:10.442] } [17:28:10.442] })) [17:28:10.442] }, error = function(ex) { [17:28:10.442] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.442] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.442] ...future.rng), started = ...future.startTime, [17:28:10.442] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.442] version = "1.8"), class = "FutureResult") [17:28:10.442] }, finally = { [17:28:10.442] if (!identical(...future.workdir, getwd())) [17:28:10.442] setwd(...future.workdir) [17:28:10.442] { [17:28:10.442] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.442] ...future.oldOptions$nwarnings <- NULL [17:28:10.442] } [17:28:10.442] base::options(...future.oldOptions) [17:28:10.442] if (.Platform$OS.type == "windows") { [17:28:10.442] old_names <- names(...future.oldEnvVars) [17:28:10.442] envs <- base::Sys.getenv() [17:28:10.442] names <- names(envs) [17:28:10.442] common <- intersect(names, old_names) [17:28:10.442] added <- setdiff(names, old_names) [17:28:10.442] removed <- setdiff(old_names, names) [17:28:10.442] changed <- common[...future.oldEnvVars[common] != [17:28:10.442] envs[common]] [17:28:10.442] NAMES <- toupper(changed) [17:28:10.442] args <- list() [17:28:10.442] for (kk in seq_along(NAMES)) { [17:28:10.442] name <- changed[[kk]] [17:28:10.442] NAME <- NAMES[[kk]] [17:28:10.442] if (name != NAME && is.element(NAME, old_names)) [17:28:10.442] next [17:28:10.442] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.442] } [17:28:10.442] NAMES <- toupper(added) [17:28:10.442] for (kk in seq_along(NAMES)) { [17:28:10.442] name <- added[[kk]] [17:28:10.442] NAME <- NAMES[[kk]] [17:28:10.442] if (name != NAME && is.element(NAME, old_names)) [17:28:10.442] next [17:28:10.442] args[[name]] <- "" [17:28:10.442] } [17:28:10.442] NAMES <- toupper(removed) [17:28:10.442] for (kk in seq_along(NAMES)) { [17:28:10.442] name <- removed[[kk]] [17:28:10.442] NAME <- NAMES[[kk]] [17:28:10.442] if (name != NAME && is.element(NAME, old_names)) [17:28:10.442] next [17:28:10.442] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.442] } [17:28:10.442] if (length(args) > 0) [17:28:10.442] base::do.call(base::Sys.setenv, args = args) [17:28:10.442] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.442] } [17:28:10.442] { [17:28:10.442] if (base::length(...future.futureOptionsAdded) > [17:28:10.442] 0L) { [17:28:10.442] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.442] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.442] base::options(opts) [17:28:10.442] } [17:28:10.442] { [17:28:10.442] { [17:28:10.442] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.442] NULL [17:28:10.442] } [17:28:10.442] options(future.plan = NULL) [17:28:10.442] if (is.na(NA_character_)) [17:28:10.442] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.442] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.442] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.442] .init = FALSE) [17:28:10.442] } [17:28:10.442] } [17:28:10.442] } [17:28:10.442] }) [17:28:10.442] if (TRUE) { [17:28:10.442] base::sink(type = "output", split = FALSE) [17:28:10.442] if (TRUE) { [17:28:10.442] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.442] } [17:28:10.442] else { [17:28:10.442] ...future.result["stdout"] <- base::list(NULL) [17:28:10.442] } [17:28:10.442] base::close(...future.stdout) [17:28:10.442] ...future.stdout <- NULL [17:28:10.442] } [17:28:10.442] ...future.result$conditions <- ...future.conditions [17:28:10.442] ...future.result$finished <- base::Sys.time() [17:28:10.442] ...future.result [17:28:10.442] } [17:28:10.451] Exporting 2 global objects (378 bytes) to cluster node #1 ... [17:28:10.451] Exporting 'a' (39 bytes) to cluster node #1 ... [17:28:10.452] Exporting 'a' (39 bytes) to cluster node #1 ... DONE [17:28:10.452] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:28:10.453] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:28:10.453] Exporting 2 global objects (378 bytes) to cluster node #1 ... DONE [17:28:10.454] MultisessionFuture started [17:28:10.454] - Launch lazy future ... done [17:28:10.455] run() for 'MultisessionFuture' ... done [17:28:10.455] result() for ClusterFuture ... [17:28:10.455] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.456] - Validating connection of MultisessionFuture [17:28:10.482] - received message: FutureResult [17:28:10.483] - Received FutureResult [17:28:10.483] - Erased future from FutureRegistry [17:28:10.484] result() for ClusterFuture ... [17:28:10.484] - result already collected: FutureResult [17:28:10.484] result() for ClusterFuture ... done [17:28:10.484] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.484] result() for ClusterFuture ... done [17:28:10.485] result() for ClusterFuture ... [17:28:10.485] - result already collected: FutureResult [17:28:10.485] result() for ClusterFuture ... done [17:28:10.486] run() for 'Future' ... [17:28:10.486] - state: 'created' [17:28:10.486] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.506] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.506] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.506] - Field: 'node' [17:28:10.507] - Field: 'label' [17:28:10.507] - Field: 'local' [17:28:10.507] - Field: 'owner' [17:28:10.507] - Field: 'envir' [17:28:10.507] - Field: 'workers' [17:28:10.507] - Field: 'packages' [17:28:10.508] - Field: 'gc' [17:28:10.508] - Field: 'conditions' [17:28:10.508] - Field: 'persistent' [17:28:10.508] - Field: 'expr' [17:28:10.508] - Field: 'uuid' [17:28:10.509] - Field: 'seed' [17:28:10.509] - Field: 'version' [17:28:10.509] - Field: 'result' [17:28:10.509] - Field: 'asynchronous' [17:28:10.509] - Field: 'calls' [17:28:10.509] - Field: 'globals' [17:28:10.510] - Field: 'stdout' [17:28:10.510] - Field: 'earlySignal' [17:28:10.510] - Field: 'lazy' [17:28:10.510] - Field: 'state' [17:28:10.510] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.510] - Launch lazy future ... [17:28:10.511] Packages needed by the future expression (n = 0): [17:28:10.511] Packages needed by future strategies (n = 0): [17:28:10.512] { [17:28:10.512] { [17:28:10.512] { [17:28:10.512] ...future.startTime <- base::Sys.time() [17:28:10.512] { [17:28:10.512] { [17:28:10.512] { [17:28:10.512] { [17:28:10.512] base::local({ [17:28:10.512] has_future <- base::requireNamespace("future", [17:28:10.512] quietly = TRUE) [17:28:10.512] if (has_future) { [17:28:10.512] ns <- base::getNamespace("future") [17:28:10.512] version <- ns[[".package"]][["version"]] [17:28:10.512] if (is.null(version)) [17:28:10.512] version <- utils::packageVersion("future") [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] version <- NULL [17:28:10.512] } [17:28:10.512] if (!has_future || version < "1.8.0") { [17:28:10.512] info <- base::c(r_version = base::gsub("R version ", [17:28:10.512] "", base::R.version$version.string), [17:28:10.512] platform = base::sprintf("%s (%s-bit)", [17:28:10.512] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.512] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.512] "release", "version")], collapse = " "), [17:28:10.512] hostname = base::Sys.info()[["nodename"]]) [17:28:10.512] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.512] info) [17:28:10.512] info <- base::paste(info, collapse = "; ") [17:28:10.512] if (!has_future) { [17:28:10.512] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.512] info) [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.512] info, version) [17:28:10.512] } [17:28:10.512] base::stop(msg) [17:28:10.512] } [17:28:10.512] }) [17:28:10.512] } [17:28:10.512] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.512] base::options(mc.cores = 1L) [17:28:10.512] } [17:28:10.512] ...future.strategy.old <- future::plan("list") [17:28:10.512] options(future.plan = NULL) [17:28:10.512] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.512] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.512] } [17:28:10.512] ...future.workdir <- getwd() [17:28:10.512] } [17:28:10.512] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.512] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.512] } [17:28:10.512] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.512] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.512] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.512] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.512] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.512] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.512] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.512] base::names(...future.oldOptions)) [17:28:10.512] } [17:28:10.512] if (FALSE) { [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] if (TRUE) { [17:28:10.512] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.512] open = "w") [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.512] windows = "NUL", "/dev/null"), open = "w") [17:28:10.512] } [17:28:10.512] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.512] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.512] base::sink(type = "output", split = FALSE) [17:28:10.512] base::close(...future.stdout) [17:28:10.512] }, add = TRUE) [17:28:10.512] } [17:28:10.512] ...future.frame <- base::sys.nframe() [17:28:10.512] ...future.conditions <- base::list() [17:28:10.512] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.512] if (FALSE) { [17:28:10.512] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.512] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.512] } [17:28:10.512] ...future.result <- base::tryCatch({ [17:28:10.512] base::withCallingHandlers({ [17:28:10.512] ...future.value <- base::withVisible(base::local({ [17:28:10.512] ...future.makeSendCondition <- base::local({ [17:28:10.512] sendCondition <- NULL [17:28:10.512] function(frame = 1L) { [17:28:10.512] if (is.function(sendCondition)) [17:28:10.512] return(sendCondition) [17:28:10.512] ns <- getNamespace("parallel") [17:28:10.512] if (exists("sendData", mode = "function", [17:28:10.512] envir = ns)) { [17:28:10.512] parallel_sendData <- get("sendData", mode = "function", [17:28:10.512] envir = ns) [17:28:10.512] envir <- sys.frame(frame) [17:28:10.512] master <- NULL [17:28:10.512] while (!identical(envir, .GlobalEnv) && [17:28:10.512] !identical(envir, emptyenv())) { [17:28:10.512] if (exists("master", mode = "list", envir = envir, [17:28:10.512] inherits = FALSE)) { [17:28:10.512] master <- get("master", mode = "list", [17:28:10.512] envir = envir, inherits = FALSE) [17:28:10.512] if (inherits(master, c("SOCKnode", [17:28:10.512] "SOCK0node"))) { [17:28:10.512] sendCondition <<- function(cond) { [17:28:10.512] data <- list(type = "VALUE", value = cond, [17:28:10.512] success = TRUE) [17:28:10.512] parallel_sendData(master, data) [17:28:10.512] } [17:28:10.512] return(sendCondition) [17:28:10.512] } [17:28:10.512] } [17:28:10.512] frame <- frame + 1L [17:28:10.512] envir <- sys.frame(frame) [17:28:10.512] } [17:28:10.512] } [17:28:10.512] sendCondition <<- function(cond) NULL [17:28:10.512] } [17:28:10.512] }) [17:28:10.512] withCallingHandlers({ [17:28:10.512] { [17:28:10.512] b <- a * ii [17:28:10.512] a <- 0 [17:28:10.512] b [17:28:10.512] } [17:28:10.512] }, immediateCondition = function(cond) { [17:28:10.512] sendCondition <- ...future.makeSendCondition() [17:28:10.512] sendCondition(cond) [17:28:10.512] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.512] { [17:28:10.512] inherits <- base::inherits [17:28:10.512] invokeRestart <- base::invokeRestart [17:28:10.512] is.null <- base::is.null [17:28:10.512] muffled <- FALSE [17:28:10.512] if (inherits(cond, "message")) { [17:28:10.512] muffled <- grepl(pattern, "muffleMessage") [17:28:10.512] if (muffled) [17:28:10.512] invokeRestart("muffleMessage") [17:28:10.512] } [17:28:10.512] else if (inherits(cond, "warning")) { [17:28:10.512] muffled <- grepl(pattern, "muffleWarning") [17:28:10.512] if (muffled) [17:28:10.512] invokeRestart("muffleWarning") [17:28:10.512] } [17:28:10.512] else if (inherits(cond, "condition")) { [17:28:10.512] if (!is.null(pattern)) { [17:28:10.512] computeRestarts <- base::computeRestarts [17:28:10.512] grepl <- base::grepl [17:28:10.512] restarts <- computeRestarts(cond) [17:28:10.512] for (restart in restarts) { [17:28:10.512] name <- restart$name [17:28:10.512] if (is.null(name)) [17:28:10.512] next [17:28:10.512] if (!grepl(pattern, name)) [17:28:10.512] next [17:28:10.512] invokeRestart(restart) [17:28:10.512] muffled <- TRUE [17:28:10.512] break [17:28:10.512] } [17:28:10.512] } [17:28:10.512] } [17:28:10.512] invisible(muffled) [17:28:10.512] } [17:28:10.512] muffleCondition(cond) [17:28:10.512] }) [17:28:10.512] })) [17:28:10.512] future::FutureResult(value = ...future.value$value, [17:28:10.512] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.512] ...future.rng), globalenv = if (FALSE) [17:28:10.512] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.512] ...future.globalenv.names)) [17:28:10.512] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.512] }, condition = base::local({ [17:28:10.512] c <- base::c [17:28:10.512] inherits <- base::inherits [17:28:10.512] invokeRestart <- base::invokeRestart [17:28:10.512] length <- base::length [17:28:10.512] list <- base::list [17:28:10.512] seq.int <- base::seq.int [17:28:10.512] signalCondition <- base::signalCondition [17:28:10.512] sys.calls <- base::sys.calls [17:28:10.512] `[[` <- base::`[[` [17:28:10.512] `+` <- base::`+` [17:28:10.512] `<<-` <- base::`<<-` [17:28:10.512] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.512] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.512] 3L)] [17:28:10.512] } [17:28:10.512] function(cond) { [17:28:10.512] is_error <- inherits(cond, "error") [17:28:10.512] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.512] NULL) [17:28:10.512] if (is_error) { [17:28:10.512] sessionInformation <- function() { [17:28:10.512] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.512] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.512] search = base::search(), system = base::Sys.info()) [17:28:10.512] } [17:28:10.512] ...future.conditions[[length(...future.conditions) + [17:28:10.512] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.512] cond$call), session = sessionInformation(), [17:28:10.512] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.512] signalCondition(cond) [17:28:10.512] } [17:28:10.512] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.512] "immediateCondition"))) { [17:28:10.512] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.512] ...future.conditions[[length(...future.conditions) + [17:28:10.512] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.512] if (TRUE && !signal) { [17:28:10.512] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.512] { [17:28:10.512] inherits <- base::inherits [17:28:10.512] invokeRestart <- base::invokeRestart [17:28:10.512] is.null <- base::is.null [17:28:10.512] muffled <- FALSE [17:28:10.512] if (inherits(cond, "message")) { [17:28:10.512] muffled <- grepl(pattern, "muffleMessage") [17:28:10.512] if (muffled) [17:28:10.512] invokeRestart("muffleMessage") [17:28:10.512] } [17:28:10.512] else if (inherits(cond, "warning")) { [17:28:10.512] muffled <- grepl(pattern, "muffleWarning") [17:28:10.512] if (muffled) [17:28:10.512] invokeRestart("muffleWarning") [17:28:10.512] } [17:28:10.512] else if (inherits(cond, "condition")) { [17:28:10.512] if (!is.null(pattern)) { [17:28:10.512] computeRestarts <- base::computeRestarts [17:28:10.512] grepl <- base::grepl [17:28:10.512] restarts <- computeRestarts(cond) [17:28:10.512] for (restart in restarts) { [17:28:10.512] name <- restart$name [17:28:10.512] if (is.null(name)) [17:28:10.512] next [17:28:10.512] if (!grepl(pattern, name)) [17:28:10.512] next [17:28:10.512] invokeRestart(restart) [17:28:10.512] muffled <- TRUE [17:28:10.512] break [17:28:10.512] } [17:28:10.512] } [17:28:10.512] } [17:28:10.512] invisible(muffled) [17:28:10.512] } [17:28:10.512] muffleCondition(cond, pattern = "^muffle") [17:28:10.512] } [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] if (TRUE) { [17:28:10.512] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.512] { [17:28:10.512] inherits <- base::inherits [17:28:10.512] invokeRestart <- base::invokeRestart [17:28:10.512] is.null <- base::is.null [17:28:10.512] muffled <- FALSE [17:28:10.512] if (inherits(cond, "message")) { [17:28:10.512] muffled <- grepl(pattern, "muffleMessage") [17:28:10.512] if (muffled) [17:28:10.512] invokeRestart("muffleMessage") [17:28:10.512] } [17:28:10.512] else if (inherits(cond, "warning")) { [17:28:10.512] muffled <- grepl(pattern, "muffleWarning") [17:28:10.512] if (muffled) [17:28:10.512] invokeRestart("muffleWarning") [17:28:10.512] } [17:28:10.512] else if (inherits(cond, "condition")) { [17:28:10.512] if (!is.null(pattern)) { [17:28:10.512] computeRestarts <- base::computeRestarts [17:28:10.512] grepl <- base::grepl [17:28:10.512] restarts <- computeRestarts(cond) [17:28:10.512] for (restart in restarts) { [17:28:10.512] name <- restart$name [17:28:10.512] if (is.null(name)) [17:28:10.512] next [17:28:10.512] if (!grepl(pattern, name)) [17:28:10.512] next [17:28:10.512] invokeRestart(restart) [17:28:10.512] muffled <- TRUE [17:28:10.512] break [17:28:10.512] } [17:28:10.512] } [17:28:10.512] } [17:28:10.512] invisible(muffled) [17:28:10.512] } [17:28:10.512] muffleCondition(cond, pattern = "^muffle") [17:28:10.512] } [17:28:10.512] } [17:28:10.512] } [17:28:10.512] })) [17:28:10.512] }, error = function(ex) { [17:28:10.512] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.512] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.512] ...future.rng), started = ...future.startTime, [17:28:10.512] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.512] version = "1.8"), class = "FutureResult") [17:28:10.512] }, finally = { [17:28:10.512] if (!identical(...future.workdir, getwd())) [17:28:10.512] setwd(...future.workdir) [17:28:10.512] { [17:28:10.512] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.512] ...future.oldOptions$nwarnings <- NULL [17:28:10.512] } [17:28:10.512] base::options(...future.oldOptions) [17:28:10.512] if (.Platform$OS.type == "windows") { [17:28:10.512] old_names <- names(...future.oldEnvVars) [17:28:10.512] envs <- base::Sys.getenv() [17:28:10.512] names <- names(envs) [17:28:10.512] common <- intersect(names, old_names) [17:28:10.512] added <- setdiff(names, old_names) [17:28:10.512] removed <- setdiff(old_names, names) [17:28:10.512] changed <- common[...future.oldEnvVars[common] != [17:28:10.512] envs[common]] [17:28:10.512] NAMES <- toupper(changed) [17:28:10.512] args <- list() [17:28:10.512] for (kk in seq_along(NAMES)) { [17:28:10.512] name <- changed[[kk]] [17:28:10.512] NAME <- NAMES[[kk]] [17:28:10.512] if (name != NAME && is.element(NAME, old_names)) [17:28:10.512] next [17:28:10.512] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.512] } [17:28:10.512] NAMES <- toupper(added) [17:28:10.512] for (kk in seq_along(NAMES)) { [17:28:10.512] name <- added[[kk]] [17:28:10.512] NAME <- NAMES[[kk]] [17:28:10.512] if (name != NAME && is.element(NAME, old_names)) [17:28:10.512] next [17:28:10.512] args[[name]] <- "" [17:28:10.512] } [17:28:10.512] NAMES <- toupper(removed) [17:28:10.512] for (kk in seq_along(NAMES)) { [17:28:10.512] name <- removed[[kk]] [17:28:10.512] NAME <- NAMES[[kk]] [17:28:10.512] if (name != NAME && is.element(NAME, old_names)) [17:28:10.512] next [17:28:10.512] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.512] } [17:28:10.512] if (length(args) > 0) [17:28:10.512] base::do.call(base::Sys.setenv, args = args) [17:28:10.512] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.512] } [17:28:10.512] { [17:28:10.512] if (base::length(...future.futureOptionsAdded) > [17:28:10.512] 0L) { [17:28:10.512] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.512] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.512] base::options(opts) [17:28:10.512] } [17:28:10.512] { [17:28:10.512] { [17:28:10.512] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.512] NULL [17:28:10.512] } [17:28:10.512] options(future.plan = NULL) [17:28:10.512] if (is.na(NA_character_)) [17:28:10.512] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.512] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.512] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.512] .init = FALSE) [17:28:10.512] } [17:28:10.512] } [17:28:10.512] } [17:28:10.512] }) [17:28:10.512] if (TRUE) { [17:28:10.512] base::sink(type = "output", split = FALSE) [17:28:10.512] if (TRUE) { [17:28:10.512] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.512] } [17:28:10.512] else { [17:28:10.512] ...future.result["stdout"] <- base::list(NULL) [17:28:10.512] } [17:28:10.512] base::close(...future.stdout) [17:28:10.512] ...future.stdout <- NULL [17:28:10.512] } [17:28:10.512] ...future.result$conditions <- ...future.conditions [17:28:10.512] ...future.result$finished <- base::Sys.time() [17:28:10.512] ...future.result [17:28:10.512] } [17:28:10.517] Exporting 2 global objects (378 bytes) to cluster node #1 ... [17:28:10.517] Exporting 'a' (39 bytes) to cluster node #1 ... [17:28:10.519] Exporting 'a' (39 bytes) to cluster node #1 ... DONE [17:28:10.519] Exporting 'ii' (35 bytes) to cluster node #1 ... [17:28:10.519] Exporting 'ii' (35 bytes) to cluster node #1 ... DONE [17:28:10.520] Exporting 2 global objects (378 bytes) to cluster node #1 ... DONE [17:28:10.520] MultisessionFuture started [17:28:10.521] - Launch lazy future ... done [17:28:10.521] run() for 'MultisessionFuture' ... done [17:28:10.521] result() for ClusterFuture ... [17:28:10.521] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.521] - Validating connection of MultisessionFuture [17:28:10.536] - received message: FutureResult [17:28:10.537] - Received FutureResult [17:28:10.537] - Erased future from FutureRegistry [17:28:10.537] result() for ClusterFuture ... [17:28:10.537] - result already collected: FutureResult [17:28:10.537] result() for ClusterFuture ... done [17:28:10.538] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.538] result() for ClusterFuture ... done [17:28:10.538] result() for ClusterFuture ... [17:28:10.538] - result already collected: FutureResult [17:28:10.538] result() for ClusterFuture ... done [1] 1 2 3 Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.539] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.539] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.540] [17:28:10.540] Searching for globals ... DONE [17:28:10.541] - globals: [0] [17:28:10.541] getGlobalsAndPackages() ... DONE [17:28:10.541] run() for 'Future' ... [17:28:10.541] - state: 'created' [17:28:10.542] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.563] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.564] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.565] - Field: 'node' [17:28:10.565] - Field: 'label' [17:28:10.565] - Field: 'local' [17:28:10.566] - Field: 'owner' [17:28:10.566] - Field: 'envir' [17:28:10.567] - Field: 'workers' [17:28:10.567] - Field: 'packages' [17:28:10.567] - Field: 'gc' [17:28:10.568] - Field: 'conditions' [17:28:10.568] - Field: 'persistent' [17:28:10.568] - Field: 'expr' [17:28:10.569] - Field: 'uuid' [17:28:10.569] - Field: 'seed' [17:28:10.570] - Field: 'version' [17:28:10.570] - Field: 'result' [17:28:10.570] - Field: 'asynchronous' [17:28:10.571] - Field: 'calls' [17:28:10.571] - Field: 'globals' [17:28:10.571] - Field: 'stdout' [17:28:10.572] - Field: 'earlySignal' [17:28:10.572] - Field: 'lazy' [17:28:10.573] - Field: 'state' [17:28:10.573] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.573] - Launch lazy future ... [17:28:10.574] Packages needed by the future expression (n = 0): [17:28:10.575] Packages needed by future strategies (n = 0): [17:28:10.576] { [17:28:10.576] { [17:28:10.576] { [17:28:10.576] ...future.startTime <- base::Sys.time() [17:28:10.576] { [17:28:10.576] { [17:28:10.576] { [17:28:10.576] { [17:28:10.576] base::local({ [17:28:10.576] has_future <- base::requireNamespace("future", [17:28:10.576] quietly = TRUE) [17:28:10.576] if (has_future) { [17:28:10.576] ns <- base::getNamespace("future") [17:28:10.576] version <- ns[[".package"]][["version"]] [17:28:10.576] if (is.null(version)) [17:28:10.576] version <- utils::packageVersion("future") [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] version <- NULL [17:28:10.576] } [17:28:10.576] if (!has_future || version < "1.8.0") { [17:28:10.576] info <- base::c(r_version = base::gsub("R version ", [17:28:10.576] "", base::R.version$version.string), [17:28:10.576] platform = base::sprintf("%s (%s-bit)", [17:28:10.576] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.576] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.576] "release", "version")], collapse = " "), [17:28:10.576] hostname = base::Sys.info()[["nodename"]]) [17:28:10.576] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.576] info) [17:28:10.576] info <- base::paste(info, collapse = "; ") [17:28:10.576] if (!has_future) { [17:28:10.576] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.576] info) [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.576] info, version) [17:28:10.576] } [17:28:10.576] base::stop(msg) [17:28:10.576] } [17:28:10.576] }) [17:28:10.576] } [17:28:10.576] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.576] base::options(mc.cores = 1L) [17:28:10.576] } [17:28:10.576] ...future.strategy.old <- future::plan("list") [17:28:10.576] options(future.plan = NULL) [17:28:10.576] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.576] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.576] } [17:28:10.576] ...future.workdir <- getwd() [17:28:10.576] } [17:28:10.576] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.576] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.576] } [17:28:10.576] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.576] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.576] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.576] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.576] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.576] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.576] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.576] base::names(...future.oldOptions)) [17:28:10.576] } [17:28:10.576] if (FALSE) { [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] if (TRUE) { [17:28:10.576] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.576] open = "w") [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.576] windows = "NUL", "/dev/null"), open = "w") [17:28:10.576] } [17:28:10.576] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.576] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.576] base::sink(type = "output", split = FALSE) [17:28:10.576] base::close(...future.stdout) [17:28:10.576] }, add = TRUE) [17:28:10.576] } [17:28:10.576] ...future.frame <- base::sys.nframe() [17:28:10.576] ...future.conditions <- base::list() [17:28:10.576] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.576] if (FALSE) { [17:28:10.576] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.576] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.576] } [17:28:10.576] ...future.result <- base::tryCatch({ [17:28:10.576] base::withCallingHandlers({ [17:28:10.576] ...future.value <- base::withVisible(base::local({ [17:28:10.576] ...future.makeSendCondition <- base::local({ [17:28:10.576] sendCondition <- NULL [17:28:10.576] function(frame = 1L) { [17:28:10.576] if (is.function(sendCondition)) [17:28:10.576] return(sendCondition) [17:28:10.576] ns <- getNamespace("parallel") [17:28:10.576] if (exists("sendData", mode = "function", [17:28:10.576] envir = ns)) { [17:28:10.576] parallel_sendData <- get("sendData", mode = "function", [17:28:10.576] envir = ns) [17:28:10.576] envir <- sys.frame(frame) [17:28:10.576] master <- NULL [17:28:10.576] while (!identical(envir, .GlobalEnv) && [17:28:10.576] !identical(envir, emptyenv())) { [17:28:10.576] if (exists("master", mode = "list", envir = envir, [17:28:10.576] inherits = FALSE)) { [17:28:10.576] master <- get("master", mode = "list", [17:28:10.576] envir = envir, inherits = FALSE) [17:28:10.576] if (inherits(master, c("SOCKnode", [17:28:10.576] "SOCK0node"))) { [17:28:10.576] sendCondition <<- function(cond) { [17:28:10.576] data <- list(type = "VALUE", value = cond, [17:28:10.576] success = TRUE) [17:28:10.576] parallel_sendData(master, data) [17:28:10.576] } [17:28:10.576] return(sendCondition) [17:28:10.576] } [17:28:10.576] } [17:28:10.576] frame <- frame + 1L [17:28:10.576] envir <- sys.frame(frame) [17:28:10.576] } [17:28:10.576] } [17:28:10.576] sendCondition <<- function(cond) NULL [17:28:10.576] } [17:28:10.576] }) [17:28:10.576] withCallingHandlers({ [17:28:10.576] 1 [17:28:10.576] }, immediateCondition = function(cond) { [17:28:10.576] sendCondition <- ...future.makeSendCondition() [17:28:10.576] sendCondition(cond) [17:28:10.576] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.576] { [17:28:10.576] inherits <- base::inherits [17:28:10.576] invokeRestart <- base::invokeRestart [17:28:10.576] is.null <- base::is.null [17:28:10.576] muffled <- FALSE [17:28:10.576] if (inherits(cond, "message")) { [17:28:10.576] muffled <- grepl(pattern, "muffleMessage") [17:28:10.576] if (muffled) [17:28:10.576] invokeRestart("muffleMessage") [17:28:10.576] } [17:28:10.576] else if (inherits(cond, "warning")) { [17:28:10.576] muffled <- grepl(pattern, "muffleWarning") [17:28:10.576] if (muffled) [17:28:10.576] invokeRestart("muffleWarning") [17:28:10.576] } [17:28:10.576] else if (inherits(cond, "condition")) { [17:28:10.576] if (!is.null(pattern)) { [17:28:10.576] computeRestarts <- base::computeRestarts [17:28:10.576] grepl <- base::grepl [17:28:10.576] restarts <- computeRestarts(cond) [17:28:10.576] for (restart in restarts) { [17:28:10.576] name <- restart$name [17:28:10.576] if (is.null(name)) [17:28:10.576] next [17:28:10.576] if (!grepl(pattern, name)) [17:28:10.576] next [17:28:10.576] invokeRestart(restart) [17:28:10.576] muffled <- TRUE [17:28:10.576] break [17:28:10.576] } [17:28:10.576] } [17:28:10.576] } [17:28:10.576] invisible(muffled) [17:28:10.576] } [17:28:10.576] muffleCondition(cond) [17:28:10.576] }) [17:28:10.576] })) [17:28:10.576] future::FutureResult(value = ...future.value$value, [17:28:10.576] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.576] ...future.rng), globalenv = if (FALSE) [17:28:10.576] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.576] ...future.globalenv.names)) [17:28:10.576] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.576] }, condition = base::local({ [17:28:10.576] c <- base::c [17:28:10.576] inherits <- base::inherits [17:28:10.576] invokeRestart <- base::invokeRestart [17:28:10.576] length <- base::length [17:28:10.576] list <- base::list [17:28:10.576] seq.int <- base::seq.int [17:28:10.576] signalCondition <- base::signalCondition [17:28:10.576] sys.calls <- base::sys.calls [17:28:10.576] `[[` <- base::`[[` [17:28:10.576] `+` <- base::`+` [17:28:10.576] `<<-` <- base::`<<-` [17:28:10.576] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.576] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.576] 3L)] [17:28:10.576] } [17:28:10.576] function(cond) { [17:28:10.576] is_error <- inherits(cond, "error") [17:28:10.576] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.576] NULL) [17:28:10.576] if (is_error) { [17:28:10.576] sessionInformation <- function() { [17:28:10.576] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.576] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.576] search = base::search(), system = base::Sys.info()) [17:28:10.576] } [17:28:10.576] ...future.conditions[[length(...future.conditions) + [17:28:10.576] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.576] cond$call), session = sessionInformation(), [17:28:10.576] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.576] signalCondition(cond) [17:28:10.576] } [17:28:10.576] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.576] "immediateCondition"))) { [17:28:10.576] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.576] ...future.conditions[[length(...future.conditions) + [17:28:10.576] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.576] if (TRUE && !signal) { [17:28:10.576] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.576] { [17:28:10.576] inherits <- base::inherits [17:28:10.576] invokeRestart <- base::invokeRestart [17:28:10.576] is.null <- base::is.null [17:28:10.576] muffled <- FALSE [17:28:10.576] if (inherits(cond, "message")) { [17:28:10.576] muffled <- grepl(pattern, "muffleMessage") [17:28:10.576] if (muffled) [17:28:10.576] invokeRestart("muffleMessage") [17:28:10.576] } [17:28:10.576] else if (inherits(cond, "warning")) { [17:28:10.576] muffled <- grepl(pattern, "muffleWarning") [17:28:10.576] if (muffled) [17:28:10.576] invokeRestart("muffleWarning") [17:28:10.576] } [17:28:10.576] else if (inherits(cond, "condition")) { [17:28:10.576] if (!is.null(pattern)) { [17:28:10.576] computeRestarts <- base::computeRestarts [17:28:10.576] grepl <- base::grepl [17:28:10.576] restarts <- computeRestarts(cond) [17:28:10.576] for (restart in restarts) { [17:28:10.576] name <- restart$name [17:28:10.576] if (is.null(name)) [17:28:10.576] next [17:28:10.576] if (!grepl(pattern, name)) [17:28:10.576] next [17:28:10.576] invokeRestart(restart) [17:28:10.576] muffled <- TRUE [17:28:10.576] break [17:28:10.576] } [17:28:10.576] } [17:28:10.576] } [17:28:10.576] invisible(muffled) [17:28:10.576] } [17:28:10.576] muffleCondition(cond, pattern = "^muffle") [17:28:10.576] } [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] if (TRUE) { [17:28:10.576] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.576] { [17:28:10.576] inherits <- base::inherits [17:28:10.576] invokeRestart <- base::invokeRestart [17:28:10.576] is.null <- base::is.null [17:28:10.576] muffled <- FALSE [17:28:10.576] if (inherits(cond, "message")) { [17:28:10.576] muffled <- grepl(pattern, "muffleMessage") [17:28:10.576] if (muffled) [17:28:10.576] invokeRestart("muffleMessage") [17:28:10.576] } [17:28:10.576] else if (inherits(cond, "warning")) { [17:28:10.576] muffled <- grepl(pattern, "muffleWarning") [17:28:10.576] if (muffled) [17:28:10.576] invokeRestart("muffleWarning") [17:28:10.576] } [17:28:10.576] else if (inherits(cond, "condition")) { [17:28:10.576] if (!is.null(pattern)) { [17:28:10.576] computeRestarts <- base::computeRestarts [17:28:10.576] grepl <- base::grepl [17:28:10.576] restarts <- computeRestarts(cond) [17:28:10.576] for (restart in restarts) { [17:28:10.576] name <- restart$name [17:28:10.576] if (is.null(name)) [17:28:10.576] next [17:28:10.576] if (!grepl(pattern, name)) [17:28:10.576] next [17:28:10.576] invokeRestart(restart) [17:28:10.576] muffled <- TRUE [17:28:10.576] break [17:28:10.576] } [17:28:10.576] } [17:28:10.576] } [17:28:10.576] invisible(muffled) [17:28:10.576] } [17:28:10.576] muffleCondition(cond, pattern = "^muffle") [17:28:10.576] } [17:28:10.576] } [17:28:10.576] } [17:28:10.576] })) [17:28:10.576] }, error = function(ex) { [17:28:10.576] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.576] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.576] ...future.rng), started = ...future.startTime, [17:28:10.576] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.576] version = "1.8"), class = "FutureResult") [17:28:10.576] }, finally = { [17:28:10.576] if (!identical(...future.workdir, getwd())) [17:28:10.576] setwd(...future.workdir) [17:28:10.576] { [17:28:10.576] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.576] ...future.oldOptions$nwarnings <- NULL [17:28:10.576] } [17:28:10.576] base::options(...future.oldOptions) [17:28:10.576] if (.Platform$OS.type == "windows") { [17:28:10.576] old_names <- names(...future.oldEnvVars) [17:28:10.576] envs <- base::Sys.getenv() [17:28:10.576] names <- names(envs) [17:28:10.576] common <- intersect(names, old_names) [17:28:10.576] added <- setdiff(names, old_names) [17:28:10.576] removed <- setdiff(old_names, names) [17:28:10.576] changed <- common[...future.oldEnvVars[common] != [17:28:10.576] envs[common]] [17:28:10.576] NAMES <- toupper(changed) [17:28:10.576] args <- list() [17:28:10.576] for (kk in seq_along(NAMES)) { [17:28:10.576] name <- changed[[kk]] [17:28:10.576] NAME <- NAMES[[kk]] [17:28:10.576] if (name != NAME && is.element(NAME, old_names)) [17:28:10.576] next [17:28:10.576] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.576] } [17:28:10.576] NAMES <- toupper(added) [17:28:10.576] for (kk in seq_along(NAMES)) { [17:28:10.576] name <- added[[kk]] [17:28:10.576] NAME <- NAMES[[kk]] [17:28:10.576] if (name != NAME && is.element(NAME, old_names)) [17:28:10.576] next [17:28:10.576] args[[name]] <- "" [17:28:10.576] } [17:28:10.576] NAMES <- toupper(removed) [17:28:10.576] for (kk in seq_along(NAMES)) { [17:28:10.576] name <- removed[[kk]] [17:28:10.576] NAME <- NAMES[[kk]] [17:28:10.576] if (name != NAME && is.element(NAME, old_names)) [17:28:10.576] next [17:28:10.576] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.576] } [17:28:10.576] if (length(args) > 0) [17:28:10.576] base::do.call(base::Sys.setenv, args = args) [17:28:10.576] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.576] } [17:28:10.576] { [17:28:10.576] if (base::length(...future.futureOptionsAdded) > [17:28:10.576] 0L) { [17:28:10.576] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.576] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.576] base::options(opts) [17:28:10.576] } [17:28:10.576] { [17:28:10.576] { [17:28:10.576] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.576] NULL [17:28:10.576] } [17:28:10.576] options(future.plan = NULL) [17:28:10.576] if (is.na(NA_character_)) [17:28:10.576] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.576] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.576] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.576] .init = FALSE) [17:28:10.576] } [17:28:10.576] } [17:28:10.576] } [17:28:10.576] }) [17:28:10.576] if (TRUE) { [17:28:10.576] base::sink(type = "output", split = FALSE) [17:28:10.576] if (TRUE) { [17:28:10.576] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.576] } [17:28:10.576] else { [17:28:10.576] ...future.result["stdout"] <- base::list(NULL) [17:28:10.576] } [17:28:10.576] base::close(...future.stdout) [17:28:10.576] ...future.stdout <- NULL [17:28:10.576] } [17:28:10.576] ...future.result$conditions <- ...future.conditions [17:28:10.576] ...future.result$finished <- base::Sys.time() [17:28:10.576] ...future.result [17:28:10.576] } [17:28:10.587] MultisessionFuture started [17:28:10.587] - Launch lazy future ... done [17:28:10.588] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.588] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.589] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.590] - globals found: [3] '+', 'value', 'a' [17:28:10.590] Searching for globals ... DONE [17:28:10.590] Resolving globals: TRUE [17:28:10.590] Resolving any globals that are futures ... [17:28:10.591] - globals: [3] '+', 'value', 'a' [17:28:10.591] Resolving any globals that are futures ... DONE [17:28:10.591] Resolving futures part of globals (recursively) ... [17:28:10.592] resolve() on list ... [17:28:10.592] recursive: 99 [17:28:10.592] length: 1 [17:28:10.592] elements: 'a' [17:28:10.614] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.615] - Validating connection of MultisessionFuture [17:28:10.615] - received message: FutureResult [17:28:10.615] - Received FutureResult [17:28:10.616] - Erased future from FutureRegistry [17:28:10.616] result() for ClusterFuture ... [17:28:10.616] - result already collected: FutureResult [17:28:10.616] result() for ClusterFuture ... done [17:28:10.616] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.616] Future #1 [17:28:10.617] result() for ClusterFuture ... [17:28:10.617] - result already collected: FutureResult [17:28:10.617] result() for ClusterFuture ... done [17:28:10.617] result() for ClusterFuture ... [17:28:10.617] - result already collected: FutureResult [17:28:10.617] result() for ClusterFuture ... done [17:28:10.618] A MultisessionFuture was resolved [17:28:10.618] length: 0 (resolved future 1) [17:28:10.618] resolve() on list ... DONE [17:28:10.618] - globals: [1] 'a' [17:28:10.618] Resolving futures part of globals (recursively) ... DONE [17:28:10.629] The total size of the 1 globals is 313.64 KiB (321164 bytes) [17:28:10.630] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.64 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.64 KiB of class 'environment') [17:28:10.630] - globals: [1] 'a' [17:28:10.630] - packages: [1] 'future' [17:28:10.631] getGlobalsAndPackages() ... DONE [17:28:10.631] run() for 'Future' ... [17:28:10.631] - state: 'created' [17:28:10.631] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.647] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.647] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.648] - Field: 'node' [17:28:10.648] - Field: 'label' [17:28:10.648] - Field: 'local' [17:28:10.648] - Field: 'owner' [17:28:10.649] - Field: 'envir' [17:28:10.649] - Field: 'workers' [17:28:10.649] - Field: 'packages' [17:28:10.649] - Field: 'gc' [17:28:10.650] - Field: 'conditions' [17:28:10.650] - Field: 'persistent' [17:28:10.650] - Field: 'expr' [17:28:10.650] - Field: 'uuid' [17:28:10.651] - Field: 'seed' [17:28:10.651] - Field: 'version' [17:28:10.651] - Field: 'result' [17:28:10.651] - Field: 'asynchronous' [17:28:10.652] - Field: 'calls' [17:28:10.652] - Field: 'globals' [17:28:10.652] - Field: 'stdout' [17:28:10.652] - Field: 'earlySignal' [17:28:10.653] - Field: 'lazy' [17:28:10.653] - Field: 'state' [17:28:10.653] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.653] - Launch lazy future ... [17:28:10.654] Packages needed by the future expression (n = 1): 'future' [17:28:10.654] Packages needed by future strategies (n = 0): [17:28:10.655] { [17:28:10.655] { [17:28:10.655] { [17:28:10.655] ...future.startTime <- base::Sys.time() [17:28:10.655] { [17:28:10.655] { [17:28:10.655] { [17:28:10.655] { [17:28:10.655] { [17:28:10.655] base::local({ [17:28:10.655] has_future <- base::requireNamespace("future", [17:28:10.655] quietly = TRUE) [17:28:10.655] if (has_future) { [17:28:10.655] ns <- base::getNamespace("future") [17:28:10.655] version <- ns[[".package"]][["version"]] [17:28:10.655] if (is.null(version)) [17:28:10.655] version <- utils::packageVersion("future") [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] version <- NULL [17:28:10.655] } [17:28:10.655] if (!has_future || version < "1.8.0") { [17:28:10.655] info <- base::c(r_version = base::gsub("R version ", [17:28:10.655] "", base::R.version$version.string), [17:28:10.655] platform = base::sprintf("%s (%s-bit)", [17:28:10.655] base::R.version$platform, 8 * [17:28:10.655] base::.Machine$sizeof.pointer), [17:28:10.655] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.655] "release", "version")], collapse = " "), [17:28:10.655] hostname = base::Sys.info()[["nodename"]]) [17:28:10.655] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.655] info) [17:28:10.655] info <- base::paste(info, collapse = "; ") [17:28:10.655] if (!has_future) { [17:28:10.655] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.655] info) [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.655] info, version) [17:28:10.655] } [17:28:10.655] base::stop(msg) [17:28:10.655] } [17:28:10.655] }) [17:28:10.655] } [17:28:10.655] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.655] base::options(mc.cores = 1L) [17:28:10.655] } [17:28:10.655] base::local({ [17:28:10.655] for (pkg in "future") { [17:28:10.655] base::loadNamespace(pkg) [17:28:10.655] base::library(pkg, character.only = TRUE) [17:28:10.655] } [17:28:10.655] }) [17:28:10.655] } [17:28:10.655] ...future.strategy.old <- future::plan("list") [17:28:10.655] options(future.plan = NULL) [17:28:10.655] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.655] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.655] } [17:28:10.655] ...future.workdir <- getwd() [17:28:10.655] } [17:28:10.655] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.655] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.655] } [17:28:10.655] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.655] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.655] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.655] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.655] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.655] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.655] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.655] base::names(...future.oldOptions)) [17:28:10.655] } [17:28:10.655] if (FALSE) { [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] if (TRUE) { [17:28:10.655] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.655] open = "w") [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.655] windows = "NUL", "/dev/null"), open = "w") [17:28:10.655] } [17:28:10.655] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.655] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.655] base::sink(type = "output", split = FALSE) [17:28:10.655] base::close(...future.stdout) [17:28:10.655] }, add = TRUE) [17:28:10.655] } [17:28:10.655] ...future.frame <- base::sys.nframe() [17:28:10.655] ...future.conditions <- base::list() [17:28:10.655] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.655] if (FALSE) { [17:28:10.655] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.655] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.655] } [17:28:10.655] ...future.result <- base::tryCatch({ [17:28:10.655] base::withCallingHandlers({ [17:28:10.655] ...future.value <- base::withVisible(base::local({ [17:28:10.655] ...future.makeSendCondition <- base::local({ [17:28:10.655] sendCondition <- NULL [17:28:10.655] function(frame = 1L) { [17:28:10.655] if (is.function(sendCondition)) [17:28:10.655] return(sendCondition) [17:28:10.655] ns <- getNamespace("parallel") [17:28:10.655] if (exists("sendData", mode = "function", [17:28:10.655] envir = ns)) { [17:28:10.655] parallel_sendData <- get("sendData", mode = "function", [17:28:10.655] envir = ns) [17:28:10.655] envir <- sys.frame(frame) [17:28:10.655] master <- NULL [17:28:10.655] while (!identical(envir, .GlobalEnv) && [17:28:10.655] !identical(envir, emptyenv())) { [17:28:10.655] if (exists("master", mode = "list", envir = envir, [17:28:10.655] inherits = FALSE)) { [17:28:10.655] master <- get("master", mode = "list", [17:28:10.655] envir = envir, inherits = FALSE) [17:28:10.655] if (inherits(master, c("SOCKnode", [17:28:10.655] "SOCK0node"))) { [17:28:10.655] sendCondition <<- function(cond) { [17:28:10.655] data <- list(type = "VALUE", value = cond, [17:28:10.655] success = TRUE) [17:28:10.655] parallel_sendData(master, data) [17:28:10.655] } [17:28:10.655] return(sendCondition) [17:28:10.655] } [17:28:10.655] } [17:28:10.655] frame <- frame + 1L [17:28:10.655] envir <- sys.frame(frame) [17:28:10.655] } [17:28:10.655] } [17:28:10.655] sendCondition <<- function(cond) NULL [17:28:10.655] } [17:28:10.655] }) [17:28:10.655] withCallingHandlers({ [17:28:10.655] value(a) + 1 [17:28:10.655] }, immediateCondition = function(cond) { [17:28:10.655] sendCondition <- ...future.makeSendCondition() [17:28:10.655] sendCondition(cond) [17:28:10.655] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.655] { [17:28:10.655] inherits <- base::inherits [17:28:10.655] invokeRestart <- base::invokeRestart [17:28:10.655] is.null <- base::is.null [17:28:10.655] muffled <- FALSE [17:28:10.655] if (inherits(cond, "message")) { [17:28:10.655] muffled <- grepl(pattern, "muffleMessage") [17:28:10.655] if (muffled) [17:28:10.655] invokeRestart("muffleMessage") [17:28:10.655] } [17:28:10.655] else if (inherits(cond, "warning")) { [17:28:10.655] muffled <- grepl(pattern, "muffleWarning") [17:28:10.655] if (muffled) [17:28:10.655] invokeRestart("muffleWarning") [17:28:10.655] } [17:28:10.655] else if (inherits(cond, "condition")) { [17:28:10.655] if (!is.null(pattern)) { [17:28:10.655] computeRestarts <- base::computeRestarts [17:28:10.655] grepl <- base::grepl [17:28:10.655] restarts <- computeRestarts(cond) [17:28:10.655] for (restart in restarts) { [17:28:10.655] name <- restart$name [17:28:10.655] if (is.null(name)) [17:28:10.655] next [17:28:10.655] if (!grepl(pattern, name)) [17:28:10.655] next [17:28:10.655] invokeRestart(restart) [17:28:10.655] muffled <- TRUE [17:28:10.655] break [17:28:10.655] } [17:28:10.655] } [17:28:10.655] } [17:28:10.655] invisible(muffled) [17:28:10.655] } [17:28:10.655] muffleCondition(cond) [17:28:10.655] }) [17:28:10.655] })) [17:28:10.655] future::FutureResult(value = ...future.value$value, [17:28:10.655] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.655] ...future.rng), globalenv = if (FALSE) [17:28:10.655] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.655] ...future.globalenv.names)) [17:28:10.655] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.655] }, condition = base::local({ [17:28:10.655] c <- base::c [17:28:10.655] inherits <- base::inherits [17:28:10.655] invokeRestart <- base::invokeRestart [17:28:10.655] length <- base::length [17:28:10.655] list <- base::list [17:28:10.655] seq.int <- base::seq.int [17:28:10.655] signalCondition <- base::signalCondition [17:28:10.655] sys.calls <- base::sys.calls [17:28:10.655] `[[` <- base::`[[` [17:28:10.655] `+` <- base::`+` [17:28:10.655] `<<-` <- base::`<<-` [17:28:10.655] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.655] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.655] 3L)] [17:28:10.655] } [17:28:10.655] function(cond) { [17:28:10.655] is_error <- inherits(cond, "error") [17:28:10.655] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.655] NULL) [17:28:10.655] if (is_error) { [17:28:10.655] sessionInformation <- function() { [17:28:10.655] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.655] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.655] search = base::search(), system = base::Sys.info()) [17:28:10.655] } [17:28:10.655] ...future.conditions[[length(...future.conditions) + [17:28:10.655] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.655] cond$call), session = sessionInformation(), [17:28:10.655] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.655] signalCondition(cond) [17:28:10.655] } [17:28:10.655] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.655] "immediateCondition"))) { [17:28:10.655] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.655] ...future.conditions[[length(...future.conditions) + [17:28:10.655] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.655] if (TRUE && !signal) { [17:28:10.655] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.655] { [17:28:10.655] inherits <- base::inherits [17:28:10.655] invokeRestart <- base::invokeRestart [17:28:10.655] is.null <- base::is.null [17:28:10.655] muffled <- FALSE [17:28:10.655] if (inherits(cond, "message")) { [17:28:10.655] muffled <- grepl(pattern, "muffleMessage") [17:28:10.655] if (muffled) [17:28:10.655] invokeRestart("muffleMessage") [17:28:10.655] } [17:28:10.655] else if (inherits(cond, "warning")) { [17:28:10.655] muffled <- grepl(pattern, "muffleWarning") [17:28:10.655] if (muffled) [17:28:10.655] invokeRestart("muffleWarning") [17:28:10.655] } [17:28:10.655] else if (inherits(cond, "condition")) { [17:28:10.655] if (!is.null(pattern)) { [17:28:10.655] computeRestarts <- base::computeRestarts [17:28:10.655] grepl <- base::grepl [17:28:10.655] restarts <- computeRestarts(cond) [17:28:10.655] for (restart in restarts) { [17:28:10.655] name <- restart$name [17:28:10.655] if (is.null(name)) [17:28:10.655] next [17:28:10.655] if (!grepl(pattern, name)) [17:28:10.655] next [17:28:10.655] invokeRestart(restart) [17:28:10.655] muffled <- TRUE [17:28:10.655] break [17:28:10.655] } [17:28:10.655] } [17:28:10.655] } [17:28:10.655] invisible(muffled) [17:28:10.655] } [17:28:10.655] muffleCondition(cond, pattern = "^muffle") [17:28:10.655] } [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] if (TRUE) { [17:28:10.655] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.655] { [17:28:10.655] inherits <- base::inherits [17:28:10.655] invokeRestart <- base::invokeRestart [17:28:10.655] is.null <- base::is.null [17:28:10.655] muffled <- FALSE [17:28:10.655] if (inherits(cond, "message")) { [17:28:10.655] muffled <- grepl(pattern, "muffleMessage") [17:28:10.655] if (muffled) [17:28:10.655] invokeRestart("muffleMessage") [17:28:10.655] } [17:28:10.655] else if (inherits(cond, "warning")) { [17:28:10.655] muffled <- grepl(pattern, "muffleWarning") [17:28:10.655] if (muffled) [17:28:10.655] invokeRestart("muffleWarning") [17:28:10.655] } [17:28:10.655] else if (inherits(cond, "condition")) { [17:28:10.655] if (!is.null(pattern)) { [17:28:10.655] computeRestarts <- base::computeRestarts [17:28:10.655] grepl <- base::grepl [17:28:10.655] restarts <- computeRestarts(cond) [17:28:10.655] for (restart in restarts) { [17:28:10.655] name <- restart$name [17:28:10.655] if (is.null(name)) [17:28:10.655] next [17:28:10.655] if (!grepl(pattern, name)) [17:28:10.655] next [17:28:10.655] invokeRestart(restart) [17:28:10.655] muffled <- TRUE [17:28:10.655] break [17:28:10.655] } [17:28:10.655] } [17:28:10.655] } [17:28:10.655] invisible(muffled) [17:28:10.655] } [17:28:10.655] muffleCondition(cond, pattern = "^muffle") [17:28:10.655] } [17:28:10.655] } [17:28:10.655] } [17:28:10.655] })) [17:28:10.655] }, error = function(ex) { [17:28:10.655] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.655] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.655] ...future.rng), started = ...future.startTime, [17:28:10.655] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.655] version = "1.8"), class = "FutureResult") [17:28:10.655] }, finally = { [17:28:10.655] if (!identical(...future.workdir, getwd())) [17:28:10.655] setwd(...future.workdir) [17:28:10.655] { [17:28:10.655] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.655] ...future.oldOptions$nwarnings <- NULL [17:28:10.655] } [17:28:10.655] base::options(...future.oldOptions) [17:28:10.655] if (.Platform$OS.type == "windows") { [17:28:10.655] old_names <- names(...future.oldEnvVars) [17:28:10.655] envs <- base::Sys.getenv() [17:28:10.655] names <- names(envs) [17:28:10.655] common <- intersect(names, old_names) [17:28:10.655] added <- setdiff(names, old_names) [17:28:10.655] removed <- setdiff(old_names, names) [17:28:10.655] changed <- common[...future.oldEnvVars[common] != [17:28:10.655] envs[common]] [17:28:10.655] NAMES <- toupper(changed) [17:28:10.655] args <- list() [17:28:10.655] for (kk in seq_along(NAMES)) { [17:28:10.655] name <- changed[[kk]] [17:28:10.655] NAME <- NAMES[[kk]] [17:28:10.655] if (name != NAME && is.element(NAME, old_names)) [17:28:10.655] next [17:28:10.655] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.655] } [17:28:10.655] NAMES <- toupper(added) [17:28:10.655] for (kk in seq_along(NAMES)) { [17:28:10.655] name <- added[[kk]] [17:28:10.655] NAME <- NAMES[[kk]] [17:28:10.655] if (name != NAME && is.element(NAME, old_names)) [17:28:10.655] next [17:28:10.655] args[[name]] <- "" [17:28:10.655] } [17:28:10.655] NAMES <- toupper(removed) [17:28:10.655] for (kk in seq_along(NAMES)) { [17:28:10.655] name <- removed[[kk]] [17:28:10.655] NAME <- NAMES[[kk]] [17:28:10.655] if (name != NAME && is.element(NAME, old_names)) [17:28:10.655] next [17:28:10.655] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.655] } [17:28:10.655] if (length(args) > 0) [17:28:10.655] base::do.call(base::Sys.setenv, args = args) [17:28:10.655] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.655] } [17:28:10.655] { [17:28:10.655] if (base::length(...future.futureOptionsAdded) > [17:28:10.655] 0L) { [17:28:10.655] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.655] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.655] base::options(opts) [17:28:10.655] } [17:28:10.655] { [17:28:10.655] { [17:28:10.655] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.655] NULL [17:28:10.655] } [17:28:10.655] options(future.plan = NULL) [17:28:10.655] if (is.na(NA_character_)) [17:28:10.655] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.655] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.655] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.655] .init = FALSE) [17:28:10.655] } [17:28:10.655] } [17:28:10.655] } [17:28:10.655] }) [17:28:10.655] if (TRUE) { [17:28:10.655] base::sink(type = "output", split = FALSE) [17:28:10.655] if (TRUE) { [17:28:10.655] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.655] } [17:28:10.655] else { [17:28:10.655] ...future.result["stdout"] <- base::list(NULL) [17:28:10.655] } [17:28:10.655] base::close(...future.stdout) [17:28:10.655] ...future.stdout <- NULL [17:28:10.655] } [17:28:10.655] ...future.result$conditions <- ...future.conditions [17:28:10.655] ...future.result$finished <- base::Sys.time() [17:28:10.655] ...future.result [17:28:10.655] } [17:28:10.675] Exporting 1 global objects (313.84 KiB) to cluster node #1 ... [17:28:10.688] Exporting 'a' (313.64 KiB) to cluster node #1 ... [17:28:10.702] Exporting 'a' (313.64 KiB) to cluster node #1 ... DONE [17:28:10.703] Exporting 1 global objects (313.84 KiB) to cluster node #1 ... DONE [17:28:10.704] MultisessionFuture started [17:28:10.704] - Launch lazy future ... done [17:28:10.705] run() for 'MultisessionFuture' ... done [17:28:10.706] result() for ClusterFuture ... [17:28:10.706] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.707] - Validating connection of MultisessionFuture [17:28:10.735] - received message: FutureResult [17:28:10.736] - Received FutureResult [17:28:10.736] - Erased future from FutureRegistry [17:28:10.736] result() for ClusterFuture ... [17:28:10.736] - result already collected: FutureResult [17:28:10.737] result() for ClusterFuture ... done [17:28:10.737] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.737] result() for ClusterFuture ... done [17:28:10.737] result() for ClusterFuture ... [17:28:10.737] - result already collected: FutureResult [17:28:10.738] result() for ClusterFuture ... done value(b) = 2 [17:28:10.738] result() for ClusterFuture ... [17:28:10.739] - result already collected: FutureResult [17:28:10.739] result() for ClusterFuture ... done [17:28:10.739] result() for ClusterFuture ... [17:28:10.740] - result already collected: FutureResult [17:28:10.740] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.741] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.742] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.743] [17:28:10.743] Searching for globals ... DONE [17:28:10.743] - globals: [0] [17:28:10.744] getGlobalsAndPackages() ... DONE [17:28:10.744] run() for 'Future' ... [17:28:10.745] - state: 'created' [17:28:10.745] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.765] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.765] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.766] - Field: 'node' [17:28:10.766] - Field: 'label' [17:28:10.766] - Field: 'local' [17:28:10.766] - Field: 'owner' [17:28:10.766] - Field: 'envir' [17:28:10.767] - Field: 'workers' [17:28:10.767] - Field: 'packages' [17:28:10.767] - Field: 'gc' [17:28:10.767] - Field: 'conditions' [17:28:10.768] - Field: 'persistent' [17:28:10.768] - Field: 'expr' [17:28:10.768] - Field: 'uuid' [17:28:10.768] - Field: 'seed' [17:28:10.769] - Field: 'version' [17:28:10.769] - Field: 'result' [17:28:10.769] - Field: 'asynchronous' [17:28:10.769] - Field: 'calls' [17:28:10.770] - Field: 'globals' [17:28:10.770] - Field: 'stdout' [17:28:10.770] - Field: 'earlySignal' [17:28:10.770] - Field: 'lazy' [17:28:10.770] - Field: 'state' [17:28:10.771] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.771] - Launch lazy future ... [17:28:10.772] Packages needed by the future expression (n = 0): [17:28:10.772] Packages needed by future strategies (n = 0): [17:28:10.773] { [17:28:10.773] { [17:28:10.773] { [17:28:10.773] ...future.startTime <- base::Sys.time() [17:28:10.773] { [17:28:10.773] { [17:28:10.773] { [17:28:10.773] { [17:28:10.773] base::local({ [17:28:10.773] has_future <- base::requireNamespace("future", [17:28:10.773] quietly = TRUE) [17:28:10.773] if (has_future) { [17:28:10.773] ns <- base::getNamespace("future") [17:28:10.773] version <- ns[[".package"]][["version"]] [17:28:10.773] if (is.null(version)) [17:28:10.773] version <- utils::packageVersion("future") [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] version <- NULL [17:28:10.773] } [17:28:10.773] if (!has_future || version < "1.8.0") { [17:28:10.773] info <- base::c(r_version = base::gsub("R version ", [17:28:10.773] "", base::R.version$version.string), [17:28:10.773] platform = base::sprintf("%s (%s-bit)", [17:28:10.773] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.773] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.773] "release", "version")], collapse = " "), [17:28:10.773] hostname = base::Sys.info()[["nodename"]]) [17:28:10.773] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.773] info) [17:28:10.773] info <- base::paste(info, collapse = "; ") [17:28:10.773] if (!has_future) { [17:28:10.773] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.773] info) [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.773] info, version) [17:28:10.773] } [17:28:10.773] base::stop(msg) [17:28:10.773] } [17:28:10.773] }) [17:28:10.773] } [17:28:10.773] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.773] base::options(mc.cores = 1L) [17:28:10.773] } [17:28:10.773] ...future.strategy.old <- future::plan("list") [17:28:10.773] options(future.plan = NULL) [17:28:10.773] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.773] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.773] } [17:28:10.773] ...future.workdir <- getwd() [17:28:10.773] } [17:28:10.773] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.773] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.773] } [17:28:10.773] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.773] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.773] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.773] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.773] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.773] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.773] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.773] base::names(...future.oldOptions)) [17:28:10.773] } [17:28:10.773] if (FALSE) { [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] if (TRUE) { [17:28:10.773] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.773] open = "w") [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.773] windows = "NUL", "/dev/null"), open = "w") [17:28:10.773] } [17:28:10.773] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.773] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.773] base::sink(type = "output", split = FALSE) [17:28:10.773] base::close(...future.stdout) [17:28:10.773] }, add = TRUE) [17:28:10.773] } [17:28:10.773] ...future.frame <- base::sys.nframe() [17:28:10.773] ...future.conditions <- base::list() [17:28:10.773] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.773] if (FALSE) { [17:28:10.773] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.773] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.773] } [17:28:10.773] ...future.result <- base::tryCatch({ [17:28:10.773] base::withCallingHandlers({ [17:28:10.773] ...future.value <- base::withVisible(base::local({ [17:28:10.773] ...future.makeSendCondition <- base::local({ [17:28:10.773] sendCondition <- NULL [17:28:10.773] function(frame = 1L) { [17:28:10.773] if (is.function(sendCondition)) [17:28:10.773] return(sendCondition) [17:28:10.773] ns <- getNamespace("parallel") [17:28:10.773] if (exists("sendData", mode = "function", [17:28:10.773] envir = ns)) { [17:28:10.773] parallel_sendData <- get("sendData", mode = "function", [17:28:10.773] envir = ns) [17:28:10.773] envir <- sys.frame(frame) [17:28:10.773] master <- NULL [17:28:10.773] while (!identical(envir, .GlobalEnv) && [17:28:10.773] !identical(envir, emptyenv())) { [17:28:10.773] if (exists("master", mode = "list", envir = envir, [17:28:10.773] inherits = FALSE)) { [17:28:10.773] master <- get("master", mode = "list", [17:28:10.773] envir = envir, inherits = FALSE) [17:28:10.773] if (inherits(master, c("SOCKnode", [17:28:10.773] "SOCK0node"))) { [17:28:10.773] sendCondition <<- function(cond) { [17:28:10.773] data <- list(type = "VALUE", value = cond, [17:28:10.773] success = TRUE) [17:28:10.773] parallel_sendData(master, data) [17:28:10.773] } [17:28:10.773] return(sendCondition) [17:28:10.773] } [17:28:10.773] } [17:28:10.773] frame <- frame + 1L [17:28:10.773] envir <- sys.frame(frame) [17:28:10.773] } [17:28:10.773] } [17:28:10.773] sendCondition <<- function(cond) NULL [17:28:10.773] } [17:28:10.773] }) [17:28:10.773] withCallingHandlers({ [17:28:10.773] 1 [17:28:10.773] }, immediateCondition = function(cond) { [17:28:10.773] sendCondition <- ...future.makeSendCondition() [17:28:10.773] sendCondition(cond) [17:28:10.773] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.773] { [17:28:10.773] inherits <- base::inherits [17:28:10.773] invokeRestart <- base::invokeRestart [17:28:10.773] is.null <- base::is.null [17:28:10.773] muffled <- FALSE [17:28:10.773] if (inherits(cond, "message")) { [17:28:10.773] muffled <- grepl(pattern, "muffleMessage") [17:28:10.773] if (muffled) [17:28:10.773] invokeRestart("muffleMessage") [17:28:10.773] } [17:28:10.773] else if (inherits(cond, "warning")) { [17:28:10.773] muffled <- grepl(pattern, "muffleWarning") [17:28:10.773] if (muffled) [17:28:10.773] invokeRestart("muffleWarning") [17:28:10.773] } [17:28:10.773] else if (inherits(cond, "condition")) { [17:28:10.773] if (!is.null(pattern)) { [17:28:10.773] computeRestarts <- base::computeRestarts [17:28:10.773] grepl <- base::grepl [17:28:10.773] restarts <- computeRestarts(cond) [17:28:10.773] for (restart in restarts) { [17:28:10.773] name <- restart$name [17:28:10.773] if (is.null(name)) [17:28:10.773] next [17:28:10.773] if (!grepl(pattern, name)) [17:28:10.773] next [17:28:10.773] invokeRestart(restart) [17:28:10.773] muffled <- TRUE [17:28:10.773] break [17:28:10.773] } [17:28:10.773] } [17:28:10.773] } [17:28:10.773] invisible(muffled) [17:28:10.773] } [17:28:10.773] muffleCondition(cond) [17:28:10.773] }) [17:28:10.773] })) [17:28:10.773] future::FutureResult(value = ...future.value$value, [17:28:10.773] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.773] ...future.rng), globalenv = if (FALSE) [17:28:10.773] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.773] ...future.globalenv.names)) [17:28:10.773] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.773] }, condition = base::local({ [17:28:10.773] c <- base::c [17:28:10.773] inherits <- base::inherits [17:28:10.773] invokeRestart <- base::invokeRestart [17:28:10.773] length <- base::length [17:28:10.773] list <- base::list [17:28:10.773] seq.int <- base::seq.int [17:28:10.773] signalCondition <- base::signalCondition [17:28:10.773] sys.calls <- base::sys.calls [17:28:10.773] `[[` <- base::`[[` [17:28:10.773] `+` <- base::`+` [17:28:10.773] `<<-` <- base::`<<-` [17:28:10.773] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.773] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.773] 3L)] [17:28:10.773] } [17:28:10.773] function(cond) { [17:28:10.773] is_error <- inherits(cond, "error") [17:28:10.773] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.773] NULL) [17:28:10.773] if (is_error) { [17:28:10.773] sessionInformation <- function() { [17:28:10.773] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.773] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.773] search = base::search(), system = base::Sys.info()) [17:28:10.773] } [17:28:10.773] ...future.conditions[[length(...future.conditions) + [17:28:10.773] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.773] cond$call), session = sessionInformation(), [17:28:10.773] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.773] signalCondition(cond) [17:28:10.773] } [17:28:10.773] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.773] "immediateCondition"))) { [17:28:10.773] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.773] ...future.conditions[[length(...future.conditions) + [17:28:10.773] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.773] if (TRUE && !signal) { [17:28:10.773] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.773] { [17:28:10.773] inherits <- base::inherits [17:28:10.773] invokeRestart <- base::invokeRestart [17:28:10.773] is.null <- base::is.null [17:28:10.773] muffled <- FALSE [17:28:10.773] if (inherits(cond, "message")) { [17:28:10.773] muffled <- grepl(pattern, "muffleMessage") [17:28:10.773] if (muffled) [17:28:10.773] invokeRestart("muffleMessage") [17:28:10.773] } [17:28:10.773] else if (inherits(cond, "warning")) { [17:28:10.773] muffled <- grepl(pattern, "muffleWarning") [17:28:10.773] if (muffled) [17:28:10.773] invokeRestart("muffleWarning") [17:28:10.773] } [17:28:10.773] else if (inherits(cond, "condition")) { [17:28:10.773] if (!is.null(pattern)) { [17:28:10.773] computeRestarts <- base::computeRestarts [17:28:10.773] grepl <- base::grepl [17:28:10.773] restarts <- computeRestarts(cond) [17:28:10.773] for (restart in restarts) { [17:28:10.773] name <- restart$name [17:28:10.773] if (is.null(name)) [17:28:10.773] next [17:28:10.773] if (!grepl(pattern, name)) [17:28:10.773] next [17:28:10.773] invokeRestart(restart) [17:28:10.773] muffled <- TRUE [17:28:10.773] break [17:28:10.773] } [17:28:10.773] } [17:28:10.773] } [17:28:10.773] invisible(muffled) [17:28:10.773] } [17:28:10.773] muffleCondition(cond, pattern = "^muffle") [17:28:10.773] } [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] if (TRUE) { [17:28:10.773] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.773] { [17:28:10.773] inherits <- base::inherits [17:28:10.773] invokeRestart <- base::invokeRestart [17:28:10.773] is.null <- base::is.null [17:28:10.773] muffled <- FALSE [17:28:10.773] if (inherits(cond, "message")) { [17:28:10.773] muffled <- grepl(pattern, "muffleMessage") [17:28:10.773] if (muffled) [17:28:10.773] invokeRestart("muffleMessage") [17:28:10.773] } [17:28:10.773] else if (inherits(cond, "warning")) { [17:28:10.773] muffled <- grepl(pattern, "muffleWarning") [17:28:10.773] if (muffled) [17:28:10.773] invokeRestart("muffleWarning") [17:28:10.773] } [17:28:10.773] else if (inherits(cond, "condition")) { [17:28:10.773] if (!is.null(pattern)) { [17:28:10.773] computeRestarts <- base::computeRestarts [17:28:10.773] grepl <- base::grepl [17:28:10.773] restarts <- computeRestarts(cond) [17:28:10.773] for (restart in restarts) { [17:28:10.773] name <- restart$name [17:28:10.773] if (is.null(name)) [17:28:10.773] next [17:28:10.773] if (!grepl(pattern, name)) [17:28:10.773] next [17:28:10.773] invokeRestart(restart) [17:28:10.773] muffled <- TRUE [17:28:10.773] break [17:28:10.773] } [17:28:10.773] } [17:28:10.773] } [17:28:10.773] invisible(muffled) [17:28:10.773] } [17:28:10.773] muffleCondition(cond, pattern = "^muffle") [17:28:10.773] } [17:28:10.773] } [17:28:10.773] } [17:28:10.773] })) [17:28:10.773] }, error = function(ex) { [17:28:10.773] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.773] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.773] ...future.rng), started = ...future.startTime, [17:28:10.773] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.773] version = "1.8"), class = "FutureResult") [17:28:10.773] }, finally = { [17:28:10.773] if (!identical(...future.workdir, getwd())) [17:28:10.773] setwd(...future.workdir) [17:28:10.773] { [17:28:10.773] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.773] ...future.oldOptions$nwarnings <- NULL [17:28:10.773] } [17:28:10.773] base::options(...future.oldOptions) [17:28:10.773] if (.Platform$OS.type == "windows") { [17:28:10.773] old_names <- names(...future.oldEnvVars) [17:28:10.773] envs <- base::Sys.getenv() [17:28:10.773] names <- names(envs) [17:28:10.773] common <- intersect(names, old_names) [17:28:10.773] added <- setdiff(names, old_names) [17:28:10.773] removed <- setdiff(old_names, names) [17:28:10.773] changed <- common[...future.oldEnvVars[common] != [17:28:10.773] envs[common]] [17:28:10.773] NAMES <- toupper(changed) [17:28:10.773] args <- list() [17:28:10.773] for (kk in seq_along(NAMES)) { [17:28:10.773] name <- changed[[kk]] [17:28:10.773] NAME <- NAMES[[kk]] [17:28:10.773] if (name != NAME && is.element(NAME, old_names)) [17:28:10.773] next [17:28:10.773] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.773] } [17:28:10.773] NAMES <- toupper(added) [17:28:10.773] for (kk in seq_along(NAMES)) { [17:28:10.773] name <- added[[kk]] [17:28:10.773] NAME <- NAMES[[kk]] [17:28:10.773] if (name != NAME && is.element(NAME, old_names)) [17:28:10.773] next [17:28:10.773] args[[name]] <- "" [17:28:10.773] } [17:28:10.773] NAMES <- toupper(removed) [17:28:10.773] for (kk in seq_along(NAMES)) { [17:28:10.773] name <- removed[[kk]] [17:28:10.773] NAME <- NAMES[[kk]] [17:28:10.773] if (name != NAME && is.element(NAME, old_names)) [17:28:10.773] next [17:28:10.773] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.773] } [17:28:10.773] if (length(args) > 0) [17:28:10.773] base::do.call(base::Sys.setenv, args = args) [17:28:10.773] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.773] } [17:28:10.773] { [17:28:10.773] if (base::length(...future.futureOptionsAdded) > [17:28:10.773] 0L) { [17:28:10.773] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.773] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.773] base::options(opts) [17:28:10.773] } [17:28:10.773] { [17:28:10.773] { [17:28:10.773] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.773] NULL [17:28:10.773] } [17:28:10.773] options(future.plan = NULL) [17:28:10.773] if (is.na(NA_character_)) [17:28:10.773] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.773] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.773] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.773] .init = FALSE) [17:28:10.773] } [17:28:10.773] } [17:28:10.773] } [17:28:10.773] }) [17:28:10.773] if (TRUE) { [17:28:10.773] base::sink(type = "output", split = FALSE) [17:28:10.773] if (TRUE) { [17:28:10.773] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.773] } [17:28:10.773] else { [17:28:10.773] ...future.result["stdout"] <- base::list(NULL) [17:28:10.773] } [17:28:10.773] base::close(...future.stdout) [17:28:10.773] ...future.stdout <- NULL [17:28:10.773] } [17:28:10.773] ...future.result$conditions <- ...future.conditions [17:28:10.773] ...future.result$finished <- base::Sys.time() [17:28:10.773] ...future.result [17:28:10.773] } [17:28:10.779] MultisessionFuture started [17:28:10.780] - Launch lazy future ... done [17:28:10.780] run() for 'MultisessionFuture' ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.780] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.781] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.782] - globals found: [3] '+', 'value', 'a' [17:28:10.783] Searching for globals ... DONE [17:28:10.783] Resolving globals: TRUE [17:28:10.783] Resolving any globals that are futures ... [17:28:10.783] - globals: [3] '+', 'value', 'a' [17:28:10.784] Resolving any globals that are futures ... DONE [17:28:10.784] Resolving futures part of globals (recursively) ... [17:28:10.785] resolve() on list ... [17:28:10.785] recursive: 99 [17:28:10.786] length: 1 [17:28:10.786] elements: 'a' [17:28:10.800] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.801] - Validating connection of MultisessionFuture [17:28:10.801] - received message: FutureResult [17:28:10.802] - Received FutureResult [17:28:10.802] - Erased future from FutureRegistry [17:28:10.802] result() for ClusterFuture ... [17:28:10.803] - result already collected: FutureResult [17:28:10.803] result() for ClusterFuture ... done [17:28:10.803] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.803] Future #1 [17:28:10.804] result() for ClusterFuture ... [17:28:10.804] - result already collected: FutureResult [17:28:10.804] result() for ClusterFuture ... done [17:28:10.804] result() for ClusterFuture ... [17:28:10.805] - result already collected: FutureResult [17:28:10.805] result() for ClusterFuture ... done [17:28:10.805] A MultisessionFuture was resolved [17:28:10.806] length: 0 (resolved future 1) [17:28:10.806] resolve() on list ... DONE [17:28:10.806] - globals: [1] 'a' [17:28:10.807] Resolving futures part of globals (recursively) ... DONE [17:28:10.819] The total size of the 1 globals is 313.64 KiB (321164 bytes) [17:28:10.820] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.64 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.64 KiB of class 'environment') [17:28:10.820] - globals: [1] 'a' [17:28:10.821] - packages: [1] 'future' [17:28:10.821] getGlobalsAndPackages() ... DONE [17:28:10.822] run() for 'Future' ... [17:28:10.822] - state: 'created' [17:28:10.822] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.843] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.844] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.844] - Field: 'node' [17:28:10.844] - Field: 'label' [17:28:10.845] - Field: 'local' [17:28:10.845] - Field: 'owner' [17:28:10.846] - Field: 'envir' [17:28:10.846] - Field: 'workers' [17:28:10.846] - Field: 'packages' [17:28:10.847] - Field: 'gc' [17:28:10.847] - Field: 'conditions' [17:28:10.847] - Field: 'persistent' [17:28:10.848] - Field: 'expr' [17:28:10.848] - Field: 'uuid' [17:28:10.848] - Field: 'seed' [17:28:10.848] - Field: 'version' [17:28:10.849] - Field: 'result' [17:28:10.849] - Field: 'asynchronous' [17:28:10.849] - Field: 'calls' [17:28:10.850] - Field: 'globals' [17:28:10.850] - Field: 'stdout' [17:28:10.850] - Field: 'earlySignal' [17:28:10.850] - Field: 'lazy' [17:28:10.851] - Field: 'state' [17:28:10.851] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.851] - Launch lazy future ... [17:28:10.852] Packages needed by the future expression (n = 1): 'future' [17:28:10.852] Packages needed by future strategies (n = 0): [17:28:10.853] { [17:28:10.853] { [17:28:10.853] { [17:28:10.853] ...future.startTime <- base::Sys.time() [17:28:10.853] { [17:28:10.853] { [17:28:10.853] { [17:28:10.853] { [17:28:10.853] { [17:28:10.853] base::local({ [17:28:10.853] has_future <- base::requireNamespace("future", [17:28:10.853] quietly = TRUE) [17:28:10.853] if (has_future) { [17:28:10.853] ns <- base::getNamespace("future") [17:28:10.853] version <- ns[[".package"]][["version"]] [17:28:10.853] if (is.null(version)) [17:28:10.853] version <- utils::packageVersion("future") [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] version <- NULL [17:28:10.853] } [17:28:10.853] if (!has_future || version < "1.8.0") { [17:28:10.853] info <- base::c(r_version = base::gsub("R version ", [17:28:10.853] "", base::R.version$version.string), [17:28:10.853] platform = base::sprintf("%s (%s-bit)", [17:28:10.853] base::R.version$platform, 8 * [17:28:10.853] base::.Machine$sizeof.pointer), [17:28:10.853] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.853] "release", "version")], collapse = " "), [17:28:10.853] hostname = base::Sys.info()[["nodename"]]) [17:28:10.853] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.853] info) [17:28:10.853] info <- base::paste(info, collapse = "; ") [17:28:10.853] if (!has_future) { [17:28:10.853] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.853] info) [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.853] info, version) [17:28:10.853] } [17:28:10.853] base::stop(msg) [17:28:10.853] } [17:28:10.853] }) [17:28:10.853] } [17:28:10.853] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.853] base::options(mc.cores = 1L) [17:28:10.853] } [17:28:10.853] base::local({ [17:28:10.853] for (pkg in "future") { [17:28:10.853] base::loadNamespace(pkg) [17:28:10.853] base::library(pkg, character.only = TRUE) [17:28:10.853] } [17:28:10.853] }) [17:28:10.853] } [17:28:10.853] ...future.strategy.old <- future::plan("list") [17:28:10.853] options(future.plan = NULL) [17:28:10.853] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.853] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.853] } [17:28:10.853] ...future.workdir <- getwd() [17:28:10.853] } [17:28:10.853] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.853] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.853] } [17:28:10.853] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.853] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.853] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.853] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.853] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.853] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.853] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.853] base::names(...future.oldOptions)) [17:28:10.853] } [17:28:10.853] if (FALSE) { [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] if (TRUE) { [17:28:10.853] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.853] open = "w") [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.853] windows = "NUL", "/dev/null"), open = "w") [17:28:10.853] } [17:28:10.853] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.853] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.853] base::sink(type = "output", split = FALSE) [17:28:10.853] base::close(...future.stdout) [17:28:10.853] }, add = TRUE) [17:28:10.853] } [17:28:10.853] ...future.frame <- base::sys.nframe() [17:28:10.853] ...future.conditions <- base::list() [17:28:10.853] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.853] if (FALSE) { [17:28:10.853] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.853] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.853] } [17:28:10.853] ...future.result <- base::tryCatch({ [17:28:10.853] base::withCallingHandlers({ [17:28:10.853] ...future.value <- base::withVisible(base::local({ [17:28:10.853] ...future.makeSendCondition <- base::local({ [17:28:10.853] sendCondition <- NULL [17:28:10.853] function(frame = 1L) { [17:28:10.853] if (is.function(sendCondition)) [17:28:10.853] return(sendCondition) [17:28:10.853] ns <- getNamespace("parallel") [17:28:10.853] if (exists("sendData", mode = "function", [17:28:10.853] envir = ns)) { [17:28:10.853] parallel_sendData <- get("sendData", mode = "function", [17:28:10.853] envir = ns) [17:28:10.853] envir <- sys.frame(frame) [17:28:10.853] master <- NULL [17:28:10.853] while (!identical(envir, .GlobalEnv) && [17:28:10.853] !identical(envir, emptyenv())) { [17:28:10.853] if (exists("master", mode = "list", envir = envir, [17:28:10.853] inherits = FALSE)) { [17:28:10.853] master <- get("master", mode = "list", [17:28:10.853] envir = envir, inherits = FALSE) [17:28:10.853] if (inherits(master, c("SOCKnode", [17:28:10.853] "SOCK0node"))) { [17:28:10.853] sendCondition <<- function(cond) { [17:28:10.853] data <- list(type = "VALUE", value = cond, [17:28:10.853] success = TRUE) [17:28:10.853] parallel_sendData(master, data) [17:28:10.853] } [17:28:10.853] return(sendCondition) [17:28:10.853] } [17:28:10.853] } [17:28:10.853] frame <- frame + 1L [17:28:10.853] envir <- sys.frame(frame) [17:28:10.853] } [17:28:10.853] } [17:28:10.853] sendCondition <<- function(cond) NULL [17:28:10.853] } [17:28:10.853] }) [17:28:10.853] withCallingHandlers({ [17:28:10.853] value(a) + 1 [17:28:10.853] }, immediateCondition = function(cond) { [17:28:10.853] sendCondition <- ...future.makeSendCondition() [17:28:10.853] sendCondition(cond) [17:28:10.853] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.853] { [17:28:10.853] inherits <- base::inherits [17:28:10.853] invokeRestart <- base::invokeRestart [17:28:10.853] is.null <- base::is.null [17:28:10.853] muffled <- FALSE [17:28:10.853] if (inherits(cond, "message")) { [17:28:10.853] muffled <- grepl(pattern, "muffleMessage") [17:28:10.853] if (muffled) [17:28:10.853] invokeRestart("muffleMessage") [17:28:10.853] } [17:28:10.853] else if (inherits(cond, "warning")) { [17:28:10.853] muffled <- grepl(pattern, "muffleWarning") [17:28:10.853] if (muffled) [17:28:10.853] invokeRestart("muffleWarning") [17:28:10.853] } [17:28:10.853] else if (inherits(cond, "condition")) { [17:28:10.853] if (!is.null(pattern)) { [17:28:10.853] computeRestarts <- base::computeRestarts [17:28:10.853] grepl <- base::grepl [17:28:10.853] restarts <- computeRestarts(cond) [17:28:10.853] for (restart in restarts) { [17:28:10.853] name <- restart$name [17:28:10.853] if (is.null(name)) [17:28:10.853] next [17:28:10.853] if (!grepl(pattern, name)) [17:28:10.853] next [17:28:10.853] invokeRestart(restart) [17:28:10.853] muffled <- TRUE [17:28:10.853] break [17:28:10.853] } [17:28:10.853] } [17:28:10.853] } [17:28:10.853] invisible(muffled) [17:28:10.853] } [17:28:10.853] muffleCondition(cond) [17:28:10.853] }) [17:28:10.853] })) [17:28:10.853] future::FutureResult(value = ...future.value$value, [17:28:10.853] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.853] ...future.rng), globalenv = if (FALSE) [17:28:10.853] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.853] ...future.globalenv.names)) [17:28:10.853] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.853] }, condition = base::local({ [17:28:10.853] c <- base::c [17:28:10.853] inherits <- base::inherits [17:28:10.853] invokeRestart <- base::invokeRestart [17:28:10.853] length <- base::length [17:28:10.853] list <- base::list [17:28:10.853] seq.int <- base::seq.int [17:28:10.853] signalCondition <- base::signalCondition [17:28:10.853] sys.calls <- base::sys.calls [17:28:10.853] `[[` <- base::`[[` [17:28:10.853] `+` <- base::`+` [17:28:10.853] `<<-` <- base::`<<-` [17:28:10.853] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.853] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.853] 3L)] [17:28:10.853] } [17:28:10.853] function(cond) { [17:28:10.853] is_error <- inherits(cond, "error") [17:28:10.853] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.853] NULL) [17:28:10.853] if (is_error) { [17:28:10.853] sessionInformation <- function() { [17:28:10.853] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.853] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.853] search = base::search(), system = base::Sys.info()) [17:28:10.853] } [17:28:10.853] ...future.conditions[[length(...future.conditions) + [17:28:10.853] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.853] cond$call), session = sessionInformation(), [17:28:10.853] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.853] signalCondition(cond) [17:28:10.853] } [17:28:10.853] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.853] "immediateCondition"))) { [17:28:10.853] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.853] ...future.conditions[[length(...future.conditions) + [17:28:10.853] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.853] if (TRUE && !signal) { [17:28:10.853] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.853] { [17:28:10.853] inherits <- base::inherits [17:28:10.853] invokeRestart <- base::invokeRestart [17:28:10.853] is.null <- base::is.null [17:28:10.853] muffled <- FALSE [17:28:10.853] if (inherits(cond, "message")) { [17:28:10.853] muffled <- grepl(pattern, "muffleMessage") [17:28:10.853] if (muffled) [17:28:10.853] invokeRestart("muffleMessage") [17:28:10.853] } [17:28:10.853] else if (inherits(cond, "warning")) { [17:28:10.853] muffled <- grepl(pattern, "muffleWarning") [17:28:10.853] if (muffled) [17:28:10.853] invokeRestart("muffleWarning") [17:28:10.853] } [17:28:10.853] else if (inherits(cond, "condition")) { [17:28:10.853] if (!is.null(pattern)) { [17:28:10.853] computeRestarts <- base::computeRestarts [17:28:10.853] grepl <- base::grepl [17:28:10.853] restarts <- computeRestarts(cond) [17:28:10.853] for (restart in restarts) { [17:28:10.853] name <- restart$name [17:28:10.853] if (is.null(name)) [17:28:10.853] next [17:28:10.853] if (!grepl(pattern, name)) [17:28:10.853] next [17:28:10.853] invokeRestart(restart) [17:28:10.853] muffled <- TRUE [17:28:10.853] break [17:28:10.853] } [17:28:10.853] } [17:28:10.853] } [17:28:10.853] invisible(muffled) [17:28:10.853] } [17:28:10.853] muffleCondition(cond, pattern = "^muffle") [17:28:10.853] } [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] if (TRUE) { [17:28:10.853] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.853] { [17:28:10.853] inherits <- base::inherits [17:28:10.853] invokeRestart <- base::invokeRestart [17:28:10.853] is.null <- base::is.null [17:28:10.853] muffled <- FALSE [17:28:10.853] if (inherits(cond, "message")) { [17:28:10.853] muffled <- grepl(pattern, "muffleMessage") [17:28:10.853] if (muffled) [17:28:10.853] invokeRestart("muffleMessage") [17:28:10.853] } [17:28:10.853] else if (inherits(cond, "warning")) { [17:28:10.853] muffled <- grepl(pattern, "muffleWarning") [17:28:10.853] if (muffled) [17:28:10.853] invokeRestart("muffleWarning") [17:28:10.853] } [17:28:10.853] else if (inherits(cond, "condition")) { [17:28:10.853] if (!is.null(pattern)) { [17:28:10.853] computeRestarts <- base::computeRestarts [17:28:10.853] grepl <- base::grepl [17:28:10.853] restarts <- computeRestarts(cond) [17:28:10.853] for (restart in restarts) { [17:28:10.853] name <- restart$name [17:28:10.853] if (is.null(name)) [17:28:10.853] next [17:28:10.853] if (!grepl(pattern, name)) [17:28:10.853] next [17:28:10.853] invokeRestart(restart) [17:28:10.853] muffled <- TRUE [17:28:10.853] break [17:28:10.853] } [17:28:10.853] } [17:28:10.853] } [17:28:10.853] invisible(muffled) [17:28:10.853] } [17:28:10.853] muffleCondition(cond, pattern = "^muffle") [17:28:10.853] } [17:28:10.853] } [17:28:10.853] } [17:28:10.853] })) [17:28:10.853] }, error = function(ex) { [17:28:10.853] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.853] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.853] ...future.rng), started = ...future.startTime, [17:28:10.853] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.853] version = "1.8"), class = "FutureResult") [17:28:10.853] }, finally = { [17:28:10.853] if (!identical(...future.workdir, getwd())) [17:28:10.853] setwd(...future.workdir) [17:28:10.853] { [17:28:10.853] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.853] ...future.oldOptions$nwarnings <- NULL [17:28:10.853] } [17:28:10.853] base::options(...future.oldOptions) [17:28:10.853] if (.Platform$OS.type == "windows") { [17:28:10.853] old_names <- names(...future.oldEnvVars) [17:28:10.853] envs <- base::Sys.getenv() [17:28:10.853] names <- names(envs) [17:28:10.853] common <- intersect(names, old_names) [17:28:10.853] added <- setdiff(names, old_names) [17:28:10.853] removed <- setdiff(old_names, names) [17:28:10.853] changed <- common[...future.oldEnvVars[common] != [17:28:10.853] envs[common]] [17:28:10.853] NAMES <- toupper(changed) [17:28:10.853] args <- list() [17:28:10.853] for (kk in seq_along(NAMES)) { [17:28:10.853] name <- changed[[kk]] [17:28:10.853] NAME <- NAMES[[kk]] [17:28:10.853] if (name != NAME && is.element(NAME, old_names)) [17:28:10.853] next [17:28:10.853] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.853] } [17:28:10.853] NAMES <- toupper(added) [17:28:10.853] for (kk in seq_along(NAMES)) { [17:28:10.853] name <- added[[kk]] [17:28:10.853] NAME <- NAMES[[kk]] [17:28:10.853] if (name != NAME && is.element(NAME, old_names)) [17:28:10.853] next [17:28:10.853] args[[name]] <- "" [17:28:10.853] } [17:28:10.853] NAMES <- toupper(removed) [17:28:10.853] for (kk in seq_along(NAMES)) { [17:28:10.853] name <- removed[[kk]] [17:28:10.853] NAME <- NAMES[[kk]] [17:28:10.853] if (name != NAME && is.element(NAME, old_names)) [17:28:10.853] next [17:28:10.853] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.853] } [17:28:10.853] if (length(args) > 0) [17:28:10.853] base::do.call(base::Sys.setenv, args = args) [17:28:10.853] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.853] } [17:28:10.853] { [17:28:10.853] if (base::length(...future.futureOptionsAdded) > [17:28:10.853] 0L) { [17:28:10.853] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.853] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.853] base::options(opts) [17:28:10.853] } [17:28:10.853] { [17:28:10.853] { [17:28:10.853] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.853] NULL [17:28:10.853] } [17:28:10.853] options(future.plan = NULL) [17:28:10.853] if (is.na(NA_character_)) [17:28:10.853] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.853] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.853] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.853] .init = FALSE) [17:28:10.853] } [17:28:10.853] } [17:28:10.853] } [17:28:10.853] }) [17:28:10.853] if (TRUE) { [17:28:10.853] base::sink(type = "output", split = FALSE) [17:28:10.853] if (TRUE) { [17:28:10.853] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.853] } [17:28:10.853] else { [17:28:10.853] ...future.result["stdout"] <- base::list(NULL) [17:28:10.853] } [17:28:10.853] base::close(...future.stdout) [17:28:10.853] ...future.stdout <- NULL [17:28:10.853] } [17:28:10.853] ...future.result$conditions <- ...future.conditions [17:28:10.853] ...future.result$finished <- base::Sys.time() [17:28:10.853] ...future.result [17:28:10.853] } [17:28:10.873] Exporting 1 global objects (313.84 KiB) to cluster node #1 ... [17:28:10.886] Exporting 'a' (313.64 KiB) to cluster node #1 ... [17:28:10.904] Exporting 'a' (313.64 KiB) to cluster node #1 ... DONE [17:28:10.904] Exporting 1 global objects (313.84 KiB) to cluster node #1 ... DONE [17:28:10.905] MultisessionFuture started [17:28:10.906] - Launch lazy future ... done [17:28:10.906] run() for 'MultisessionFuture' ... done [17:28:10.906] result() for ClusterFuture ... [17:28:10.907] receiveMessageFromWorker() for ClusterFuture ... [17:28:10.907] - Validating connection of MultisessionFuture [17:28:10.928] - received message: FutureResult [17:28:10.929] - Received FutureResult [17:28:10.929] - Erased future from FutureRegistry [17:28:10.929] result() for ClusterFuture ... [17:28:10.929] - result already collected: FutureResult [17:28:10.930] result() for ClusterFuture ... done [17:28:10.930] receiveMessageFromWorker() for ClusterFuture ... done [17:28:10.930] result() for ClusterFuture ... done [17:28:10.930] result() for ClusterFuture ... [17:28:10.931] - result already collected: FutureResult [17:28:10.931] result() for ClusterFuture ... done value(b) = 2 [17:28:10.931] result() for ClusterFuture ... [17:28:10.932] - result already collected: FutureResult [17:28:10.932] result() for ClusterFuture ... done [17:28:10.932] result() for ClusterFuture ... [17:28:10.932] - result already collected: FutureResult [17:28:10.933] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.933] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.934] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.935] [17:28:10.935] Searching for globals ... DONE [17:28:10.935] - globals: [0] [17:28:10.936] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:10.936] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:10.937] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:10.938] - globals found: [3] '+', 'value', 'a' [17:28:10.939] Searching for globals ... DONE [17:28:10.939] Resolving globals: TRUE [17:28:10.939] Resolving any globals that are futures ... [17:28:10.940] - globals: [3] '+', 'value', 'a' [17:28:10.940] Resolving any globals that are futures ... DONE [17:28:10.940] Resolving futures part of globals (recursively) ... [17:28:10.941] resolve() on list ... [17:28:10.941] recursive: 99 [17:28:10.942] length: 1 [17:28:10.942] elements: 'a' [17:28:10.942] run() for 'Future' ... [17:28:10.942] - state: 'created' [17:28:10.943] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:10.964] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:10.964] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:10.965] - Field: 'node' [17:28:10.965] - Field: 'label' [17:28:10.965] - Field: 'local' [17:28:10.965] - Field: 'owner' [17:28:10.966] - Field: 'envir' [17:28:10.966] - Field: 'workers' [17:28:10.966] - Field: 'packages' [17:28:10.967] - Field: 'gc' [17:28:10.967] - Field: 'conditions' [17:28:10.967] - Field: 'persistent' [17:28:10.967] - Field: 'expr' [17:28:10.968] - Field: 'uuid' [17:28:10.968] - Field: 'seed' [17:28:10.968] - Field: 'version' [17:28:10.968] - Field: 'result' [17:28:10.969] - Field: 'asynchronous' [17:28:10.969] - Field: 'calls' [17:28:10.969] - Field: 'globals' [17:28:10.970] - Field: 'stdout' [17:28:10.970] - Field: 'earlySignal' [17:28:10.970] - Field: 'lazy' [17:28:10.970] - Field: 'state' [17:28:10.971] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:10.971] - Launch lazy future ... [17:28:10.972] Packages needed by the future expression (n = 0): [17:28:10.972] Packages needed by future strategies (n = 0): [17:28:10.973] { [17:28:10.973] { [17:28:10.973] { [17:28:10.973] ...future.startTime <- base::Sys.time() [17:28:10.973] { [17:28:10.973] { [17:28:10.973] { [17:28:10.973] { [17:28:10.973] base::local({ [17:28:10.973] has_future <- base::requireNamespace("future", [17:28:10.973] quietly = TRUE) [17:28:10.973] if (has_future) { [17:28:10.973] ns <- base::getNamespace("future") [17:28:10.973] version <- ns[[".package"]][["version"]] [17:28:10.973] if (is.null(version)) [17:28:10.973] version <- utils::packageVersion("future") [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] version <- NULL [17:28:10.973] } [17:28:10.973] if (!has_future || version < "1.8.0") { [17:28:10.973] info <- base::c(r_version = base::gsub("R version ", [17:28:10.973] "", base::R.version$version.string), [17:28:10.973] platform = base::sprintf("%s (%s-bit)", [17:28:10.973] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:10.973] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:10.973] "release", "version")], collapse = " "), [17:28:10.973] hostname = base::Sys.info()[["nodename"]]) [17:28:10.973] info <- base::sprintf("%s: %s", base::names(info), [17:28:10.973] info) [17:28:10.973] info <- base::paste(info, collapse = "; ") [17:28:10.973] if (!has_future) { [17:28:10.973] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:10.973] info) [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:10.973] info, version) [17:28:10.973] } [17:28:10.973] base::stop(msg) [17:28:10.973] } [17:28:10.973] }) [17:28:10.973] } [17:28:10.973] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:10.973] base::options(mc.cores = 1L) [17:28:10.973] } [17:28:10.973] ...future.strategy.old <- future::plan("list") [17:28:10.973] options(future.plan = NULL) [17:28:10.973] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.973] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:10.973] } [17:28:10.973] ...future.workdir <- getwd() [17:28:10.973] } [17:28:10.973] ...future.oldOptions <- base::as.list(base::.Options) [17:28:10.973] ...future.oldEnvVars <- base::Sys.getenv() [17:28:10.973] } [17:28:10.973] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:10.973] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:10.973] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:10.973] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:10.973] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:10.973] future.stdout.windows.reencode = NULL, width = 80L) [17:28:10.973] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:10.973] base::names(...future.oldOptions)) [17:28:10.973] } [17:28:10.973] if (FALSE) { [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] if (TRUE) { [17:28:10.973] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:10.973] open = "w") [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:10.973] windows = "NUL", "/dev/null"), open = "w") [17:28:10.973] } [17:28:10.973] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:10.973] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:10.973] base::sink(type = "output", split = FALSE) [17:28:10.973] base::close(...future.stdout) [17:28:10.973] }, add = TRUE) [17:28:10.973] } [17:28:10.973] ...future.frame <- base::sys.nframe() [17:28:10.973] ...future.conditions <- base::list() [17:28:10.973] ...future.rng <- base::globalenv()$.Random.seed [17:28:10.973] if (FALSE) { [17:28:10.973] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:10.973] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:10.973] } [17:28:10.973] ...future.result <- base::tryCatch({ [17:28:10.973] base::withCallingHandlers({ [17:28:10.973] ...future.value <- base::withVisible(base::local({ [17:28:10.973] ...future.makeSendCondition <- base::local({ [17:28:10.973] sendCondition <- NULL [17:28:10.973] function(frame = 1L) { [17:28:10.973] if (is.function(sendCondition)) [17:28:10.973] return(sendCondition) [17:28:10.973] ns <- getNamespace("parallel") [17:28:10.973] if (exists("sendData", mode = "function", [17:28:10.973] envir = ns)) { [17:28:10.973] parallel_sendData <- get("sendData", mode = "function", [17:28:10.973] envir = ns) [17:28:10.973] envir <- sys.frame(frame) [17:28:10.973] master <- NULL [17:28:10.973] while (!identical(envir, .GlobalEnv) && [17:28:10.973] !identical(envir, emptyenv())) { [17:28:10.973] if (exists("master", mode = "list", envir = envir, [17:28:10.973] inherits = FALSE)) { [17:28:10.973] master <- get("master", mode = "list", [17:28:10.973] envir = envir, inherits = FALSE) [17:28:10.973] if (inherits(master, c("SOCKnode", [17:28:10.973] "SOCK0node"))) { [17:28:10.973] sendCondition <<- function(cond) { [17:28:10.973] data <- list(type = "VALUE", value = cond, [17:28:10.973] success = TRUE) [17:28:10.973] parallel_sendData(master, data) [17:28:10.973] } [17:28:10.973] return(sendCondition) [17:28:10.973] } [17:28:10.973] } [17:28:10.973] frame <- frame + 1L [17:28:10.973] envir <- sys.frame(frame) [17:28:10.973] } [17:28:10.973] } [17:28:10.973] sendCondition <<- function(cond) NULL [17:28:10.973] } [17:28:10.973] }) [17:28:10.973] withCallingHandlers({ [17:28:10.973] 1 [17:28:10.973] }, immediateCondition = function(cond) { [17:28:10.973] sendCondition <- ...future.makeSendCondition() [17:28:10.973] sendCondition(cond) [17:28:10.973] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.973] { [17:28:10.973] inherits <- base::inherits [17:28:10.973] invokeRestart <- base::invokeRestart [17:28:10.973] is.null <- base::is.null [17:28:10.973] muffled <- FALSE [17:28:10.973] if (inherits(cond, "message")) { [17:28:10.973] muffled <- grepl(pattern, "muffleMessage") [17:28:10.973] if (muffled) [17:28:10.973] invokeRestart("muffleMessage") [17:28:10.973] } [17:28:10.973] else if (inherits(cond, "warning")) { [17:28:10.973] muffled <- grepl(pattern, "muffleWarning") [17:28:10.973] if (muffled) [17:28:10.973] invokeRestart("muffleWarning") [17:28:10.973] } [17:28:10.973] else if (inherits(cond, "condition")) { [17:28:10.973] if (!is.null(pattern)) { [17:28:10.973] computeRestarts <- base::computeRestarts [17:28:10.973] grepl <- base::grepl [17:28:10.973] restarts <- computeRestarts(cond) [17:28:10.973] for (restart in restarts) { [17:28:10.973] name <- restart$name [17:28:10.973] if (is.null(name)) [17:28:10.973] next [17:28:10.973] if (!grepl(pattern, name)) [17:28:10.973] next [17:28:10.973] invokeRestart(restart) [17:28:10.973] muffled <- TRUE [17:28:10.973] break [17:28:10.973] } [17:28:10.973] } [17:28:10.973] } [17:28:10.973] invisible(muffled) [17:28:10.973] } [17:28:10.973] muffleCondition(cond) [17:28:10.973] }) [17:28:10.973] })) [17:28:10.973] future::FutureResult(value = ...future.value$value, [17:28:10.973] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.973] ...future.rng), globalenv = if (FALSE) [17:28:10.973] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:10.973] ...future.globalenv.names)) [17:28:10.973] else NULL, started = ...future.startTime, version = "1.8") [17:28:10.973] }, condition = base::local({ [17:28:10.973] c <- base::c [17:28:10.973] inherits <- base::inherits [17:28:10.973] invokeRestart <- base::invokeRestart [17:28:10.973] length <- base::length [17:28:10.973] list <- base::list [17:28:10.973] seq.int <- base::seq.int [17:28:10.973] signalCondition <- base::signalCondition [17:28:10.973] sys.calls <- base::sys.calls [17:28:10.973] `[[` <- base::`[[` [17:28:10.973] `+` <- base::`+` [17:28:10.973] `<<-` <- base::`<<-` [17:28:10.973] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:10.973] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:10.973] 3L)] [17:28:10.973] } [17:28:10.973] function(cond) { [17:28:10.973] is_error <- inherits(cond, "error") [17:28:10.973] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:10.973] NULL) [17:28:10.973] if (is_error) { [17:28:10.973] sessionInformation <- function() { [17:28:10.973] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:10.973] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:10.973] search = base::search(), system = base::Sys.info()) [17:28:10.973] } [17:28:10.973] ...future.conditions[[length(...future.conditions) + [17:28:10.973] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:10.973] cond$call), session = sessionInformation(), [17:28:10.973] timestamp = base::Sys.time(), signaled = 0L) [17:28:10.973] signalCondition(cond) [17:28:10.973] } [17:28:10.973] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:10.973] "immediateCondition"))) { [17:28:10.973] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:10.973] ...future.conditions[[length(...future.conditions) + [17:28:10.973] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:10.973] if (TRUE && !signal) { [17:28:10.973] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.973] { [17:28:10.973] inherits <- base::inherits [17:28:10.973] invokeRestart <- base::invokeRestart [17:28:10.973] is.null <- base::is.null [17:28:10.973] muffled <- FALSE [17:28:10.973] if (inherits(cond, "message")) { [17:28:10.973] muffled <- grepl(pattern, "muffleMessage") [17:28:10.973] if (muffled) [17:28:10.973] invokeRestart("muffleMessage") [17:28:10.973] } [17:28:10.973] else if (inherits(cond, "warning")) { [17:28:10.973] muffled <- grepl(pattern, "muffleWarning") [17:28:10.973] if (muffled) [17:28:10.973] invokeRestart("muffleWarning") [17:28:10.973] } [17:28:10.973] else if (inherits(cond, "condition")) { [17:28:10.973] if (!is.null(pattern)) { [17:28:10.973] computeRestarts <- base::computeRestarts [17:28:10.973] grepl <- base::grepl [17:28:10.973] restarts <- computeRestarts(cond) [17:28:10.973] for (restart in restarts) { [17:28:10.973] name <- restart$name [17:28:10.973] if (is.null(name)) [17:28:10.973] next [17:28:10.973] if (!grepl(pattern, name)) [17:28:10.973] next [17:28:10.973] invokeRestart(restart) [17:28:10.973] muffled <- TRUE [17:28:10.973] break [17:28:10.973] } [17:28:10.973] } [17:28:10.973] } [17:28:10.973] invisible(muffled) [17:28:10.973] } [17:28:10.973] muffleCondition(cond, pattern = "^muffle") [17:28:10.973] } [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] if (TRUE) { [17:28:10.973] muffleCondition <- function (cond, pattern = "^muffle") [17:28:10.973] { [17:28:10.973] inherits <- base::inherits [17:28:10.973] invokeRestart <- base::invokeRestart [17:28:10.973] is.null <- base::is.null [17:28:10.973] muffled <- FALSE [17:28:10.973] if (inherits(cond, "message")) { [17:28:10.973] muffled <- grepl(pattern, "muffleMessage") [17:28:10.973] if (muffled) [17:28:10.973] invokeRestart("muffleMessage") [17:28:10.973] } [17:28:10.973] else if (inherits(cond, "warning")) { [17:28:10.973] muffled <- grepl(pattern, "muffleWarning") [17:28:10.973] if (muffled) [17:28:10.973] invokeRestart("muffleWarning") [17:28:10.973] } [17:28:10.973] else if (inherits(cond, "condition")) { [17:28:10.973] if (!is.null(pattern)) { [17:28:10.973] computeRestarts <- base::computeRestarts [17:28:10.973] grepl <- base::grepl [17:28:10.973] restarts <- computeRestarts(cond) [17:28:10.973] for (restart in restarts) { [17:28:10.973] name <- restart$name [17:28:10.973] if (is.null(name)) [17:28:10.973] next [17:28:10.973] if (!grepl(pattern, name)) [17:28:10.973] next [17:28:10.973] invokeRestart(restart) [17:28:10.973] muffled <- TRUE [17:28:10.973] break [17:28:10.973] } [17:28:10.973] } [17:28:10.973] } [17:28:10.973] invisible(muffled) [17:28:10.973] } [17:28:10.973] muffleCondition(cond, pattern = "^muffle") [17:28:10.973] } [17:28:10.973] } [17:28:10.973] } [17:28:10.973] })) [17:28:10.973] }, error = function(ex) { [17:28:10.973] base::structure(base::list(value = NULL, visible = NULL, [17:28:10.973] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:10.973] ...future.rng), started = ...future.startTime, [17:28:10.973] finished = Sys.time(), session_uuid = NA_character_, [17:28:10.973] version = "1.8"), class = "FutureResult") [17:28:10.973] }, finally = { [17:28:10.973] if (!identical(...future.workdir, getwd())) [17:28:10.973] setwd(...future.workdir) [17:28:10.973] { [17:28:10.973] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:10.973] ...future.oldOptions$nwarnings <- NULL [17:28:10.973] } [17:28:10.973] base::options(...future.oldOptions) [17:28:10.973] if (.Platform$OS.type == "windows") { [17:28:10.973] old_names <- names(...future.oldEnvVars) [17:28:10.973] envs <- base::Sys.getenv() [17:28:10.973] names <- names(envs) [17:28:10.973] common <- intersect(names, old_names) [17:28:10.973] added <- setdiff(names, old_names) [17:28:10.973] removed <- setdiff(old_names, names) [17:28:10.973] changed <- common[...future.oldEnvVars[common] != [17:28:10.973] envs[common]] [17:28:10.973] NAMES <- toupper(changed) [17:28:10.973] args <- list() [17:28:10.973] for (kk in seq_along(NAMES)) { [17:28:10.973] name <- changed[[kk]] [17:28:10.973] NAME <- NAMES[[kk]] [17:28:10.973] if (name != NAME && is.element(NAME, old_names)) [17:28:10.973] next [17:28:10.973] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.973] } [17:28:10.973] NAMES <- toupper(added) [17:28:10.973] for (kk in seq_along(NAMES)) { [17:28:10.973] name <- added[[kk]] [17:28:10.973] NAME <- NAMES[[kk]] [17:28:10.973] if (name != NAME && is.element(NAME, old_names)) [17:28:10.973] next [17:28:10.973] args[[name]] <- "" [17:28:10.973] } [17:28:10.973] NAMES <- toupper(removed) [17:28:10.973] for (kk in seq_along(NAMES)) { [17:28:10.973] name <- removed[[kk]] [17:28:10.973] NAME <- NAMES[[kk]] [17:28:10.973] if (name != NAME && is.element(NAME, old_names)) [17:28:10.973] next [17:28:10.973] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:10.973] } [17:28:10.973] if (length(args) > 0) [17:28:10.973] base::do.call(base::Sys.setenv, args = args) [17:28:10.973] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:10.973] } [17:28:10.973] { [17:28:10.973] if (base::length(...future.futureOptionsAdded) > [17:28:10.973] 0L) { [17:28:10.973] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:10.973] base::names(opts) <- ...future.futureOptionsAdded [17:28:10.973] base::options(opts) [17:28:10.973] } [17:28:10.973] { [17:28:10.973] { [17:28:10.973] base::options(mc.cores = ...future.mc.cores.old) [17:28:10.973] NULL [17:28:10.973] } [17:28:10.973] options(future.plan = NULL) [17:28:10.973] if (is.na(NA_character_)) [17:28:10.973] Sys.unsetenv("R_FUTURE_PLAN") [17:28:10.973] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:10.973] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:10.973] .init = FALSE) [17:28:10.973] } [17:28:10.973] } [17:28:10.973] } [17:28:10.973] }) [17:28:10.973] if (TRUE) { [17:28:10.973] base::sink(type = "output", split = FALSE) [17:28:10.973] if (TRUE) { [17:28:10.973] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:10.973] } [17:28:10.973] else { [17:28:10.973] ...future.result["stdout"] <- base::list(NULL) [17:28:10.973] } [17:28:10.973] base::close(...future.stdout) [17:28:10.973] ...future.stdout <- NULL [17:28:10.973] } [17:28:10.973] ...future.result$conditions <- ...future.conditions [17:28:10.973] ...future.result$finished <- base::Sys.time() [17:28:10.973] ...future.result [17:28:10.973] } [17:28:10.983] MultisessionFuture started [17:28:10.984] - Launch lazy future ... done [17:28:10.984] run() for 'MultisessionFuture' ... done [17:28:11.007] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.008] - Validating connection of MultisessionFuture [17:28:11.008] - received message: FutureResult [17:28:11.009] - Received FutureResult [17:28:11.009] - Erased future from FutureRegistry [17:28:11.009] result() for ClusterFuture ... [17:28:11.010] - result already collected: FutureResult [17:28:11.010] result() for ClusterFuture ... done [17:28:11.010] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.011] Future #1 [17:28:11.011] result() for ClusterFuture ... [17:28:11.011] - result already collected: FutureResult [17:28:11.011] result() for ClusterFuture ... done [17:28:11.012] result() for ClusterFuture ... [17:28:11.012] - result already collected: FutureResult [17:28:11.012] result() for ClusterFuture ... done [17:28:11.013] A MultisessionFuture was resolved [17:28:11.013] length: 0 (resolved future 1) [17:28:11.013] resolve() on list ... DONE [17:28:11.014] - globals: [1] 'a' [17:28:11.014] Resolving futures part of globals (recursively) ... DONE [17:28:11.028] The total size of the 1 globals is 313.66 KiB (321184 bytes) [17:28:11.029] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.66 KiB of class 'environment') [17:28:11.029] - globals: [1] 'a' [17:28:11.029] - packages: [1] 'future' [17:28:11.030] getGlobalsAndPackages() ... DONE [17:28:11.030] run() for 'Future' ... [17:28:11.031] - state: 'created' [17:28:11.031] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:11.050] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:11.051] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:11.051] - Field: 'node' [17:28:11.051] - Field: 'label' [17:28:11.052] - Field: 'local' [17:28:11.052] - Field: 'owner' [17:28:11.052] - Field: 'envir' [17:28:11.053] - Field: 'workers' [17:28:11.053] - Field: 'packages' [17:28:11.053] - Field: 'gc' [17:28:11.054] - Field: 'conditions' [17:28:11.054] - Field: 'persistent' [17:28:11.054] - Field: 'expr' [17:28:11.055] - Field: 'uuid' [17:28:11.055] - Field: 'seed' [17:28:11.055] - Field: 'version' [17:28:11.056] - Field: 'result' [17:28:11.056] - Field: 'asynchronous' [17:28:11.056] - Field: 'calls' [17:28:11.056] - Field: 'globals' [17:28:11.057] - Field: 'stdout' [17:28:11.057] - Field: 'earlySignal' [17:28:11.057] - Field: 'lazy' [17:28:11.058] - Field: 'state' [17:28:11.058] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:11.058] - Launch lazy future ... [17:28:11.059] Packages needed by the future expression (n = 1): 'future' [17:28:11.059] Packages needed by future strategies (n = 0): [17:28:11.060] { [17:28:11.060] { [17:28:11.060] { [17:28:11.060] ...future.startTime <- base::Sys.time() [17:28:11.060] { [17:28:11.060] { [17:28:11.060] { [17:28:11.060] { [17:28:11.060] { [17:28:11.060] base::local({ [17:28:11.060] has_future <- base::requireNamespace("future", [17:28:11.060] quietly = TRUE) [17:28:11.060] if (has_future) { [17:28:11.060] ns <- base::getNamespace("future") [17:28:11.060] version <- ns[[".package"]][["version"]] [17:28:11.060] if (is.null(version)) [17:28:11.060] version <- utils::packageVersion("future") [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] version <- NULL [17:28:11.060] } [17:28:11.060] if (!has_future || version < "1.8.0") { [17:28:11.060] info <- base::c(r_version = base::gsub("R version ", [17:28:11.060] "", base::R.version$version.string), [17:28:11.060] platform = base::sprintf("%s (%s-bit)", [17:28:11.060] base::R.version$platform, 8 * [17:28:11.060] base::.Machine$sizeof.pointer), [17:28:11.060] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.060] "release", "version")], collapse = " "), [17:28:11.060] hostname = base::Sys.info()[["nodename"]]) [17:28:11.060] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.060] info) [17:28:11.060] info <- base::paste(info, collapse = "; ") [17:28:11.060] if (!has_future) { [17:28:11.060] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.060] info) [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.060] info, version) [17:28:11.060] } [17:28:11.060] base::stop(msg) [17:28:11.060] } [17:28:11.060] }) [17:28:11.060] } [17:28:11.060] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:11.060] base::options(mc.cores = 1L) [17:28:11.060] } [17:28:11.060] base::local({ [17:28:11.060] for (pkg in "future") { [17:28:11.060] base::loadNamespace(pkg) [17:28:11.060] base::library(pkg, character.only = TRUE) [17:28:11.060] } [17:28:11.060] }) [17:28:11.060] } [17:28:11.060] ...future.strategy.old <- future::plan("list") [17:28:11.060] options(future.plan = NULL) [17:28:11.060] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.060] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.060] } [17:28:11.060] ...future.workdir <- getwd() [17:28:11.060] } [17:28:11.060] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.060] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.060] } [17:28:11.060] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.060] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.060] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.060] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.060] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.060] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.060] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.060] base::names(...future.oldOptions)) [17:28:11.060] } [17:28:11.060] if (FALSE) { [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] if (TRUE) { [17:28:11.060] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.060] open = "w") [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.060] windows = "NUL", "/dev/null"), open = "w") [17:28:11.060] } [17:28:11.060] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.060] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.060] base::sink(type = "output", split = FALSE) [17:28:11.060] base::close(...future.stdout) [17:28:11.060] }, add = TRUE) [17:28:11.060] } [17:28:11.060] ...future.frame <- base::sys.nframe() [17:28:11.060] ...future.conditions <- base::list() [17:28:11.060] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.060] if (FALSE) { [17:28:11.060] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.060] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.060] } [17:28:11.060] ...future.result <- base::tryCatch({ [17:28:11.060] base::withCallingHandlers({ [17:28:11.060] ...future.value <- base::withVisible(base::local({ [17:28:11.060] ...future.makeSendCondition <- base::local({ [17:28:11.060] sendCondition <- NULL [17:28:11.060] function(frame = 1L) { [17:28:11.060] if (is.function(sendCondition)) [17:28:11.060] return(sendCondition) [17:28:11.060] ns <- getNamespace("parallel") [17:28:11.060] if (exists("sendData", mode = "function", [17:28:11.060] envir = ns)) { [17:28:11.060] parallel_sendData <- get("sendData", mode = "function", [17:28:11.060] envir = ns) [17:28:11.060] envir <- sys.frame(frame) [17:28:11.060] master <- NULL [17:28:11.060] while (!identical(envir, .GlobalEnv) && [17:28:11.060] !identical(envir, emptyenv())) { [17:28:11.060] if (exists("master", mode = "list", envir = envir, [17:28:11.060] inherits = FALSE)) { [17:28:11.060] master <- get("master", mode = "list", [17:28:11.060] envir = envir, inherits = FALSE) [17:28:11.060] if (inherits(master, c("SOCKnode", [17:28:11.060] "SOCK0node"))) { [17:28:11.060] sendCondition <<- function(cond) { [17:28:11.060] data <- list(type = "VALUE", value = cond, [17:28:11.060] success = TRUE) [17:28:11.060] parallel_sendData(master, data) [17:28:11.060] } [17:28:11.060] return(sendCondition) [17:28:11.060] } [17:28:11.060] } [17:28:11.060] frame <- frame + 1L [17:28:11.060] envir <- sys.frame(frame) [17:28:11.060] } [17:28:11.060] } [17:28:11.060] sendCondition <<- function(cond) NULL [17:28:11.060] } [17:28:11.060] }) [17:28:11.060] withCallingHandlers({ [17:28:11.060] value(a) + 1 [17:28:11.060] }, immediateCondition = function(cond) { [17:28:11.060] sendCondition <- ...future.makeSendCondition() [17:28:11.060] sendCondition(cond) [17:28:11.060] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.060] { [17:28:11.060] inherits <- base::inherits [17:28:11.060] invokeRestart <- base::invokeRestart [17:28:11.060] is.null <- base::is.null [17:28:11.060] muffled <- FALSE [17:28:11.060] if (inherits(cond, "message")) { [17:28:11.060] muffled <- grepl(pattern, "muffleMessage") [17:28:11.060] if (muffled) [17:28:11.060] invokeRestart("muffleMessage") [17:28:11.060] } [17:28:11.060] else if (inherits(cond, "warning")) { [17:28:11.060] muffled <- grepl(pattern, "muffleWarning") [17:28:11.060] if (muffled) [17:28:11.060] invokeRestart("muffleWarning") [17:28:11.060] } [17:28:11.060] else if (inherits(cond, "condition")) { [17:28:11.060] if (!is.null(pattern)) { [17:28:11.060] computeRestarts <- base::computeRestarts [17:28:11.060] grepl <- base::grepl [17:28:11.060] restarts <- computeRestarts(cond) [17:28:11.060] for (restart in restarts) { [17:28:11.060] name <- restart$name [17:28:11.060] if (is.null(name)) [17:28:11.060] next [17:28:11.060] if (!grepl(pattern, name)) [17:28:11.060] next [17:28:11.060] invokeRestart(restart) [17:28:11.060] muffled <- TRUE [17:28:11.060] break [17:28:11.060] } [17:28:11.060] } [17:28:11.060] } [17:28:11.060] invisible(muffled) [17:28:11.060] } [17:28:11.060] muffleCondition(cond) [17:28:11.060] }) [17:28:11.060] })) [17:28:11.060] future::FutureResult(value = ...future.value$value, [17:28:11.060] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.060] ...future.rng), globalenv = if (FALSE) [17:28:11.060] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.060] ...future.globalenv.names)) [17:28:11.060] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.060] }, condition = base::local({ [17:28:11.060] c <- base::c [17:28:11.060] inherits <- base::inherits [17:28:11.060] invokeRestart <- base::invokeRestart [17:28:11.060] length <- base::length [17:28:11.060] list <- base::list [17:28:11.060] seq.int <- base::seq.int [17:28:11.060] signalCondition <- base::signalCondition [17:28:11.060] sys.calls <- base::sys.calls [17:28:11.060] `[[` <- base::`[[` [17:28:11.060] `+` <- base::`+` [17:28:11.060] `<<-` <- base::`<<-` [17:28:11.060] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.060] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.060] 3L)] [17:28:11.060] } [17:28:11.060] function(cond) { [17:28:11.060] is_error <- inherits(cond, "error") [17:28:11.060] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.060] NULL) [17:28:11.060] if (is_error) { [17:28:11.060] sessionInformation <- function() { [17:28:11.060] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.060] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.060] search = base::search(), system = base::Sys.info()) [17:28:11.060] } [17:28:11.060] ...future.conditions[[length(...future.conditions) + [17:28:11.060] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.060] cond$call), session = sessionInformation(), [17:28:11.060] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.060] signalCondition(cond) [17:28:11.060] } [17:28:11.060] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.060] "immediateCondition"))) { [17:28:11.060] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.060] ...future.conditions[[length(...future.conditions) + [17:28:11.060] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.060] if (TRUE && !signal) { [17:28:11.060] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.060] { [17:28:11.060] inherits <- base::inherits [17:28:11.060] invokeRestart <- base::invokeRestart [17:28:11.060] is.null <- base::is.null [17:28:11.060] muffled <- FALSE [17:28:11.060] if (inherits(cond, "message")) { [17:28:11.060] muffled <- grepl(pattern, "muffleMessage") [17:28:11.060] if (muffled) [17:28:11.060] invokeRestart("muffleMessage") [17:28:11.060] } [17:28:11.060] else if (inherits(cond, "warning")) { [17:28:11.060] muffled <- grepl(pattern, "muffleWarning") [17:28:11.060] if (muffled) [17:28:11.060] invokeRestart("muffleWarning") [17:28:11.060] } [17:28:11.060] else if (inherits(cond, "condition")) { [17:28:11.060] if (!is.null(pattern)) { [17:28:11.060] computeRestarts <- base::computeRestarts [17:28:11.060] grepl <- base::grepl [17:28:11.060] restarts <- computeRestarts(cond) [17:28:11.060] for (restart in restarts) { [17:28:11.060] name <- restart$name [17:28:11.060] if (is.null(name)) [17:28:11.060] next [17:28:11.060] if (!grepl(pattern, name)) [17:28:11.060] next [17:28:11.060] invokeRestart(restart) [17:28:11.060] muffled <- TRUE [17:28:11.060] break [17:28:11.060] } [17:28:11.060] } [17:28:11.060] } [17:28:11.060] invisible(muffled) [17:28:11.060] } [17:28:11.060] muffleCondition(cond, pattern = "^muffle") [17:28:11.060] } [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] if (TRUE) { [17:28:11.060] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.060] { [17:28:11.060] inherits <- base::inherits [17:28:11.060] invokeRestart <- base::invokeRestart [17:28:11.060] is.null <- base::is.null [17:28:11.060] muffled <- FALSE [17:28:11.060] if (inherits(cond, "message")) { [17:28:11.060] muffled <- grepl(pattern, "muffleMessage") [17:28:11.060] if (muffled) [17:28:11.060] invokeRestart("muffleMessage") [17:28:11.060] } [17:28:11.060] else if (inherits(cond, "warning")) { [17:28:11.060] muffled <- grepl(pattern, "muffleWarning") [17:28:11.060] if (muffled) [17:28:11.060] invokeRestart("muffleWarning") [17:28:11.060] } [17:28:11.060] else if (inherits(cond, "condition")) { [17:28:11.060] if (!is.null(pattern)) { [17:28:11.060] computeRestarts <- base::computeRestarts [17:28:11.060] grepl <- base::grepl [17:28:11.060] restarts <- computeRestarts(cond) [17:28:11.060] for (restart in restarts) { [17:28:11.060] name <- restart$name [17:28:11.060] if (is.null(name)) [17:28:11.060] next [17:28:11.060] if (!grepl(pattern, name)) [17:28:11.060] next [17:28:11.060] invokeRestart(restart) [17:28:11.060] muffled <- TRUE [17:28:11.060] break [17:28:11.060] } [17:28:11.060] } [17:28:11.060] } [17:28:11.060] invisible(muffled) [17:28:11.060] } [17:28:11.060] muffleCondition(cond, pattern = "^muffle") [17:28:11.060] } [17:28:11.060] } [17:28:11.060] } [17:28:11.060] })) [17:28:11.060] }, error = function(ex) { [17:28:11.060] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.060] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.060] ...future.rng), started = ...future.startTime, [17:28:11.060] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.060] version = "1.8"), class = "FutureResult") [17:28:11.060] }, finally = { [17:28:11.060] if (!identical(...future.workdir, getwd())) [17:28:11.060] setwd(...future.workdir) [17:28:11.060] { [17:28:11.060] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.060] ...future.oldOptions$nwarnings <- NULL [17:28:11.060] } [17:28:11.060] base::options(...future.oldOptions) [17:28:11.060] if (.Platform$OS.type == "windows") { [17:28:11.060] old_names <- names(...future.oldEnvVars) [17:28:11.060] envs <- base::Sys.getenv() [17:28:11.060] names <- names(envs) [17:28:11.060] common <- intersect(names, old_names) [17:28:11.060] added <- setdiff(names, old_names) [17:28:11.060] removed <- setdiff(old_names, names) [17:28:11.060] changed <- common[...future.oldEnvVars[common] != [17:28:11.060] envs[common]] [17:28:11.060] NAMES <- toupper(changed) [17:28:11.060] args <- list() [17:28:11.060] for (kk in seq_along(NAMES)) { [17:28:11.060] name <- changed[[kk]] [17:28:11.060] NAME <- NAMES[[kk]] [17:28:11.060] if (name != NAME && is.element(NAME, old_names)) [17:28:11.060] next [17:28:11.060] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.060] } [17:28:11.060] NAMES <- toupper(added) [17:28:11.060] for (kk in seq_along(NAMES)) { [17:28:11.060] name <- added[[kk]] [17:28:11.060] NAME <- NAMES[[kk]] [17:28:11.060] if (name != NAME && is.element(NAME, old_names)) [17:28:11.060] next [17:28:11.060] args[[name]] <- "" [17:28:11.060] } [17:28:11.060] NAMES <- toupper(removed) [17:28:11.060] for (kk in seq_along(NAMES)) { [17:28:11.060] name <- removed[[kk]] [17:28:11.060] NAME <- NAMES[[kk]] [17:28:11.060] if (name != NAME && is.element(NAME, old_names)) [17:28:11.060] next [17:28:11.060] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.060] } [17:28:11.060] if (length(args) > 0) [17:28:11.060] base::do.call(base::Sys.setenv, args = args) [17:28:11.060] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.060] } [17:28:11.060] { [17:28:11.060] if (base::length(...future.futureOptionsAdded) > [17:28:11.060] 0L) { [17:28:11.060] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.060] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.060] base::options(opts) [17:28:11.060] } [17:28:11.060] { [17:28:11.060] { [17:28:11.060] base::options(mc.cores = ...future.mc.cores.old) [17:28:11.060] NULL [17:28:11.060] } [17:28:11.060] options(future.plan = NULL) [17:28:11.060] if (is.na(NA_character_)) [17:28:11.060] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.060] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.060] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.060] .init = FALSE) [17:28:11.060] } [17:28:11.060] } [17:28:11.060] } [17:28:11.060] }) [17:28:11.060] if (TRUE) { [17:28:11.060] base::sink(type = "output", split = FALSE) [17:28:11.060] if (TRUE) { [17:28:11.060] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.060] } [17:28:11.060] else { [17:28:11.060] ...future.result["stdout"] <- base::list(NULL) [17:28:11.060] } [17:28:11.060] base::close(...future.stdout) [17:28:11.060] ...future.stdout <- NULL [17:28:11.060] } [17:28:11.060] ...future.result$conditions <- ...future.conditions [17:28:11.060] ...future.result$finished <- base::Sys.time() [17:28:11.060] ...future.result [17:28:11.060] } [17:28:11.081] Exporting 1 global objects (313.86 KiB) to cluster node #1 ... [17:28:11.095] Exporting 'a' (313.66 KiB) to cluster node #1 ... [17:28:11.111] Exporting 'a' (313.66 KiB) to cluster node #1 ... DONE [17:28:11.112] Exporting 1 global objects (313.86 KiB) to cluster node #1 ... DONE [17:28:11.113] MultisessionFuture started [17:28:11.113] - Launch lazy future ... done [17:28:11.113] run() for 'MultisessionFuture' ... done [17:28:11.114] result() for ClusterFuture ... [17:28:11.114] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.114] - Validating connection of MultisessionFuture [17:28:11.142] - received message: FutureResult [17:28:11.142] - Received FutureResult [17:28:11.143] - Erased future from FutureRegistry [17:28:11.143] result() for ClusterFuture ... [17:28:11.143] - result already collected: FutureResult [17:28:11.144] result() for ClusterFuture ... done [17:28:11.144] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.144] result() for ClusterFuture ... done [17:28:11.144] result() for ClusterFuture ... [17:28:11.145] - result already collected: FutureResult [17:28:11.145] result() for ClusterFuture ... done value(b) = 2 [17:28:11.145] result() for ClusterFuture ... [17:28:11.146] - result already collected: FutureResult [17:28:11.146] result() for ClusterFuture ... done [17:28:11.146] result() for ClusterFuture ... [17:28:11.146] - result already collected: FutureResult [17:28:11.147] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:11.147] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:11.148] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:11.149] [17:28:11.149] Searching for globals ... DONE [17:28:11.149] - globals: [0] [17:28:11.150] getGlobalsAndPackages() ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:11.150] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:11.151] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:11.152] - globals found: [3] '+', 'value', 'a' [17:28:11.153] Searching for globals ... DONE [17:28:11.153] Resolving globals: TRUE [17:28:11.153] Resolving any globals that are futures ... [17:28:11.153] - globals: [3] '+', 'value', 'a' [17:28:11.154] Resolving any globals that are futures ... DONE [17:28:11.154] Resolving futures part of globals (recursively) ... [17:28:11.155] resolve() on list ... [17:28:11.155] recursive: 99 [17:28:11.155] length: 1 [17:28:11.156] elements: 'a' [17:28:11.156] run() for 'Future' ... [17:28:11.156] - state: 'created' [17:28:11.157] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:11.177] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:11.178] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:11.178] - Field: 'node' [17:28:11.179] - Field: 'label' [17:28:11.179] - Field: 'local' [17:28:11.179] - Field: 'owner' [17:28:11.180] - Field: 'envir' [17:28:11.180] - Field: 'workers' [17:28:11.180] - Field: 'packages' [17:28:11.181] - Field: 'gc' [17:28:11.181] - Field: 'conditions' [17:28:11.181] - Field: 'persistent' [17:28:11.182] - Field: 'expr' [17:28:11.182] - Field: 'uuid' [17:28:11.182] - Field: 'seed' [17:28:11.182] - Field: 'version' [17:28:11.183] - Field: 'result' [17:28:11.183] - Field: 'asynchronous' [17:28:11.183] - Field: 'calls' [17:28:11.184] - Field: 'globals' [17:28:11.184] - Field: 'stdout' [17:28:11.184] - Field: 'earlySignal' [17:28:11.185] - Field: 'lazy' [17:28:11.185] - Field: 'state' [17:28:11.185] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:11.186] - Launch lazy future ... [17:28:11.186] Packages needed by the future expression (n = 0): [17:28:11.187] Packages needed by future strategies (n = 0): [17:28:11.188] { [17:28:11.188] { [17:28:11.188] { [17:28:11.188] ...future.startTime <- base::Sys.time() [17:28:11.188] { [17:28:11.188] { [17:28:11.188] { [17:28:11.188] { [17:28:11.188] base::local({ [17:28:11.188] has_future <- base::requireNamespace("future", [17:28:11.188] quietly = TRUE) [17:28:11.188] if (has_future) { [17:28:11.188] ns <- base::getNamespace("future") [17:28:11.188] version <- ns[[".package"]][["version"]] [17:28:11.188] if (is.null(version)) [17:28:11.188] version <- utils::packageVersion("future") [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] version <- NULL [17:28:11.188] } [17:28:11.188] if (!has_future || version < "1.8.0") { [17:28:11.188] info <- base::c(r_version = base::gsub("R version ", [17:28:11.188] "", base::R.version$version.string), [17:28:11.188] platform = base::sprintf("%s (%s-bit)", [17:28:11.188] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:11.188] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.188] "release", "version")], collapse = " "), [17:28:11.188] hostname = base::Sys.info()[["nodename"]]) [17:28:11.188] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.188] info) [17:28:11.188] info <- base::paste(info, collapse = "; ") [17:28:11.188] if (!has_future) { [17:28:11.188] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.188] info) [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.188] info, version) [17:28:11.188] } [17:28:11.188] base::stop(msg) [17:28:11.188] } [17:28:11.188] }) [17:28:11.188] } [17:28:11.188] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:11.188] base::options(mc.cores = 1L) [17:28:11.188] } [17:28:11.188] ...future.strategy.old <- future::plan("list") [17:28:11.188] options(future.plan = NULL) [17:28:11.188] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.188] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.188] } [17:28:11.188] ...future.workdir <- getwd() [17:28:11.188] } [17:28:11.188] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.188] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.188] } [17:28:11.188] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.188] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.188] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.188] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.188] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.188] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.188] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.188] base::names(...future.oldOptions)) [17:28:11.188] } [17:28:11.188] if (FALSE) { [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] if (TRUE) { [17:28:11.188] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.188] open = "w") [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.188] windows = "NUL", "/dev/null"), open = "w") [17:28:11.188] } [17:28:11.188] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.188] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.188] base::sink(type = "output", split = FALSE) [17:28:11.188] base::close(...future.stdout) [17:28:11.188] }, add = TRUE) [17:28:11.188] } [17:28:11.188] ...future.frame <- base::sys.nframe() [17:28:11.188] ...future.conditions <- base::list() [17:28:11.188] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.188] if (FALSE) { [17:28:11.188] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.188] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.188] } [17:28:11.188] ...future.result <- base::tryCatch({ [17:28:11.188] base::withCallingHandlers({ [17:28:11.188] ...future.value <- base::withVisible(base::local({ [17:28:11.188] ...future.makeSendCondition <- base::local({ [17:28:11.188] sendCondition <- NULL [17:28:11.188] function(frame = 1L) { [17:28:11.188] if (is.function(sendCondition)) [17:28:11.188] return(sendCondition) [17:28:11.188] ns <- getNamespace("parallel") [17:28:11.188] if (exists("sendData", mode = "function", [17:28:11.188] envir = ns)) { [17:28:11.188] parallel_sendData <- get("sendData", mode = "function", [17:28:11.188] envir = ns) [17:28:11.188] envir <- sys.frame(frame) [17:28:11.188] master <- NULL [17:28:11.188] while (!identical(envir, .GlobalEnv) && [17:28:11.188] !identical(envir, emptyenv())) { [17:28:11.188] if (exists("master", mode = "list", envir = envir, [17:28:11.188] inherits = FALSE)) { [17:28:11.188] master <- get("master", mode = "list", [17:28:11.188] envir = envir, inherits = FALSE) [17:28:11.188] if (inherits(master, c("SOCKnode", [17:28:11.188] "SOCK0node"))) { [17:28:11.188] sendCondition <<- function(cond) { [17:28:11.188] data <- list(type = "VALUE", value = cond, [17:28:11.188] success = TRUE) [17:28:11.188] parallel_sendData(master, data) [17:28:11.188] } [17:28:11.188] return(sendCondition) [17:28:11.188] } [17:28:11.188] } [17:28:11.188] frame <- frame + 1L [17:28:11.188] envir <- sys.frame(frame) [17:28:11.188] } [17:28:11.188] } [17:28:11.188] sendCondition <<- function(cond) NULL [17:28:11.188] } [17:28:11.188] }) [17:28:11.188] withCallingHandlers({ [17:28:11.188] 1 [17:28:11.188] }, immediateCondition = function(cond) { [17:28:11.188] sendCondition <- ...future.makeSendCondition() [17:28:11.188] sendCondition(cond) [17:28:11.188] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.188] { [17:28:11.188] inherits <- base::inherits [17:28:11.188] invokeRestart <- base::invokeRestart [17:28:11.188] is.null <- base::is.null [17:28:11.188] muffled <- FALSE [17:28:11.188] if (inherits(cond, "message")) { [17:28:11.188] muffled <- grepl(pattern, "muffleMessage") [17:28:11.188] if (muffled) [17:28:11.188] invokeRestart("muffleMessage") [17:28:11.188] } [17:28:11.188] else if (inherits(cond, "warning")) { [17:28:11.188] muffled <- grepl(pattern, "muffleWarning") [17:28:11.188] if (muffled) [17:28:11.188] invokeRestart("muffleWarning") [17:28:11.188] } [17:28:11.188] else if (inherits(cond, "condition")) { [17:28:11.188] if (!is.null(pattern)) { [17:28:11.188] computeRestarts <- base::computeRestarts [17:28:11.188] grepl <- base::grepl [17:28:11.188] restarts <- computeRestarts(cond) [17:28:11.188] for (restart in restarts) { [17:28:11.188] name <- restart$name [17:28:11.188] if (is.null(name)) [17:28:11.188] next [17:28:11.188] if (!grepl(pattern, name)) [17:28:11.188] next [17:28:11.188] invokeRestart(restart) [17:28:11.188] muffled <- TRUE [17:28:11.188] break [17:28:11.188] } [17:28:11.188] } [17:28:11.188] } [17:28:11.188] invisible(muffled) [17:28:11.188] } [17:28:11.188] muffleCondition(cond) [17:28:11.188] }) [17:28:11.188] })) [17:28:11.188] future::FutureResult(value = ...future.value$value, [17:28:11.188] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.188] ...future.rng), globalenv = if (FALSE) [17:28:11.188] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.188] ...future.globalenv.names)) [17:28:11.188] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.188] }, condition = base::local({ [17:28:11.188] c <- base::c [17:28:11.188] inherits <- base::inherits [17:28:11.188] invokeRestart <- base::invokeRestart [17:28:11.188] length <- base::length [17:28:11.188] list <- base::list [17:28:11.188] seq.int <- base::seq.int [17:28:11.188] signalCondition <- base::signalCondition [17:28:11.188] sys.calls <- base::sys.calls [17:28:11.188] `[[` <- base::`[[` [17:28:11.188] `+` <- base::`+` [17:28:11.188] `<<-` <- base::`<<-` [17:28:11.188] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.188] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.188] 3L)] [17:28:11.188] } [17:28:11.188] function(cond) { [17:28:11.188] is_error <- inherits(cond, "error") [17:28:11.188] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.188] NULL) [17:28:11.188] if (is_error) { [17:28:11.188] sessionInformation <- function() { [17:28:11.188] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.188] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.188] search = base::search(), system = base::Sys.info()) [17:28:11.188] } [17:28:11.188] ...future.conditions[[length(...future.conditions) + [17:28:11.188] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.188] cond$call), session = sessionInformation(), [17:28:11.188] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.188] signalCondition(cond) [17:28:11.188] } [17:28:11.188] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.188] "immediateCondition"))) { [17:28:11.188] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.188] ...future.conditions[[length(...future.conditions) + [17:28:11.188] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.188] if (TRUE && !signal) { [17:28:11.188] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.188] { [17:28:11.188] inherits <- base::inherits [17:28:11.188] invokeRestart <- base::invokeRestart [17:28:11.188] is.null <- base::is.null [17:28:11.188] muffled <- FALSE [17:28:11.188] if (inherits(cond, "message")) { [17:28:11.188] muffled <- grepl(pattern, "muffleMessage") [17:28:11.188] if (muffled) [17:28:11.188] invokeRestart("muffleMessage") [17:28:11.188] } [17:28:11.188] else if (inherits(cond, "warning")) { [17:28:11.188] muffled <- grepl(pattern, "muffleWarning") [17:28:11.188] if (muffled) [17:28:11.188] invokeRestart("muffleWarning") [17:28:11.188] } [17:28:11.188] else if (inherits(cond, "condition")) { [17:28:11.188] if (!is.null(pattern)) { [17:28:11.188] computeRestarts <- base::computeRestarts [17:28:11.188] grepl <- base::grepl [17:28:11.188] restarts <- computeRestarts(cond) [17:28:11.188] for (restart in restarts) { [17:28:11.188] name <- restart$name [17:28:11.188] if (is.null(name)) [17:28:11.188] next [17:28:11.188] if (!grepl(pattern, name)) [17:28:11.188] next [17:28:11.188] invokeRestart(restart) [17:28:11.188] muffled <- TRUE [17:28:11.188] break [17:28:11.188] } [17:28:11.188] } [17:28:11.188] } [17:28:11.188] invisible(muffled) [17:28:11.188] } [17:28:11.188] muffleCondition(cond, pattern = "^muffle") [17:28:11.188] } [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] if (TRUE) { [17:28:11.188] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.188] { [17:28:11.188] inherits <- base::inherits [17:28:11.188] invokeRestart <- base::invokeRestart [17:28:11.188] is.null <- base::is.null [17:28:11.188] muffled <- FALSE [17:28:11.188] if (inherits(cond, "message")) { [17:28:11.188] muffled <- grepl(pattern, "muffleMessage") [17:28:11.188] if (muffled) [17:28:11.188] invokeRestart("muffleMessage") [17:28:11.188] } [17:28:11.188] else if (inherits(cond, "warning")) { [17:28:11.188] muffled <- grepl(pattern, "muffleWarning") [17:28:11.188] if (muffled) [17:28:11.188] invokeRestart("muffleWarning") [17:28:11.188] } [17:28:11.188] else if (inherits(cond, "condition")) { [17:28:11.188] if (!is.null(pattern)) { [17:28:11.188] computeRestarts <- base::computeRestarts [17:28:11.188] grepl <- base::grepl [17:28:11.188] restarts <- computeRestarts(cond) [17:28:11.188] for (restart in restarts) { [17:28:11.188] name <- restart$name [17:28:11.188] if (is.null(name)) [17:28:11.188] next [17:28:11.188] if (!grepl(pattern, name)) [17:28:11.188] next [17:28:11.188] invokeRestart(restart) [17:28:11.188] muffled <- TRUE [17:28:11.188] break [17:28:11.188] } [17:28:11.188] } [17:28:11.188] } [17:28:11.188] invisible(muffled) [17:28:11.188] } [17:28:11.188] muffleCondition(cond, pattern = "^muffle") [17:28:11.188] } [17:28:11.188] } [17:28:11.188] } [17:28:11.188] })) [17:28:11.188] }, error = function(ex) { [17:28:11.188] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.188] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.188] ...future.rng), started = ...future.startTime, [17:28:11.188] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.188] version = "1.8"), class = "FutureResult") [17:28:11.188] }, finally = { [17:28:11.188] if (!identical(...future.workdir, getwd())) [17:28:11.188] setwd(...future.workdir) [17:28:11.188] { [17:28:11.188] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.188] ...future.oldOptions$nwarnings <- NULL [17:28:11.188] } [17:28:11.188] base::options(...future.oldOptions) [17:28:11.188] if (.Platform$OS.type == "windows") { [17:28:11.188] old_names <- names(...future.oldEnvVars) [17:28:11.188] envs <- base::Sys.getenv() [17:28:11.188] names <- names(envs) [17:28:11.188] common <- intersect(names, old_names) [17:28:11.188] added <- setdiff(names, old_names) [17:28:11.188] removed <- setdiff(old_names, names) [17:28:11.188] changed <- common[...future.oldEnvVars[common] != [17:28:11.188] envs[common]] [17:28:11.188] NAMES <- toupper(changed) [17:28:11.188] args <- list() [17:28:11.188] for (kk in seq_along(NAMES)) { [17:28:11.188] name <- changed[[kk]] [17:28:11.188] NAME <- NAMES[[kk]] [17:28:11.188] if (name != NAME && is.element(NAME, old_names)) [17:28:11.188] next [17:28:11.188] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.188] } [17:28:11.188] NAMES <- toupper(added) [17:28:11.188] for (kk in seq_along(NAMES)) { [17:28:11.188] name <- added[[kk]] [17:28:11.188] NAME <- NAMES[[kk]] [17:28:11.188] if (name != NAME && is.element(NAME, old_names)) [17:28:11.188] next [17:28:11.188] args[[name]] <- "" [17:28:11.188] } [17:28:11.188] NAMES <- toupper(removed) [17:28:11.188] for (kk in seq_along(NAMES)) { [17:28:11.188] name <- removed[[kk]] [17:28:11.188] NAME <- NAMES[[kk]] [17:28:11.188] if (name != NAME && is.element(NAME, old_names)) [17:28:11.188] next [17:28:11.188] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.188] } [17:28:11.188] if (length(args) > 0) [17:28:11.188] base::do.call(base::Sys.setenv, args = args) [17:28:11.188] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.188] } [17:28:11.188] { [17:28:11.188] if (base::length(...future.futureOptionsAdded) > [17:28:11.188] 0L) { [17:28:11.188] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.188] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.188] base::options(opts) [17:28:11.188] } [17:28:11.188] { [17:28:11.188] { [17:28:11.188] base::options(mc.cores = ...future.mc.cores.old) [17:28:11.188] NULL [17:28:11.188] } [17:28:11.188] options(future.plan = NULL) [17:28:11.188] if (is.na(NA_character_)) [17:28:11.188] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.188] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.188] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.188] .init = FALSE) [17:28:11.188] } [17:28:11.188] } [17:28:11.188] } [17:28:11.188] }) [17:28:11.188] if (TRUE) { [17:28:11.188] base::sink(type = "output", split = FALSE) [17:28:11.188] if (TRUE) { [17:28:11.188] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.188] } [17:28:11.188] else { [17:28:11.188] ...future.result["stdout"] <- base::list(NULL) [17:28:11.188] } [17:28:11.188] base::close(...future.stdout) [17:28:11.188] ...future.stdout <- NULL [17:28:11.188] } [17:28:11.188] ...future.result$conditions <- ...future.conditions [17:28:11.188] ...future.result$finished <- base::Sys.time() [17:28:11.188] ...future.result [17:28:11.188] } [17:28:11.198] MultisessionFuture started [17:28:11.198] - Launch lazy future ... done [17:28:11.199] run() for 'MultisessionFuture' ... done [17:28:11.225] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.225] - Validating connection of MultisessionFuture [17:28:11.226] - received message: FutureResult [17:28:11.226] - Received FutureResult [17:28:11.226] - Erased future from FutureRegistry [17:28:11.227] result() for ClusterFuture ... [17:28:11.227] - result already collected: FutureResult [17:28:11.227] result() for ClusterFuture ... done [17:28:11.228] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.228] Future #1 [17:28:11.228] result() for ClusterFuture ... [17:28:11.228] - result already collected: FutureResult [17:28:11.229] result() for ClusterFuture ... done [17:28:11.229] result() for ClusterFuture ... [17:28:11.229] - result already collected: FutureResult [17:28:11.229] result() for ClusterFuture ... done [17:28:11.230] A MultisessionFuture was resolved [17:28:11.230] length: 0 (resolved future 1) [17:28:11.230] resolve() on list ... DONE [17:28:11.231] - globals: [1] 'a' [17:28:11.231] Resolving futures part of globals (recursively) ... DONE [17:28:11.245] The total size of the 1 globals is 313.66 KiB (321184 bytes) [17:28:11.246] The total size of the 1 globals exported for future expression ('value(a) + 1') is 313.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (313.66 KiB of class 'environment') [17:28:11.246] - globals: [1] 'a' [17:28:11.247] - packages: [1] 'future' [17:28:11.247] getGlobalsAndPackages() ... DONE [17:28:11.248] run() for 'Future' ... [17:28:11.248] - state: 'created' [17:28:11.249] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:11.268] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:11.268] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:11.269] - Field: 'node' [17:28:11.269] - Field: 'label' [17:28:11.270] - Field: 'local' [17:28:11.270] - Field: 'owner' [17:28:11.270] - Field: 'envir' [17:28:11.271] - Field: 'workers' [17:28:11.271] - Field: 'packages' [17:28:11.271] - Field: 'gc' [17:28:11.272] - Field: 'conditions' [17:28:11.272] - Field: 'persistent' [17:28:11.272] - Field: 'expr' [17:28:11.273] - Field: 'uuid' [17:28:11.273] - Field: 'seed' [17:28:11.273] - Field: 'version' [17:28:11.274] - Field: 'result' [17:28:11.274] - Field: 'asynchronous' [17:28:11.274] - Field: 'calls' [17:28:11.275] - Field: 'globals' [17:28:11.275] - Field: 'stdout' [17:28:11.275] - Field: 'earlySignal' [17:28:11.276] - Field: 'lazy' [17:28:11.276] - Field: 'state' [17:28:11.276] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:11.277] - Launch lazy future ... [17:28:11.277] Packages needed by the future expression (n = 1): 'future' [17:28:11.278] Packages needed by future strategies (n = 0): [17:28:11.279] { [17:28:11.279] { [17:28:11.279] { [17:28:11.279] ...future.startTime <- base::Sys.time() [17:28:11.279] { [17:28:11.279] { [17:28:11.279] { [17:28:11.279] { [17:28:11.279] { [17:28:11.279] base::local({ [17:28:11.279] has_future <- base::requireNamespace("future", [17:28:11.279] quietly = TRUE) [17:28:11.279] if (has_future) { [17:28:11.279] ns <- base::getNamespace("future") [17:28:11.279] version <- ns[[".package"]][["version"]] [17:28:11.279] if (is.null(version)) [17:28:11.279] version <- utils::packageVersion("future") [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] version <- NULL [17:28:11.279] } [17:28:11.279] if (!has_future || version < "1.8.0") { [17:28:11.279] info <- base::c(r_version = base::gsub("R version ", [17:28:11.279] "", base::R.version$version.string), [17:28:11.279] platform = base::sprintf("%s (%s-bit)", [17:28:11.279] base::R.version$platform, 8 * [17:28:11.279] base::.Machine$sizeof.pointer), [17:28:11.279] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.279] "release", "version")], collapse = " "), [17:28:11.279] hostname = base::Sys.info()[["nodename"]]) [17:28:11.279] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.279] info) [17:28:11.279] info <- base::paste(info, collapse = "; ") [17:28:11.279] if (!has_future) { [17:28:11.279] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.279] info) [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.279] info, version) [17:28:11.279] } [17:28:11.279] base::stop(msg) [17:28:11.279] } [17:28:11.279] }) [17:28:11.279] } [17:28:11.279] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:11.279] base::options(mc.cores = 1L) [17:28:11.279] } [17:28:11.279] base::local({ [17:28:11.279] for (pkg in "future") { [17:28:11.279] base::loadNamespace(pkg) [17:28:11.279] base::library(pkg, character.only = TRUE) [17:28:11.279] } [17:28:11.279] }) [17:28:11.279] } [17:28:11.279] ...future.strategy.old <- future::plan("list") [17:28:11.279] options(future.plan = NULL) [17:28:11.279] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.279] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.279] } [17:28:11.279] ...future.workdir <- getwd() [17:28:11.279] } [17:28:11.279] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.279] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.279] } [17:28:11.279] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.279] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.279] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.279] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.279] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.279] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.279] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.279] base::names(...future.oldOptions)) [17:28:11.279] } [17:28:11.279] if (FALSE) { [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] if (TRUE) { [17:28:11.279] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.279] open = "w") [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.279] windows = "NUL", "/dev/null"), open = "w") [17:28:11.279] } [17:28:11.279] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.279] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.279] base::sink(type = "output", split = FALSE) [17:28:11.279] base::close(...future.stdout) [17:28:11.279] }, add = TRUE) [17:28:11.279] } [17:28:11.279] ...future.frame <- base::sys.nframe() [17:28:11.279] ...future.conditions <- base::list() [17:28:11.279] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.279] if (FALSE) { [17:28:11.279] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.279] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.279] } [17:28:11.279] ...future.result <- base::tryCatch({ [17:28:11.279] base::withCallingHandlers({ [17:28:11.279] ...future.value <- base::withVisible(base::local({ [17:28:11.279] ...future.makeSendCondition <- base::local({ [17:28:11.279] sendCondition <- NULL [17:28:11.279] function(frame = 1L) { [17:28:11.279] if (is.function(sendCondition)) [17:28:11.279] return(sendCondition) [17:28:11.279] ns <- getNamespace("parallel") [17:28:11.279] if (exists("sendData", mode = "function", [17:28:11.279] envir = ns)) { [17:28:11.279] parallel_sendData <- get("sendData", mode = "function", [17:28:11.279] envir = ns) [17:28:11.279] envir <- sys.frame(frame) [17:28:11.279] master <- NULL [17:28:11.279] while (!identical(envir, .GlobalEnv) && [17:28:11.279] !identical(envir, emptyenv())) { [17:28:11.279] if (exists("master", mode = "list", envir = envir, [17:28:11.279] inherits = FALSE)) { [17:28:11.279] master <- get("master", mode = "list", [17:28:11.279] envir = envir, inherits = FALSE) [17:28:11.279] if (inherits(master, c("SOCKnode", [17:28:11.279] "SOCK0node"))) { [17:28:11.279] sendCondition <<- function(cond) { [17:28:11.279] data <- list(type = "VALUE", value = cond, [17:28:11.279] success = TRUE) [17:28:11.279] parallel_sendData(master, data) [17:28:11.279] } [17:28:11.279] return(sendCondition) [17:28:11.279] } [17:28:11.279] } [17:28:11.279] frame <- frame + 1L [17:28:11.279] envir <- sys.frame(frame) [17:28:11.279] } [17:28:11.279] } [17:28:11.279] sendCondition <<- function(cond) NULL [17:28:11.279] } [17:28:11.279] }) [17:28:11.279] withCallingHandlers({ [17:28:11.279] value(a) + 1 [17:28:11.279] }, immediateCondition = function(cond) { [17:28:11.279] sendCondition <- ...future.makeSendCondition() [17:28:11.279] sendCondition(cond) [17:28:11.279] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.279] { [17:28:11.279] inherits <- base::inherits [17:28:11.279] invokeRestart <- base::invokeRestart [17:28:11.279] is.null <- base::is.null [17:28:11.279] muffled <- FALSE [17:28:11.279] if (inherits(cond, "message")) { [17:28:11.279] muffled <- grepl(pattern, "muffleMessage") [17:28:11.279] if (muffled) [17:28:11.279] invokeRestart("muffleMessage") [17:28:11.279] } [17:28:11.279] else if (inherits(cond, "warning")) { [17:28:11.279] muffled <- grepl(pattern, "muffleWarning") [17:28:11.279] if (muffled) [17:28:11.279] invokeRestart("muffleWarning") [17:28:11.279] } [17:28:11.279] else if (inherits(cond, "condition")) { [17:28:11.279] if (!is.null(pattern)) { [17:28:11.279] computeRestarts <- base::computeRestarts [17:28:11.279] grepl <- base::grepl [17:28:11.279] restarts <- computeRestarts(cond) [17:28:11.279] for (restart in restarts) { [17:28:11.279] name <- restart$name [17:28:11.279] if (is.null(name)) [17:28:11.279] next [17:28:11.279] if (!grepl(pattern, name)) [17:28:11.279] next [17:28:11.279] invokeRestart(restart) [17:28:11.279] muffled <- TRUE [17:28:11.279] break [17:28:11.279] } [17:28:11.279] } [17:28:11.279] } [17:28:11.279] invisible(muffled) [17:28:11.279] } [17:28:11.279] muffleCondition(cond) [17:28:11.279] }) [17:28:11.279] })) [17:28:11.279] future::FutureResult(value = ...future.value$value, [17:28:11.279] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.279] ...future.rng), globalenv = if (FALSE) [17:28:11.279] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.279] ...future.globalenv.names)) [17:28:11.279] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.279] }, condition = base::local({ [17:28:11.279] c <- base::c [17:28:11.279] inherits <- base::inherits [17:28:11.279] invokeRestart <- base::invokeRestart [17:28:11.279] length <- base::length [17:28:11.279] list <- base::list [17:28:11.279] seq.int <- base::seq.int [17:28:11.279] signalCondition <- base::signalCondition [17:28:11.279] sys.calls <- base::sys.calls [17:28:11.279] `[[` <- base::`[[` [17:28:11.279] `+` <- base::`+` [17:28:11.279] `<<-` <- base::`<<-` [17:28:11.279] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.279] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.279] 3L)] [17:28:11.279] } [17:28:11.279] function(cond) { [17:28:11.279] is_error <- inherits(cond, "error") [17:28:11.279] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.279] NULL) [17:28:11.279] if (is_error) { [17:28:11.279] sessionInformation <- function() { [17:28:11.279] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.279] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.279] search = base::search(), system = base::Sys.info()) [17:28:11.279] } [17:28:11.279] ...future.conditions[[length(...future.conditions) + [17:28:11.279] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.279] cond$call), session = sessionInformation(), [17:28:11.279] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.279] signalCondition(cond) [17:28:11.279] } [17:28:11.279] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.279] "immediateCondition"))) { [17:28:11.279] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.279] ...future.conditions[[length(...future.conditions) + [17:28:11.279] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.279] if (TRUE && !signal) { [17:28:11.279] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.279] { [17:28:11.279] inherits <- base::inherits [17:28:11.279] invokeRestart <- base::invokeRestart [17:28:11.279] is.null <- base::is.null [17:28:11.279] muffled <- FALSE [17:28:11.279] if (inherits(cond, "message")) { [17:28:11.279] muffled <- grepl(pattern, "muffleMessage") [17:28:11.279] if (muffled) [17:28:11.279] invokeRestart("muffleMessage") [17:28:11.279] } [17:28:11.279] else if (inherits(cond, "warning")) { [17:28:11.279] muffled <- grepl(pattern, "muffleWarning") [17:28:11.279] if (muffled) [17:28:11.279] invokeRestart("muffleWarning") [17:28:11.279] } [17:28:11.279] else if (inherits(cond, "condition")) { [17:28:11.279] if (!is.null(pattern)) { [17:28:11.279] computeRestarts <- base::computeRestarts [17:28:11.279] grepl <- base::grepl [17:28:11.279] restarts <- computeRestarts(cond) [17:28:11.279] for (restart in restarts) { [17:28:11.279] name <- restart$name [17:28:11.279] if (is.null(name)) [17:28:11.279] next [17:28:11.279] if (!grepl(pattern, name)) [17:28:11.279] next [17:28:11.279] invokeRestart(restart) [17:28:11.279] muffled <- TRUE [17:28:11.279] break [17:28:11.279] } [17:28:11.279] } [17:28:11.279] } [17:28:11.279] invisible(muffled) [17:28:11.279] } [17:28:11.279] muffleCondition(cond, pattern = "^muffle") [17:28:11.279] } [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] if (TRUE) { [17:28:11.279] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.279] { [17:28:11.279] inherits <- base::inherits [17:28:11.279] invokeRestart <- base::invokeRestart [17:28:11.279] is.null <- base::is.null [17:28:11.279] muffled <- FALSE [17:28:11.279] if (inherits(cond, "message")) { [17:28:11.279] muffled <- grepl(pattern, "muffleMessage") [17:28:11.279] if (muffled) [17:28:11.279] invokeRestart("muffleMessage") [17:28:11.279] } [17:28:11.279] else if (inherits(cond, "warning")) { [17:28:11.279] muffled <- grepl(pattern, "muffleWarning") [17:28:11.279] if (muffled) [17:28:11.279] invokeRestart("muffleWarning") [17:28:11.279] } [17:28:11.279] else if (inherits(cond, "condition")) { [17:28:11.279] if (!is.null(pattern)) { [17:28:11.279] computeRestarts <- base::computeRestarts [17:28:11.279] grepl <- base::grepl [17:28:11.279] restarts <- computeRestarts(cond) [17:28:11.279] for (restart in restarts) { [17:28:11.279] name <- restart$name [17:28:11.279] if (is.null(name)) [17:28:11.279] next [17:28:11.279] if (!grepl(pattern, name)) [17:28:11.279] next [17:28:11.279] invokeRestart(restart) [17:28:11.279] muffled <- TRUE [17:28:11.279] break [17:28:11.279] } [17:28:11.279] } [17:28:11.279] } [17:28:11.279] invisible(muffled) [17:28:11.279] } [17:28:11.279] muffleCondition(cond, pattern = "^muffle") [17:28:11.279] } [17:28:11.279] } [17:28:11.279] } [17:28:11.279] })) [17:28:11.279] }, error = function(ex) { [17:28:11.279] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.279] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.279] ...future.rng), started = ...future.startTime, [17:28:11.279] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.279] version = "1.8"), class = "FutureResult") [17:28:11.279] }, finally = { [17:28:11.279] if (!identical(...future.workdir, getwd())) [17:28:11.279] setwd(...future.workdir) [17:28:11.279] { [17:28:11.279] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.279] ...future.oldOptions$nwarnings <- NULL [17:28:11.279] } [17:28:11.279] base::options(...future.oldOptions) [17:28:11.279] if (.Platform$OS.type == "windows") { [17:28:11.279] old_names <- names(...future.oldEnvVars) [17:28:11.279] envs <- base::Sys.getenv() [17:28:11.279] names <- names(envs) [17:28:11.279] common <- intersect(names, old_names) [17:28:11.279] added <- setdiff(names, old_names) [17:28:11.279] removed <- setdiff(old_names, names) [17:28:11.279] changed <- common[...future.oldEnvVars[common] != [17:28:11.279] envs[common]] [17:28:11.279] NAMES <- toupper(changed) [17:28:11.279] args <- list() [17:28:11.279] for (kk in seq_along(NAMES)) { [17:28:11.279] name <- changed[[kk]] [17:28:11.279] NAME <- NAMES[[kk]] [17:28:11.279] if (name != NAME && is.element(NAME, old_names)) [17:28:11.279] next [17:28:11.279] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.279] } [17:28:11.279] NAMES <- toupper(added) [17:28:11.279] for (kk in seq_along(NAMES)) { [17:28:11.279] name <- added[[kk]] [17:28:11.279] NAME <- NAMES[[kk]] [17:28:11.279] if (name != NAME && is.element(NAME, old_names)) [17:28:11.279] next [17:28:11.279] args[[name]] <- "" [17:28:11.279] } [17:28:11.279] NAMES <- toupper(removed) [17:28:11.279] for (kk in seq_along(NAMES)) { [17:28:11.279] name <- removed[[kk]] [17:28:11.279] NAME <- NAMES[[kk]] [17:28:11.279] if (name != NAME && is.element(NAME, old_names)) [17:28:11.279] next [17:28:11.279] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.279] } [17:28:11.279] if (length(args) > 0) [17:28:11.279] base::do.call(base::Sys.setenv, args = args) [17:28:11.279] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.279] } [17:28:11.279] { [17:28:11.279] if (base::length(...future.futureOptionsAdded) > [17:28:11.279] 0L) { [17:28:11.279] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.279] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.279] base::options(opts) [17:28:11.279] } [17:28:11.279] { [17:28:11.279] { [17:28:11.279] base::options(mc.cores = ...future.mc.cores.old) [17:28:11.279] NULL [17:28:11.279] } [17:28:11.279] options(future.plan = NULL) [17:28:11.279] if (is.na(NA_character_)) [17:28:11.279] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.279] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.279] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.279] .init = FALSE) [17:28:11.279] } [17:28:11.279] } [17:28:11.279] } [17:28:11.279] }) [17:28:11.279] if (TRUE) { [17:28:11.279] base::sink(type = "output", split = FALSE) [17:28:11.279] if (TRUE) { [17:28:11.279] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.279] } [17:28:11.279] else { [17:28:11.279] ...future.result["stdout"] <- base::list(NULL) [17:28:11.279] } [17:28:11.279] base::close(...future.stdout) [17:28:11.279] ...future.stdout <- NULL [17:28:11.279] } [17:28:11.279] ...future.result$conditions <- ...future.conditions [17:28:11.279] ...future.result$finished <- base::Sys.time() [17:28:11.279] ...future.result [17:28:11.279] } [17:28:11.300] Exporting 1 global objects (313.86 KiB) to cluster node #1 ... [17:28:11.314] Exporting 'a' (313.66 KiB) to cluster node #1 ... [17:28:11.330] Exporting 'a' (313.66 KiB) to cluster node #1 ... DONE [17:28:11.331] Exporting 1 global objects (313.86 KiB) to cluster node #1 ... DONE [17:28:11.332] MultisessionFuture started [17:28:11.332] - Launch lazy future ... done [17:28:11.333] run() for 'MultisessionFuture' ... done [17:28:11.333] result() for ClusterFuture ... [17:28:11.334] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.334] - Validating connection of MultisessionFuture [17:28:11.357] - received message: FutureResult [17:28:11.358] - Received FutureResult [17:28:11.358] - Erased future from FutureRegistry [17:28:11.358] result() for ClusterFuture ... [17:28:11.359] - result already collected: FutureResult [17:28:11.359] result() for ClusterFuture ... done [17:28:11.359] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.365] result() for ClusterFuture ... done [17:28:11.365] result() for ClusterFuture ... [17:28:11.366] - result already collected: FutureResult [17:28:11.366] result() for ClusterFuture ... done value(b) = 2 [17:28:11.366] result() for ClusterFuture ... [17:28:11.367] - result already collected: FutureResult [17:28:11.367] result() for ClusterFuture ... done [17:28:11.367] result() for ClusterFuture ... [17:28:11.368] - result already collected: FutureResult [17:28:11.368] result() for ClusterFuture ... done Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:11.369] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:11.369] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:11.371] - globals found: [2] '{', 'pkg' [17:28:11.372] Searching for globals ... DONE [17:28:11.372] Resolving globals: TRUE [17:28:11.372] Resolving any globals that are futures ... [17:28:11.373] - globals: [2] '{', 'pkg' [17:28:11.373] Resolving any globals that are futures ... DONE [17:28:11.374] Resolving futures part of globals (recursively) ... [17:28:11.374] resolve() on list ... [17:28:11.375] recursive: 99 [17:28:11.375] length: 1 [17:28:11.375] elements: 'pkg' [17:28:11.376] length: 0 (resolved future 1) [17:28:11.376] resolve() on list ... DONE [17:28:11.376] - globals: [1] 'pkg' [17:28:11.377] Resolving futures part of globals (recursively) ... DONE [17:28:11.377] The total size of the 1 globals is 42 bytes (42 bytes) [17:28:11.378] The total size of the 1 globals exported for future expression ('{; pkg; }') is 42 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (42 bytes of class 'character') [17:28:11.378] - globals: [1] 'pkg' [17:28:11.378] [17:28:11.379] getGlobalsAndPackages() ... DONE [17:28:11.379] Packages needed by the future expression (n = 0): [17:28:11.380] Packages needed by future strategies (n = 0): [17:28:11.380] { [17:28:11.380] { [17:28:11.380] { [17:28:11.380] ...future.startTime <- base::Sys.time() [17:28:11.380] { [17:28:11.380] { [17:28:11.380] { [17:28:11.380] base::local({ [17:28:11.380] has_future <- base::requireNamespace("future", [17:28:11.380] quietly = TRUE) [17:28:11.380] if (has_future) { [17:28:11.380] ns <- base::getNamespace("future") [17:28:11.380] version <- ns[[".package"]][["version"]] [17:28:11.380] if (is.null(version)) [17:28:11.380] version <- utils::packageVersion("future") [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] version <- NULL [17:28:11.380] } [17:28:11.380] if (!has_future || version < "1.8.0") { [17:28:11.380] info <- base::c(r_version = base::gsub("R version ", [17:28:11.380] "", base::R.version$version.string), [17:28:11.380] platform = base::sprintf("%s (%s-bit)", [17:28:11.380] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:11.380] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.380] "release", "version")], collapse = " "), [17:28:11.380] hostname = base::Sys.info()[["nodename"]]) [17:28:11.380] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.380] info) [17:28:11.380] info <- base::paste(info, collapse = "; ") [17:28:11.380] if (!has_future) { [17:28:11.380] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.380] info) [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.380] info, version) [17:28:11.380] } [17:28:11.380] base::stop(msg) [17:28:11.380] } [17:28:11.380] }) [17:28:11.380] } [17:28:11.380] ...future.strategy.old <- future::plan("list") [17:28:11.380] options(future.plan = NULL) [17:28:11.380] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.380] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.380] } [17:28:11.380] ...future.workdir <- getwd() [17:28:11.380] } [17:28:11.380] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.380] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.380] } [17:28:11.380] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.380] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.380] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.380] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.380] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.380] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.380] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.380] base::names(...future.oldOptions)) [17:28:11.380] } [17:28:11.380] if (FALSE) { [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] if (TRUE) { [17:28:11.380] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.380] open = "w") [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.380] windows = "NUL", "/dev/null"), open = "w") [17:28:11.380] } [17:28:11.380] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.380] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.380] base::sink(type = "output", split = FALSE) [17:28:11.380] base::close(...future.stdout) [17:28:11.380] }, add = TRUE) [17:28:11.380] } [17:28:11.380] ...future.frame <- base::sys.nframe() [17:28:11.380] ...future.conditions <- base::list() [17:28:11.380] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.380] if (FALSE) { [17:28:11.380] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.380] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.380] } [17:28:11.380] ...future.result <- base::tryCatch({ [17:28:11.380] base::withCallingHandlers({ [17:28:11.380] ...future.value <- base::withVisible(base::local({ [17:28:11.380] pkg [17:28:11.380] })) [17:28:11.380] future::FutureResult(value = ...future.value$value, [17:28:11.380] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.380] ...future.rng), globalenv = if (FALSE) [17:28:11.380] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.380] ...future.globalenv.names)) [17:28:11.380] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.380] }, condition = base::local({ [17:28:11.380] c <- base::c [17:28:11.380] inherits <- base::inherits [17:28:11.380] invokeRestart <- base::invokeRestart [17:28:11.380] length <- base::length [17:28:11.380] list <- base::list [17:28:11.380] seq.int <- base::seq.int [17:28:11.380] signalCondition <- base::signalCondition [17:28:11.380] sys.calls <- base::sys.calls [17:28:11.380] `[[` <- base::`[[` [17:28:11.380] `+` <- base::`+` [17:28:11.380] `<<-` <- base::`<<-` [17:28:11.380] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.380] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.380] 3L)] [17:28:11.380] } [17:28:11.380] function(cond) { [17:28:11.380] is_error <- inherits(cond, "error") [17:28:11.380] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.380] NULL) [17:28:11.380] if (is_error) { [17:28:11.380] sessionInformation <- function() { [17:28:11.380] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.380] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.380] search = base::search(), system = base::Sys.info()) [17:28:11.380] } [17:28:11.380] ...future.conditions[[length(...future.conditions) + [17:28:11.380] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.380] cond$call), session = sessionInformation(), [17:28:11.380] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.380] signalCondition(cond) [17:28:11.380] } [17:28:11.380] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.380] "immediateCondition"))) { [17:28:11.380] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.380] ...future.conditions[[length(...future.conditions) + [17:28:11.380] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.380] if (TRUE && !signal) { [17:28:11.380] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.380] { [17:28:11.380] inherits <- base::inherits [17:28:11.380] invokeRestart <- base::invokeRestart [17:28:11.380] is.null <- base::is.null [17:28:11.380] muffled <- FALSE [17:28:11.380] if (inherits(cond, "message")) { [17:28:11.380] muffled <- grepl(pattern, "muffleMessage") [17:28:11.380] if (muffled) [17:28:11.380] invokeRestart("muffleMessage") [17:28:11.380] } [17:28:11.380] else if (inherits(cond, "warning")) { [17:28:11.380] muffled <- grepl(pattern, "muffleWarning") [17:28:11.380] if (muffled) [17:28:11.380] invokeRestart("muffleWarning") [17:28:11.380] } [17:28:11.380] else if (inherits(cond, "condition")) { [17:28:11.380] if (!is.null(pattern)) { [17:28:11.380] computeRestarts <- base::computeRestarts [17:28:11.380] grepl <- base::grepl [17:28:11.380] restarts <- computeRestarts(cond) [17:28:11.380] for (restart in restarts) { [17:28:11.380] name <- restart$name [17:28:11.380] if (is.null(name)) [17:28:11.380] next [17:28:11.380] if (!grepl(pattern, name)) [17:28:11.380] next [17:28:11.380] invokeRestart(restart) [17:28:11.380] muffled <- TRUE [17:28:11.380] break [17:28:11.380] } [17:28:11.380] } [17:28:11.380] } [17:28:11.380] invisible(muffled) [17:28:11.380] } [17:28:11.380] muffleCondition(cond, pattern = "^muffle") [17:28:11.380] } [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] if (TRUE) { [17:28:11.380] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.380] { [17:28:11.380] inherits <- base::inherits [17:28:11.380] invokeRestart <- base::invokeRestart [17:28:11.380] is.null <- base::is.null [17:28:11.380] muffled <- FALSE [17:28:11.380] if (inherits(cond, "message")) { [17:28:11.380] muffled <- grepl(pattern, "muffleMessage") [17:28:11.380] if (muffled) [17:28:11.380] invokeRestart("muffleMessage") [17:28:11.380] } [17:28:11.380] else if (inherits(cond, "warning")) { [17:28:11.380] muffled <- grepl(pattern, "muffleWarning") [17:28:11.380] if (muffled) [17:28:11.380] invokeRestart("muffleWarning") [17:28:11.380] } [17:28:11.380] else if (inherits(cond, "condition")) { [17:28:11.380] if (!is.null(pattern)) { [17:28:11.380] computeRestarts <- base::computeRestarts [17:28:11.380] grepl <- base::grepl [17:28:11.380] restarts <- computeRestarts(cond) [17:28:11.380] for (restart in restarts) { [17:28:11.380] name <- restart$name [17:28:11.380] if (is.null(name)) [17:28:11.380] next [17:28:11.380] if (!grepl(pattern, name)) [17:28:11.380] next [17:28:11.380] invokeRestart(restart) [17:28:11.380] muffled <- TRUE [17:28:11.380] break [17:28:11.380] } [17:28:11.380] } [17:28:11.380] } [17:28:11.380] invisible(muffled) [17:28:11.380] } [17:28:11.380] muffleCondition(cond, pattern = "^muffle") [17:28:11.380] } [17:28:11.380] } [17:28:11.380] } [17:28:11.380] })) [17:28:11.380] }, error = function(ex) { [17:28:11.380] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.380] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.380] ...future.rng), started = ...future.startTime, [17:28:11.380] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.380] version = "1.8"), class = "FutureResult") [17:28:11.380] }, finally = { [17:28:11.380] if (!identical(...future.workdir, getwd())) [17:28:11.380] setwd(...future.workdir) [17:28:11.380] { [17:28:11.380] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.380] ...future.oldOptions$nwarnings <- NULL [17:28:11.380] } [17:28:11.380] base::options(...future.oldOptions) [17:28:11.380] if (.Platform$OS.type == "windows") { [17:28:11.380] old_names <- names(...future.oldEnvVars) [17:28:11.380] envs <- base::Sys.getenv() [17:28:11.380] names <- names(envs) [17:28:11.380] common <- intersect(names, old_names) [17:28:11.380] added <- setdiff(names, old_names) [17:28:11.380] removed <- setdiff(old_names, names) [17:28:11.380] changed <- common[...future.oldEnvVars[common] != [17:28:11.380] envs[common]] [17:28:11.380] NAMES <- toupper(changed) [17:28:11.380] args <- list() [17:28:11.380] for (kk in seq_along(NAMES)) { [17:28:11.380] name <- changed[[kk]] [17:28:11.380] NAME <- NAMES[[kk]] [17:28:11.380] if (name != NAME && is.element(NAME, old_names)) [17:28:11.380] next [17:28:11.380] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.380] } [17:28:11.380] NAMES <- toupper(added) [17:28:11.380] for (kk in seq_along(NAMES)) { [17:28:11.380] name <- added[[kk]] [17:28:11.380] NAME <- NAMES[[kk]] [17:28:11.380] if (name != NAME && is.element(NAME, old_names)) [17:28:11.380] next [17:28:11.380] args[[name]] <- "" [17:28:11.380] } [17:28:11.380] NAMES <- toupper(removed) [17:28:11.380] for (kk in seq_along(NAMES)) { [17:28:11.380] name <- removed[[kk]] [17:28:11.380] NAME <- NAMES[[kk]] [17:28:11.380] if (name != NAME && is.element(NAME, old_names)) [17:28:11.380] next [17:28:11.380] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.380] } [17:28:11.380] if (length(args) > 0) [17:28:11.380] base::do.call(base::Sys.setenv, args = args) [17:28:11.380] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.380] } [17:28:11.380] { [17:28:11.380] if (base::length(...future.futureOptionsAdded) > [17:28:11.380] 0L) { [17:28:11.380] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.380] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.380] base::options(opts) [17:28:11.380] } [17:28:11.380] { [17:28:11.380] { [17:28:11.380] NULL [17:28:11.380] RNGkind("Mersenne-Twister") [17:28:11.380] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:28:11.380] inherits = FALSE) [17:28:11.380] } [17:28:11.380] options(future.plan = NULL) [17:28:11.380] if (is.na(NA_character_)) [17:28:11.380] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.380] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.380] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.380] .init = FALSE) [17:28:11.380] } [17:28:11.380] } [17:28:11.380] } [17:28:11.380] }) [17:28:11.380] if (TRUE) { [17:28:11.380] base::sink(type = "output", split = FALSE) [17:28:11.380] if (TRUE) { [17:28:11.380] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.380] } [17:28:11.380] else { [17:28:11.380] ...future.result["stdout"] <- base::list(NULL) [17:28:11.380] } [17:28:11.380] base::close(...future.stdout) [17:28:11.380] ...future.stdout <- NULL [17:28:11.380] } [17:28:11.380] ...future.result$conditions <- ...future.conditions [17:28:11.380] ...future.result$finished <- base::Sys.time() [17:28:11.380] ...future.result [17:28:11.380] } [17:28:11.387] assign_globals() ... [17:28:11.387] List of 1 [17:28:11.387] $ pkg: chr "foo" [17:28:11.387] - attr(*, "where")=List of 1 [17:28:11.387] ..$ pkg: [17:28:11.387] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:28:11.387] - attr(*, "resolved")= logi TRUE [17:28:11.387] - attr(*, "total_size")= int 42 [17:28:11.391] - copied 'pkg' to environment [17:28:11.391] assign_globals() ... done [17:28:11.392] plan(): Setting new future strategy stack: [17:28:11.392] List of future strategies: [17:28:11.392] 1. sequential: [17:28:11.392] - args: function (..., envir = parent.frame(), workers = "") [17:28:11.392] - tweaked: FALSE [17:28:11.392] - call: NULL [17:28:11.393] plan(): nbrOfWorkers() = 1 [17:28:11.396] plan(): Setting new future strategy stack: [17:28:11.396] List of future strategies: [17:28:11.396] 1. multisession: [17:28:11.396] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:28:11.396] - tweaked: FALSE [17:28:11.396] - call: plan(strategy) [17:28:11.399] plan(): nbrOfWorkers() = 2 [17:28:11.399] SequentialFuture started (and completed) value(f) = 'foo' Method for identifying globals: 'ordered' ... DONE Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:11.400] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:11.400] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:11.404] - globals found: [3] '{', '<-', '+' [17:28:11.404] Searching for globals ... DONE [17:28:11.404] Resolving globals: TRUE [17:28:11.404] Resolving any globals that are futures ... [17:28:11.405] - globals: [3] '{', '<-', '+' [17:28:11.405] Resolving any globals that are futures ... DONE [17:28:11.405] [17:28:11.405] [17:28:11.406] getGlobalsAndPackages() ... DONE [17:28:11.406] run() for 'Future' ... [17:28:11.406] - state: 'created' [17:28:11.406] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:11.425] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:11.425] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:11.426] - Field: 'node' [17:28:11.426] - Field: 'label' [17:28:11.426] - Field: 'local' [17:28:11.427] - Field: 'owner' [17:28:11.427] - Field: 'envir' [17:28:11.427] - Field: 'workers' [17:28:11.428] - Field: 'packages' [17:28:11.428] - Field: 'gc' [17:28:11.428] - Field: 'conditions' [17:28:11.429] - Field: 'persistent' [17:28:11.429] - Field: 'expr' [17:28:11.429] - Field: 'uuid' [17:28:11.430] - Field: 'seed' [17:28:11.430] - Field: 'version' [17:28:11.430] - Field: 'result' [17:28:11.430] - Field: 'asynchronous' [17:28:11.431] - Field: 'calls' [17:28:11.431] - Field: 'globals' [17:28:11.431] - Field: 'stdout' [17:28:11.432] - Field: 'earlySignal' [17:28:11.432] - Field: 'lazy' [17:28:11.432] - Field: 'state' [17:28:11.433] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:11.433] - Launch lazy future ... [17:28:11.433] Packages needed by the future expression (n = 0): [17:28:11.434] Packages needed by future strategies (n = 0): [17:28:11.434] { [17:28:11.434] { [17:28:11.434] { [17:28:11.434] ...future.startTime <- base::Sys.time() [17:28:11.434] { [17:28:11.434] { [17:28:11.434] { [17:28:11.434] { [17:28:11.434] base::local({ [17:28:11.434] has_future <- base::requireNamespace("future", [17:28:11.434] quietly = TRUE) [17:28:11.434] if (has_future) { [17:28:11.434] ns <- base::getNamespace("future") [17:28:11.434] version <- ns[[".package"]][["version"]] [17:28:11.434] if (is.null(version)) [17:28:11.434] version <- utils::packageVersion("future") [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] version <- NULL [17:28:11.434] } [17:28:11.434] if (!has_future || version < "1.8.0") { [17:28:11.434] info <- base::c(r_version = base::gsub("R version ", [17:28:11.434] "", base::R.version$version.string), [17:28:11.434] platform = base::sprintf("%s (%s-bit)", [17:28:11.434] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:11.434] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.434] "release", "version")], collapse = " "), [17:28:11.434] hostname = base::Sys.info()[["nodename"]]) [17:28:11.434] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.434] info) [17:28:11.434] info <- base::paste(info, collapse = "; ") [17:28:11.434] if (!has_future) { [17:28:11.434] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.434] info) [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.434] info, version) [17:28:11.434] } [17:28:11.434] base::stop(msg) [17:28:11.434] } [17:28:11.434] }) [17:28:11.434] } [17:28:11.434] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:11.434] base::options(mc.cores = 1L) [17:28:11.434] } [17:28:11.434] ...future.strategy.old <- future::plan("list") [17:28:11.434] options(future.plan = NULL) [17:28:11.434] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.434] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.434] } [17:28:11.434] ...future.workdir <- getwd() [17:28:11.434] } [17:28:11.434] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.434] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.434] } [17:28:11.434] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.434] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.434] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.434] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.434] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.434] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.434] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.434] base::names(...future.oldOptions)) [17:28:11.434] } [17:28:11.434] if (FALSE) { [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] if (TRUE) { [17:28:11.434] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.434] open = "w") [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.434] windows = "NUL", "/dev/null"), open = "w") [17:28:11.434] } [17:28:11.434] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.434] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.434] base::sink(type = "output", split = FALSE) [17:28:11.434] base::close(...future.stdout) [17:28:11.434] }, add = TRUE) [17:28:11.434] } [17:28:11.434] ...future.frame <- base::sys.nframe() [17:28:11.434] ...future.conditions <- base::list() [17:28:11.434] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.434] if (FALSE) { [17:28:11.434] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.434] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.434] } [17:28:11.434] ...future.result <- base::tryCatch({ [17:28:11.434] base::withCallingHandlers({ [17:28:11.434] ...future.value <- base::withVisible(base::local({ [17:28:11.434] ...future.makeSendCondition <- base::local({ [17:28:11.434] sendCondition <- NULL [17:28:11.434] function(frame = 1L) { [17:28:11.434] if (is.function(sendCondition)) [17:28:11.434] return(sendCondition) [17:28:11.434] ns <- getNamespace("parallel") [17:28:11.434] if (exists("sendData", mode = "function", [17:28:11.434] envir = ns)) { [17:28:11.434] parallel_sendData <- get("sendData", mode = "function", [17:28:11.434] envir = ns) [17:28:11.434] envir <- sys.frame(frame) [17:28:11.434] master <- NULL [17:28:11.434] while (!identical(envir, .GlobalEnv) && [17:28:11.434] !identical(envir, emptyenv())) { [17:28:11.434] if (exists("master", mode = "list", envir = envir, [17:28:11.434] inherits = FALSE)) { [17:28:11.434] master <- get("master", mode = "list", [17:28:11.434] envir = envir, inherits = FALSE) [17:28:11.434] if (inherits(master, c("SOCKnode", [17:28:11.434] "SOCK0node"))) { [17:28:11.434] sendCondition <<- function(cond) { [17:28:11.434] data <- list(type = "VALUE", value = cond, [17:28:11.434] success = TRUE) [17:28:11.434] parallel_sendData(master, data) [17:28:11.434] } [17:28:11.434] return(sendCondition) [17:28:11.434] } [17:28:11.434] } [17:28:11.434] frame <- frame + 1L [17:28:11.434] envir <- sys.frame(frame) [17:28:11.434] } [17:28:11.434] } [17:28:11.434] sendCondition <<- function(cond) NULL [17:28:11.434] } [17:28:11.434] }) [17:28:11.434] withCallingHandlers({ [17:28:11.434] { [17:28:11.434] x <- 0 [17:28:11.434] x <- x + 1 [17:28:11.434] x [17:28:11.434] } [17:28:11.434] }, immediateCondition = function(cond) { [17:28:11.434] sendCondition <- ...future.makeSendCondition() [17:28:11.434] sendCondition(cond) [17:28:11.434] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.434] { [17:28:11.434] inherits <- base::inherits [17:28:11.434] invokeRestart <- base::invokeRestart [17:28:11.434] is.null <- base::is.null [17:28:11.434] muffled <- FALSE [17:28:11.434] if (inherits(cond, "message")) { [17:28:11.434] muffled <- grepl(pattern, "muffleMessage") [17:28:11.434] if (muffled) [17:28:11.434] invokeRestart("muffleMessage") [17:28:11.434] } [17:28:11.434] else if (inherits(cond, "warning")) { [17:28:11.434] muffled <- grepl(pattern, "muffleWarning") [17:28:11.434] if (muffled) [17:28:11.434] invokeRestart("muffleWarning") [17:28:11.434] } [17:28:11.434] else if (inherits(cond, "condition")) { [17:28:11.434] if (!is.null(pattern)) { [17:28:11.434] computeRestarts <- base::computeRestarts [17:28:11.434] grepl <- base::grepl [17:28:11.434] restarts <- computeRestarts(cond) [17:28:11.434] for (restart in restarts) { [17:28:11.434] name <- restart$name [17:28:11.434] if (is.null(name)) [17:28:11.434] next [17:28:11.434] if (!grepl(pattern, name)) [17:28:11.434] next [17:28:11.434] invokeRestart(restart) [17:28:11.434] muffled <- TRUE [17:28:11.434] break [17:28:11.434] } [17:28:11.434] } [17:28:11.434] } [17:28:11.434] invisible(muffled) [17:28:11.434] } [17:28:11.434] muffleCondition(cond) [17:28:11.434] }) [17:28:11.434] })) [17:28:11.434] future::FutureResult(value = ...future.value$value, [17:28:11.434] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.434] ...future.rng), globalenv = if (FALSE) [17:28:11.434] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.434] ...future.globalenv.names)) [17:28:11.434] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.434] }, condition = base::local({ [17:28:11.434] c <- base::c [17:28:11.434] inherits <- base::inherits [17:28:11.434] invokeRestart <- base::invokeRestart [17:28:11.434] length <- base::length [17:28:11.434] list <- base::list [17:28:11.434] seq.int <- base::seq.int [17:28:11.434] signalCondition <- base::signalCondition [17:28:11.434] sys.calls <- base::sys.calls [17:28:11.434] `[[` <- base::`[[` [17:28:11.434] `+` <- base::`+` [17:28:11.434] `<<-` <- base::`<<-` [17:28:11.434] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.434] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.434] 3L)] [17:28:11.434] } [17:28:11.434] function(cond) { [17:28:11.434] is_error <- inherits(cond, "error") [17:28:11.434] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.434] NULL) [17:28:11.434] if (is_error) { [17:28:11.434] sessionInformation <- function() { [17:28:11.434] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.434] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.434] search = base::search(), system = base::Sys.info()) [17:28:11.434] } [17:28:11.434] ...future.conditions[[length(...future.conditions) + [17:28:11.434] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.434] cond$call), session = sessionInformation(), [17:28:11.434] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.434] signalCondition(cond) [17:28:11.434] } [17:28:11.434] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.434] "immediateCondition"))) { [17:28:11.434] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.434] ...future.conditions[[length(...future.conditions) + [17:28:11.434] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.434] if (TRUE && !signal) { [17:28:11.434] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.434] { [17:28:11.434] inherits <- base::inherits [17:28:11.434] invokeRestart <- base::invokeRestart [17:28:11.434] is.null <- base::is.null [17:28:11.434] muffled <- FALSE [17:28:11.434] if (inherits(cond, "message")) { [17:28:11.434] muffled <- grepl(pattern, "muffleMessage") [17:28:11.434] if (muffled) [17:28:11.434] invokeRestart("muffleMessage") [17:28:11.434] } [17:28:11.434] else if (inherits(cond, "warning")) { [17:28:11.434] muffled <- grepl(pattern, "muffleWarning") [17:28:11.434] if (muffled) [17:28:11.434] invokeRestart("muffleWarning") [17:28:11.434] } [17:28:11.434] else if (inherits(cond, "condition")) { [17:28:11.434] if (!is.null(pattern)) { [17:28:11.434] computeRestarts <- base::computeRestarts [17:28:11.434] grepl <- base::grepl [17:28:11.434] restarts <- computeRestarts(cond) [17:28:11.434] for (restart in restarts) { [17:28:11.434] name <- restart$name [17:28:11.434] if (is.null(name)) [17:28:11.434] next [17:28:11.434] if (!grepl(pattern, name)) [17:28:11.434] next [17:28:11.434] invokeRestart(restart) [17:28:11.434] muffled <- TRUE [17:28:11.434] break [17:28:11.434] } [17:28:11.434] } [17:28:11.434] } [17:28:11.434] invisible(muffled) [17:28:11.434] } [17:28:11.434] muffleCondition(cond, pattern = "^muffle") [17:28:11.434] } [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] if (TRUE) { [17:28:11.434] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.434] { [17:28:11.434] inherits <- base::inherits [17:28:11.434] invokeRestart <- base::invokeRestart [17:28:11.434] is.null <- base::is.null [17:28:11.434] muffled <- FALSE [17:28:11.434] if (inherits(cond, "message")) { [17:28:11.434] muffled <- grepl(pattern, "muffleMessage") [17:28:11.434] if (muffled) [17:28:11.434] invokeRestart("muffleMessage") [17:28:11.434] } [17:28:11.434] else if (inherits(cond, "warning")) { [17:28:11.434] muffled <- grepl(pattern, "muffleWarning") [17:28:11.434] if (muffled) [17:28:11.434] invokeRestart("muffleWarning") [17:28:11.434] } [17:28:11.434] else if (inherits(cond, "condition")) { [17:28:11.434] if (!is.null(pattern)) { [17:28:11.434] computeRestarts <- base::computeRestarts [17:28:11.434] grepl <- base::grepl [17:28:11.434] restarts <- computeRestarts(cond) [17:28:11.434] for (restart in restarts) { [17:28:11.434] name <- restart$name [17:28:11.434] if (is.null(name)) [17:28:11.434] next [17:28:11.434] if (!grepl(pattern, name)) [17:28:11.434] next [17:28:11.434] invokeRestart(restart) [17:28:11.434] muffled <- TRUE [17:28:11.434] break [17:28:11.434] } [17:28:11.434] } [17:28:11.434] } [17:28:11.434] invisible(muffled) [17:28:11.434] } [17:28:11.434] muffleCondition(cond, pattern = "^muffle") [17:28:11.434] } [17:28:11.434] } [17:28:11.434] } [17:28:11.434] })) [17:28:11.434] }, error = function(ex) { [17:28:11.434] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.434] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.434] ...future.rng), started = ...future.startTime, [17:28:11.434] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.434] version = "1.8"), class = "FutureResult") [17:28:11.434] }, finally = { [17:28:11.434] if (!identical(...future.workdir, getwd())) [17:28:11.434] setwd(...future.workdir) [17:28:11.434] { [17:28:11.434] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.434] ...future.oldOptions$nwarnings <- NULL [17:28:11.434] } [17:28:11.434] base::options(...future.oldOptions) [17:28:11.434] if (.Platform$OS.type == "windows") { [17:28:11.434] old_names <- names(...future.oldEnvVars) [17:28:11.434] envs <- base::Sys.getenv() [17:28:11.434] names <- names(envs) [17:28:11.434] common <- intersect(names, old_names) [17:28:11.434] added <- setdiff(names, old_names) [17:28:11.434] removed <- setdiff(old_names, names) [17:28:11.434] changed <- common[...future.oldEnvVars[common] != [17:28:11.434] envs[common]] [17:28:11.434] NAMES <- toupper(changed) [17:28:11.434] args <- list() [17:28:11.434] for (kk in seq_along(NAMES)) { [17:28:11.434] name <- changed[[kk]] [17:28:11.434] NAME <- NAMES[[kk]] [17:28:11.434] if (name != NAME && is.element(NAME, old_names)) [17:28:11.434] next [17:28:11.434] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.434] } [17:28:11.434] NAMES <- toupper(added) [17:28:11.434] for (kk in seq_along(NAMES)) { [17:28:11.434] name <- added[[kk]] [17:28:11.434] NAME <- NAMES[[kk]] [17:28:11.434] if (name != NAME && is.element(NAME, old_names)) [17:28:11.434] next [17:28:11.434] args[[name]] <- "" [17:28:11.434] } [17:28:11.434] NAMES <- toupper(removed) [17:28:11.434] for (kk in seq_along(NAMES)) { [17:28:11.434] name <- removed[[kk]] [17:28:11.434] NAME <- NAMES[[kk]] [17:28:11.434] if (name != NAME && is.element(NAME, old_names)) [17:28:11.434] next [17:28:11.434] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.434] } [17:28:11.434] if (length(args) > 0) [17:28:11.434] base::do.call(base::Sys.setenv, args = args) [17:28:11.434] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.434] } [17:28:11.434] { [17:28:11.434] if (base::length(...future.futureOptionsAdded) > [17:28:11.434] 0L) { [17:28:11.434] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.434] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.434] base::options(opts) [17:28:11.434] } [17:28:11.434] { [17:28:11.434] { [17:28:11.434] base::options(mc.cores = ...future.mc.cores.old) [17:28:11.434] NULL [17:28:11.434] } [17:28:11.434] options(future.plan = NULL) [17:28:11.434] if (is.na(NA_character_)) [17:28:11.434] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.434] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.434] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.434] .init = FALSE) [17:28:11.434] } [17:28:11.434] } [17:28:11.434] } [17:28:11.434] }) [17:28:11.434] if (TRUE) { [17:28:11.434] base::sink(type = "output", split = FALSE) [17:28:11.434] if (TRUE) { [17:28:11.434] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.434] } [17:28:11.434] else { [17:28:11.434] ...future.result["stdout"] <- base::list(NULL) [17:28:11.434] } [17:28:11.434] base::close(...future.stdout) [17:28:11.434] ...future.stdout <- NULL [17:28:11.434] } [17:28:11.434] ...future.result$conditions <- ...future.conditions [17:28:11.434] ...future.result$finished <- base::Sys.time() [17:28:11.434] ...future.result [17:28:11.434] } [17:28:11.443] MultisessionFuture started [17:28:11.443] - Launch lazy future ... done [17:28:11.444] run() for 'MultisessionFuture' ... done [17:28:11.444] result() for ClusterFuture ... [17:28:11.444] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.444] - Validating connection of MultisessionFuture [17:28:11.495] - received message: FutureResult [17:28:11.496] - Received FutureResult [17:28:11.496] - Erased future from FutureRegistry [17:28:11.497] result() for ClusterFuture ... [17:28:11.497] - result already collected: FutureResult [17:28:11.497] result() for ClusterFuture ... done [17:28:11.497] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.498] result() for ClusterFuture ... done [17:28:11.498] result() for ClusterFuture ... [17:28:11.498] - result already collected: FutureResult [17:28:11.498] result() for ClusterFuture ... done value(f) = '1' Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:11.499] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:11.500] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:11.503] - globals found: [4] '{', '<-', 'x', '+' [17:28:11.504] Searching for globals ... DONE [17:28:11.504] Resolving globals: TRUE [17:28:11.504] Resolving any globals that are futures ... [17:28:11.505] - globals: [4] '{', '<-', 'x', '+' [17:28:11.505] Resolving any globals that are futures ... DONE [17:28:11.506] Resolving futures part of globals (recursively) ... [17:28:11.506] resolve() on list ... [17:28:11.507] recursive: 99 [17:28:11.507] length: 1 [17:28:11.507] elements: 'x' [17:28:11.508] length: 0 (resolved future 1) [17:28:11.508] resolve() on list ... DONE [17:28:11.508] - globals: [1] 'x' [17:28:11.509] Resolving futures part of globals (recursively) ... DONE [17:28:11.509] The total size of the 1 globals is 39 bytes (39 bytes) [17:28:11.510] The total size of the 1 globals exported for future expression ('{; x <- x + 1; x; }') is 39 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (39 bytes of class 'numeric') [17:28:11.510] - globals: [1] 'x' [17:28:11.511] [17:28:11.511] getGlobalsAndPackages() ... DONE [17:28:11.511] run() for 'Future' ... [17:28:11.512] - state: 'created' [17:28:11.512] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:11.532] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:11.533] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:11.533] - Field: 'node' [17:28:11.533] - Field: 'label' [17:28:11.534] - Field: 'local' [17:28:11.534] - Field: 'owner' [17:28:11.534] - Field: 'envir' [17:28:11.535] - Field: 'workers' [17:28:11.535] - Field: 'packages' [17:28:11.535] - Field: 'gc' [17:28:11.536] - Field: 'conditions' [17:28:11.536] - Field: 'persistent' [17:28:11.536] - Field: 'expr' [17:28:11.537] - Field: 'uuid' [17:28:11.537] - Field: 'seed' [17:28:11.537] - Field: 'version' [17:28:11.538] - Field: 'result' [17:28:11.538] - Field: 'asynchronous' [17:28:11.538] - Field: 'calls' [17:28:11.539] - Field: 'globals' [17:28:11.539] - Field: 'stdout' [17:28:11.539] - Field: 'earlySignal' [17:28:11.540] - Field: 'lazy' [17:28:11.540] - Field: 'state' [17:28:11.541] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:11.541] - Launch lazy future ... [17:28:11.541] Packages needed by the future expression (n = 0): [17:28:11.542] Packages needed by future strategies (n = 0): [17:28:11.543] { [17:28:11.543] { [17:28:11.543] { [17:28:11.543] ...future.startTime <- base::Sys.time() [17:28:11.543] { [17:28:11.543] { [17:28:11.543] { [17:28:11.543] { [17:28:11.543] base::local({ [17:28:11.543] has_future <- base::requireNamespace("future", [17:28:11.543] quietly = TRUE) [17:28:11.543] if (has_future) { [17:28:11.543] ns <- base::getNamespace("future") [17:28:11.543] version <- ns[[".package"]][["version"]] [17:28:11.543] if (is.null(version)) [17:28:11.543] version <- utils::packageVersion("future") [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] version <- NULL [17:28:11.543] } [17:28:11.543] if (!has_future || version < "1.8.0") { [17:28:11.543] info <- base::c(r_version = base::gsub("R version ", [17:28:11.543] "", base::R.version$version.string), [17:28:11.543] platform = base::sprintf("%s (%s-bit)", [17:28:11.543] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:11.543] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.543] "release", "version")], collapse = " "), [17:28:11.543] hostname = base::Sys.info()[["nodename"]]) [17:28:11.543] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.543] info) [17:28:11.543] info <- base::paste(info, collapse = "; ") [17:28:11.543] if (!has_future) { [17:28:11.543] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.543] info) [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.543] info, version) [17:28:11.543] } [17:28:11.543] base::stop(msg) [17:28:11.543] } [17:28:11.543] }) [17:28:11.543] } [17:28:11.543] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:11.543] base::options(mc.cores = 1L) [17:28:11.543] } [17:28:11.543] ...future.strategy.old <- future::plan("list") [17:28:11.543] options(future.plan = NULL) [17:28:11.543] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.543] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.543] } [17:28:11.543] ...future.workdir <- getwd() [17:28:11.543] } [17:28:11.543] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.543] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.543] } [17:28:11.543] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.543] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.543] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.543] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.543] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.543] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.543] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.543] base::names(...future.oldOptions)) [17:28:11.543] } [17:28:11.543] if (FALSE) { [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] if (TRUE) { [17:28:11.543] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.543] open = "w") [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.543] windows = "NUL", "/dev/null"), open = "w") [17:28:11.543] } [17:28:11.543] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.543] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.543] base::sink(type = "output", split = FALSE) [17:28:11.543] base::close(...future.stdout) [17:28:11.543] }, add = TRUE) [17:28:11.543] } [17:28:11.543] ...future.frame <- base::sys.nframe() [17:28:11.543] ...future.conditions <- base::list() [17:28:11.543] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.543] if (FALSE) { [17:28:11.543] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.543] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.543] } [17:28:11.543] ...future.result <- base::tryCatch({ [17:28:11.543] base::withCallingHandlers({ [17:28:11.543] ...future.value <- base::withVisible(base::local({ [17:28:11.543] ...future.makeSendCondition <- base::local({ [17:28:11.543] sendCondition <- NULL [17:28:11.543] function(frame = 1L) { [17:28:11.543] if (is.function(sendCondition)) [17:28:11.543] return(sendCondition) [17:28:11.543] ns <- getNamespace("parallel") [17:28:11.543] if (exists("sendData", mode = "function", [17:28:11.543] envir = ns)) { [17:28:11.543] parallel_sendData <- get("sendData", mode = "function", [17:28:11.543] envir = ns) [17:28:11.543] envir <- sys.frame(frame) [17:28:11.543] master <- NULL [17:28:11.543] while (!identical(envir, .GlobalEnv) && [17:28:11.543] !identical(envir, emptyenv())) { [17:28:11.543] if (exists("master", mode = "list", envir = envir, [17:28:11.543] inherits = FALSE)) { [17:28:11.543] master <- get("master", mode = "list", [17:28:11.543] envir = envir, inherits = FALSE) [17:28:11.543] if (inherits(master, c("SOCKnode", [17:28:11.543] "SOCK0node"))) { [17:28:11.543] sendCondition <<- function(cond) { [17:28:11.543] data <- list(type = "VALUE", value = cond, [17:28:11.543] success = TRUE) [17:28:11.543] parallel_sendData(master, data) [17:28:11.543] } [17:28:11.543] return(sendCondition) [17:28:11.543] } [17:28:11.543] } [17:28:11.543] frame <- frame + 1L [17:28:11.543] envir <- sys.frame(frame) [17:28:11.543] } [17:28:11.543] } [17:28:11.543] sendCondition <<- function(cond) NULL [17:28:11.543] } [17:28:11.543] }) [17:28:11.543] withCallingHandlers({ [17:28:11.543] { [17:28:11.543] x <- x + 1 [17:28:11.543] x [17:28:11.543] } [17:28:11.543] }, immediateCondition = function(cond) { [17:28:11.543] sendCondition <- ...future.makeSendCondition() [17:28:11.543] sendCondition(cond) [17:28:11.543] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.543] { [17:28:11.543] inherits <- base::inherits [17:28:11.543] invokeRestart <- base::invokeRestart [17:28:11.543] is.null <- base::is.null [17:28:11.543] muffled <- FALSE [17:28:11.543] if (inherits(cond, "message")) { [17:28:11.543] muffled <- grepl(pattern, "muffleMessage") [17:28:11.543] if (muffled) [17:28:11.543] invokeRestart("muffleMessage") [17:28:11.543] } [17:28:11.543] else if (inherits(cond, "warning")) { [17:28:11.543] muffled <- grepl(pattern, "muffleWarning") [17:28:11.543] if (muffled) [17:28:11.543] invokeRestart("muffleWarning") [17:28:11.543] } [17:28:11.543] else if (inherits(cond, "condition")) { [17:28:11.543] if (!is.null(pattern)) { [17:28:11.543] computeRestarts <- base::computeRestarts [17:28:11.543] grepl <- base::grepl [17:28:11.543] restarts <- computeRestarts(cond) [17:28:11.543] for (restart in restarts) { [17:28:11.543] name <- restart$name [17:28:11.543] if (is.null(name)) [17:28:11.543] next [17:28:11.543] if (!grepl(pattern, name)) [17:28:11.543] next [17:28:11.543] invokeRestart(restart) [17:28:11.543] muffled <- TRUE [17:28:11.543] break [17:28:11.543] } [17:28:11.543] } [17:28:11.543] } [17:28:11.543] invisible(muffled) [17:28:11.543] } [17:28:11.543] muffleCondition(cond) [17:28:11.543] }) [17:28:11.543] })) [17:28:11.543] future::FutureResult(value = ...future.value$value, [17:28:11.543] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.543] ...future.rng), globalenv = if (FALSE) [17:28:11.543] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.543] ...future.globalenv.names)) [17:28:11.543] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.543] }, condition = base::local({ [17:28:11.543] c <- base::c [17:28:11.543] inherits <- base::inherits [17:28:11.543] invokeRestart <- base::invokeRestart [17:28:11.543] length <- base::length [17:28:11.543] list <- base::list [17:28:11.543] seq.int <- base::seq.int [17:28:11.543] signalCondition <- base::signalCondition [17:28:11.543] sys.calls <- base::sys.calls [17:28:11.543] `[[` <- base::`[[` [17:28:11.543] `+` <- base::`+` [17:28:11.543] `<<-` <- base::`<<-` [17:28:11.543] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.543] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.543] 3L)] [17:28:11.543] } [17:28:11.543] function(cond) { [17:28:11.543] is_error <- inherits(cond, "error") [17:28:11.543] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.543] NULL) [17:28:11.543] if (is_error) { [17:28:11.543] sessionInformation <- function() { [17:28:11.543] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.543] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.543] search = base::search(), system = base::Sys.info()) [17:28:11.543] } [17:28:11.543] ...future.conditions[[length(...future.conditions) + [17:28:11.543] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.543] cond$call), session = sessionInformation(), [17:28:11.543] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.543] signalCondition(cond) [17:28:11.543] } [17:28:11.543] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.543] "immediateCondition"))) { [17:28:11.543] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.543] ...future.conditions[[length(...future.conditions) + [17:28:11.543] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.543] if (TRUE && !signal) { [17:28:11.543] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.543] { [17:28:11.543] inherits <- base::inherits [17:28:11.543] invokeRestart <- base::invokeRestart [17:28:11.543] is.null <- base::is.null [17:28:11.543] muffled <- FALSE [17:28:11.543] if (inherits(cond, "message")) { [17:28:11.543] muffled <- grepl(pattern, "muffleMessage") [17:28:11.543] if (muffled) [17:28:11.543] invokeRestart("muffleMessage") [17:28:11.543] } [17:28:11.543] else if (inherits(cond, "warning")) { [17:28:11.543] muffled <- grepl(pattern, "muffleWarning") [17:28:11.543] if (muffled) [17:28:11.543] invokeRestart("muffleWarning") [17:28:11.543] } [17:28:11.543] else if (inherits(cond, "condition")) { [17:28:11.543] if (!is.null(pattern)) { [17:28:11.543] computeRestarts <- base::computeRestarts [17:28:11.543] grepl <- base::grepl [17:28:11.543] restarts <- computeRestarts(cond) [17:28:11.543] for (restart in restarts) { [17:28:11.543] name <- restart$name [17:28:11.543] if (is.null(name)) [17:28:11.543] next [17:28:11.543] if (!grepl(pattern, name)) [17:28:11.543] next [17:28:11.543] invokeRestart(restart) [17:28:11.543] muffled <- TRUE [17:28:11.543] break [17:28:11.543] } [17:28:11.543] } [17:28:11.543] } [17:28:11.543] invisible(muffled) [17:28:11.543] } [17:28:11.543] muffleCondition(cond, pattern = "^muffle") [17:28:11.543] } [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] if (TRUE) { [17:28:11.543] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.543] { [17:28:11.543] inherits <- base::inherits [17:28:11.543] invokeRestart <- base::invokeRestart [17:28:11.543] is.null <- base::is.null [17:28:11.543] muffled <- FALSE [17:28:11.543] if (inherits(cond, "message")) { [17:28:11.543] muffled <- grepl(pattern, "muffleMessage") [17:28:11.543] if (muffled) [17:28:11.543] invokeRestart("muffleMessage") [17:28:11.543] } [17:28:11.543] else if (inherits(cond, "warning")) { [17:28:11.543] muffled <- grepl(pattern, "muffleWarning") [17:28:11.543] if (muffled) [17:28:11.543] invokeRestart("muffleWarning") [17:28:11.543] } [17:28:11.543] else if (inherits(cond, "condition")) { [17:28:11.543] if (!is.null(pattern)) { [17:28:11.543] computeRestarts <- base::computeRestarts [17:28:11.543] grepl <- base::grepl [17:28:11.543] restarts <- computeRestarts(cond) [17:28:11.543] for (restart in restarts) { [17:28:11.543] name <- restart$name [17:28:11.543] if (is.null(name)) [17:28:11.543] next [17:28:11.543] if (!grepl(pattern, name)) [17:28:11.543] next [17:28:11.543] invokeRestart(restart) [17:28:11.543] muffled <- TRUE [17:28:11.543] break [17:28:11.543] } [17:28:11.543] } [17:28:11.543] } [17:28:11.543] invisible(muffled) [17:28:11.543] } [17:28:11.543] muffleCondition(cond, pattern = "^muffle") [17:28:11.543] } [17:28:11.543] } [17:28:11.543] } [17:28:11.543] })) [17:28:11.543] }, error = function(ex) { [17:28:11.543] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.543] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.543] ...future.rng), started = ...future.startTime, [17:28:11.543] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.543] version = "1.8"), class = "FutureResult") [17:28:11.543] }, finally = { [17:28:11.543] if (!identical(...future.workdir, getwd())) [17:28:11.543] setwd(...future.workdir) [17:28:11.543] { [17:28:11.543] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.543] ...future.oldOptions$nwarnings <- NULL [17:28:11.543] } [17:28:11.543] base::options(...future.oldOptions) [17:28:11.543] if (.Platform$OS.type == "windows") { [17:28:11.543] old_names <- names(...future.oldEnvVars) [17:28:11.543] envs <- base::Sys.getenv() [17:28:11.543] names <- names(envs) [17:28:11.543] common <- intersect(names, old_names) [17:28:11.543] added <- setdiff(names, old_names) [17:28:11.543] removed <- setdiff(old_names, names) [17:28:11.543] changed <- common[...future.oldEnvVars[common] != [17:28:11.543] envs[common]] [17:28:11.543] NAMES <- toupper(changed) [17:28:11.543] args <- list() [17:28:11.543] for (kk in seq_along(NAMES)) { [17:28:11.543] name <- changed[[kk]] [17:28:11.543] NAME <- NAMES[[kk]] [17:28:11.543] if (name != NAME && is.element(NAME, old_names)) [17:28:11.543] next [17:28:11.543] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.543] } [17:28:11.543] NAMES <- toupper(added) [17:28:11.543] for (kk in seq_along(NAMES)) { [17:28:11.543] name <- added[[kk]] [17:28:11.543] NAME <- NAMES[[kk]] [17:28:11.543] if (name != NAME && is.element(NAME, old_names)) [17:28:11.543] next [17:28:11.543] args[[name]] <- "" [17:28:11.543] } [17:28:11.543] NAMES <- toupper(removed) [17:28:11.543] for (kk in seq_along(NAMES)) { [17:28:11.543] name <- removed[[kk]] [17:28:11.543] NAME <- NAMES[[kk]] [17:28:11.543] if (name != NAME && is.element(NAME, old_names)) [17:28:11.543] next [17:28:11.543] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.543] } [17:28:11.543] if (length(args) > 0) [17:28:11.543] base::do.call(base::Sys.setenv, args = args) [17:28:11.543] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.543] } [17:28:11.543] { [17:28:11.543] if (base::length(...future.futureOptionsAdded) > [17:28:11.543] 0L) { [17:28:11.543] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.543] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.543] base::options(opts) [17:28:11.543] } [17:28:11.543] { [17:28:11.543] { [17:28:11.543] base::options(mc.cores = ...future.mc.cores.old) [17:28:11.543] NULL [17:28:11.543] } [17:28:11.543] options(future.plan = NULL) [17:28:11.543] if (is.na(NA_character_)) [17:28:11.543] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.543] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.543] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.543] .init = FALSE) [17:28:11.543] } [17:28:11.543] } [17:28:11.543] } [17:28:11.543] }) [17:28:11.543] if (TRUE) { [17:28:11.543] base::sink(type = "output", split = FALSE) [17:28:11.543] if (TRUE) { [17:28:11.543] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.543] } [17:28:11.543] else { [17:28:11.543] ...future.result["stdout"] <- base::list(NULL) [17:28:11.543] } [17:28:11.543] base::close(...future.stdout) [17:28:11.543] ...future.stdout <- NULL [17:28:11.543] } [17:28:11.543] ...future.result$conditions <- ...future.conditions [17:28:11.543] ...future.result$finished <- base::Sys.time() [17:28:11.543] ...future.result [17:28:11.543] } [17:28:11.552] Exporting 1 global objects (342 bytes) to cluster node #1 ... [17:28:11.552] Exporting 'x' (39 bytes) to cluster node #1 ... [17:28:11.553] Exporting 'x' (39 bytes) to cluster node #1 ... DONE [17:28:11.553] Exporting 1 global objects (342 bytes) to cluster node #1 ... DONE [17:28:11.554] MultisessionFuture started [17:28:11.554] - Launch lazy future ... done [17:28:11.554] run() for 'MultisessionFuture' ... done [17:28:11.555] result() for ClusterFuture ... [17:28:11.555] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.555] - Validating connection of MultisessionFuture [17:28:11.582] - received message: FutureResult [17:28:11.582] - Received FutureResult [17:28:11.583] - Erased future from FutureRegistry [17:28:11.583] result() for ClusterFuture ... [17:28:11.583] - result already collected: FutureResult [17:28:11.583] result() for ClusterFuture ... done [17:28:11.584] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.584] result() for ClusterFuture ... done [17:28:11.584] result() for ClusterFuture ... [17:28:11.585] - result already collected: FutureResult [17:28:11.585] result() for ClusterFuture ... done value(f) = '2' Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [17:28:11.586] getGlobalsAndPackages() ... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [17:28:11.586] Searching for globals... Warning in getGlobalsAndPackages(expr, envir = envir, tweak = tweakExpression, : R option 'future.globals.method' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'ordered' [17:28:11.590] - globals found: [3] '{', '<-', 'x' [17:28:11.590] Searching for globals ... DONE [17:28:11.591] Resolving globals: TRUE [17:28:11.591] Resolving any globals that are futures ... [17:28:11.591] - globals: [3] '{', '<-', 'x' [17:28:11.591] Resolving any globals that are futures ... DONE [17:28:11.592] Resolving futures part of globals (recursively) ... [17:28:11.593] resolve() on list ... [17:28:11.593] recursive: 99 [17:28:11.593] length: 1 [17:28:11.593] elements: 'x' [17:28:11.594] length: 0 (resolved future 1) [17:28:11.594] resolve() on list ... DONE [17:28:11.594] - globals: [1] 'x' [17:28:11.595] Resolving futures part of globals (recursively) ... DONE [17:28:11.595] The total size of the 1 globals is 260 bytes (260 bytes) [17:28:11.596] The total size of the 1 globals exported for future expression ('{; x <- x(); x; }') is 260 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (260 bytes of class 'function') [17:28:11.596] - globals: [1] 'x' [17:28:11.596] [17:28:11.597] getGlobalsAndPackages() ... DONE [17:28:11.597] run() for 'Future' ... [17:28:11.597] - state: 'created' [17:28:11.598] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:28:11.615] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:28:11.615] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:28:11.615] - Field: 'node' [17:28:11.616] - Field: 'label' [17:28:11.616] - Field: 'local' [17:28:11.616] - Field: 'owner' [17:28:11.617] - Field: 'envir' [17:28:11.617] - Field: 'workers' [17:28:11.617] - Field: 'packages' [17:28:11.618] - Field: 'gc' [17:28:11.618] - Field: 'conditions' [17:28:11.618] - Field: 'persistent' [17:28:11.619] - Field: 'expr' [17:28:11.619] - Field: 'uuid' [17:28:11.619] - Field: 'seed' [17:28:11.619] - Field: 'version' [17:28:11.620] - Field: 'result' [17:28:11.620] - Field: 'asynchronous' [17:28:11.620] - Field: 'calls' [17:28:11.621] - Field: 'globals' [17:28:11.621] - Field: 'stdout' [17:28:11.621] - Field: 'earlySignal' [17:28:11.622] - Field: 'lazy' [17:28:11.622] - Field: 'state' [17:28:11.622] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:28:11.623] - Launch lazy future ... [17:28:11.623] Packages needed by the future expression (n = 0): [17:28:11.623] Packages needed by future strategies (n = 0): [17:28:11.624] { [17:28:11.624] { [17:28:11.624] { [17:28:11.624] ...future.startTime <- base::Sys.time() [17:28:11.624] { [17:28:11.624] { [17:28:11.624] { [17:28:11.624] { [17:28:11.624] base::local({ [17:28:11.624] has_future <- base::requireNamespace("future", [17:28:11.624] quietly = TRUE) [17:28:11.624] if (has_future) { [17:28:11.624] ns <- base::getNamespace("future") [17:28:11.624] version <- ns[[".package"]][["version"]] [17:28:11.624] if (is.null(version)) [17:28:11.624] version <- utils::packageVersion("future") [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] version <- NULL [17:28:11.624] } [17:28:11.624] if (!has_future || version < "1.8.0") { [17:28:11.624] info <- base::c(r_version = base::gsub("R version ", [17:28:11.624] "", base::R.version$version.string), [17:28:11.624] platform = base::sprintf("%s (%s-bit)", [17:28:11.624] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:28:11.624] os = base::paste(base::Sys.info()[base::c("sysname", [17:28:11.624] "release", "version")], collapse = " "), [17:28:11.624] hostname = base::Sys.info()[["nodename"]]) [17:28:11.624] info <- base::sprintf("%s: %s", base::names(info), [17:28:11.624] info) [17:28:11.624] info <- base::paste(info, collapse = "; ") [17:28:11.624] if (!has_future) { [17:28:11.624] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:28:11.624] info) [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:28:11.624] info, version) [17:28:11.624] } [17:28:11.624] base::stop(msg) [17:28:11.624] } [17:28:11.624] }) [17:28:11.624] } [17:28:11.624] ...future.mc.cores.old <- base::getOption("mc.cores") [17:28:11.624] base::options(mc.cores = 1L) [17:28:11.624] } [17:28:11.624] ...future.strategy.old <- future::plan("list") [17:28:11.624] options(future.plan = NULL) [17:28:11.624] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.624] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:28:11.624] } [17:28:11.624] ...future.workdir <- getwd() [17:28:11.624] } [17:28:11.624] ...future.oldOptions <- base::as.list(base::.Options) [17:28:11.624] ...future.oldEnvVars <- base::Sys.getenv() [17:28:11.624] } [17:28:11.624] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:28:11.624] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:28:11.624] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:28:11.624] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:28:11.624] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:28:11.624] future.stdout.windows.reencode = NULL, width = 80L) [17:28:11.624] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:28:11.624] base::names(...future.oldOptions)) [17:28:11.624] } [17:28:11.624] if (FALSE) { [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] if (TRUE) { [17:28:11.624] ...future.stdout <- base::rawConnection(base::raw(0L), [17:28:11.624] open = "w") [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:28:11.624] windows = "NUL", "/dev/null"), open = "w") [17:28:11.624] } [17:28:11.624] base::sink(...future.stdout, type = "output", split = FALSE) [17:28:11.624] base::on.exit(if (!base::is.null(...future.stdout)) { [17:28:11.624] base::sink(type = "output", split = FALSE) [17:28:11.624] base::close(...future.stdout) [17:28:11.624] }, add = TRUE) [17:28:11.624] } [17:28:11.624] ...future.frame <- base::sys.nframe() [17:28:11.624] ...future.conditions <- base::list() [17:28:11.624] ...future.rng <- base::globalenv()$.Random.seed [17:28:11.624] if (FALSE) { [17:28:11.624] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:28:11.624] "...future.value", "...future.globalenv.names", ".Random.seed") [17:28:11.624] } [17:28:11.624] ...future.result <- base::tryCatch({ [17:28:11.624] base::withCallingHandlers({ [17:28:11.624] ...future.value <- base::withVisible(base::local({ [17:28:11.624] ...future.makeSendCondition <- base::local({ [17:28:11.624] sendCondition <- NULL [17:28:11.624] function(frame = 1L) { [17:28:11.624] if (is.function(sendCondition)) [17:28:11.624] return(sendCondition) [17:28:11.624] ns <- getNamespace("parallel") [17:28:11.624] if (exists("sendData", mode = "function", [17:28:11.624] envir = ns)) { [17:28:11.624] parallel_sendData <- get("sendData", mode = "function", [17:28:11.624] envir = ns) [17:28:11.624] envir <- sys.frame(frame) [17:28:11.624] master <- NULL [17:28:11.624] while (!identical(envir, .GlobalEnv) && [17:28:11.624] !identical(envir, emptyenv())) { [17:28:11.624] if (exists("master", mode = "list", envir = envir, [17:28:11.624] inherits = FALSE)) { [17:28:11.624] master <- get("master", mode = "list", [17:28:11.624] envir = envir, inherits = FALSE) [17:28:11.624] if (inherits(master, c("SOCKnode", [17:28:11.624] "SOCK0node"))) { [17:28:11.624] sendCondition <<- function(cond) { [17:28:11.624] data <- list(type = "VALUE", value = cond, [17:28:11.624] success = TRUE) [17:28:11.624] parallel_sendData(master, data) [17:28:11.624] } [17:28:11.624] return(sendCondition) [17:28:11.624] } [17:28:11.624] } [17:28:11.624] frame <- frame + 1L [17:28:11.624] envir <- sys.frame(frame) [17:28:11.624] } [17:28:11.624] } [17:28:11.624] sendCondition <<- function(cond) NULL [17:28:11.624] } [17:28:11.624] }) [17:28:11.624] withCallingHandlers({ [17:28:11.624] { [17:28:11.624] x <- x() [17:28:11.624] x [17:28:11.624] } [17:28:11.624] }, immediateCondition = function(cond) { [17:28:11.624] sendCondition <- ...future.makeSendCondition() [17:28:11.624] sendCondition(cond) [17:28:11.624] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.624] { [17:28:11.624] inherits <- base::inherits [17:28:11.624] invokeRestart <- base::invokeRestart [17:28:11.624] is.null <- base::is.null [17:28:11.624] muffled <- FALSE [17:28:11.624] if (inherits(cond, "message")) { [17:28:11.624] muffled <- grepl(pattern, "muffleMessage") [17:28:11.624] if (muffled) [17:28:11.624] invokeRestart("muffleMessage") [17:28:11.624] } [17:28:11.624] else if (inherits(cond, "warning")) { [17:28:11.624] muffled <- grepl(pattern, "muffleWarning") [17:28:11.624] if (muffled) [17:28:11.624] invokeRestart("muffleWarning") [17:28:11.624] } [17:28:11.624] else if (inherits(cond, "condition")) { [17:28:11.624] if (!is.null(pattern)) { [17:28:11.624] computeRestarts <- base::computeRestarts [17:28:11.624] grepl <- base::grepl [17:28:11.624] restarts <- computeRestarts(cond) [17:28:11.624] for (restart in restarts) { [17:28:11.624] name <- restart$name [17:28:11.624] if (is.null(name)) [17:28:11.624] next [17:28:11.624] if (!grepl(pattern, name)) [17:28:11.624] next [17:28:11.624] invokeRestart(restart) [17:28:11.624] muffled <- TRUE [17:28:11.624] break [17:28:11.624] } [17:28:11.624] } [17:28:11.624] } [17:28:11.624] invisible(muffled) [17:28:11.624] } [17:28:11.624] muffleCondition(cond) [17:28:11.624] }) [17:28:11.624] })) [17:28:11.624] future::FutureResult(value = ...future.value$value, [17:28:11.624] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.624] ...future.rng), globalenv = if (FALSE) [17:28:11.624] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:28:11.624] ...future.globalenv.names)) [17:28:11.624] else NULL, started = ...future.startTime, version = "1.8") [17:28:11.624] }, condition = base::local({ [17:28:11.624] c <- base::c [17:28:11.624] inherits <- base::inherits [17:28:11.624] invokeRestart <- base::invokeRestart [17:28:11.624] length <- base::length [17:28:11.624] list <- base::list [17:28:11.624] seq.int <- base::seq.int [17:28:11.624] signalCondition <- base::signalCondition [17:28:11.624] sys.calls <- base::sys.calls [17:28:11.624] `[[` <- base::`[[` [17:28:11.624] `+` <- base::`+` [17:28:11.624] `<<-` <- base::`<<-` [17:28:11.624] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:28:11.624] calls[seq.int(from = from + 12L, to = length(calls) - [17:28:11.624] 3L)] [17:28:11.624] } [17:28:11.624] function(cond) { [17:28:11.624] is_error <- inherits(cond, "error") [17:28:11.624] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:28:11.624] NULL) [17:28:11.624] if (is_error) { [17:28:11.624] sessionInformation <- function() { [17:28:11.624] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:28:11.624] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:28:11.624] search = base::search(), system = base::Sys.info()) [17:28:11.624] } [17:28:11.624] ...future.conditions[[length(...future.conditions) + [17:28:11.624] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:28:11.624] cond$call), session = sessionInformation(), [17:28:11.624] timestamp = base::Sys.time(), signaled = 0L) [17:28:11.624] signalCondition(cond) [17:28:11.624] } [17:28:11.624] else if (!ignore && TRUE && inherits(cond, c("condition", [17:28:11.624] "immediateCondition"))) { [17:28:11.624] signal <- TRUE && inherits(cond, "immediateCondition") [17:28:11.624] ...future.conditions[[length(...future.conditions) + [17:28:11.624] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:28:11.624] if (TRUE && !signal) { [17:28:11.624] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.624] { [17:28:11.624] inherits <- base::inherits [17:28:11.624] invokeRestart <- base::invokeRestart [17:28:11.624] is.null <- base::is.null [17:28:11.624] muffled <- FALSE [17:28:11.624] if (inherits(cond, "message")) { [17:28:11.624] muffled <- grepl(pattern, "muffleMessage") [17:28:11.624] if (muffled) [17:28:11.624] invokeRestart("muffleMessage") [17:28:11.624] } [17:28:11.624] else if (inherits(cond, "warning")) { [17:28:11.624] muffled <- grepl(pattern, "muffleWarning") [17:28:11.624] if (muffled) [17:28:11.624] invokeRestart("muffleWarning") [17:28:11.624] } [17:28:11.624] else if (inherits(cond, "condition")) { [17:28:11.624] if (!is.null(pattern)) { [17:28:11.624] computeRestarts <- base::computeRestarts [17:28:11.624] grepl <- base::grepl [17:28:11.624] restarts <- computeRestarts(cond) [17:28:11.624] for (restart in restarts) { [17:28:11.624] name <- restart$name [17:28:11.624] if (is.null(name)) [17:28:11.624] next [17:28:11.624] if (!grepl(pattern, name)) [17:28:11.624] next [17:28:11.624] invokeRestart(restart) [17:28:11.624] muffled <- TRUE [17:28:11.624] break [17:28:11.624] } [17:28:11.624] } [17:28:11.624] } [17:28:11.624] invisible(muffled) [17:28:11.624] } [17:28:11.624] muffleCondition(cond, pattern = "^muffle") [17:28:11.624] } [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] if (TRUE) { [17:28:11.624] muffleCondition <- function (cond, pattern = "^muffle") [17:28:11.624] { [17:28:11.624] inherits <- base::inherits [17:28:11.624] invokeRestart <- base::invokeRestart [17:28:11.624] is.null <- base::is.null [17:28:11.624] muffled <- FALSE [17:28:11.624] if (inherits(cond, "message")) { [17:28:11.624] muffled <- grepl(pattern, "muffleMessage") [17:28:11.624] if (muffled) [17:28:11.624] invokeRestart("muffleMessage") [17:28:11.624] } [17:28:11.624] else if (inherits(cond, "warning")) { [17:28:11.624] muffled <- grepl(pattern, "muffleWarning") [17:28:11.624] if (muffled) [17:28:11.624] invokeRestart("muffleWarning") [17:28:11.624] } [17:28:11.624] else if (inherits(cond, "condition")) { [17:28:11.624] if (!is.null(pattern)) { [17:28:11.624] computeRestarts <- base::computeRestarts [17:28:11.624] grepl <- base::grepl [17:28:11.624] restarts <- computeRestarts(cond) [17:28:11.624] for (restart in restarts) { [17:28:11.624] name <- restart$name [17:28:11.624] if (is.null(name)) [17:28:11.624] next [17:28:11.624] if (!grepl(pattern, name)) [17:28:11.624] next [17:28:11.624] invokeRestart(restart) [17:28:11.624] muffled <- TRUE [17:28:11.624] break [17:28:11.624] } [17:28:11.624] } [17:28:11.624] } [17:28:11.624] invisible(muffled) [17:28:11.624] } [17:28:11.624] muffleCondition(cond, pattern = "^muffle") [17:28:11.624] } [17:28:11.624] } [17:28:11.624] } [17:28:11.624] })) [17:28:11.624] }, error = function(ex) { [17:28:11.624] base::structure(base::list(value = NULL, visible = NULL, [17:28:11.624] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:28:11.624] ...future.rng), started = ...future.startTime, [17:28:11.624] finished = Sys.time(), session_uuid = NA_character_, [17:28:11.624] version = "1.8"), class = "FutureResult") [17:28:11.624] }, finally = { [17:28:11.624] if (!identical(...future.workdir, getwd())) [17:28:11.624] setwd(...future.workdir) [17:28:11.624] { [17:28:11.624] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:28:11.624] ...future.oldOptions$nwarnings <- NULL [17:28:11.624] } [17:28:11.624] base::options(...future.oldOptions) [17:28:11.624] if (.Platform$OS.type == "windows") { [17:28:11.624] old_names <- names(...future.oldEnvVars) [17:28:11.624] envs <- base::Sys.getenv() [17:28:11.624] names <- names(envs) [17:28:11.624] common <- intersect(names, old_names) [17:28:11.624] added <- setdiff(names, old_names) [17:28:11.624] removed <- setdiff(old_names, names) [17:28:11.624] changed <- common[...future.oldEnvVars[common] != [17:28:11.624] envs[common]] [17:28:11.624] NAMES <- toupper(changed) [17:28:11.624] args <- list() [17:28:11.624] for (kk in seq_along(NAMES)) { [17:28:11.624] name <- changed[[kk]] [17:28:11.624] NAME <- NAMES[[kk]] [17:28:11.624] if (name != NAME && is.element(NAME, old_names)) [17:28:11.624] next [17:28:11.624] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.624] } [17:28:11.624] NAMES <- toupper(added) [17:28:11.624] for (kk in seq_along(NAMES)) { [17:28:11.624] name <- added[[kk]] [17:28:11.624] NAME <- NAMES[[kk]] [17:28:11.624] if (name != NAME && is.element(NAME, old_names)) [17:28:11.624] next [17:28:11.624] args[[name]] <- "" [17:28:11.624] } [17:28:11.624] NAMES <- toupper(removed) [17:28:11.624] for (kk in seq_along(NAMES)) { [17:28:11.624] name <- removed[[kk]] [17:28:11.624] NAME <- NAMES[[kk]] [17:28:11.624] if (name != NAME && is.element(NAME, old_names)) [17:28:11.624] next [17:28:11.624] args[[name]] <- ...future.oldEnvVars[[name]] [17:28:11.624] } [17:28:11.624] if (length(args) > 0) [17:28:11.624] base::do.call(base::Sys.setenv, args = args) [17:28:11.624] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:28:11.624] } [17:28:11.624] { [17:28:11.624] if (base::length(...future.futureOptionsAdded) > [17:28:11.624] 0L) { [17:28:11.624] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:28:11.624] base::names(opts) <- ...future.futureOptionsAdded [17:28:11.624] base::options(opts) [17:28:11.624] } [17:28:11.624] { [17:28:11.624] { [17:28:11.624] base::options(mc.cores = ...future.mc.cores.old) [17:28:11.624] NULL [17:28:11.624] } [17:28:11.624] options(future.plan = NULL) [17:28:11.624] if (is.na(NA_character_)) [17:28:11.624] Sys.unsetenv("R_FUTURE_PLAN") [17:28:11.624] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:28:11.624] future::plan(...future.strategy.old, .cleanup = FALSE, [17:28:11.624] .init = FALSE) [17:28:11.624] } [17:28:11.624] } [17:28:11.624] } [17:28:11.624] }) [17:28:11.624] if (TRUE) { [17:28:11.624] base::sink(type = "output", split = FALSE) [17:28:11.624] if (TRUE) { [17:28:11.624] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:28:11.624] } [17:28:11.624] else { [17:28:11.624] ...future.result["stdout"] <- base::list(NULL) [17:28:11.624] } [17:28:11.624] base::close(...future.stdout) [17:28:11.624] ...future.stdout <- NULL [17:28:11.624] } [17:28:11.624] ...future.result$conditions <- ...future.conditions [17:28:11.624] ...future.result$finished <- base::Sys.time() [17:28:11.624] ...future.result [17:28:11.624] } [17:28:11.633] Exporting 1 global objects (550 bytes) to cluster node #1 ... [17:28:11.634] Exporting 'x' (260 bytes) to cluster node #1 ... [17:28:11.635] Exporting 'x' (260 bytes) to cluster node #1 ... DONE [17:28:11.635] Exporting 1 global objects (550 bytes) to cluster node #1 ... DONE [17:28:11.636] MultisessionFuture started [17:28:11.636] - Launch lazy future ... done [17:28:11.637] run() for 'MultisessionFuture' ... done [17:28:11.637] result() for ClusterFuture ... [17:28:11.637] receiveMessageFromWorker() for ClusterFuture ... [17:28:11.638] - Validating connection of MultisessionFuture [17:28:11.665] - received message: FutureResult [17:28:11.665] - Received FutureResult [17:28:11.666] - Erased future from FutureRegistry [17:28:11.666] result() for ClusterFuture ... [17:28:11.666] - result already collected: FutureResult [17:28:11.667] result() for ClusterFuture ... done [17:28:11.667] receiveMessageFromWorker() for ClusterFuture ... done [17:28:11.667] result() for ClusterFuture ... done [17:28:11.668] result() for ClusterFuture ... [17:28:11.668] - result already collected: FutureResult [17:28:11.668] result() for ClusterFuture ... done value(f) = 'TRUE' Testing with 2 cores ... DONE > > message("*** Tricky use cases related to globals ... DONE") *** Tricky use cases related to globals ... DONE > > source("incl/end.R") [17:28:11.670] plan(): Setting new future strategy stack: [17:28:11.670] List of future strategies: [17:28:11.670] 1. FutureStrategy: [17:28:11.670] - args: function (..., envir = parent.frame(), workers = "") [17:28:11.670] - tweaked: FALSE [17:28:11.670] - call: future::plan(oplan) [17:28:11.681] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=205] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS43_HOME', 'RTOOLS44_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS44_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 4.76 0.28 6.82