R Under development (unstable) (2024-03-25 r86192 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:27:02.440] plan(): Setting new future strategy stack: [17:27:02.442] List of future strategies: [17:27:02.442] 1. sequential: [17:27:02.442] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.442] - tweaked: FALSE [17:27:02.442] - call: future::plan("sequential") [17:27:02.457] 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:27:02.575] plan(): Setting new future strategy stack: [17:27:02.575] List of future strategies: [17:27:02.575] 1. sequential: [17:27:02.575] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.575] - tweaked: FALSE [17:27:02.575] - call: plan(strategy) [17:27:02.589] 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:27:02.591] 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:27:02.591] 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:27:02.598] - globals found: [3] '{', '<-', '*' [17:27:02.598] Searching for globals ... DONE [17:27:02.599] Resolving globals: TRUE [17:27:02.599] Resolving any globals that are futures ... [17:27:02.599] - globals: [3] '{', '<-', '*' [17:27:02.599] Resolving any globals that are futures ... DONE [17:27:02.600] [17:27:02.600] [17:27:02.600] getGlobalsAndPackages() ... DONE [17:27:02.601] run() for 'Future' ... [17:27:02.601] - state: 'created' [17:27:02.601] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.602] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.602] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.602] - Field: 'label' [17:27:02.602] - Field: 'local' [17:27:02.603] - Field: 'owner' [17:27:02.603] - Field: 'envir' [17:27:02.603] - Field: 'packages' [17:27:02.603] - Field: 'gc' [17:27:02.603] - Field: 'conditions' [17:27:02.603] - Field: 'expr' [17:27:02.604] - Field: 'uuid' [17:27:02.604] - Field: 'seed' [17:27:02.604] - Field: 'version' [17:27:02.604] - Field: 'result' [17:27:02.604] - Field: 'asynchronous' [17:27:02.604] - Field: 'calls' [17:27:02.605] - Field: 'globals' [17:27:02.605] - Field: 'stdout' [17:27:02.605] - Field: 'earlySignal' [17:27:02.605] - Field: 'lazy' [17:27:02.605] - Field: 'state' [17:27:02.605] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.606] - Launch lazy future ... [17:27:02.606] Packages needed by the future expression (n = 0): [17:27:02.607] Packages needed by future strategies (n = 0): [17:27:02.608] { [17:27:02.608] { [17:27:02.608] { [17:27:02.608] ...future.startTime <- base::Sys.time() [17:27:02.608] { [17:27:02.608] { [17:27:02.608] { [17:27:02.608] base::local({ [17:27:02.608] has_future <- base::requireNamespace("future", [17:27:02.608] quietly = TRUE) [17:27:02.608] if (has_future) { [17:27:02.608] ns <- base::getNamespace("future") [17:27:02.608] version <- ns[[".package"]][["version"]] [17:27:02.608] if (is.null(version)) [17:27:02.608] version <- utils::packageVersion("future") [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] version <- NULL [17:27:02.608] } [17:27:02.608] if (!has_future || version < "1.8.0") { [17:27:02.608] info <- base::c(r_version = base::gsub("R version ", [17:27:02.608] "", base::R.version$version.string), [17:27:02.608] platform = base::sprintf("%s (%s-bit)", [17:27:02.608] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.608] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.608] "release", "version")], collapse = " "), [17:27:02.608] hostname = base::Sys.info()[["nodename"]]) [17:27:02.608] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.608] info) [17:27:02.608] info <- base::paste(info, collapse = "; ") [17:27:02.608] if (!has_future) { [17:27:02.608] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.608] info) [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.608] info, version) [17:27:02.608] } [17:27:02.608] base::stop(msg) [17:27:02.608] } [17:27:02.608] }) [17:27:02.608] } [17:27:02.608] ...future.strategy.old <- future::plan("list") [17:27:02.608] options(future.plan = NULL) [17:27:02.608] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.608] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.608] } [17:27:02.608] ...future.workdir <- getwd() [17:27:02.608] } [17:27:02.608] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.608] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.608] } [17:27:02.608] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.608] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.608] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.608] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.608] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.608] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.608] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.608] base::names(...future.oldOptions)) [17:27:02.608] } [17:27:02.608] if (FALSE) { [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] if (TRUE) { [17:27:02.608] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.608] open = "w") [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.608] windows = "NUL", "/dev/null"), open = "w") [17:27:02.608] } [17:27:02.608] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.608] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.608] base::sink(type = "output", split = FALSE) [17:27:02.608] base::close(...future.stdout) [17:27:02.608] }, add = TRUE) [17:27:02.608] } [17:27:02.608] ...future.frame <- base::sys.nframe() [17:27:02.608] ...future.conditions <- base::list() [17:27:02.608] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.608] if (FALSE) { [17:27:02.608] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.608] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.608] } [17:27:02.608] ...future.result <- base::tryCatch({ [17:27:02.608] base::withCallingHandlers({ [17:27:02.608] ...future.value <- base::withVisible(base::local({ [17:27:02.608] b <- a [17:27:02.608] a <- 2 [17:27:02.608] a * b [17:27:02.608] })) [17:27:02.608] future::FutureResult(value = ...future.value$value, [17:27:02.608] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.608] ...future.rng), globalenv = if (FALSE) [17:27:02.608] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.608] ...future.globalenv.names)) [17:27:02.608] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.608] }, condition = base::local({ [17:27:02.608] c <- base::c [17:27:02.608] inherits <- base::inherits [17:27:02.608] invokeRestart <- base::invokeRestart [17:27:02.608] length <- base::length [17:27:02.608] list <- base::list [17:27:02.608] seq.int <- base::seq.int [17:27:02.608] signalCondition <- base::signalCondition [17:27:02.608] sys.calls <- base::sys.calls [17:27:02.608] `[[` <- base::`[[` [17:27:02.608] `+` <- base::`+` [17:27:02.608] `<<-` <- base::`<<-` [17:27:02.608] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.608] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.608] 3L)] [17:27:02.608] } [17:27:02.608] function(cond) { [17:27:02.608] is_error <- inherits(cond, "error") [17:27:02.608] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.608] NULL) [17:27:02.608] if (is_error) { [17:27:02.608] sessionInformation <- function() { [17:27:02.608] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.608] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.608] search = base::search(), system = base::Sys.info()) [17:27:02.608] } [17:27:02.608] ...future.conditions[[length(...future.conditions) + [17:27:02.608] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.608] cond$call), session = sessionInformation(), [17:27:02.608] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.608] signalCondition(cond) [17:27:02.608] } [17:27:02.608] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.608] "immediateCondition"))) { [17:27:02.608] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.608] ...future.conditions[[length(...future.conditions) + [17:27:02.608] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.608] if (TRUE && !signal) { [17:27:02.608] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.608] { [17:27:02.608] inherits <- base::inherits [17:27:02.608] invokeRestart <- base::invokeRestart [17:27:02.608] is.null <- base::is.null [17:27:02.608] muffled <- FALSE [17:27:02.608] if (inherits(cond, "message")) { [17:27:02.608] muffled <- grepl(pattern, "muffleMessage") [17:27:02.608] if (muffled) [17:27:02.608] invokeRestart("muffleMessage") [17:27:02.608] } [17:27:02.608] else if (inherits(cond, "warning")) { [17:27:02.608] muffled <- grepl(pattern, "muffleWarning") [17:27:02.608] if (muffled) [17:27:02.608] invokeRestart("muffleWarning") [17:27:02.608] } [17:27:02.608] else if (inherits(cond, "condition")) { [17:27:02.608] if (!is.null(pattern)) { [17:27:02.608] computeRestarts <- base::computeRestarts [17:27:02.608] grepl <- base::grepl [17:27:02.608] restarts <- computeRestarts(cond) [17:27:02.608] for (restart in restarts) { [17:27:02.608] name <- restart$name [17:27:02.608] if (is.null(name)) [17:27:02.608] next [17:27:02.608] if (!grepl(pattern, name)) [17:27:02.608] next [17:27:02.608] invokeRestart(restart) [17:27:02.608] muffled <- TRUE [17:27:02.608] break [17:27:02.608] } [17:27:02.608] } [17:27:02.608] } [17:27:02.608] invisible(muffled) [17:27:02.608] } [17:27:02.608] muffleCondition(cond, pattern = "^muffle") [17:27:02.608] } [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] if (TRUE) { [17:27:02.608] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.608] { [17:27:02.608] inherits <- base::inherits [17:27:02.608] invokeRestart <- base::invokeRestart [17:27:02.608] is.null <- base::is.null [17:27:02.608] muffled <- FALSE [17:27:02.608] if (inherits(cond, "message")) { [17:27:02.608] muffled <- grepl(pattern, "muffleMessage") [17:27:02.608] if (muffled) [17:27:02.608] invokeRestart("muffleMessage") [17:27:02.608] } [17:27:02.608] else if (inherits(cond, "warning")) { [17:27:02.608] muffled <- grepl(pattern, "muffleWarning") [17:27:02.608] if (muffled) [17:27:02.608] invokeRestart("muffleWarning") [17:27:02.608] } [17:27:02.608] else if (inherits(cond, "condition")) { [17:27:02.608] if (!is.null(pattern)) { [17:27:02.608] computeRestarts <- base::computeRestarts [17:27:02.608] grepl <- base::grepl [17:27:02.608] restarts <- computeRestarts(cond) [17:27:02.608] for (restart in restarts) { [17:27:02.608] name <- restart$name [17:27:02.608] if (is.null(name)) [17:27:02.608] next [17:27:02.608] if (!grepl(pattern, name)) [17:27:02.608] next [17:27:02.608] invokeRestart(restart) [17:27:02.608] muffled <- TRUE [17:27:02.608] break [17:27:02.608] } [17:27:02.608] } [17:27:02.608] } [17:27:02.608] invisible(muffled) [17:27:02.608] } [17:27:02.608] muffleCondition(cond, pattern = "^muffle") [17:27:02.608] } [17:27:02.608] } [17:27:02.608] } [17:27:02.608] })) [17:27:02.608] }, error = function(ex) { [17:27:02.608] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.608] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.608] ...future.rng), started = ...future.startTime, [17:27:02.608] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.608] version = "1.8"), class = "FutureResult") [17:27:02.608] }, finally = { [17:27:02.608] if (!identical(...future.workdir, getwd())) [17:27:02.608] setwd(...future.workdir) [17:27:02.608] { [17:27:02.608] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.608] ...future.oldOptions$nwarnings <- NULL [17:27:02.608] } [17:27:02.608] base::options(...future.oldOptions) [17:27:02.608] if (.Platform$OS.type == "windows") { [17:27:02.608] old_names <- names(...future.oldEnvVars) [17:27:02.608] envs <- base::Sys.getenv() [17:27:02.608] names <- names(envs) [17:27:02.608] common <- intersect(names, old_names) [17:27:02.608] added <- setdiff(names, old_names) [17:27:02.608] removed <- setdiff(old_names, names) [17:27:02.608] changed <- common[...future.oldEnvVars[common] != [17:27:02.608] envs[common]] [17:27:02.608] NAMES <- toupper(changed) [17:27:02.608] args <- list() [17:27:02.608] for (kk in seq_along(NAMES)) { [17:27:02.608] name <- changed[[kk]] [17:27:02.608] NAME <- NAMES[[kk]] [17:27:02.608] if (name != NAME && is.element(NAME, old_names)) [17:27:02.608] next [17:27:02.608] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.608] } [17:27:02.608] NAMES <- toupper(added) [17:27:02.608] for (kk in seq_along(NAMES)) { [17:27:02.608] name <- added[[kk]] [17:27:02.608] NAME <- NAMES[[kk]] [17:27:02.608] if (name != NAME && is.element(NAME, old_names)) [17:27:02.608] next [17:27:02.608] args[[name]] <- "" [17:27:02.608] } [17:27:02.608] NAMES <- toupper(removed) [17:27:02.608] for (kk in seq_along(NAMES)) { [17:27:02.608] name <- removed[[kk]] [17:27:02.608] NAME <- NAMES[[kk]] [17:27:02.608] if (name != NAME && is.element(NAME, old_names)) [17:27:02.608] next [17:27:02.608] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.608] } [17:27:02.608] if (length(args) > 0) [17:27:02.608] base::do.call(base::Sys.setenv, args = args) [17:27:02.608] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.608] } [17:27:02.608] { [17:27:02.608] if (base::length(...future.futureOptionsAdded) > [17:27:02.608] 0L) { [17:27:02.608] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.608] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.608] base::options(opts) [17:27:02.608] } [17:27:02.608] { [17:27:02.608] { [17:27:02.608] NULL [17:27:02.608] RNGkind("Mersenne-Twister") [17:27:02.608] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.608] inherits = FALSE) [17:27:02.608] } [17:27:02.608] options(future.plan = NULL) [17:27:02.608] if (is.na(NA_character_)) [17:27:02.608] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.608] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.608] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.608] .init = FALSE) [17:27:02.608] } [17:27:02.608] } [17:27:02.608] } [17:27:02.608] }) [17:27:02.608] if (TRUE) { [17:27:02.608] base::sink(type = "output", split = FALSE) [17:27:02.608] if (TRUE) { [17:27:02.608] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.608] } [17:27:02.608] else { [17:27:02.608] ...future.result["stdout"] <- base::list(NULL) [17:27:02.608] } [17:27:02.608] base::close(...future.stdout) [17:27:02.608] ...future.stdout <- NULL [17:27:02.608] } [17:27:02.608] ...future.result$conditions <- ...future.conditions [17:27:02.608] ...future.result$finished <- base::Sys.time() [17:27:02.608] ...future.result [17:27:02.608] } [17:27:02.612] plan(): Setting new future strategy stack: [17:27:02.612] List of future strategies: [17:27:02.612] 1. sequential: [17:27:02.612] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.612] - tweaked: FALSE [17:27:02.612] - call: NULL [17:27:02.613] plan(): nbrOfWorkers() = 1 [17:27:02.617] plan(): Setting new future strategy stack: [17:27:02.617] List of future strategies: [17:27:02.617] 1. sequential: [17:27:02.617] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.617] - tweaked: FALSE [17:27:02.617] - call: plan(strategy) [17:27:02.618] plan(): nbrOfWorkers() = 1 [17:27:02.619] SequentialFuture started (and completed) [17:27:02.619] - Launch lazy future ... done [17:27:02.620] 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:27:02.628] 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:27:02.629] 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:27:02.631] - globals found: [3] '{', '<-', '*' [17:27:02.631] Searching for globals ... DONE [17:27:02.632] Resolving globals: TRUE [17:27:02.632] Resolving any globals that are futures ... [17:27:02.632] - globals: [3] '{', '<-', '*' [17:27:02.632] Resolving any globals that are futures ... DONE [17:27:02.633] [17:27:02.633] [17:27:02.633] getGlobalsAndPackages() ... DONE [17:27:02.634] run() for 'Future' ... [17:27:02.634] - state: 'created' [17:27:02.634] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.635] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.635] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.635] - Field: 'label' [17:27:02.635] - Field: 'local' [17:27:02.635] - Field: 'owner' [17:27:02.636] - Field: 'envir' [17:27:02.636] - Field: 'packages' [17:27:02.636] - Field: 'gc' [17:27:02.636] - Field: 'conditions' [17:27:02.636] - Field: 'expr' [17:27:02.637] - Field: 'uuid' [17:27:02.637] - Field: 'seed' [17:27:02.637] - Field: 'version' [17:27:02.637] - Field: 'result' [17:27:02.637] - Field: 'asynchronous' [17:27:02.638] - Field: 'calls' [17:27:02.638] - Field: 'globals' [17:27:02.638] - Field: 'stdout' [17:27:02.638] - Field: 'earlySignal' [17:27:02.639] - Field: 'lazy' [17:27:02.639] - Field: 'state' [17:27:02.639] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.639] - Launch lazy future ... [17:27:02.639] Packages needed by the future expression (n = 0): [17:27:02.640] Packages needed by future strategies (n = 0): [17:27:02.640] { [17:27:02.640] { [17:27:02.640] { [17:27:02.640] ...future.startTime <- base::Sys.time() [17:27:02.640] { [17:27:02.640] { [17:27:02.640] { [17:27:02.640] base::local({ [17:27:02.640] has_future <- base::requireNamespace("future", [17:27:02.640] quietly = TRUE) [17:27:02.640] if (has_future) { [17:27:02.640] ns <- base::getNamespace("future") [17:27:02.640] version <- ns[[".package"]][["version"]] [17:27:02.640] if (is.null(version)) [17:27:02.640] version <- utils::packageVersion("future") [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] version <- NULL [17:27:02.640] } [17:27:02.640] if (!has_future || version < "1.8.0") { [17:27:02.640] info <- base::c(r_version = base::gsub("R version ", [17:27:02.640] "", base::R.version$version.string), [17:27:02.640] platform = base::sprintf("%s (%s-bit)", [17:27:02.640] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.640] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.640] "release", "version")], collapse = " "), [17:27:02.640] hostname = base::Sys.info()[["nodename"]]) [17:27:02.640] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.640] info) [17:27:02.640] info <- base::paste(info, collapse = "; ") [17:27:02.640] if (!has_future) { [17:27:02.640] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.640] info) [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.640] info, version) [17:27:02.640] } [17:27:02.640] base::stop(msg) [17:27:02.640] } [17:27:02.640] }) [17:27:02.640] } [17:27:02.640] ...future.strategy.old <- future::plan("list") [17:27:02.640] options(future.plan = NULL) [17:27:02.640] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.640] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.640] } [17:27:02.640] ...future.workdir <- getwd() [17:27:02.640] } [17:27:02.640] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.640] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.640] } [17:27:02.640] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.640] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.640] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.640] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.640] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.640] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.640] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.640] base::names(...future.oldOptions)) [17:27:02.640] } [17:27:02.640] if (FALSE) { [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] if (TRUE) { [17:27:02.640] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.640] open = "w") [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.640] windows = "NUL", "/dev/null"), open = "w") [17:27:02.640] } [17:27:02.640] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.640] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.640] base::sink(type = "output", split = FALSE) [17:27:02.640] base::close(...future.stdout) [17:27:02.640] }, add = TRUE) [17:27:02.640] } [17:27:02.640] ...future.frame <- base::sys.nframe() [17:27:02.640] ...future.conditions <- base::list() [17:27:02.640] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.640] if (FALSE) { [17:27:02.640] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.640] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.640] } [17:27:02.640] ...future.result <- base::tryCatch({ [17:27:02.640] base::withCallingHandlers({ [17:27:02.640] ...future.value <- base::withVisible(base::local({ [17:27:02.640] b <- a [17:27:02.640] a <- 2 [17:27:02.640] a * b [17:27:02.640] })) [17:27:02.640] future::FutureResult(value = ...future.value$value, [17:27:02.640] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.640] ...future.rng), globalenv = if (FALSE) [17:27:02.640] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.640] ...future.globalenv.names)) [17:27:02.640] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.640] }, condition = base::local({ [17:27:02.640] c <- base::c [17:27:02.640] inherits <- base::inherits [17:27:02.640] invokeRestart <- base::invokeRestart [17:27:02.640] length <- base::length [17:27:02.640] list <- base::list [17:27:02.640] seq.int <- base::seq.int [17:27:02.640] signalCondition <- base::signalCondition [17:27:02.640] sys.calls <- base::sys.calls [17:27:02.640] `[[` <- base::`[[` [17:27:02.640] `+` <- base::`+` [17:27:02.640] `<<-` <- base::`<<-` [17:27:02.640] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.640] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.640] 3L)] [17:27:02.640] } [17:27:02.640] function(cond) { [17:27:02.640] is_error <- inherits(cond, "error") [17:27:02.640] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.640] NULL) [17:27:02.640] if (is_error) { [17:27:02.640] sessionInformation <- function() { [17:27:02.640] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.640] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.640] search = base::search(), system = base::Sys.info()) [17:27:02.640] } [17:27:02.640] ...future.conditions[[length(...future.conditions) + [17:27:02.640] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.640] cond$call), session = sessionInformation(), [17:27:02.640] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.640] signalCondition(cond) [17:27:02.640] } [17:27:02.640] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.640] "immediateCondition"))) { [17:27:02.640] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.640] ...future.conditions[[length(...future.conditions) + [17:27:02.640] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.640] if (TRUE && !signal) { [17:27:02.640] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.640] { [17:27:02.640] inherits <- base::inherits [17:27:02.640] invokeRestart <- base::invokeRestart [17:27:02.640] is.null <- base::is.null [17:27:02.640] muffled <- FALSE [17:27:02.640] if (inherits(cond, "message")) { [17:27:02.640] muffled <- grepl(pattern, "muffleMessage") [17:27:02.640] if (muffled) [17:27:02.640] invokeRestart("muffleMessage") [17:27:02.640] } [17:27:02.640] else if (inherits(cond, "warning")) { [17:27:02.640] muffled <- grepl(pattern, "muffleWarning") [17:27:02.640] if (muffled) [17:27:02.640] invokeRestart("muffleWarning") [17:27:02.640] } [17:27:02.640] else if (inherits(cond, "condition")) { [17:27:02.640] if (!is.null(pattern)) { [17:27:02.640] computeRestarts <- base::computeRestarts [17:27:02.640] grepl <- base::grepl [17:27:02.640] restarts <- computeRestarts(cond) [17:27:02.640] for (restart in restarts) { [17:27:02.640] name <- restart$name [17:27:02.640] if (is.null(name)) [17:27:02.640] next [17:27:02.640] if (!grepl(pattern, name)) [17:27:02.640] next [17:27:02.640] invokeRestart(restart) [17:27:02.640] muffled <- TRUE [17:27:02.640] break [17:27:02.640] } [17:27:02.640] } [17:27:02.640] } [17:27:02.640] invisible(muffled) [17:27:02.640] } [17:27:02.640] muffleCondition(cond, pattern = "^muffle") [17:27:02.640] } [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] if (TRUE) { [17:27:02.640] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.640] { [17:27:02.640] inherits <- base::inherits [17:27:02.640] invokeRestart <- base::invokeRestart [17:27:02.640] is.null <- base::is.null [17:27:02.640] muffled <- FALSE [17:27:02.640] if (inherits(cond, "message")) { [17:27:02.640] muffled <- grepl(pattern, "muffleMessage") [17:27:02.640] if (muffled) [17:27:02.640] invokeRestart("muffleMessage") [17:27:02.640] } [17:27:02.640] else if (inherits(cond, "warning")) { [17:27:02.640] muffled <- grepl(pattern, "muffleWarning") [17:27:02.640] if (muffled) [17:27:02.640] invokeRestart("muffleWarning") [17:27:02.640] } [17:27:02.640] else if (inherits(cond, "condition")) { [17:27:02.640] if (!is.null(pattern)) { [17:27:02.640] computeRestarts <- base::computeRestarts [17:27:02.640] grepl <- base::grepl [17:27:02.640] restarts <- computeRestarts(cond) [17:27:02.640] for (restart in restarts) { [17:27:02.640] name <- restart$name [17:27:02.640] if (is.null(name)) [17:27:02.640] next [17:27:02.640] if (!grepl(pattern, name)) [17:27:02.640] next [17:27:02.640] invokeRestart(restart) [17:27:02.640] muffled <- TRUE [17:27:02.640] break [17:27:02.640] } [17:27:02.640] } [17:27:02.640] } [17:27:02.640] invisible(muffled) [17:27:02.640] } [17:27:02.640] muffleCondition(cond, pattern = "^muffle") [17:27:02.640] } [17:27:02.640] } [17:27:02.640] } [17:27:02.640] })) [17:27:02.640] }, error = function(ex) { [17:27:02.640] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.640] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.640] ...future.rng), started = ...future.startTime, [17:27:02.640] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.640] version = "1.8"), class = "FutureResult") [17:27:02.640] }, finally = { [17:27:02.640] if (!identical(...future.workdir, getwd())) [17:27:02.640] setwd(...future.workdir) [17:27:02.640] { [17:27:02.640] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.640] ...future.oldOptions$nwarnings <- NULL [17:27:02.640] } [17:27:02.640] base::options(...future.oldOptions) [17:27:02.640] if (.Platform$OS.type == "windows") { [17:27:02.640] old_names <- names(...future.oldEnvVars) [17:27:02.640] envs <- base::Sys.getenv() [17:27:02.640] names <- names(envs) [17:27:02.640] common <- intersect(names, old_names) [17:27:02.640] added <- setdiff(names, old_names) [17:27:02.640] removed <- setdiff(old_names, names) [17:27:02.640] changed <- common[...future.oldEnvVars[common] != [17:27:02.640] envs[common]] [17:27:02.640] NAMES <- toupper(changed) [17:27:02.640] args <- list() [17:27:02.640] for (kk in seq_along(NAMES)) { [17:27:02.640] name <- changed[[kk]] [17:27:02.640] NAME <- NAMES[[kk]] [17:27:02.640] if (name != NAME && is.element(NAME, old_names)) [17:27:02.640] next [17:27:02.640] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.640] } [17:27:02.640] NAMES <- toupper(added) [17:27:02.640] for (kk in seq_along(NAMES)) { [17:27:02.640] name <- added[[kk]] [17:27:02.640] NAME <- NAMES[[kk]] [17:27:02.640] if (name != NAME && is.element(NAME, old_names)) [17:27:02.640] next [17:27:02.640] args[[name]] <- "" [17:27:02.640] } [17:27:02.640] NAMES <- toupper(removed) [17:27:02.640] for (kk in seq_along(NAMES)) { [17:27:02.640] name <- removed[[kk]] [17:27:02.640] NAME <- NAMES[[kk]] [17:27:02.640] if (name != NAME && is.element(NAME, old_names)) [17:27:02.640] next [17:27:02.640] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.640] } [17:27:02.640] if (length(args) > 0) [17:27:02.640] base::do.call(base::Sys.setenv, args = args) [17:27:02.640] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.640] } [17:27:02.640] { [17:27:02.640] if (base::length(...future.futureOptionsAdded) > [17:27:02.640] 0L) { [17:27:02.640] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.640] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.640] base::options(opts) [17:27:02.640] } [17:27:02.640] { [17:27:02.640] { [17:27:02.640] NULL [17:27:02.640] RNGkind("Mersenne-Twister") [17:27:02.640] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.640] inherits = FALSE) [17:27:02.640] } [17:27:02.640] options(future.plan = NULL) [17:27:02.640] if (is.na(NA_character_)) [17:27:02.640] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.640] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.640] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.640] .init = FALSE) [17:27:02.640] } [17:27:02.640] } [17:27:02.640] } [17:27:02.640] }) [17:27:02.640] if (TRUE) { [17:27:02.640] base::sink(type = "output", split = FALSE) [17:27:02.640] if (TRUE) { [17:27:02.640] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.640] } [17:27:02.640] else { [17:27:02.640] ...future.result["stdout"] <- base::list(NULL) [17:27:02.640] } [17:27:02.640] base::close(...future.stdout) [17:27:02.640] ...future.stdout <- NULL [17:27:02.640] } [17:27:02.640] ...future.result$conditions <- ...future.conditions [17:27:02.640] ...future.result$finished <- base::Sys.time() [17:27:02.640] ...future.result [17:27:02.640] } [17:27:02.645] plan(): Setting new future strategy stack: [17:27:02.645] List of future strategies: [17:27:02.645] 1. sequential: [17:27:02.645] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.645] - tweaked: FALSE [17:27:02.645] - call: NULL [17:27:02.646] plan(): nbrOfWorkers() = 1 [17:27:02.648] plan(): Setting new future strategy stack: [17:27:02.648] List of future strategies: [17:27:02.648] 1. sequential: [17:27:02.648] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.648] - tweaked: FALSE [17:27:02.648] - call: plan(strategy) [17:27:02.649] plan(): nbrOfWorkers() = 1 [17:27:02.649] SequentialFuture started (and completed) [17:27:02.649] signalConditions() ... [17:27:02.649] - include = 'immediateCondition' [17:27:02.650] - exclude = [17:27:02.650] - resignal = FALSE [17:27:02.650] - Number of conditions: 1 [17:27:02.650] signalConditions() ... done [17:27:02.650] - Launch lazy future ... done [17:27:02.651] run() for 'SequentialFuture' ... done [17:27:02.651] signalConditions() ... [17:27:02.651] - include = 'immediateCondition' [17:27:02.651] - exclude = [17:27:02.652] - resignal = FALSE [17:27:02.652] - Number of conditions: 1 [17:27:02.652] signalConditions() ... done [17:27:02.652] Future state: 'finished' [17:27:02.652] signalConditions() ... [17:27:02.653] - include = 'condition' [17:27:02.653] - exclude = 'immediateCondition' [17:27:02.653] - resignal = TRUE [17:27:02.653] - Number of conditions: 1 [17:27:02.653] - Condition #1: 'simpleError', 'error', 'condition' [17:27:02.654] 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 "4.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "03" .. .. .. .. ..$ day : chr "25" .. .. .. .. ..$ svn rev : chr "86192" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-03-25 r86192 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-03-26 17:27:02" .. .. ..$ 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:27:02.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:27:02.680] 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:27:02.682] - globals found: [4] '{', '<-', '*', 'ii' [17:27:02.682] Searching for globals ... DONE [17:27:02.682] Resolving globals: TRUE [17:27:02.683] Resolving any globals that are futures ... [17:27:02.683] - globals: [4] '{', '<-', '*', 'ii' [17:27:02.683] Resolving any globals that are futures ... DONE [17:27:02.683] Resolving futures part of globals (recursively) ... [17:27:02.684] resolve() on list ... [17:27:02.685] recursive: 99 [17:27:02.685] length: 1 [17:27:02.685] elements: 'ii' [17:27:02.685] length: 0 (resolved future 1) [17:27:02.686] resolve() on list ... DONE [17:27:02.686] - globals: [1] 'ii' [17:27:02.686] Resolving futures part of globals (recursively) ... DONE [17:27:02.687] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:02.687] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:02.687] - globals: [1] 'ii' [17:27:02.688] [17:27:02.688] getGlobalsAndPackages() ... DONE [17:27:02.688] run() for 'Future' ... [17:27:02.688] - state: 'created' [17:27:02.688] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.689] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.689] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.689] - Field: 'label' [17:27:02.689] - Field: 'local' [17:27:02.690] - Field: 'owner' [17:27:02.690] - Field: 'envir' [17:27:02.690] - Field: 'packages' [17:27:02.690] - Field: 'gc' [17:27:02.690] - Field: 'conditions' [17:27:02.690] - Field: 'expr' [17:27:02.691] - Field: 'uuid' [17:27:02.691] - Field: 'seed' [17:27:02.691] - Field: 'version' [17:27:02.691] - Field: 'result' [17:27:02.691] - Field: 'asynchronous' [17:27:02.692] - Field: 'calls' [17:27:02.692] - Field: 'globals' [17:27:02.692] - Field: 'stdout' [17:27:02.692] - Field: 'earlySignal' [17:27:02.692] - Field: 'lazy' [17:27:02.692] - Field: 'state' [17:27:02.693] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.693] - Launch lazy future ... [17:27:02.693] Packages needed by the future expression (n = 0): [17:27:02.693] Packages needed by future strategies (n = 0): [17:27:02.694] { [17:27:02.694] { [17:27:02.694] { [17:27:02.694] ...future.startTime <- base::Sys.time() [17:27:02.694] { [17:27:02.694] { [17:27:02.694] { [17:27:02.694] base::local({ [17:27:02.694] has_future <- base::requireNamespace("future", [17:27:02.694] quietly = TRUE) [17:27:02.694] if (has_future) { [17:27:02.694] ns <- base::getNamespace("future") [17:27:02.694] version <- ns[[".package"]][["version"]] [17:27:02.694] if (is.null(version)) [17:27:02.694] version <- utils::packageVersion("future") [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] version <- NULL [17:27:02.694] } [17:27:02.694] if (!has_future || version < "1.8.0") { [17:27:02.694] info <- base::c(r_version = base::gsub("R version ", [17:27:02.694] "", base::R.version$version.string), [17:27:02.694] platform = base::sprintf("%s (%s-bit)", [17:27:02.694] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.694] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.694] "release", "version")], collapse = " "), [17:27:02.694] hostname = base::Sys.info()[["nodename"]]) [17:27:02.694] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.694] info) [17:27:02.694] info <- base::paste(info, collapse = "; ") [17:27:02.694] if (!has_future) { [17:27:02.694] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.694] info) [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.694] info, version) [17:27:02.694] } [17:27:02.694] base::stop(msg) [17:27:02.694] } [17:27:02.694] }) [17:27:02.694] } [17:27:02.694] ...future.strategy.old <- future::plan("list") [17:27:02.694] options(future.plan = NULL) [17:27:02.694] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.694] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.694] } [17:27:02.694] ...future.workdir <- getwd() [17:27:02.694] } [17:27:02.694] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.694] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.694] } [17:27:02.694] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.694] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.694] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.694] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.694] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.694] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.694] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.694] base::names(...future.oldOptions)) [17:27:02.694] } [17:27:02.694] if (FALSE) { [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] if (TRUE) { [17:27:02.694] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.694] open = "w") [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.694] windows = "NUL", "/dev/null"), open = "w") [17:27:02.694] } [17:27:02.694] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.694] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.694] base::sink(type = "output", split = FALSE) [17:27:02.694] base::close(...future.stdout) [17:27:02.694] }, add = TRUE) [17:27:02.694] } [17:27:02.694] ...future.frame <- base::sys.nframe() [17:27:02.694] ...future.conditions <- base::list() [17:27:02.694] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.694] if (FALSE) { [17:27:02.694] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.694] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.694] } [17:27:02.694] ...future.result <- base::tryCatch({ [17:27:02.694] base::withCallingHandlers({ [17:27:02.694] ...future.value <- base::withVisible(base::local({ [17:27:02.694] b <- a * ii [17:27:02.694] a <- 0 [17:27:02.694] b [17:27:02.694] })) [17:27:02.694] future::FutureResult(value = ...future.value$value, [17:27:02.694] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.694] ...future.rng), globalenv = if (FALSE) [17:27:02.694] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.694] ...future.globalenv.names)) [17:27:02.694] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.694] }, condition = base::local({ [17:27:02.694] c <- base::c [17:27:02.694] inherits <- base::inherits [17:27:02.694] invokeRestart <- base::invokeRestart [17:27:02.694] length <- base::length [17:27:02.694] list <- base::list [17:27:02.694] seq.int <- base::seq.int [17:27:02.694] signalCondition <- base::signalCondition [17:27:02.694] sys.calls <- base::sys.calls [17:27:02.694] `[[` <- base::`[[` [17:27:02.694] `+` <- base::`+` [17:27:02.694] `<<-` <- base::`<<-` [17:27:02.694] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.694] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.694] 3L)] [17:27:02.694] } [17:27:02.694] function(cond) { [17:27:02.694] is_error <- inherits(cond, "error") [17:27:02.694] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.694] NULL) [17:27:02.694] if (is_error) { [17:27:02.694] sessionInformation <- function() { [17:27:02.694] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.694] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.694] search = base::search(), system = base::Sys.info()) [17:27:02.694] } [17:27:02.694] ...future.conditions[[length(...future.conditions) + [17:27:02.694] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.694] cond$call), session = sessionInformation(), [17:27:02.694] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.694] signalCondition(cond) [17:27:02.694] } [17:27:02.694] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.694] "immediateCondition"))) { [17:27:02.694] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.694] ...future.conditions[[length(...future.conditions) + [17:27:02.694] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.694] if (TRUE && !signal) { [17:27:02.694] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.694] { [17:27:02.694] inherits <- base::inherits [17:27:02.694] invokeRestart <- base::invokeRestart [17:27:02.694] is.null <- base::is.null [17:27:02.694] muffled <- FALSE [17:27:02.694] if (inherits(cond, "message")) { [17:27:02.694] muffled <- grepl(pattern, "muffleMessage") [17:27:02.694] if (muffled) [17:27:02.694] invokeRestart("muffleMessage") [17:27:02.694] } [17:27:02.694] else if (inherits(cond, "warning")) { [17:27:02.694] muffled <- grepl(pattern, "muffleWarning") [17:27:02.694] if (muffled) [17:27:02.694] invokeRestart("muffleWarning") [17:27:02.694] } [17:27:02.694] else if (inherits(cond, "condition")) { [17:27:02.694] if (!is.null(pattern)) { [17:27:02.694] computeRestarts <- base::computeRestarts [17:27:02.694] grepl <- base::grepl [17:27:02.694] restarts <- computeRestarts(cond) [17:27:02.694] for (restart in restarts) { [17:27:02.694] name <- restart$name [17:27:02.694] if (is.null(name)) [17:27:02.694] next [17:27:02.694] if (!grepl(pattern, name)) [17:27:02.694] next [17:27:02.694] invokeRestart(restart) [17:27:02.694] muffled <- TRUE [17:27:02.694] break [17:27:02.694] } [17:27:02.694] } [17:27:02.694] } [17:27:02.694] invisible(muffled) [17:27:02.694] } [17:27:02.694] muffleCondition(cond, pattern = "^muffle") [17:27:02.694] } [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] if (TRUE) { [17:27:02.694] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.694] { [17:27:02.694] inherits <- base::inherits [17:27:02.694] invokeRestart <- base::invokeRestart [17:27:02.694] is.null <- base::is.null [17:27:02.694] muffled <- FALSE [17:27:02.694] if (inherits(cond, "message")) { [17:27:02.694] muffled <- grepl(pattern, "muffleMessage") [17:27:02.694] if (muffled) [17:27:02.694] invokeRestart("muffleMessage") [17:27:02.694] } [17:27:02.694] else if (inherits(cond, "warning")) { [17:27:02.694] muffled <- grepl(pattern, "muffleWarning") [17:27:02.694] if (muffled) [17:27:02.694] invokeRestart("muffleWarning") [17:27:02.694] } [17:27:02.694] else if (inherits(cond, "condition")) { [17:27:02.694] if (!is.null(pattern)) { [17:27:02.694] computeRestarts <- base::computeRestarts [17:27:02.694] grepl <- base::grepl [17:27:02.694] restarts <- computeRestarts(cond) [17:27:02.694] for (restart in restarts) { [17:27:02.694] name <- restart$name [17:27:02.694] if (is.null(name)) [17:27:02.694] next [17:27:02.694] if (!grepl(pattern, name)) [17:27:02.694] next [17:27:02.694] invokeRestart(restart) [17:27:02.694] muffled <- TRUE [17:27:02.694] break [17:27:02.694] } [17:27:02.694] } [17:27:02.694] } [17:27:02.694] invisible(muffled) [17:27:02.694] } [17:27:02.694] muffleCondition(cond, pattern = "^muffle") [17:27:02.694] } [17:27:02.694] } [17:27:02.694] } [17:27:02.694] })) [17:27:02.694] }, error = function(ex) { [17:27:02.694] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.694] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.694] ...future.rng), started = ...future.startTime, [17:27:02.694] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.694] version = "1.8"), class = "FutureResult") [17:27:02.694] }, finally = { [17:27:02.694] if (!identical(...future.workdir, getwd())) [17:27:02.694] setwd(...future.workdir) [17:27:02.694] { [17:27:02.694] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.694] ...future.oldOptions$nwarnings <- NULL [17:27:02.694] } [17:27:02.694] base::options(...future.oldOptions) [17:27:02.694] if (.Platform$OS.type == "windows") { [17:27:02.694] old_names <- names(...future.oldEnvVars) [17:27:02.694] envs <- base::Sys.getenv() [17:27:02.694] names <- names(envs) [17:27:02.694] common <- intersect(names, old_names) [17:27:02.694] added <- setdiff(names, old_names) [17:27:02.694] removed <- setdiff(old_names, names) [17:27:02.694] changed <- common[...future.oldEnvVars[common] != [17:27:02.694] envs[common]] [17:27:02.694] NAMES <- toupper(changed) [17:27:02.694] args <- list() [17:27:02.694] for (kk in seq_along(NAMES)) { [17:27:02.694] name <- changed[[kk]] [17:27:02.694] NAME <- NAMES[[kk]] [17:27:02.694] if (name != NAME && is.element(NAME, old_names)) [17:27:02.694] next [17:27:02.694] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.694] } [17:27:02.694] NAMES <- toupper(added) [17:27:02.694] for (kk in seq_along(NAMES)) { [17:27:02.694] name <- added[[kk]] [17:27:02.694] NAME <- NAMES[[kk]] [17:27:02.694] if (name != NAME && is.element(NAME, old_names)) [17:27:02.694] next [17:27:02.694] args[[name]] <- "" [17:27:02.694] } [17:27:02.694] NAMES <- toupper(removed) [17:27:02.694] for (kk in seq_along(NAMES)) { [17:27:02.694] name <- removed[[kk]] [17:27:02.694] NAME <- NAMES[[kk]] [17:27:02.694] if (name != NAME && is.element(NAME, old_names)) [17:27:02.694] next [17:27:02.694] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.694] } [17:27:02.694] if (length(args) > 0) [17:27:02.694] base::do.call(base::Sys.setenv, args = args) [17:27:02.694] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.694] } [17:27:02.694] { [17:27:02.694] if (base::length(...future.futureOptionsAdded) > [17:27:02.694] 0L) { [17:27:02.694] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.694] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.694] base::options(opts) [17:27:02.694] } [17:27:02.694] { [17:27:02.694] { [17:27:02.694] NULL [17:27:02.694] RNGkind("Mersenne-Twister") [17:27:02.694] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.694] inherits = FALSE) [17:27:02.694] } [17:27:02.694] options(future.plan = NULL) [17:27:02.694] if (is.na(NA_character_)) [17:27:02.694] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.694] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.694] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.694] .init = FALSE) [17:27:02.694] } [17:27:02.694] } [17:27:02.694] } [17:27:02.694] }) [17:27:02.694] if (TRUE) { [17:27:02.694] base::sink(type = "output", split = FALSE) [17:27:02.694] if (TRUE) { [17:27:02.694] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.694] } [17:27:02.694] else { [17:27:02.694] ...future.result["stdout"] <- base::list(NULL) [17:27:02.694] } [17:27:02.694] base::close(...future.stdout) [17:27:02.694] ...future.stdout <- NULL [17:27:02.694] } [17:27:02.694] ...future.result$conditions <- ...future.conditions [17:27:02.694] ...future.result$finished <- base::Sys.time() [17:27:02.694] ...future.result [17:27:02.694] } [17:27:02.698] assign_globals() ... [17:27:02.698] List of 1 [17:27:02.698] $ ii: int 1 [17:27:02.698] - attr(*, "where")=List of 1 [17:27:02.698] ..$ ii: [17:27:02.698] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.698] - attr(*, "resolved")= logi TRUE [17:27:02.698] - attr(*, "total_size")= num 56 [17:27:02.698] - attr(*, "already-done")= logi TRUE [17:27:02.701] - copied 'ii' to environment [17:27:02.701] assign_globals() ... done [17:27:02.702] plan(): Setting new future strategy stack: [17:27:02.702] List of future strategies: [17:27:02.702] 1. sequential: [17:27:02.702] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.702] - tweaked: FALSE [17:27:02.702] - call: NULL [17:27:02.703] plan(): nbrOfWorkers() = 1 [17:27:02.704] plan(): Setting new future strategy stack: [17:27:02.704] List of future strategies: [17:27:02.704] 1. sequential: [17:27:02.704] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.704] - tweaked: FALSE [17:27:02.704] - call: plan(strategy) [17:27:02.705] plan(): nbrOfWorkers() = 1 [17:27:02.705] SequentialFuture started (and completed) [17:27:02.705] - Launch lazy future ... done [17:27:02.705] 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:27:02.706] 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:27:02.706] 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:27:02.709] - globals found: [4] '{', '<-', '*', 'ii' [17:27:02.710] Searching for globals ... DONE [17:27:02.710] Resolving globals: TRUE [17:27:02.710] Resolving any globals that are futures ... [17:27:02.710] - globals: [4] '{', '<-', '*', 'ii' [17:27:02.710] Resolving any globals that are futures ... DONE [17:27:02.711] Resolving futures part of globals (recursively) ... [17:27:02.711] resolve() on list ... [17:27:02.711] recursive: 99 [17:27:02.711] length: 1 [17:27:02.712] elements: 'ii' [17:27:02.712] length: 0 (resolved future 1) [17:27:02.712] resolve() on list ... DONE [17:27:02.712] - globals: [1] 'ii' [17:27:02.712] Resolving futures part of globals (recursively) ... DONE [17:27:02.713] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:02.713] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:02.713] - globals: [1] 'ii' [17:27:02.713] [17:27:02.713] getGlobalsAndPackages() ... DONE [17:27:02.714] run() for 'Future' ... [17:27:02.714] - state: 'created' [17:27:02.714] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.715] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.715] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.715] - Field: 'label' [17:27:02.715] - Field: 'local' [17:27:02.715] - Field: 'owner' [17:27:02.715] - Field: 'envir' [17:27:02.716] - Field: 'packages' [17:27:02.716] - Field: 'gc' [17:27:02.716] - Field: 'conditions' [17:27:02.716] - Field: 'expr' [17:27:02.716] - Field: 'uuid' [17:27:02.716] - Field: 'seed' [17:27:02.717] - Field: 'version' [17:27:02.717] - Field: 'result' [17:27:02.717] - Field: 'asynchronous' [17:27:02.717] - Field: 'calls' [17:27:02.717] - Field: 'globals' [17:27:02.718] - Field: 'stdout' [17:27:02.718] - Field: 'earlySignal' [17:27:02.718] - Field: 'lazy' [17:27:02.718] - Field: 'state' [17:27:02.718] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.718] - Launch lazy future ... [17:27:02.719] Packages needed by the future expression (n = 0): [17:27:02.719] Packages needed by future strategies (n = 0): [17:27:02.719] { [17:27:02.719] { [17:27:02.719] { [17:27:02.719] ...future.startTime <- base::Sys.time() [17:27:02.719] { [17:27:02.719] { [17:27:02.719] { [17:27:02.719] base::local({ [17:27:02.719] has_future <- base::requireNamespace("future", [17:27:02.719] quietly = TRUE) [17:27:02.719] if (has_future) { [17:27:02.719] ns <- base::getNamespace("future") [17:27:02.719] version <- ns[[".package"]][["version"]] [17:27:02.719] if (is.null(version)) [17:27:02.719] version <- utils::packageVersion("future") [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] version <- NULL [17:27:02.719] } [17:27:02.719] if (!has_future || version < "1.8.0") { [17:27:02.719] info <- base::c(r_version = base::gsub("R version ", [17:27:02.719] "", base::R.version$version.string), [17:27:02.719] platform = base::sprintf("%s (%s-bit)", [17:27:02.719] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.719] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.719] "release", "version")], collapse = " "), [17:27:02.719] hostname = base::Sys.info()[["nodename"]]) [17:27:02.719] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.719] info) [17:27:02.719] info <- base::paste(info, collapse = "; ") [17:27:02.719] if (!has_future) { [17:27:02.719] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.719] info) [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.719] info, version) [17:27:02.719] } [17:27:02.719] base::stop(msg) [17:27:02.719] } [17:27:02.719] }) [17:27:02.719] } [17:27:02.719] ...future.strategy.old <- future::plan("list") [17:27:02.719] options(future.plan = NULL) [17:27:02.719] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.719] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.719] } [17:27:02.719] ...future.workdir <- getwd() [17:27:02.719] } [17:27:02.719] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.719] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.719] } [17:27:02.719] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.719] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.719] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.719] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.719] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.719] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.719] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.719] base::names(...future.oldOptions)) [17:27:02.719] } [17:27:02.719] if (FALSE) { [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] if (TRUE) { [17:27:02.719] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.719] open = "w") [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.719] windows = "NUL", "/dev/null"), open = "w") [17:27:02.719] } [17:27:02.719] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.719] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.719] base::sink(type = "output", split = FALSE) [17:27:02.719] base::close(...future.stdout) [17:27:02.719] }, add = TRUE) [17:27:02.719] } [17:27:02.719] ...future.frame <- base::sys.nframe() [17:27:02.719] ...future.conditions <- base::list() [17:27:02.719] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.719] if (FALSE) { [17:27:02.719] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.719] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.719] } [17:27:02.719] ...future.result <- base::tryCatch({ [17:27:02.719] base::withCallingHandlers({ [17:27:02.719] ...future.value <- base::withVisible(base::local({ [17:27:02.719] b <- a * ii [17:27:02.719] a <- 0 [17:27:02.719] b [17:27:02.719] })) [17:27:02.719] future::FutureResult(value = ...future.value$value, [17:27:02.719] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.719] ...future.rng), globalenv = if (FALSE) [17:27:02.719] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.719] ...future.globalenv.names)) [17:27:02.719] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.719] }, condition = base::local({ [17:27:02.719] c <- base::c [17:27:02.719] inherits <- base::inherits [17:27:02.719] invokeRestart <- base::invokeRestart [17:27:02.719] length <- base::length [17:27:02.719] list <- base::list [17:27:02.719] seq.int <- base::seq.int [17:27:02.719] signalCondition <- base::signalCondition [17:27:02.719] sys.calls <- base::sys.calls [17:27:02.719] `[[` <- base::`[[` [17:27:02.719] `+` <- base::`+` [17:27:02.719] `<<-` <- base::`<<-` [17:27:02.719] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.719] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.719] 3L)] [17:27:02.719] } [17:27:02.719] function(cond) { [17:27:02.719] is_error <- inherits(cond, "error") [17:27:02.719] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.719] NULL) [17:27:02.719] if (is_error) { [17:27:02.719] sessionInformation <- function() { [17:27:02.719] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.719] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.719] search = base::search(), system = base::Sys.info()) [17:27:02.719] } [17:27:02.719] ...future.conditions[[length(...future.conditions) + [17:27:02.719] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.719] cond$call), session = sessionInformation(), [17:27:02.719] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.719] signalCondition(cond) [17:27:02.719] } [17:27:02.719] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.719] "immediateCondition"))) { [17:27:02.719] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.719] ...future.conditions[[length(...future.conditions) + [17:27:02.719] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.719] if (TRUE && !signal) { [17:27:02.719] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.719] { [17:27:02.719] inherits <- base::inherits [17:27:02.719] invokeRestart <- base::invokeRestart [17:27:02.719] is.null <- base::is.null [17:27:02.719] muffled <- FALSE [17:27:02.719] if (inherits(cond, "message")) { [17:27:02.719] muffled <- grepl(pattern, "muffleMessage") [17:27:02.719] if (muffled) [17:27:02.719] invokeRestart("muffleMessage") [17:27:02.719] } [17:27:02.719] else if (inherits(cond, "warning")) { [17:27:02.719] muffled <- grepl(pattern, "muffleWarning") [17:27:02.719] if (muffled) [17:27:02.719] invokeRestart("muffleWarning") [17:27:02.719] } [17:27:02.719] else if (inherits(cond, "condition")) { [17:27:02.719] if (!is.null(pattern)) { [17:27:02.719] computeRestarts <- base::computeRestarts [17:27:02.719] grepl <- base::grepl [17:27:02.719] restarts <- computeRestarts(cond) [17:27:02.719] for (restart in restarts) { [17:27:02.719] name <- restart$name [17:27:02.719] if (is.null(name)) [17:27:02.719] next [17:27:02.719] if (!grepl(pattern, name)) [17:27:02.719] next [17:27:02.719] invokeRestart(restart) [17:27:02.719] muffled <- TRUE [17:27:02.719] break [17:27:02.719] } [17:27:02.719] } [17:27:02.719] } [17:27:02.719] invisible(muffled) [17:27:02.719] } [17:27:02.719] muffleCondition(cond, pattern = "^muffle") [17:27:02.719] } [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] if (TRUE) { [17:27:02.719] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.719] { [17:27:02.719] inherits <- base::inherits [17:27:02.719] invokeRestart <- base::invokeRestart [17:27:02.719] is.null <- base::is.null [17:27:02.719] muffled <- FALSE [17:27:02.719] if (inherits(cond, "message")) { [17:27:02.719] muffled <- grepl(pattern, "muffleMessage") [17:27:02.719] if (muffled) [17:27:02.719] invokeRestart("muffleMessage") [17:27:02.719] } [17:27:02.719] else if (inherits(cond, "warning")) { [17:27:02.719] muffled <- grepl(pattern, "muffleWarning") [17:27:02.719] if (muffled) [17:27:02.719] invokeRestart("muffleWarning") [17:27:02.719] } [17:27:02.719] else if (inherits(cond, "condition")) { [17:27:02.719] if (!is.null(pattern)) { [17:27:02.719] computeRestarts <- base::computeRestarts [17:27:02.719] grepl <- base::grepl [17:27:02.719] restarts <- computeRestarts(cond) [17:27:02.719] for (restart in restarts) { [17:27:02.719] name <- restart$name [17:27:02.719] if (is.null(name)) [17:27:02.719] next [17:27:02.719] if (!grepl(pattern, name)) [17:27:02.719] next [17:27:02.719] invokeRestart(restart) [17:27:02.719] muffled <- TRUE [17:27:02.719] break [17:27:02.719] } [17:27:02.719] } [17:27:02.719] } [17:27:02.719] invisible(muffled) [17:27:02.719] } [17:27:02.719] muffleCondition(cond, pattern = "^muffle") [17:27:02.719] } [17:27:02.719] } [17:27:02.719] } [17:27:02.719] })) [17:27:02.719] }, error = function(ex) { [17:27:02.719] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.719] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.719] ...future.rng), started = ...future.startTime, [17:27:02.719] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.719] version = "1.8"), class = "FutureResult") [17:27:02.719] }, finally = { [17:27:02.719] if (!identical(...future.workdir, getwd())) [17:27:02.719] setwd(...future.workdir) [17:27:02.719] { [17:27:02.719] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.719] ...future.oldOptions$nwarnings <- NULL [17:27:02.719] } [17:27:02.719] base::options(...future.oldOptions) [17:27:02.719] if (.Platform$OS.type == "windows") { [17:27:02.719] old_names <- names(...future.oldEnvVars) [17:27:02.719] envs <- base::Sys.getenv() [17:27:02.719] names <- names(envs) [17:27:02.719] common <- intersect(names, old_names) [17:27:02.719] added <- setdiff(names, old_names) [17:27:02.719] removed <- setdiff(old_names, names) [17:27:02.719] changed <- common[...future.oldEnvVars[common] != [17:27:02.719] envs[common]] [17:27:02.719] NAMES <- toupper(changed) [17:27:02.719] args <- list() [17:27:02.719] for (kk in seq_along(NAMES)) { [17:27:02.719] name <- changed[[kk]] [17:27:02.719] NAME <- NAMES[[kk]] [17:27:02.719] if (name != NAME && is.element(NAME, old_names)) [17:27:02.719] next [17:27:02.719] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.719] } [17:27:02.719] NAMES <- toupper(added) [17:27:02.719] for (kk in seq_along(NAMES)) { [17:27:02.719] name <- added[[kk]] [17:27:02.719] NAME <- NAMES[[kk]] [17:27:02.719] if (name != NAME && is.element(NAME, old_names)) [17:27:02.719] next [17:27:02.719] args[[name]] <- "" [17:27:02.719] } [17:27:02.719] NAMES <- toupper(removed) [17:27:02.719] for (kk in seq_along(NAMES)) { [17:27:02.719] name <- removed[[kk]] [17:27:02.719] NAME <- NAMES[[kk]] [17:27:02.719] if (name != NAME && is.element(NAME, old_names)) [17:27:02.719] next [17:27:02.719] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.719] } [17:27:02.719] if (length(args) > 0) [17:27:02.719] base::do.call(base::Sys.setenv, args = args) [17:27:02.719] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.719] } [17:27:02.719] { [17:27:02.719] if (base::length(...future.futureOptionsAdded) > [17:27:02.719] 0L) { [17:27:02.719] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.719] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.719] base::options(opts) [17:27:02.719] } [17:27:02.719] { [17:27:02.719] { [17:27:02.719] NULL [17:27:02.719] RNGkind("Mersenne-Twister") [17:27:02.719] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.719] inherits = FALSE) [17:27:02.719] } [17:27:02.719] options(future.plan = NULL) [17:27:02.719] if (is.na(NA_character_)) [17:27:02.719] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.719] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.719] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.719] .init = FALSE) [17:27:02.719] } [17:27:02.719] } [17:27:02.719] } [17:27:02.719] }) [17:27:02.719] if (TRUE) { [17:27:02.719] base::sink(type = "output", split = FALSE) [17:27:02.719] if (TRUE) { [17:27:02.719] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.719] } [17:27:02.719] else { [17:27:02.719] ...future.result["stdout"] <- base::list(NULL) [17:27:02.719] } [17:27:02.719] base::close(...future.stdout) [17:27:02.719] ...future.stdout <- NULL [17:27:02.719] } [17:27:02.719] ...future.result$conditions <- ...future.conditions [17:27:02.719] ...future.result$finished <- base::Sys.time() [17:27:02.719] ...future.result [17:27:02.719] } [17:27:02.723] assign_globals() ... [17:27:02.724] List of 1 [17:27:02.724] $ ii: int 2 [17:27:02.724] - attr(*, "where")=List of 1 [17:27:02.724] ..$ ii: [17:27:02.724] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.724] - attr(*, "resolved")= logi TRUE [17:27:02.724] - attr(*, "total_size")= num 56 [17:27:02.724] - attr(*, "already-done")= logi TRUE [17:27:02.726] - copied 'ii' to environment [17:27:02.727] assign_globals() ... done [17:27:02.727] plan(): Setting new future strategy stack: [17:27:02.727] List of future strategies: [17:27:02.727] 1. sequential: [17:27:02.727] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.727] - tweaked: FALSE [17:27:02.727] - call: NULL [17:27:02.728] plan(): nbrOfWorkers() = 1 [17:27:02.729] plan(): Setting new future strategy stack: [17:27:02.729] List of future strategies: [17:27:02.729] 1. sequential: [17:27:02.729] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.729] - tweaked: FALSE [17:27:02.729] - call: plan(strategy) [17:27:02.730] plan(): nbrOfWorkers() = 1 [17:27:02.730] SequentialFuture started (and completed) [17:27:02.730] - Launch lazy future ... done [17:27:02.730] 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:27:02.731] 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:27:02.731] 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:27:02.733] - globals found: [4] '{', '<-', '*', 'ii' [17:27:02.733] Searching for globals ... DONE [17:27:02.733] Resolving globals: TRUE [17:27:02.733] Resolving any globals that are futures ... [17:27:02.734] - globals: [4] '{', '<-', '*', 'ii' [17:27:02.734] Resolving any globals that are futures ... DONE [17:27:02.734] Resolving futures part of globals (recursively) ... [17:27:02.734] resolve() on list ... [17:27:02.735] recursive: 99 [17:27:02.735] length: 1 [17:27:02.735] elements: 'ii' [17:27:02.735] length: 0 (resolved future 1) [17:27:02.735] resolve() on list ... DONE [17:27:02.735] - globals: [1] 'ii' [17:27:02.736] Resolving futures part of globals (recursively) ... DONE [17:27:02.736] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:02.736] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:02.736] - globals: [1] 'ii' [17:27:02.737] [17:27:02.737] getGlobalsAndPackages() ... DONE [17:27:02.737] run() for 'Future' ... [17:27:02.737] - state: 'created' [17:27:02.737] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.738] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.738] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.738] - Field: 'label' [17:27:02.739] - Field: 'local' [17:27:02.739] - Field: 'owner' [17:27:02.739] - Field: 'envir' [17:27:02.740] - Field: 'packages' [17:27:02.740] - Field: 'gc' [17:27:02.741] - Field: 'conditions' [17:27:02.741] - Field: 'expr' [17:27:02.741] - Field: 'uuid' [17:27:02.741] - Field: 'seed' [17:27:02.741] - Field: 'version' [17:27:02.741] - Field: 'result' [17:27:02.742] - Field: 'asynchronous' [17:27:02.742] - Field: 'calls' [17:27:02.742] - Field: 'globals' [17:27:02.742] - Field: 'stdout' [17:27:02.742] - Field: 'earlySignal' [17:27:02.742] - Field: 'lazy' [17:27:02.743] - Field: 'state' [17:27:02.743] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.743] - Launch lazy future ... [17:27:02.743] Packages needed by the future expression (n = 0): [17:27:02.743] Packages needed by future strategies (n = 0): [17:27:02.744] { [17:27:02.744] { [17:27:02.744] { [17:27:02.744] ...future.startTime <- base::Sys.time() [17:27:02.744] { [17:27:02.744] { [17:27:02.744] { [17:27:02.744] base::local({ [17:27:02.744] has_future <- base::requireNamespace("future", [17:27:02.744] quietly = TRUE) [17:27:02.744] if (has_future) { [17:27:02.744] ns <- base::getNamespace("future") [17:27:02.744] version <- ns[[".package"]][["version"]] [17:27:02.744] if (is.null(version)) [17:27:02.744] version <- utils::packageVersion("future") [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] version <- NULL [17:27:02.744] } [17:27:02.744] if (!has_future || version < "1.8.0") { [17:27:02.744] info <- base::c(r_version = base::gsub("R version ", [17:27:02.744] "", base::R.version$version.string), [17:27:02.744] platform = base::sprintf("%s (%s-bit)", [17:27:02.744] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.744] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.744] "release", "version")], collapse = " "), [17:27:02.744] hostname = base::Sys.info()[["nodename"]]) [17:27:02.744] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.744] info) [17:27:02.744] info <- base::paste(info, collapse = "; ") [17:27:02.744] if (!has_future) { [17:27:02.744] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.744] info) [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.744] info, version) [17:27:02.744] } [17:27:02.744] base::stop(msg) [17:27:02.744] } [17:27:02.744] }) [17:27:02.744] } [17:27:02.744] ...future.strategy.old <- future::plan("list") [17:27:02.744] options(future.plan = NULL) [17:27:02.744] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.744] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.744] } [17:27:02.744] ...future.workdir <- getwd() [17:27:02.744] } [17:27:02.744] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.744] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.744] } [17:27:02.744] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.744] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.744] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.744] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.744] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.744] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.744] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.744] base::names(...future.oldOptions)) [17:27:02.744] } [17:27:02.744] if (FALSE) { [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] if (TRUE) { [17:27:02.744] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.744] open = "w") [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.744] windows = "NUL", "/dev/null"), open = "w") [17:27:02.744] } [17:27:02.744] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.744] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.744] base::sink(type = "output", split = FALSE) [17:27:02.744] base::close(...future.stdout) [17:27:02.744] }, add = TRUE) [17:27:02.744] } [17:27:02.744] ...future.frame <- base::sys.nframe() [17:27:02.744] ...future.conditions <- base::list() [17:27:02.744] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.744] if (FALSE) { [17:27:02.744] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.744] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.744] } [17:27:02.744] ...future.result <- base::tryCatch({ [17:27:02.744] base::withCallingHandlers({ [17:27:02.744] ...future.value <- base::withVisible(base::local({ [17:27:02.744] b <- a * ii [17:27:02.744] a <- 0 [17:27:02.744] b [17:27:02.744] })) [17:27:02.744] future::FutureResult(value = ...future.value$value, [17:27:02.744] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.744] ...future.rng), globalenv = if (FALSE) [17:27:02.744] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.744] ...future.globalenv.names)) [17:27:02.744] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.744] }, condition = base::local({ [17:27:02.744] c <- base::c [17:27:02.744] inherits <- base::inherits [17:27:02.744] invokeRestart <- base::invokeRestart [17:27:02.744] length <- base::length [17:27:02.744] list <- base::list [17:27:02.744] seq.int <- base::seq.int [17:27:02.744] signalCondition <- base::signalCondition [17:27:02.744] sys.calls <- base::sys.calls [17:27:02.744] `[[` <- base::`[[` [17:27:02.744] `+` <- base::`+` [17:27:02.744] `<<-` <- base::`<<-` [17:27:02.744] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.744] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.744] 3L)] [17:27:02.744] } [17:27:02.744] function(cond) { [17:27:02.744] is_error <- inherits(cond, "error") [17:27:02.744] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.744] NULL) [17:27:02.744] if (is_error) { [17:27:02.744] sessionInformation <- function() { [17:27:02.744] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.744] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.744] search = base::search(), system = base::Sys.info()) [17:27:02.744] } [17:27:02.744] ...future.conditions[[length(...future.conditions) + [17:27:02.744] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.744] cond$call), session = sessionInformation(), [17:27:02.744] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.744] signalCondition(cond) [17:27:02.744] } [17:27:02.744] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.744] "immediateCondition"))) { [17:27:02.744] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.744] ...future.conditions[[length(...future.conditions) + [17:27:02.744] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.744] if (TRUE && !signal) { [17:27:02.744] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.744] { [17:27:02.744] inherits <- base::inherits [17:27:02.744] invokeRestart <- base::invokeRestart [17:27:02.744] is.null <- base::is.null [17:27:02.744] muffled <- FALSE [17:27:02.744] if (inherits(cond, "message")) { [17:27:02.744] muffled <- grepl(pattern, "muffleMessage") [17:27:02.744] if (muffled) [17:27:02.744] invokeRestart("muffleMessage") [17:27:02.744] } [17:27:02.744] else if (inherits(cond, "warning")) { [17:27:02.744] muffled <- grepl(pattern, "muffleWarning") [17:27:02.744] if (muffled) [17:27:02.744] invokeRestart("muffleWarning") [17:27:02.744] } [17:27:02.744] else if (inherits(cond, "condition")) { [17:27:02.744] if (!is.null(pattern)) { [17:27:02.744] computeRestarts <- base::computeRestarts [17:27:02.744] grepl <- base::grepl [17:27:02.744] restarts <- computeRestarts(cond) [17:27:02.744] for (restart in restarts) { [17:27:02.744] name <- restart$name [17:27:02.744] if (is.null(name)) [17:27:02.744] next [17:27:02.744] if (!grepl(pattern, name)) [17:27:02.744] next [17:27:02.744] invokeRestart(restart) [17:27:02.744] muffled <- TRUE [17:27:02.744] break [17:27:02.744] } [17:27:02.744] } [17:27:02.744] } [17:27:02.744] invisible(muffled) [17:27:02.744] } [17:27:02.744] muffleCondition(cond, pattern = "^muffle") [17:27:02.744] } [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] if (TRUE) { [17:27:02.744] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.744] { [17:27:02.744] inherits <- base::inherits [17:27:02.744] invokeRestart <- base::invokeRestart [17:27:02.744] is.null <- base::is.null [17:27:02.744] muffled <- FALSE [17:27:02.744] if (inherits(cond, "message")) { [17:27:02.744] muffled <- grepl(pattern, "muffleMessage") [17:27:02.744] if (muffled) [17:27:02.744] invokeRestart("muffleMessage") [17:27:02.744] } [17:27:02.744] else if (inherits(cond, "warning")) { [17:27:02.744] muffled <- grepl(pattern, "muffleWarning") [17:27:02.744] if (muffled) [17:27:02.744] invokeRestart("muffleWarning") [17:27:02.744] } [17:27:02.744] else if (inherits(cond, "condition")) { [17:27:02.744] if (!is.null(pattern)) { [17:27:02.744] computeRestarts <- base::computeRestarts [17:27:02.744] grepl <- base::grepl [17:27:02.744] restarts <- computeRestarts(cond) [17:27:02.744] for (restart in restarts) { [17:27:02.744] name <- restart$name [17:27:02.744] if (is.null(name)) [17:27:02.744] next [17:27:02.744] if (!grepl(pattern, name)) [17:27:02.744] next [17:27:02.744] invokeRestart(restart) [17:27:02.744] muffled <- TRUE [17:27:02.744] break [17:27:02.744] } [17:27:02.744] } [17:27:02.744] } [17:27:02.744] invisible(muffled) [17:27:02.744] } [17:27:02.744] muffleCondition(cond, pattern = "^muffle") [17:27:02.744] } [17:27:02.744] } [17:27:02.744] } [17:27:02.744] })) [17:27:02.744] }, error = function(ex) { [17:27:02.744] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.744] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.744] ...future.rng), started = ...future.startTime, [17:27:02.744] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.744] version = "1.8"), class = "FutureResult") [17:27:02.744] }, finally = { [17:27:02.744] if (!identical(...future.workdir, getwd())) [17:27:02.744] setwd(...future.workdir) [17:27:02.744] { [17:27:02.744] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.744] ...future.oldOptions$nwarnings <- NULL [17:27:02.744] } [17:27:02.744] base::options(...future.oldOptions) [17:27:02.744] if (.Platform$OS.type == "windows") { [17:27:02.744] old_names <- names(...future.oldEnvVars) [17:27:02.744] envs <- base::Sys.getenv() [17:27:02.744] names <- names(envs) [17:27:02.744] common <- intersect(names, old_names) [17:27:02.744] added <- setdiff(names, old_names) [17:27:02.744] removed <- setdiff(old_names, names) [17:27:02.744] changed <- common[...future.oldEnvVars[common] != [17:27:02.744] envs[common]] [17:27:02.744] NAMES <- toupper(changed) [17:27:02.744] args <- list() [17:27:02.744] for (kk in seq_along(NAMES)) { [17:27:02.744] name <- changed[[kk]] [17:27:02.744] NAME <- NAMES[[kk]] [17:27:02.744] if (name != NAME && is.element(NAME, old_names)) [17:27:02.744] next [17:27:02.744] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.744] } [17:27:02.744] NAMES <- toupper(added) [17:27:02.744] for (kk in seq_along(NAMES)) { [17:27:02.744] name <- added[[kk]] [17:27:02.744] NAME <- NAMES[[kk]] [17:27:02.744] if (name != NAME && is.element(NAME, old_names)) [17:27:02.744] next [17:27:02.744] args[[name]] <- "" [17:27:02.744] } [17:27:02.744] NAMES <- toupper(removed) [17:27:02.744] for (kk in seq_along(NAMES)) { [17:27:02.744] name <- removed[[kk]] [17:27:02.744] NAME <- NAMES[[kk]] [17:27:02.744] if (name != NAME && is.element(NAME, old_names)) [17:27:02.744] next [17:27:02.744] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.744] } [17:27:02.744] if (length(args) > 0) [17:27:02.744] base::do.call(base::Sys.setenv, args = args) [17:27:02.744] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.744] } [17:27:02.744] { [17:27:02.744] if (base::length(...future.futureOptionsAdded) > [17:27:02.744] 0L) { [17:27:02.744] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.744] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.744] base::options(opts) [17:27:02.744] } [17:27:02.744] { [17:27:02.744] { [17:27:02.744] NULL [17:27:02.744] RNGkind("Mersenne-Twister") [17:27:02.744] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.744] inherits = FALSE) [17:27:02.744] } [17:27:02.744] options(future.plan = NULL) [17:27:02.744] if (is.na(NA_character_)) [17:27:02.744] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.744] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.744] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.744] .init = FALSE) [17:27:02.744] } [17:27:02.744] } [17:27:02.744] } [17:27:02.744] }) [17:27:02.744] if (TRUE) { [17:27:02.744] base::sink(type = "output", split = FALSE) [17:27:02.744] if (TRUE) { [17:27:02.744] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.744] } [17:27:02.744] else { [17:27:02.744] ...future.result["stdout"] <- base::list(NULL) [17:27:02.744] } [17:27:02.744] base::close(...future.stdout) [17:27:02.744] ...future.stdout <- NULL [17:27:02.744] } [17:27:02.744] ...future.result$conditions <- ...future.conditions [17:27:02.744] ...future.result$finished <- base::Sys.time() [17:27:02.744] ...future.result [17:27:02.744] } [17:27:02.748] assign_globals() ... [17:27:02.748] List of 1 [17:27:02.748] $ ii: int 3 [17:27:02.748] - attr(*, "where")=List of 1 [17:27:02.748] ..$ ii: [17:27:02.748] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.748] - attr(*, "resolved")= logi TRUE [17:27:02.748] - attr(*, "total_size")= num 56 [17:27:02.748] - attr(*, "already-done")= logi TRUE [17:27:02.751] - copied 'ii' to environment [17:27:02.751] assign_globals() ... done [17:27:02.751] plan(): Setting new future strategy stack: [17:27:02.751] List of future strategies: [17:27:02.751] 1. sequential: [17:27:02.751] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.751] - tweaked: FALSE [17:27:02.751] - call: NULL [17:27:02.752] plan(): nbrOfWorkers() = 1 [17:27:02.753] plan(): Setting new future strategy stack: [17:27:02.753] List of future strategies: [17:27:02.753] 1. sequential: [17:27:02.753] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.753] - tweaked: FALSE [17:27:02.753] - call: plan(strategy) [17:27:02.754] plan(): nbrOfWorkers() = 1 [17:27:02.754] SequentialFuture started (and completed) [17:27:02.754] - Launch lazy future ... done [17:27:02.755] 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:27:02.756] 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:27:02.756] 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:27:02.758] - globals found: [4] '{', '<-', '*', 'ii' [17:27:02.758] Searching for globals ... DONE [17:27:02.758] Resolving globals: TRUE [17:27:02.758] Resolving any globals that are futures ... [17:27:02.759] - globals: [4] '{', '<-', '*', 'ii' [17:27:02.759] Resolving any globals that are futures ... DONE [17:27:02.759] Resolving futures part of globals (recursively) ... [17:27:02.759] resolve() on list ... [17:27:02.760] recursive: 99 [17:27:02.760] length: 1 [17:27:02.760] elements: 'ii' [17:27:02.760] length: 0 (resolved future 1) [17:27:02.760] resolve() on list ... DONE [17:27:02.760] - globals: [1] 'ii' [17:27:02.761] Resolving futures part of globals (recursively) ... DONE [17:27:02.761] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:02.761] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:02.761] - globals: [1] 'ii' [17:27:02.762] [17:27:02.762] 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:27:02.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:27:02.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:27:02.764] - globals found: [4] '{', '<-', '*', 'ii' [17:27:02.765] Searching for globals ... DONE [17:27:02.765] Resolving globals: TRUE [17:27:02.765] Resolving any globals that are futures ... [17:27:02.765] - globals: [4] '{', '<-', '*', 'ii' [17:27:02.765] Resolving any globals that are futures ... DONE [17:27:02.766] Resolving futures part of globals (recursively) ... [17:27:02.766] resolve() on list ... [17:27:02.766] recursive: 99 [17:27:02.766] length: 1 [17:27:02.766] elements: 'ii' [17:27:02.767] length: 0 (resolved future 1) [17:27:02.767] resolve() on list ... DONE [17:27:02.767] - globals: [1] 'ii' [17:27:02.767] Resolving futures part of globals (recursively) ... DONE [17:27:02.767] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:02.768] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:02.768] - globals: [1] 'ii' [17:27:02.768] [17:27:02.768] 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:27:02.769] 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:27:02.769] 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:27:02.772] - globals found: [4] '{', '<-', '*', 'ii' [17:27:02.772] Searching for globals ... DONE [17:27:02.772] Resolving globals: TRUE [17:27:02.773] Resolving any globals that are futures ... [17:27:02.773] - globals: [4] '{', '<-', '*', 'ii' [17:27:02.773] Resolving any globals that are futures ... DONE [17:27:02.773] Resolving futures part of globals (recursively) ... [17:27:02.774] resolve() on list ... [17:27:02.774] recursive: 99 [17:27:02.774] length: 1 [17:27:02.774] elements: 'ii' [17:27:02.774] length: 0 (resolved future 1) [17:27:02.774] resolve() on list ... DONE [17:27:02.775] - globals: [1] 'ii' [17:27:02.775] Resolving futures part of globals (recursively) ... DONE [17:27:02.775] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:02.775] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:02.776] - globals: [1] 'ii' [17:27:02.776] [17:27:02.776] getGlobalsAndPackages() ... DONE [17:27:02.776] run() for 'Future' ... [17:27:02.777] - state: 'created' [17:27:02.777] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.777] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.777] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.777] - Field: 'label' [17:27:02.778] - Field: 'local' [17:27:02.778] - Field: 'owner' [17:27:02.778] - Field: 'envir' [17:27:02.778] - Field: 'packages' [17:27:02.778] - Field: 'gc' [17:27:02.779] - Field: 'conditions' [17:27:02.779] - Field: 'expr' [17:27:02.779] - Field: 'uuid' [17:27:02.779] - Field: 'seed' [17:27:02.779] - Field: 'version' [17:27:02.779] - Field: 'result' [17:27:02.780] - Field: 'asynchronous' [17:27:02.780] - Field: 'calls' [17:27:02.780] - Field: 'globals' [17:27:02.780] - Field: 'stdout' [17:27:02.780] - Field: 'earlySignal' [17:27:02.780] - Field: 'lazy' [17:27:02.781] - Field: 'state' [17:27:02.781] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.781] - Launch lazy future ... [17:27:02.781] Packages needed by the future expression (n = 0): [17:27:02.781] Packages needed by future strategies (n = 0): [17:27:02.782] { [17:27:02.782] { [17:27:02.782] { [17:27:02.782] ...future.startTime <- base::Sys.time() [17:27:02.782] { [17:27:02.782] { [17:27:02.782] { [17:27:02.782] base::local({ [17:27:02.782] has_future <- base::requireNamespace("future", [17:27:02.782] quietly = TRUE) [17:27:02.782] if (has_future) { [17:27:02.782] ns <- base::getNamespace("future") [17:27:02.782] version <- ns[[".package"]][["version"]] [17:27:02.782] if (is.null(version)) [17:27:02.782] version <- utils::packageVersion("future") [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] version <- NULL [17:27:02.782] } [17:27:02.782] if (!has_future || version < "1.8.0") { [17:27:02.782] info <- base::c(r_version = base::gsub("R version ", [17:27:02.782] "", base::R.version$version.string), [17:27:02.782] platform = base::sprintf("%s (%s-bit)", [17:27:02.782] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.782] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.782] "release", "version")], collapse = " "), [17:27:02.782] hostname = base::Sys.info()[["nodename"]]) [17:27:02.782] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.782] info) [17:27:02.782] info <- base::paste(info, collapse = "; ") [17:27:02.782] if (!has_future) { [17:27:02.782] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.782] info) [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.782] info, version) [17:27:02.782] } [17:27:02.782] base::stop(msg) [17:27:02.782] } [17:27:02.782] }) [17:27:02.782] } [17:27:02.782] ...future.strategy.old <- future::plan("list") [17:27:02.782] options(future.plan = NULL) [17:27:02.782] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.782] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.782] } [17:27:02.782] ...future.workdir <- getwd() [17:27:02.782] } [17:27:02.782] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.782] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.782] } [17:27:02.782] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.782] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.782] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.782] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.782] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.782] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.782] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.782] base::names(...future.oldOptions)) [17:27:02.782] } [17:27:02.782] if (FALSE) { [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] if (TRUE) { [17:27:02.782] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.782] open = "w") [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.782] windows = "NUL", "/dev/null"), open = "w") [17:27:02.782] } [17:27:02.782] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.782] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.782] base::sink(type = "output", split = FALSE) [17:27:02.782] base::close(...future.stdout) [17:27:02.782] }, add = TRUE) [17:27:02.782] } [17:27:02.782] ...future.frame <- base::sys.nframe() [17:27:02.782] ...future.conditions <- base::list() [17:27:02.782] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.782] if (FALSE) { [17:27:02.782] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.782] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.782] } [17:27:02.782] ...future.result <- base::tryCatch({ [17:27:02.782] base::withCallingHandlers({ [17:27:02.782] ...future.value <- base::withVisible(base::local({ [17:27:02.782] b <- a * ii [17:27:02.782] a <- 0 [17:27:02.782] b [17:27:02.782] })) [17:27:02.782] future::FutureResult(value = ...future.value$value, [17:27:02.782] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.782] ...future.rng), globalenv = if (FALSE) [17:27:02.782] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.782] ...future.globalenv.names)) [17:27:02.782] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.782] }, condition = base::local({ [17:27:02.782] c <- base::c [17:27:02.782] inherits <- base::inherits [17:27:02.782] invokeRestart <- base::invokeRestart [17:27:02.782] length <- base::length [17:27:02.782] list <- base::list [17:27:02.782] seq.int <- base::seq.int [17:27:02.782] signalCondition <- base::signalCondition [17:27:02.782] sys.calls <- base::sys.calls [17:27:02.782] `[[` <- base::`[[` [17:27:02.782] `+` <- base::`+` [17:27:02.782] `<<-` <- base::`<<-` [17:27:02.782] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.782] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.782] 3L)] [17:27:02.782] } [17:27:02.782] function(cond) { [17:27:02.782] is_error <- inherits(cond, "error") [17:27:02.782] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.782] NULL) [17:27:02.782] if (is_error) { [17:27:02.782] sessionInformation <- function() { [17:27:02.782] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.782] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.782] search = base::search(), system = base::Sys.info()) [17:27:02.782] } [17:27:02.782] ...future.conditions[[length(...future.conditions) + [17:27:02.782] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.782] cond$call), session = sessionInformation(), [17:27:02.782] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.782] signalCondition(cond) [17:27:02.782] } [17:27:02.782] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.782] "immediateCondition"))) { [17:27:02.782] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.782] ...future.conditions[[length(...future.conditions) + [17:27:02.782] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.782] if (TRUE && !signal) { [17:27:02.782] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.782] { [17:27:02.782] inherits <- base::inherits [17:27:02.782] invokeRestart <- base::invokeRestart [17:27:02.782] is.null <- base::is.null [17:27:02.782] muffled <- FALSE [17:27:02.782] if (inherits(cond, "message")) { [17:27:02.782] muffled <- grepl(pattern, "muffleMessage") [17:27:02.782] if (muffled) [17:27:02.782] invokeRestart("muffleMessage") [17:27:02.782] } [17:27:02.782] else if (inherits(cond, "warning")) { [17:27:02.782] muffled <- grepl(pattern, "muffleWarning") [17:27:02.782] if (muffled) [17:27:02.782] invokeRestart("muffleWarning") [17:27:02.782] } [17:27:02.782] else if (inherits(cond, "condition")) { [17:27:02.782] if (!is.null(pattern)) { [17:27:02.782] computeRestarts <- base::computeRestarts [17:27:02.782] grepl <- base::grepl [17:27:02.782] restarts <- computeRestarts(cond) [17:27:02.782] for (restart in restarts) { [17:27:02.782] name <- restart$name [17:27:02.782] if (is.null(name)) [17:27:02.782] next [17:27:02.782] if (!grepl(pattern, name)) [17:27:02.782] next [17:27:02.782] invokeRestart(restart) [17:27:02.782] muffled <- TRUE [17:27:02.782] break [17:27:02.782] } [17:27:02.782] } [17:27:02.782] } [17:27:02.782] invisible(muffled) [17:27:02.782] } [17:27:02.782] muffleCondition(cond, pattern = "^muffle") [17:27:02.782] } [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] if (TRUE) { [17:27:02.782] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.782] { [17:27:02.782] inherits <- base::inherits [17:27:02.782] invokeRestart <- base::invokeRestart [17:27:02.782] is.null <- base::is.null [17:27:02.782] muffled <- FALSE [17:27:02.782] if (inherits(cond, "message")) { [17:27:02.782] muffled <- grepl(pattern, "muffleMessage") [17:27:02.782] if (muffled) [17:27:02.782] invokeRestart("muffleMessage") [17:27:02.782] } [17:27:02.782] else if (inherits(cond, "warning")) { [17:27:02.782] muffled <- grepl(pattern, "muffleWarning") [17:27:02.782] if (muffled) [17:27:02.782] invokeRestart("muffleWarning") [17:27:02.782] } [17:27:02.782] else if (inherits(cond, "condition")) { [17:27:02.782] if (!is.null(pattern)) { [17:27:02.782] computeRestarts <- base::computeRestarts [17:27:02.782] grepl <- base::grepl [17:27:02.782] restarts <- computeRestarts(cond) [17:27:02.782] for (restart in restarts) { [17:27:02.782] name <- restart$name [17:27:02.782] if (is.null(name)) [17:27:02.782] next [17:27:02.782] if (!grepl(pattern, name)) [17:27:02.782] next [17:27:02.782] invokeRestart(restart) [17:27:02.782] muffled <- TRUE [17:27:02.782] break [17:27:02.782] } [17:27:02.782] } [17:27:02.782] } [17:27:02.782] invisible(muffled) [17:27:02.782] } [17:27:02.782] muffleCondition(cond, pattern = "^muffle") [17:27:02.782] } [17:27:02.782] } [17:27:02.782] } [17:27:02.782] })) [17:27:02.782] }, error = function(ex) { [17:27:02.782] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.782] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.782] ...future.rng), started = ...future.startTime, [17:27:02.782] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.782] version = "1.8"), class = "FutureResult") [17:27:02.782] }, finally = { [17:27:02.782] if (!identical(...future.workdir, getwd())) [17:27:02.782] setwd(...future.workdir) [17:27:02.782] { [17:27:02.782] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.782] ...future.oldOptions$nwarnings <- NULL [17:27:02.782] } [17:27:02.782] base::options(...future.oldOptions) [17:27:02.782] if (.Platform$OS.type == "windows") { [17:27:02.782] old_names <- names(...future.oldEnvVars) [17:27:02.782] envs <- base::Sys.getenv() [17:27:02.782] names <- names(envs) [17:27:02.782] common <- intersect(names, old_names) [17:27:02.782] added <- setdiff(names, old_names) [17:27:02.782] removed <- setdiff(old_names, names) [17:27:02.782] changed <- common[...future.oldEnvVars[common] != [17:27:02.782] envs[common]] [17:27:02.782] NAMES <- toupper(changed) [17:27:02.782] args <- list() [17:27:02.782] for (kk in seq_along(NAMES)) { [17:27:02.782] name <- changed[[kk]] [17:27:02.782] NAME <- NAMES[[kk]] [17:27:02.782] if (name != NAME && is.element(NAME, old_names)) [17:27:02.782] next [17:27:02.782] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.782] } [17:27:02.782] NAMES <- toupper(added) [17:27:02.782] for (kk in seq_along(NAMES)) { [17:27:02.782] name <- added[[kk]] [17:27:02.782] NAME <- NAMES[[kk]] [17:27:02.782] if (name != NAME && is.element(NAME, old_names)) [17:27:02.782] next [17:27:02.782] args[[name]] <- "" [17:27:02.782] } [17:27:02.782] NAMES <- toupper(removed) [17:27:02.782] for (kk in seq_along(NAMES)) { [17:27:02.782] name <- removed[[kk]] [17:27:02.782] NAME <- NAMES[[kk]] [17:27:02.782] if (name != NAME && is.element(NAME, old_names)) [17:27:02.782] next [17:27:02.782] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.782] } [17:27:02.782] if (length(args) > 0) [17:27:02.782] base::do.call(base::Sys.setenv, args = args) [17:27:02.782] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.782] } [17:27:02.782] { [17:27:02.782] if (base::length(...future.futureOptionsAdded) > [17:27:02.782] 0L) { [17:27:02.782] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.782] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.782] base::options(opts) [17:27:02.782] } [17:27:02.782] { [17:27:02.782] { [17:27:02.782] NULL [17:27:02.782] RNGkind("Mersenne-Twister") [17:27:02.782] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.782] inherits = FALSE) [17:27:02.782] } [17:27:02.782] options(future.plan = NULL) [17:27:02.782] if (is.na(NA_character_)) [17:27:02.782] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.782] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.782] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.782] .init = FALSE) [17:27:02.782] } [17:27:02.782] } [17:27:02.782] } [17:27:02.782] }) [17:27:02.782] if (TRUE) { [17:27:02.782] base::sink(type = "output", split = FALSE) [17:27:02.782] if (TRUE) { [17:27:02.782] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.782] } [17:27:02.782] else { [17:27:02.782] ...future.result["stdout"] <- base::list(NULL) [17:27:02.782] } [17:27:02.782] base::close(...future.stdout) [17:27:02.782] ...future.stdout <- NULL [17:27:02.782] } [17:27:02.782] ...future.result$conditions <- ...future.conditions [17:27:02.782] ...future.result$finished <- base::Sys.time() [17:27:02.782] ...future.result [17:27:02.782] } [17:27:02.786] assign_globals() ... [17:27:02.786] List of 1 [17:27:02.786] $ ii: int 1 [17:27:02.786] - attr(*, "where")=List of 1 [17:27:02.786] ..$ ii: [17:27:02.786] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.786] - attr(*, "resolved")= logi TRUE [17:27:02.786] - attr(*, "total_size")= num 56 [17:27:02.786] - attr(*, "already-done")= logi TRUE [17:27:02.789] - copied 'ii' to environment [17:27:02.789] assign_globals() ... done [17:27:02.789] plan(): Setting new future strategy stack: [17:27:02.790] List of future strategies: [17:27:02.790] 1. sequential: [17:27:02.790] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.790] - tweaked: FALSE [17:27:02.790] - call: NULL [17:27:02.790] plan(): nbrOfWorkers() = 1 [17:27:02.792] plan(): Setting new future strategy stack: [17:27:02.792] List of future strategies: [17:27:02.792] 1. sequential: [17:27:02.792] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.792] - tweaked: FALSE [17:27:02.792] - call: plan(strategy) [17:27:02.792] plan(): nbrOfWorkers() = 1 [17:27:02.793] SequentialFuture started (and completed) [17:27:02.793] signalConditions() ... [17:27:02.793] - include = 'immediateCondition' [17:27:02.793] - exclude = [17:27:02.793] - resignal = FALSE [17:27:02.793] - Number of conditions: 1 [17:27:02.794] signalConditions() ... done [17:27:02.794] - Launch lazy future ... done [17:27:02.794] run() for 'SequentialFuture' ... done [17:27:02.794] signalConditions() ... [17:27:02.794] - include = 'immediateCondition' [17:27:02.795] - exclude = [17:27:02.795] - resignal = FALSE [17:27:02.795] - Number of conditions: 1 [17:27:02.795] signalConditions() ... done [17:27:02.795] Future state: 'finished' [17:27:02.795] signalConditions() ... [17:27:02.796] - include = 'condition' [17:27:02.796] - exclude = 'immediateCondition' [17:27:02.796] - resignal = TRUE [17:27:02.796] - Number of conditions: 1 [17:27:02.796] - Condition #1: 'simpleError', 'error', 'condition' [17:27:02.796] 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 "4.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "03" .. .. .. .. ..$ day : chr "25" .. .. .. .. ..$ svn rev : chr "86192" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-03-25 r86192 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-03-26 17:27:02" .. .. ..$ 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:27:02.814] 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:27:02.815] 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:27:02.815] [17:27:02.816] Searching for globals ... DONE [17:27:02.816] - globals: [0] [17:27:02.816] getGlobalsAndPackages() ... DONE [17:27:02.816] run() for 'Future' ... [17:27:02.816] - state: 'created' [17:27:02.817] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.817] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.817] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.817] - Field: 'label' [17:27:02.818] - Field: 'local' [17:27:02.818] - Field: 'owner' [17:27:02.818] - Field: 'envir' [17:27:02.818] - Field: 'packages' [17:27:02.818] - Field: 'gc' [17:27:02.818] - Field: 'conditions' [17:27:02.819] - Field: 'expr' [17:27:02.819] - Field: 'uuid' [17:27:02.819] - Field: 'seed' [17:27:02.819] - Field: 'version' [17:27:02.819] - Field: 'result' [17:27:02.819] - Field: 'asynchronous' [17:27:02.820] - Field: 'calls' [17:27:02.820] - Field: 'globals' [17:27:02.820] - Field: 'stdout' [17:27:02.820] - Field: 'earlySignal' [17:27:02.820] - Field: 'lazy' [17:27:02.820] - Field: 'state' [17:27:02.821] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.821] - Launch lazy future ... [17:27:02.821] Packages needed by the future expression (n = 0): [17:27:02.821] Packages needed by future strategies (n = 0): [17:27:02.822] { [17:27:02.822] { [17:27:02.822] { [17:27:02.822] ...future.startTime <- base::Sys.time() [17:27:02.822] { [17:27:02.822] { [17:27:02.822] { [17:27:02.822] base::local({ [17:27:02.822] has_future <- base::requireNamespace("future", [17:27:02.822] quietly = TRUE) [17:27:02.822] if (has_future) { [17:27:02.822] ns <- base::getNamespace("future") [17:27:02.822] version <- ns[[".package"]][["version"]] [17:27:02.822] if (is.null(version)) [17:27:02.822] version <- utils::packageVersion("future") [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] version <- NULL [17:27:02.822] } [17:27:02.822] if (!has_future || version < "1.8.0") { [17:27:02.822] info <- base::c(r_version = base::gsub("R version ", [17:27:02.822] "", base::R.version$version.string), [17:27:02.822] platform = base::sprintf("%s (%s-bit)", [17:27:02.822] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.822] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.822] "release", "version")], collapse = " "), [17:27:02.822] hostname = base::Sys.info()[["nodename"]]) [17:27:02.822] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.822] info) [17:27:02.822] info <- base::paste(info, collapse = "; ") [17:27:02.822] if (!has_future) { [17:27:02.822] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.822] info) [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.822] info, version) [17:27:02.822] } [17:27:02.822] base::stop(msg) [17:27:02.822] } [17:27:02.822] }) [17:27:02.822] } [17:27:02.822] ...future.strategy.old <- future::plan("list") [17:27:02.822] options(future.plan = NULL) [17:27:02.822] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.822] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.822] } [17:27:02.822] ...future.workdir <- getwd() [17:27:02.822] } [17:27:02.822] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.822] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.822] } [17:27:02.822] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.822] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.822] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.822] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.822] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.822] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.822] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.822] base::names(...future.oldOptions)) [17:27:02.822] } [17:27:02.822] if (FALSE) { [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] if (TRUE) { [17:27:02.822] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.822] open = "w") [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.822] windows = "NUL", "/dev/null"), open = "w") [17:27:02.822] } [17:27:02.822] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.822] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.822] base::sink(type = "output", split = FALSE) [17:27:02.822] base::close(...future.stdout) [17:27:02.822] }, add = TRUE) [17:27:02.822] } [17:27:02.822] ...future.frame <- base::sys.nframe() [17:27:02.822] ...future.conditions <- base::list() [17:27:02.822] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.822] if (FALSE) { [17:27:02.822] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.822] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.822] } [17:27:02.822] ...future.result <- base::tryCatch({ [17:27:02.822] base::withCallingHandlers({ [17:27:02.822] ...future.value <- base::withVisible(base::local(1)) [17:27:02.822] future::FutureResult(value = ...future.value$value, [17:27:02.822] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.822] ...future.rng), globalenv = if (FALSE) [17:27:02.822] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.822] ...future.globalenv.names)) [17:27:02.822] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.822] }, condition = base::local({ [17:27:02.822] c <- base::c [17:27:02.822] inherits <- base::inherits [17:27:02.822] invokeRestart <- base::invokeRestart [17:27:02.822] length <- base::length [17:27:02.822] list <- base::list [17:27:02.822] seq.int <- base::seq.int [17:27:02.822] signalCondition <- base::signalCondition [17:27:02.822] sys.calls <- base::sys.calls [17:27:02.822] `[[` <- base::`[[` [17:27:02.822] `+` <- base::`+` [17:27:02.822] `<<-` <- base::`<<-` [17:27:02.822] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.822] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.822] 3L)] [17:27:02.822] } [17:27:02.822] function(cond) { [17:27:02.822] is_error <- inherits(cond, "error") [17:27:02.822] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.822] NULL) [17:27:02.822] if (is_error) { [17:27:02.822] sessionInformation <- function() { [17:27:02.822] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.822] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.822] search = base::search(), system = base::Sys.info()) [17:27:02.822] } [17:27:02.822] ...future.conditions[[length(...future.conditions) + [17:27:02.822] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.822] cond$call), session = sessionInformation(), [17:27:02.822] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.822] signalCondition(cond) [17:27:02.822] } [17:27:02.822] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.822] "immediateCondition"))) { [17:27:02.822] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.822] ...future.conditions[[length(...future.conditions) + [17:27:02.822] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.822] if (TRUE && !signal) { [17:27:02.822] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.822] { [17:27:02.822] inherits <- base::inherits [17:27:02.822] invokeRestart <- base::invokeRestart [17:27:02.822] is.null <- base::is.null [17:27:02.822] muffled <- FALSE [17:27:02.822] if (inherits(cond, "message")) { [17:27:02.822] muffled <- grepl(pattern, "muffleMessage") [17:27:02.822] if (muffled) [17:27:02.822] invokeRestart("muffleMessage") [17:27:02.822] } [17:27:02.822] else if (inherits(cond, "warning")) { [17:27:02.822] muffled <- grepl(pattern, "muffleWarning") [17:27:02.822] if (muffled) [17:27:02.822] invokeRestart("muffleWarning") [17:27:02.822] } [17:27:02.822] else if (inherits(cond, "condition")) { [17:27:02.822] if (!is.null(pattern)) { [17:27:02.822] computeRestarts <- base::computeRestarts [17:27:02.822] grepl <- base::grepl [17:27:02.822] restarts <- computeRestarts(cond) [17:27:02.822] for (restart in restarts) { [17:27:02.822] name <- restart$name [17:27:02.822] if (is.null(name)) [17:27:02.822] next [17:27:02.822] if (!grepl(pattern, name)) [17:27:02.822] next [17:27:02.822] invokeRestart(restart) [17:27:02.822] muffled <- TRUE [17:27:02.822] break [17:27:02.822] } [17:27:02.822] } [17:27:02.822] } [17:27:02.822] invisible(muffled) [17:27:02.822] } [17:27:02.822] muffleCondition(cond, pattern = "^muffle") [17:27:02.822] } [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] if (TRUE) { [17:27:02.822] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.822] { [17:27:02.822] inherits <- base::inherits [17:27:02.822] invokeRestart <- base::invokeRestart [17:27:02.822] is.null <- base::is.null [17:27:02.822] muffled <- FALSE [17:27:02.822] if (inherits(cond, "message")) { [17:27:02.822] muffled <- grepl(pattern, "muffleMessage") [17:27:02.822] if (muffled) [17:27:02.822] invokeRestart("muffleMessage") [17:27:02.822] } [17:27:02.822] else if (inherits(cond, "warning")) { [17:27:02.822] muffled <- grepl(pattern, "muffleWarning") [17:27:02.822] if (muffled) [17:27:02.822] invokeRestart("muffleWarning") [17:27:02.822] } [17:27:02.822] else if (inherits(cond, "condition")) { [17:27:02.822] if (!is.null(pattern)) { [17:27:02.822] computeRestarts <- base::computeRestarts [17:27:02.822] grepl <- base::grepl [17:27:02.822] restarts <- computeRestarts(cond) [17:27:02.822] for (restart in restarts) { [17:27:02.822] name <- restart$name [17:27:02.822] if (is.null(name)) [17:27:02.822] next [17:27:02.822] if (!grepl(pattern, name)) [17:27:02.822] next [17:27:02.822] invokeRestart(restart) [17:27:02.822] muffled <- TRUE [17:27:02.822] break [17:27:02.822] } [17:27:02.822] } [17:27:02.822] } [17:27:02.822] invisible(muffled) [17:27:02.822] } [17:27:02.822] muffleCondition(cond, pattern = "^muffle") [17:27:02.822] } [17:27:02.822] } [17:27:02.822] } [17:27:02.822] })) [17:27:02.822] }, error = function(ex) { [17:27:02.822] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.822] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.822] ...future.rng), started = ...future.startTime, [17:27:02.822] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.822] version = "1.8"), class = "FutureResult") [17:27:02.822] }, finally = { [17:27:02.822] if (!identical(...future.workdir, getwd())) [17:27:02.822] setwd(...future.workdir) [17:27:02.822] { [17:27:02.822] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.822] ...future.oldOptions$nwarnings <- NULL [17:27:02.822] } [17:27:02.822] base::options(...future.oldOptions) [17:27:02.822] if (.Platform$OS.type == "windows") { [17:27:02.822] old_names <- names(...future.oldEnvVars) [17:27:02.822] envs <- base::Sys.getenv() [17:27:02.822] names <- names(envs) [17:27:02.822] common <- intersect(names, old_names) [17:27:02.822] added <- setdiff(names, old_names) [17:27:02.822] removed <- setdiff(old_names, names) [17:27:02.822] changed <- common[...future.oldEnvVars[common] != [17:27:02.822] envs[common]] [17:27:02.822] NAMES <- toupper(changed) [17:27:02.822] args <- list() [17:27:02.822] for (kk in seq_along(NAMES)) { [17:27:02.822] name <- changed[[kk]] [17:27:02.822] NAME <- NAMES[[kk]] [17:27:02.822] if (name != NAME && is.element(NAME, old_names)) [17:27:02.822] next [17:27:02.822] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.822] } [17:27:02.822] NAMES <- toupper(added) [17:27:02.822] for (kk in seq_along(NAMES)) { [17:27:02.822] name <- added[[kk]] [17:27:02.822] NAME <- NAMES[[kk]] [17:27:02.822] if (name != NAME && is.element(NAME, old_names)) [17:27:02.822] next [17:27:02.822] args[[name]] <- "" [17:27:02.822] } [17:27:02.822] NAMES <- toupper(removed) [17:27:02.822] for (kk in seq_along(NAMES)) { [17:27:02.822] name <- removed[[kk]] [17:27:02.822] NAME <- NAMES[[kk]] [17:27:02.822] if (name != NAME && is.element(NAME, old_names)) [17:27:02.822] next [17:27:02.822] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.822] } [17:27:02.822] if (length(args) > 0) [17:27:02.822] base::do.call(base::Sys.setenv, args = args) [17:27:02.822] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.822] } [17:27:02.822] { [17:27:02.822] if (base::length(...future.futureOptionsAdded) > [17:27:02.822] 0L) { [17:27:02.822] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.822] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.822] base::options(opts) [17:27:02.822] } [17:27:02.822] { [17:27:02.822] { [17:27:02.822] NULL [17:27:02.822] RNGkind("Mersenne-Twister") [17:27:02.822] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.822] inherits = FALSE) [17:27:02.822] } [17:27:02.822] options(future.plan = NULL) [17:27:02.822] if (is.na(NA_character_)) [17:27:02.822] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.822] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.822] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.822] .init = FALSE) [17:27:02.822] } [17:27:02.822] } [17:27:02.822] } [17:27:02.822] }) [17:27:02.822] if (TRUE) { [17:27:02.822] base::sink(type = "output", split = FALSE) [17:27:02.822] if (TRUE) { [17:27:02.822] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.822] } [17:27:02.822] else { [17:27:02.822] ...future.result["stdout"] <- base::list(NULL) [17:27:02.822] } [17:27:02.822] base::close(...future.stdout) [17:27:02.822] ...future.stdout <- NULL [17:27:02.822] } [17:27:02.822] ...future.result$conditions <- ...future.conditions [17:27:02.822] ...future.result$finished <- base::Sys.time() [17:27:02.822] ...future.result [17:27:02.822] } [17:27:02.826] plan(): Setting new future strategy stack: [17:27:02.826] List of future strategies: [17:27:02.826] 1. sequential: [17:27:02.826] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.826] - tweaked: FALSE [17:27:02.826] - call: NULL [17:27:02.827] plan(): nbrOfWorkers() = 1 [17:27:02.828] plan(): Setting new future strategy stack: [17:27:02.828] List of future strategies: [17:27:02.828] 1. sequential: [17:27:02.828] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.828] - tweaked: FALSE [17:27:02.828] - call: plan(strategy) [17:27:02.828] plan(): nbrOfWorkers() = 1 [17:27:02.829] SequentialFuture started (and completed) [17:27:02.829] - Launch lazy future ... done [17:27:02.829] 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:27:02.829] 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:27:02.830] 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:27:02.832] - globals found: [3] '+', 'value', 'a' [17:27:02.832] Searching for globals ... DONE [17:27:02.832] Resolving globals: TRUE [17:27:02.833] Resolving any globals that are futures ... [17:27:02.833] - globals: [3] '+', 'value', 'a' [17:27:02.833] Resolving any globals that are futures ... DONE [17:27:02.833] Resolving futures part of globals (recursively) ... [17:27:02.834] resolve() on list ... [17:27:02.834] recursive: 99 [17:27:02.834] length: 1 [17:27:02.834] elements: 'a' [17:27:02.834] resolved() for 'SequentialFuture' ... [17:27:02.835] - state: 'finished' [17:27:02.835] - run: TRUE [17:27:02.835] - result: 'FutureResult' [17:27:02.835] resolved() for 'SequentialFuture' ... done [17:27:02.835] Future #1 [17:27:02.836] resolved() for 'SequentialFuture' ... [17:27:02.836] - state: 'finished' [17:27:02.836] - run: TRUE [17:27:02.836] - result: 'FutureResult' [17:27:02.836] resolved() for 'SequentialFuture' ... done [17:27:02.837] A SequentialFuture was resolved [17:27:02.837] length: 0 (resolved future 1) [17:27:02.837] resolve() on list ... DONE [17:27:02.837] - globals: [1] 'a' [17:27:02.837] Resolving futures part of globals (recursively) ... DONE [17:27:02.838] The total size of the 1 globals is 9.95 KiB (10184 bytes) [17:27:02.839] The total size of the 1 globals exported for future expression ('value(a) + 1') is 9.95 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (9.95 KiB of class 'environment') [17:27:02.839] - globals: [1] 'a' [17:27:02.839] - packages: [1] 'future' [17:27:02.839] getGlobalsAndPackages() ... DONE [17:27:02.840] run() for 'Future' ... [17:27:02.840] - state: 'created' [17:27:02.840] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.840] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.841] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.841] - Field: 'label' [17:27:02.841] - Field: 'local' [17:27:02.841] - Field: 'owner' [17:27:02.841] - Field: 'envir' [17:27:02.841] - Field: 'packages' [17:27:02.842] - Field: 'gc' [17:27:02.842] - Field: 'conditions' [17:27:02.842] - Field: 'expr' [17:27:02.842] - Field: 'uuid' [17:27:02.842] - Field: 'seed' [17:27:02.842] - Field: 'version' [17:27:02.843] - Field: 'result' [17:27:02.843] - Field: 'asynchronous' [17:27:02.843] - Field: 'calls' [17:27:02.843] - Field: 'globals' [17:27:02.843] - Field: 'stdout' [17:27:02.843] - Field: 'earlySignal' [17:27:02.844] - Field: 'lazy' [17:27:02.844] - Field: 'state' [17:27:02.844] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.844] - Launch lazy future ... [17:27:02.844] Packages needed by the future expression (n = 1): 'future' [17:27:02.845] Packages needed by future strategies (n = 0): [17:27:02.845] { [17:27:02.845] { [17:27:02.845] { [17:27:02.845] ...future.startTime <- base::Sys.time() [17:27:02.845] { [17:27:02.845] { [17:27:02.845] { [17:27:02.845] { [17:27:02.845] base::local({ [17:27:02.845] has_future <- base::requireNamespace("future", [17:27:02.845] quietly = TRUE) [17:27:02.845] if (has_future) { [17:27:02.845] ns <- base::getNamespace("future") [17:27:02.845] version <- ns[[".package"]][["version"]] [17:27:02.845] if (is.null(version)) [17:27:02.845] version <- utils::packageVersion("future") [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] version <- NULL [17:27:02.845] } [17:27:02.845] if (!has_future || version < "1.8.0") { [17:27:02.845] info <- base::c(r_version = base::gsub("R version ", [17:27:02.845] "", base::R.version$version.string), [17:27:02.845] platform = base::sprintf("%s (%s-bit)", [17:27:02.845] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.845] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.845] "release", "version")], collapse = " "), [17:27:02.845] hostname = base::Sys.info()[["nodename"]]) [17:27:02.845] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.845] info) [17:27:02.845] info <- base::paste(info, collapse = "; ") [17:27:02.845] if (!has_future) { [17:27:02.845] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.845] info) [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.845] info, version) [17:27:02.845] } [17:27:02.845] base::stop(msg) [17:27:02.845] } [17:27:02.845] }) [17:27:02.845] } [17:27:02.845] base::local({ [17:27:02.845] for (pkg in "future") { [17:27:02.845] base::loadNamespace(pkg) [17:27:02.845] base::library(pkg, character.only = TRUE) [17:27:02.845] } [17:27:02.845] }) [17:27:02.845] } [17:27:02.845] ...future.strategy.old <- future::plan("list") [17:27:02.845] options(future.plan = NULL) [17:27:02.845] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.845] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.845] } [17:27:02.845] ...future.workdir <- getwd() [17:27:02.845] } [17:27:02.845] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.845] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.845] } [17:27:02.845] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.845] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.845] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.845] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.845] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.845] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.845] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.845] base::names(...future.oldOptions)) [17:27:02.845] } [17:27:02.845] if (FALSE) { [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] if (TRUE) { [17:27:02.845] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.845] open = "w") [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.845] windows = "NUL", "/dev/null"), open = "w") [17:27:02.845] } [17:27:02.845] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.845] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.845] base::sink(type = "output", split = FALSE) [17:27:02.845] base::close(...future.stdout) [17:27:02.845] }, add = TRUE) [17:27:02.845] } [17:27:02.845] ...future.frame <- base::sys.nframe() [17:27:02.845] ...future.conditions <- base::list() [17:27:02.845] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.845] if (FALSE) { [17:27:02.845] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.845] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.845] } [17:27:02.845] ...future.result <- base::tryCatch({ [17:27:02.845] base::withCallingHandlers({ [17:27:02.845] ...future.value <- base::withVisible(base::local(value(a) + [17:27:02.845] 1)) [17:27:02.845] future::FutureResult(value = ...future.value$value, [17:27:02.845] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.845] ...future.rng), globalenv = if (FALSE) [17:27:02.845] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.845] ...future.globalenv.names)) [17:27:02.845] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.845] }, condition = base::local({ [17:27:02.845] c <- base::c [17:27:02.845] inherits <- base::inherits [17:27:02.845] invokeRestart <- base::invokeRestart [17:27:02.845] length <- base::length [17:27:02.845] list <- base::list [17:27:02.845] seq.int <- base::seq.int [17:27:02.845] signalCondition <- base::signalCondition [17:27:02.845] sys.calls <- base::sys.calls [17:27:02.845] `[[` <- base::`[[` [17:27:02.845] `+` <- base::`+` [17:27:02.845] `<<-` <- base::`<<-` [17:27:02.845] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.845] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.845] 3L)] [17:27:02.845] } [17:27:02.845] function(cond) { [17:27:02.845] is_error <- inherits(cond, "error") [17:27:02.845] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.845] NULL) [17:27:02.845] if (is_error) { [17:27:02.845] sessionInformation <- function() { [17:27:02.845] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.845] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.845] search = base::search(), system = base::Sys.info()) [17:27:02.845] } [17:27:02.845] ...future.conditions[[length(...future.conditions) + [17:27:02.845] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.845] cond$call), session = sessionInformation(), [17:27:02.845] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.845] signalCondition(cond) [17:27:02.845] } [17:27:02.845] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.845] "immediateCondition"))) { [17:27:02.845] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.845] ...future.conditions[[length(...future.conditions) + [17:27:02.845] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.845] if (TRUE && !signal) { [17:27:02.845] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.845] { [17:27:02.845] inherits <- base::inherits [17:27:02.845] invokeRestart <- base::invokeRestart [17:27:02.845] is.null <- base::is.null [17:27:02.845] muffled <- FALSE [17:27:02.845] if (inherits(cond, "message")) { [17:27:02.845] muffled <- grepl(pattern, "muffleMessage") [17:27:02.845] if (muffled) [17:27:02.845] invokeRestart("muffleMessage") [17:27:02.845] } [17:27:02.845] else if (inherits(cond, "warning")) { [17:27:02.845] muffled <- grepl(pattern, "muffleWarning") [17:27:02.845] if (muffled) [17:27:02.845] invokeRestart("muffleWarning") [17:27:02.845] } [17:27:02.845] else if (inherits(cond, "condition")) { [17:27:02.845] if (!is.null(pattern)) { [17:27:02.845] computeRestarts <- base::computeRestarts [17:27:02.845] grepl <- base::grepl [17:27:02.845] restarts <- computeRestarts(cond) [17:27:02.845] for (restart in restarts) { [17:27:02.845] name <- restart$name [17:27:02.845] if (is.null(name)) [17:27:02.845] next [17:27:02.845] if (!grepl(pattern, name)) [17:27:02.845] next [17:27:02.845] invokeRestart(restart) [17:27:02.845] muffled <- TRUE [17:27:02.845] break [17:27:02.845] } [17:27:02.845] } [17:27:02.845] } [17:27:02.845] invisible(muffled) [17:27:02.845] } [17:27:02.845] muffleCondition(cond, pattern = "^muffle") [17:27:02.845] } [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] if (TRUE) { [17:27:02.845] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.845] { [17:27:02.845] inherits <- base::inherits [17:27:02.845] invokeRestart <- base::invokeRestart [17:27:02.845] is.null <- base::is.null [17:27:02.845] muffled <- FALSE [17:27:02.845] if (inherits(cond, "message")) { [17:27:02.845] muffled <- grepl(pattern, "muffleMessage") [17:27:02.845] if (muffled) [17:27:02.845] invokeRestart("muffleMessage") [17:27:02.845] } [17:27:02.845] else if (inherits(cond, "warning")) { [17:27:02.845] muffled <- grepl(pattern, "muffleWarning") [17:27:02.845] if (muffled) [17:27:02.845] invokeRestart("muffleWarning") [17:27:02.845] } [17:27:02.845] else if (inherits(cond, "condition")) { [17:27:02.845] if (!is.null(pattern)) { [17:27:02.845] computeRestarts <- base::computeRestarts [17:27:02.845] grepl <- base::grepl [17:27:02.845] restarts <- computeRestarts(cond) [17:27:02.845] for (restart in restarts) { [17:27:02.845] name <- restart$name [17:27:02.845] if (is.null(name)) [17:27:02.845] next [17:27:02.845] if (!grepl(pattern, name)) [17:27:02.845] next [17:27:02.845] invokeRestart(restart) [17:27:02.845] muffled <- TRUE [17:27:02.845] break [17:27:02.845] } [17:27:02.845] } [17:27:02.845] } [17:27:02.845] invisible(muffled) [17:27:02.845] } [17:27:02.845] muffleCondition(cond, pattern = "^muffle") [17:27:02.845] } [17:27:02.845] } [17:27:02.845] } [17:27:02.845] })) [17:27:02.845] }, error = function(ex) { [17:27:02.845] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.845] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.845] ...future.rng), started = ...future.startTime, [17:27:02.845] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.845] version = "1.8"), class = "FutureResult") [17:27:02.845] }, finally = { [17:27:02.845] if (!identical(...future.workdir, getwd())) [17:27:02.845] setwd(...future.workdir) [17:27:02.845] { [17:27:02.845] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.845] ...future.oldOptions$nwarnings <- NULL [17:27:02.845] } [17:27:02.845] base::options(...future.oldOptions) [17:27:02.845] if (.Platform$OS.type == "windows") { [17:27:02.845] old_names <- names(...future.oldEnvVars) [17:27:02.845] envs <- base::Sys.getenv() [17:27:02.845] names <- names(envs) [17:27:02.845] common <- intersect(names, old_names) [17:27:02.845] added <- setdiff(names, old_names) [17:27:02.845] removed <- setdiff(old_names, names) [17:27:02.845] changed <- common[...future.oldEnvVars[common] != [17:27:02.845] envs[common]] [17:27:02.845] NAMES <- toupper(changed) [17:27:02.845] args <- list() [17:27:02.845] for (kk in seq_along(NAMES)) { [17:27:02.845] name <- changed[[kk]] [17:27:02.845] NAME <- NAMES[[kk]] [17:27:02.845] if (name != NAME && is.element(NAME, old_names)) [17:27:02.845] next [17:27:02.845] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.845] } [17:27:02.845] NAMES <- toupper(added) [17:27:02.845] for (kk in seq_along(NAMES)) { [17:27:02.845] name <- added[[kk]] [17:27:02.845] NAME <- NAMES[[kk]] [17:27:02.845] if (name != NAME && is.element(NAME, old_names)) [17:27:02.845] next [17:27:02.845] args[[name]] <- "" [17:27:02.845] } [17:27:02.845] NAMES <- toupper(removed) [17:27:02.845] for (kk in seq_along(NAMES)) { [17:27:02.845] name <- removed[[kk]] [17:27:02.845] NAME <- NAMES[[kk]] [17:27:02.845] if (name != NAME && is.element(NAME, old_names)) [17:27:02.845] next [17:27:02.845] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.845] } [17:27:02.845] if (length(args) > 0) [17:27:02.845] base::do.call(base::Sys.setenv, args = args) [17:27:02.845] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.845] } [17:27:02.845] { [17:27:02.845] if (base::length(...future.futureOptionsAdded) > [17:27:02.845] 0L) { [17:27:02.845] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.845] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.845] base::options(opts) [17:27:02.845] } [17:27:02.845] { [17:27:02.845] { [17:27:02.845] NULL [17:27:02.845] RNGkind("Mersenne-Twister") [17:27:02.845] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.845] inherits = FALSE) [17:27:02.845] } [17:27:02.845] options(future.plan = NULL) [17:27:02.845] if (is.na(NA_character_)) [17:27:02.845] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.845] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.845] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.845] .init = FALSE) [17:27:02.845] } [17:27:02.845] } [17:27:02.845] } [17:27:02.845] }) [17:27:02.845] if (TRUE) { [17:27:02.845] base::sink(type = "output", split = FALSE) [17:27:02.845] if (TRUE) { [17:27:02.845] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.845] } [17:27:02.845] else { [17:27:02.845] ...future.result["stdout"] <- base::list(NULL) [17:27:02.845] } [17:27:02.845] base::close(...future.stdout) [17:27:02.845] ...future.stdout <- NULL [17:27:02.845] } [17:27:02.845] ...future.result$conditions <- ...future.conditions [17:27:02.845] ...future.result$finished <- base::Sys.time() [17:27:02.845] ...future.result [17:27:02.845] } [17:27:02.849] assign_globals() ... [17:27:02.849] List of 1 [17:27:02.849] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.849] - attr(*, "where")=List of 1 [17:27:02.849] ..$ a: [17:27:02.849] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.849] - attr(*, "resolved")= logi TRUE [17:27:02.849] - attr(*, "total_size")= num 10184 [17:27:02.849] - attr(*, "already-done")= logi TRUE [17:27:02.852] - copied 'a' to environment [17:27:02.852] assign_globals() ... done [17:27:02.853] plan(): Setting new future strategy stack: [17:27:02.853] List of future strategies: [17:27:02.853] 1. sequential: [17:27:02.853] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.853] - tweaked: FALSE [17:27:02.853] - call: NULL [17:27:02.854] plan(): nbrOfWorkers() = 1 [17:27:02.855] plan(): Setting new future strategy stack: [17:27:02.855] List of future strategies: [17:27:02.855] 1. sequential: [17:27:02.855] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.855] - tweaked: FALSE [17:27:02.855] - call: plan(strategy) [17:27:02.856] plan(): nbrOfWorkers() = 1 [17:27:02.856] SequentialFuture started (and completed) [17:27:02.856] - Launch lazy future ... done [17:27:02.856] 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:27:02.857] 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:27:02.857] 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:27:02.858] [17:27:02.858] Searching for globals ... DONE [17:27:02.858] - globals: [0] [17:27:02.859] getGlobalsAndPackages() ... DONE [17:27:02.859] run() for 'Future' ... [17:27:02.859] - state: 'created' [17:27:02.859] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.860] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.860] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.860] - Field: 'label' [17:27:02.860] - Field: 'local' [17:27:02.860] - Field: 'owner' [17:27:02.860] - Field: 'envir' [17:27:02.861] - Field: 'packages' [17:27:02.861] - Field: 'gc' [17:27:02.861] - Field: 'conditions' [17:27:02.861] - Field: 'expr' [17:27:02.861] - Field: 'uuid' [17:27:02.862] - Field: 'seed' [17:27:02.862] - Field: 'version' [17:27:02.862] - Field: 'result' [17:27:02.862] - Field: 'asynchronous' [17:27:02.862] - Field: 'calls' [17:27:02.862] - Field: 'globals' [17:27:02.863] - Field: 'stdout' [17:27:02.863] - Field: 'earlySignal' [17:27:02.864] - Field: 'lazy' [17:27:02.864] - Field: 'state' [17:27:02.864] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.865] - Launch lazy future ... [17:27:02.865] Packages needed by the future expression (n = 0): [17:27:02.865] Packages needed by future strategies (n = 0): [17:27:02.866] { [17:27:02.866] { [17:27:02.866] { [17:27:02.866] ...future.startTime <- base::Sys.time() [17:27:02.866] { [17:27:02.866] { [17:27:02.866] { [17:27:02.866] base::local({ [17:27:02.866] has_future <- base::requireNamespace("future", [17:27:02.866] quietly = TRUE) [17:27:02.866] if (has_future) { [17:27:02.866] ns <- base::getNamespace("future") [17:27:02.866] version <- ns[[".package"]][["version"]] [17:27:02.866] if (is.null(version)) [17:27:02.866] version <- utils::packageVersion("future") [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] version <- NULL [17:27:02.866] } [17:27:02.866] if (!has_future || version < "1.8.0") { [17:27:02.866] info <- base::c(r_version = base::gsub("R version ", [17:27:02.866] "", base::R.version$version.string), [17:27:02.866] platform = base::sprintf("%s (%s-bit)", [17:27:02.866] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.866] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.866] "release", "version")], collapse = " "), [17:27:02.866] hostname = base::Sys.info()[["nodename"]]) [17:27:02.866] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.866] info) [17:27:02.866] info <- base::paste(info, collapse = "; ") [17:27:02.866] if (!has_future) { [17:27:02.866] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.866] info) [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.866] info, version) [17:27:02.866] } [17:27:02.866] base::stop(msg) [17:27:02.866] } [17:27:02.866] }) [17:27:02.866] } [17:27:02.866] ...future.strategy.old <- future::plan("list") [17:27:02.866] options(future.plan = NULL) [17:27:02.866] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.866] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.866] } [17:27:02.866] ...future.workdir <- getwd() [17:27:02.866] } [17:27:02.866] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.866] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.866] } [17:27:02.866] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.866] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.866] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.866] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.866] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.866] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.866] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.866] base::names(...future.oldOptions)) [17:27:02.866] } [17:27:02.866] if (FALSE) { [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] if (TRUE) { [17:27:02.866] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.866] open = "w") [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.866] windows = "NUL", "/dev/null"), open = "w") [17:27:02.866] } [17:27:02.866] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.866] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.866] base::sink(type = "output", split = FALSE) [17:27:02.866] base::close(...future.stdout) [17:27:02.866] }, add = TRUE) [17:27:02.866] } [17:27:02.866] ...future.frame <- base::sys.nframe() [17:27:02.866] ...future.conditions <- base::list() [17:27:02.866] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.866] if (FALSE) { [17:27:02.866] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.866] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.866] } [17:27:02.866] ...future.result <- base::tryCatch({ [17:27:02.866] base::withCallingHandlers({ [17:27:02.866] ...future.value <- base::withVisible(base::local(1)) [17:27:02.866] future::FutureResult(value = ...future.value$value, [17:27:02.866] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.866] ...future.rng), globalenv = if (FALSE) [17:27:02.866] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.866] ...future.globalenv.names)) [17:27:02.866] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.866] }, condition = base::local({ [17:27:02.866] c <- base::c [17:27:02.866] inherits <- base::inherits [17:27:02.866] invokeRestart <- base::invokeRestart [17:27:02.866] length <- base::length [17:27:02.866] list <- base::list [17:27:02.866] seq.int <- base::seq.int [17:27:02.866] signalCondition <- base::signalCondition [17:27:02.866] sys.calls <- base::sys.calls [17:27:02.866] `[[` <- base::`[[` [17:27:02.866] `+` <- base::`+` [17:27:02.866] `<<-` <- base::`<<-` [17:27:02.866] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.866] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.866] 3L)] [17:27:02.866] } [17:27:02.866] function(cond) { [17:27:02.866] is_error <- inherits(cond, "error") [17:27:02.866] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.866] NULL) [17:27:02.866] if (is_error) { [17:27:02.866] sessionInformation <- function() { [17:27:02.866] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.866] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.866] search = base::search(), system = base::Sys.info()) [17:27:02.866] } [17:27:02.866] ...future.conditions[[length(...future.conditions) + [17:27:02.866] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.866] cond$call), session = sessionInformation(), [17:27:02.866] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.866] signalCondition(cond) [17:27:02.866] } [17:27:02.866] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.866] "immediateCondition"))) { [17:27:02.866] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.866] ...future.conditions[[length(...future.conditions) + [17:27:02.866] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.866] if (TRUE && !signal) { [17:27:02.866] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.866] { [17:27:02.866] inherits <- base::inherits [17:27:02.866] invokeRestart <- base::invokeRestart [17:27:02.866] is.null <- base::is.null [17:27:02.866] muffled <- FALSE [17:27:02.866] if (inherits(cond, "message")) { [17:27:02.866] muffled <- grepl(pattern, "muffleMessage") [17:27:02.866] if (muffled) [17:27:02.866] invokeRestart("muffleMessage") [17:27:02.866] } [17:27:02.866] else if (inherits(cond, "warning")) { [17:27:02.866] muffled <- grepl(pattern, "muffleWarning") [17:27:02.866] if (muffled) [17:27:02.866] invokeRestart("muffleWarning") [17:27:02.866] } [17:27:02.866] else if (inherits(cond, "condition")) { [17:27:02.866] if (!is.null(pattern)) { [17:27:02.866] computeRestarts <- base::computeRestarts [17:27:02.866] grepl <- base::grepl [17:27:02.866] restarts <- computeRestarts(cond) [17:27:02.866] for (restart in restarts) { [17:27:02.866] name <- restart$name [17:27:02.866] if (is.null(name)) [17:27:02.866] next [17:27:02.866] if (!grepl(pattern, name)) [17:27:02.866] next [17:27:02.866] invokeRestart(restart) [17:27:02.866] muffled <- TRUE [17:27:02.866] break [17:27:02.866] } [17:27:02.866] } [17:27:02.866] } [17:27:02.866] invisible(muffled) [17:27:02.866] } [17:27:02.866] muffleCondition(cond, pattern = "^muffle") [17:27:02.866] } [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] if (TRUE) { [17:27:02.866] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.866] { [17:27:02.866] inherits <- base::inherits [17:27:02.866] invokeRestart <- base::invokeRestart [17:27:02.866] is.null <- base::is.null [17:27:02.866] muffled <- FALSE [17:27:02.866] if (inherits(cond, "message")) { [17:27:02.866] muffled <- grepl(pattern, "muffleMessage") [17:27:02.866] if (muffled) [17:27:02.866] invokeRestart("muffleMessage") [17:27:02.866] } [17:27:02.866] else if (inherits(cond, "warning")) { [17:27:02.866] muffled <- grepl(pattern, "muffleWarning") [17:27:02.866] if (muffled) [17:27:02.866] invokeRestart("muffleWarning") [17:27:02.866] } [17:27:02.866] else if (inherits(cond, "condition")) { [17:27:02.866] if (!is.null(pattern)) { [17:27:02.866] computeRestarts <- base::computeRestarts [17:27:02.866] grepl <- base::grepl [17:27:02.866] restarts <- computeRestarts(cond) [17:27:02.866] for (restart in restarts) { [17:27:02.866] name <- restart$name [17:27:02.866] if (is.null(name)) [17:27:02.866] next [17:27:02.866] if (!grepl(pattern, name)) [17:27:02.866] next [17:27:02.866] invokeRestart(restart) [17:27:02.866] muffled <- TRUE [17:27:02.866] break [17:27:02.866] } [17:27:02.866] } [17:27:02.866] } [17:27:02.866] invisible(muffled) [17:27:02.866] } [17:27:02.866] muffleCondition(cond, pattern = "^muffle") [17:27:02.866] } [17:27:02.866] } [17:27:02.866] } [17:27:02.866] })) [17:27:02.866] }, error = function(ex) { [17:27:02.866] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.866] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.866] ...future.rng), started = ...future.startTime, [17:27:02.866] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.866] version = "1.8"), class = "FutureResult") [17:27:02.866] }, finally = { [17:27:02.866] if (!identical(...future.workdir, getwd())) [17:27:02.866] setwd(...future.workdir) [17:27:02.866] { [17:27:02.866] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.866] ...future.oldOptions$nwarnings <- NULL [17:27:02.866] } [17:27:02.866] base::options(...future.oldOptions) [17:27:02.866] if (.Platform$OS.type == "windows") { [17:27:02.866] old_names <- names(...future.oldEnvVars) [17:27:02.866] envs <- base::Sys.getenv() [17:27:02.866] names <- names(envs) [17:27:02.866] common <- intersect(names, old_names) [17:27:02.866] added <- setdiff(names, old_names) [17:27:02.866] removed <- setdiff(old_names, names) [17:27:02.866] changed <- common[...future.oldEnvVars[common] != [17:27:02.866] envs[common]] [17:27:02.866] NAMES <- toupper(changed) [17:27:02.866] args <- list() [17:27:02.866] for (kk in seq_along(NAMES)) { [17:27:02.866] name <- changed[[kk]] [17:27:02.866] NAME <- NAMES[[kk]] [17:27:02.866] if (name != NAME && is.element(NAME, old_names)) [17:27:02.866] next [17:27:02.866] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.866] } [17:27:02.866] NAMES <- toupper(added) [17:27:02.866] for (kk in seq_along(NAMES)) { [17:27:02.866] name <- added[[kk]] [17:27:02.866] NAME <- NAMES[[kk]] [17:27:02.866] if (name != NAME && is.element(NAME, old_names)) [17:27:02.866] next [17:27:02.866] args[[name]] <- "" [17:27:02.866] } [17:27:02.866] NAMES <- toupper(removed) [17:27:02.866] for (kk in seq_along(NAMES)) { [17:27:02.866] name <- removed[[kk]] [17:27:02.866] NAME <- NAMES[[kk]] [17:27:02.866] if (name != NAME && is.element(NAME, old_names)) [17:27:02.866] next [17:27:02.866] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.866] } [17:27:02.866] if (length(args) > 0) [17:27:02.866] base::do.call(base::Sys.setenv, args = args) [17:27:02.866] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.866] } [17:27:02.866] { [17:27:02.866] if (base::length(...future.futureOptionsAdded) > [17:27:02.866] 0L) { [17:27:02.866] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.866] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.866] base::options(opts) [17:27:02.866] } [17:27:02.866] { [17:27:02.866] { [17:27:02.866] NULL [17:27:02.866] RNGkind("Mersenne-Twister") [17:27:02.866] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.866] inherits = FALSE) [17:27:02.866] } [17:27:02.866] options(future.plan = NULL) [17:27:02.866] if (is.na(NA_character_)) [17:27:02.866] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.866] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.866] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.866] .init = FALSE) [17:27:02.866] } [17:27:02.866] } [17:27:02.866] } [17:27:02.866] }) [17:27:02.866] if (TRUE) { [17:27:02.866] base::sink(type = "output", split = FALSE) [17:27:02.866] if (TRUE) { [17:27:02.866] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.866] } [17:27:02.866] else { [17:27:02.866] ...future.result["stdout"] <- base::list(NULL) [17:27:02.866] } [17:27:02.866] base::close(...future.stdout) [17:27:02.866] ...future.stdout <- NULL [17:27:02.866] } [17:27:02.866] ...future.result$conditions <- ...future.conditions [17:27:02.866] ...future.result$finished <- base::Sys.time() [17:27:02.866] ...future.result [17:27:02.866] } [17:27:02.870] plan(): Setting new future strategy stack: [17:27:02.870] List of future strategies: [17:27:02.870] 1. sequential: [17:27:02.870] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.870] - tweaked: FALSE [17:27:02.870] - call: NULL [17:27:02.870] plan(): nbrOfWorkers() = 1 [17:27:02.871] plan(): Setting new future strategy stack: [17:27:02.872] List of future strategies: [17:27:02.872] 1. sequential: [17:27:02.872] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.872] - tweaked: FALSE [17:27:02.872] - call: plan(strategy) [17:27:02.872] plan(): nbrOfWorkers() = 1 [17:27:02.872] SequentialFuture started (and completed) [17:27:02.873] - Launch lazy future ... done [17:27:02.873] 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:27:02.873] 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:27:02.874] 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:27:02.875] - globals found: [3] '+', 'value', 'a' [17:27:02.875] Searching for globals ... DONE [17:27:02.875] Resolving globals: TRUE [17:27:02.875] Resolving any globals that are futures ... [17:27:02.875] - globals: [3] '+', 'value', 'a' [17:27:02.876] Resolving any globals that are futures ... DONE [17:27:02.876] Resolving futures part of globals (recursively) ... [17:27:02.876] resolve() on list ... [17:27:02.876] recursive: 99 [17:27:02.877] length: 1 [17:27:02.877] elements: 'a' [17:27:02.877] resolved() for 'SequentialFuture' ... [17:27:02.877] - state: 'finished' [17:27:02.877] - run: TRUE [17:27:02.878] - result: 'FutureResult' [17:27:02.878] resolved() for 'SequentialFuture' ... done [17:27:02.878] Future #1 [17:27:02.878] resolved() for 'SequentialFuture' ... [17:27:02.878] - state: 'finished' [17:27:02.879] - run: TRUE [17:27:02.879] - result: 'FutureResult' [17:27:02.879] resolved() for 'SequentialFuture' ... done [17:27:02.879] A SequentialFuture was resolved [17:27:02.879] length: 0 (resolved future 1) [17:27:02.879] resolve() on list ... DONE [17:27:02.880] - globals: [1] 'a' [17:27:02.880] Resolving futures part of globals (recursively) ... DONE [17:27:02.881] The total size of the 1 globals is 9.95 KiB (10184 bytes) [17:27:02.881] The total size of the 1 globals exported for future expression ('value(a) + 1') is 9.95 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (9.95 KiB of class 'environment') [17:27:02.881] - globals: [1] 'a' [17:27:02.882] - packages: [1] 'future' [17:27:02.882] getGlobalsAndPackages() ... DONE [17:27:02.882] run() for 'Future' ... [17:27:02.882] - state: 'created' [17:27:02.882] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.883] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.883] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.883] - Field: 'label' [17:27:02.883] - Field: 'local' [17:27:02.884] - Field: 'owner' [17:27:02.884] - Field: 'envir' [17:27:02.884] - Field: 'packages' [17:27:02.884] - Field: 'gc' [17:27:02.884] - Field: 'conditions' [17:27:02.884] - Field: 'expr' [17:27:02.885] - Field: 'uuid' [17:27:02.885] - Field: 'seed' [17:27:02.885] - Field: 'version' [17:27:02.885] - Field: 'result' [17:27:02.885] - Field: 'asynchronous' [17:27:02.885] - Field: 'calls' [17:27:02.886] - Field: 'globals' [17:27:02.886] - Field: 'stdout' [17:27:02.886] - Field: 'earlySignal' [17:27:02.886] - Field: 'lazy' [17:27:02.886] - Field: 'state' [17:27:02.886] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.887] - Launch lazy future ... [17:27:02.887] Packages needed by the future expression (n = 1): 'future' [17:27:02.887] Packages needed by future strategies (n = 0): [17:27:02.888] { [17:27:02.888] { [17:27:02.888] { [17:27:02.888] ...future.startTime <- base::Sys.time() [17:27:02.888] { [17:27:02.888] { [17:27:02.888] { [17:27:02.888] { [17:27:02.888] base::local({ [17:27:02.888] has_future <- base::requireNamespace("future", [17:27:02.888] quietly = TRUE) [17:27:02.888] if (has_future) { [17:27:02.888] ns <- base::getNamespace("future") [17:27:02.888] version <- ns[[".package"]][["version"]] [17:27:02.888] if (is.null(version)) [17:27:02.888] version <- utils::packageVersion("future") [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] version <- NULL [17:27:02.888] } [17:27:02.888] if (!has_future || version < "1.8.0") { [17:27:02.888] info <- base::c(r_version = base::gsub("R version ", [17:27:02.888] "", base::R.version$version.string), [17:27:02.888] platform = base::sprintf("%s (%s-bit)", [17:27:02.888] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.888] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.888] "release", "version")], collapse = " "), [17:27:02.888] hostname = base::Sys.info()[["nodename"]]) [17:27:02.888] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.888] info) [17:27:02.888] info <- base::paste(info, collapse = "; ") [17:27:02.888] if (!has_future) { [17:27:02.888] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.888] info) [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.888] info, version) [17:27:02.888] } [17:27:02.888] base::stop(msg) [17:27:02.888] } [17:27:02.888] }) [17:27:02.888] } [17:27:02.888] base::local({ [17:27:02.888] for (pkg in "future") { [17:27:02.888] base::loadNamespace(pkg) [17:27:02.888] base::library(pkg, character.only = TRUE) [17:27:02.888] } [17:27:02.888] }) [17:27:02.888] } [17:27:02.888] ...future.strategy.old <- future::plan("list") [17:27:02.888] options(future.plan = NULL) [17:27:02.888] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.888] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.888] } [17:27:02.888] ...future.workdir <- getwd() [17:27:02.888] } [17:27:02.888] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.888] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.888] } [17:27:02.888] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.888] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.888] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.888] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.888] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.888] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.888] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.888] base::names(...future.oldOptions)) [17:27:02.888] } [17:27:02.888] if (FALSE) { [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] if (TRUE) { [17:27:02.888] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.888] open = "w") [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.888] windows = "NUL", "/dev/null"), open = "w") [17:27:02.888] } [17:27:02.888] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.888] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.888] base::sink(type = "output", split = FALSE) [17:27:02.888] base::close(...future.stdout) [17:27:02.888] }, add = TRUE) [17:27:02.888] } [17:27:02.888] ...future.frame <- base::sys.nframe() [17:27:02.888] ...future.conditions <- base::list() [17:27:02.888] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.888] if (FALSE) { [17:27:02.888] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.888] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.888] } [17:27:02.888] ...future.result <- base::tryCatch({ [17:27:02.888] base::withCallingHandlers({ [17:27:02.888] ...future.value <- base::withVisible(base::local(value(a) + [17:27:02.888] 1)) [17:27:02.888] future::FutureResult(value = ...future.value$value, [17:27:02.888] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.888] ...future.rng), globalenv = if (FALSE) [17:27:02.888] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.888] ...future.globalenv.names)) [17:27:02.888] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.888] }, condition = base::local({ [17:27:02.888] c <- base::c [17:27:02.888] inherits <- base::inherits [17:27:02.888] invokeRestart <- base::invokeRestart [17:27:02.888] length <- base::length [17:27:02.888] list <- base::list [17:27:02.888] seq.int <- base::seq.int [17:27:02.888] signalCondition <- base::signalCondition [17:27:02.888] sys.calls <- base::sys.calls [17:27:02.888] `[[` <- base::`[[` [17:27:02.888] `+` <- base::`+` [17:27:02.888] `<<-` <- base::`<<-` [17:27:02.888] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.888] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.888] 3L)] [17:27:02.888] } [17:27:02.888] function(cond) { [17:27:02.888] is_error <- inherits(cond, "error") [17:27:02.888] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.888] NULL) [17:27:02.888] if (is_error) { [17:27:02.888] sessionInformation <- function() { [17:27:02.888] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.888] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.888] search = base::search(), system = base::Sys.info()) [17:27:02.888] } [17:27:02.888] ...future.conditions[[length(...future.conditions) + [17:27:02.888] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.888] cond$call), session = sessionInformation(), [17:27:02.888] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.888] signalCondition(cond) [17:27:02.888] } [17:27:02.888] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.888] "immediateCondition"))) { [17:27:02.888] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.888] ...future.conditions[[length(...future.conditions) + [17:27:02.888] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.888] if (TRUE && !signal) { [17:27:02.888] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.888] { [17:27:02.888] inherits <- base::inherits [17:27:02.888] invokeRestart <- base::invokeRestart [17:27:02.888] is.null <- base::is.null [17:27:02.888] muffled <- FALSE [17:27:02.888] if (inherits(cond, "message")) { [17:27:02.888] muffled <- grepl(pattern, "muffleMessage") [17:27:02.888] if (muffled) [17:27:02.888] invokeRestart("muffleMessage") [17:27:02.888] } [17:27:02.888] else if (inherits(cond, "warning")) { [17:27:02.888] muffled <- grepl(pattern, "muffleWarning") [17:27:02.888] if (muffled) [17:27:02.888] invokeRestart("muffleWarning") [17:27:02.888] } [17:27:02.888] else if (inherits(cond, "condition")) { [17:27:02.888] if (!is.null(pattern)) { [17:27:02.888] computeRestarts <- base::computeRestarts [17:27:02.888] grepl <- base::grepl [17:27:02.888] restarts <- computeRestarts(cond) [17:27:02.888] for (restart in restarts) { [17:27:02.888] name <- restart$name [17:27:02.888] if (is.null(name)) [17:27:02.888] next [17:27:02.888] if (!grepl(pattern, name)) [17:27:02.888] next [17:27:02.888] invokeRestart(restart) [17:27:02.888] muffled <- TRUE [17:27:02.888] break [17:27:02.888] } [17:27:02.888] } [17:27:02.888] } [17:27:02.888] invisible(muffled) [17:27:02.888] } [17:27:02.888] muffleCondition(cond, pattern = "^muffle") [17:27:02.888] } [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] if (TRUE) { [17:27:02.888] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.888] { [17:27:02.888] inherits <- base::inherits [17:27:02.888] invokeRestart <- base::invokeRestart [17:27:02.888] is.null <- base::is.null [17:27:02.888] muffled <- FALSE [17:27:02.888] if (inherits(cond, "message")) { [17:27:02.888] muffled <- grepl(pattern, "muffleMessage") [17:27:02.888] if (muffled) [17:27:02.888] invokeRestart("muffleMessage") [17:27:02.888] } [17:27:02.888] else if (inherits(cond, "warning")) { [17:27:02.888] muffled <- grepl(pattern, "muffleWarning") [17:27:02.888] if (muffled) [17:27:02.888] invokeRestart("muffleWarning") [17:27:02.888] } [17:27:02.888] else if (inherits(cond, "condition")) { [17:27:02.888] if (!is.null(pattern)) { [17:27:02.888] computeRestarts <- base::computeRestarts [17:27:02.888] grepl <- base::grepl [17:27:02.888] restarts <- computeRestarts(cond) [17:27:02.888] for (restart in restarts) { [17:27:02.888] name <- restart$name [17:27:02.888] if (is.null(name)) [17:27:02.888] next [17:27:02.888] if (!grepl(pattern, name)) [17:27:02.888] next [17:27:02.888] invokeRestart(restart) [17:27:02.888] muffled <- TRUE [17:27:02.888] break [17:27:02.888] } [17:27:02.888] } [17:27:02.888] } [17:27:02.888] invisible(muffled) [17:27:02.888] } [17:27:02.888] muffleCondition(cond, pattern = "^muffle") [17:27:02.888] } [17:27:02.888] } [17:27:02.888] } [17:27:02.888] })) [17:27:02.888] }, error = function(ex) { [17:27:02.888] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.888] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.888] ...future.rng), started = ...future.startTime, [17:27:02.888] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.888] version = "1.8"), class = "FutureResult") [17:27:02.888] }, finally = { [17:27:02.888] if (!identical(...future.workdir, getwd())) [17:27:02.888] setwd(...future.workdir) [17:27:02.888] { [17:27:02.888] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.888] ...future.oldOptions$nwarnings <- NULL [17:27:02.888] } [17:27:02.888] base::options(...future.oldOptions) [17:27:02.888] if (.Platform$OS.type == "windows") { [17:27:02.888] old_names <- names(...future.oldEnvVars) [17:27:02.888] envs <- base::Sys.getenv() [17:27:02.888] names <- names(envs) [17:27:02.888] common <- intersect(names, old_names) [17:27:02.888] added <- setdiff(names, old_names) [17:27:02.888] removed <- setdiff(old_names, names) [17:27:02.888] changed <- common[...future.oldEnvVars[common] != [17:27:02.888] envs[common]] [17:27:02.888] NAMES <- toupper(changed) [17:27:02.888] args <- list() [17:27:02.888] for (kk in seq_along(NAMES)) { [17:27:02.888] name <- changed[[kk]] [17:27:02.888] NAME <- NAMES[[kk]] [17:27:02.888] if (name != NAME && is.element(NAME, old_names)) [17:27:02.888] next [17:27:02.888] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.888] } [17:27:02.888] NAMES <- toupper(added) [17:27:02.888] for (kk in seq_along(NAMES)) { [17:27:02.888] name <- added[[kk]] [17:27:02.888] NAME <- NAMES[[kk]] [17:27:02.888] if (name != NAME && is.element(NAME, old_names)) [17:27:02.888] next [17:27:02.888] args[[name]] <- "" [17:27:02.888] } [17:27:02.888] NAMES <- toupper(removed) [17:27:02.888] for (kk in seq_along(NAMES)) { [17:27:02.888] name <- removed[[kk]] [17:27:02.888] NAME <- NAMES[[kk]] [17:27:02.888] if (name != NAME && is.element(NAME, old_names)) [17:27:02.888] next [17:27:02.888] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.888] } [17:27:02.888] if (length(args) > 0) [17:27:02.888] base::do.call(base::Sys.setenv, args = args) [17:27:02.888] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.888] } [17:27:02.888] { [17:27:02.888] if (base::length(...future.futureOptionsAdded) > [17:27:02.888] 0L) { [17:27:02.888] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.888] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.888] base::options(opts) [17:27:02.888] } [17:27:02.888] { [17:27:02.888] { [17:27:02.888] NULL [17:27:02.888] RNGkind("Mersenne-Twister") [17:27:02.888] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.888] inherits = FALSE) [17:27:02.888] } [17:27:02.888] options(future.plan = NULL) [17:27:02.888] if (is.na(NA_character_)) [17:27:02.888] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.888] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.888] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.888] .init = FALSE) [17:27:02.888] } [17:27:02.888] } [17:27:02.888] } [17:27:02.888] }) [17:27:02.888] if (TRUE) { [17:27:02.888] base::sink(type = "output", split = FALSE) [17:27:02.888] if (TRUE) { [17:27:02.888] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.888] } [17:27:02.888] else { [17:27:02.888] ...future.result["stdout"] <- base::list(NULL) [17:27:02.888] } [17:27:02.888] base::close(...future.stdout) [17:27:02.888] ...future.stdout <- NULL [17:27:02.888] } [17:27:02.888] ...future.result$conditions <- ...future.conditions [17:27:02.888] ...future.result$finished <- base::Sys.time() [17:27:02.888] ...future.result [17:27:02.888] } [17:27:02.892] assign_globals() ... [17:27:02.892] List of 1 [17:27:02.892] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.892] - attr(*, "where")=List of 1 [17:27:02.892] ..$ a: [17:27:02.892] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.892] - attr(*, "resolved")= logi TRUE [17:27:02.892] - attr(*, "total_size")= num 10184 [17:27:02.892] - attr(*, "already-done")= logi TRUE [17:27:02.895] - copied 'a' to environment [17:27:02.895] assign_globals() ... done [17:27:02.895] plan(): Setting new future strategy stack: [17:27:02.896] List of future strategies: [17:27:02.896] 1. sequential: [17:27:02.896] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.896] - tweaked: FALSE [17:27:02.896] - call: NULL [17:27:02.896] plan(): nbrOfWorkers() = 1 [17:27:02.897] plan(): Setting new future strategy stack: [17:27:02.898] List of future strategies: [17:27:02.898] 1. sequential: [17:27:02.898] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.898] - tweaked: FALSE [17:27:02.898] - call: plan(strategy) [17:27:02.898] plan(): nbrOfWorkers() = 1 [17:27:02.900] SequentialFuture started (and completed) [17:27:02.900] - Launch lazy future ... done [17:27:02.900] 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:27:02.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:27:02.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: 'conservative' [17:27:02.902] [17:27:02.902] Searching for globals ... DONE [17:27:02.902] - globals: [0] [17:27:02.902] 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:27:02.903] 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:27:02.903] 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:27:02.904] - globals found: [3] '+', 'value', 'a' [17:27:02.904] Searching for globals ... DONE [17:27:02.904] Resolving globals: TRUE [17:27:02.905] Resolving any globals that are futures ... [17:27:02.905] - globals: [3] '+', 'value', 'a' [17:27:02.905] Resolving any globals that are futures ... DONE [17:27:02.905] Resolving futures part of globals (recursively) ... [17:27:02.906] resolve() on list ... [17:27:02.906] recursive: 99 [17:27:02.906] length: 1 [17:27:02.906] elements: 'a' [17:27:02.906] run() for 'Future' ... [17:27:02.907] - state: 'created' [17:27:02.907] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.907] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.907] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.907] - Field: 'label' [17:27:02.908] - Field: 'local' [17:27:02.908] - Field: 'owner' [17:27:02.908] - Field: 'envir' [17:27:02.908] - Field: 'packages' [17:27:02.908] - Field: 'gc' [17:27:02.909] - Field: 'conditions' [17:27:02.909] - Field: 'expr' [17:27:02.909] - Field: 'uuid' [17:27:02.909] - Field: 'seed' [17:27:02.909] - Field: 'version' [17:27:02.909] - Field: 'result' [17:27:02.910] - Field: 'asynchronous' [17:27:02.910] - Field: 'calls' [17:27:02.910] - Field: 'globals' [17:27:02.910] - Field: 'stdout' [17:27:02.910] - Field: 'earlySignal' [17:27:02.910] - Field: 'lazy' [17:27:02.911] - Field: 'state' [17:27:02.911] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.911] - Launch lazy future ... [17:27:02.911] Packages needed by the future expression (n = 0): [17:27:02.911] Packages needed by future strategies (n = 0): [17:27:02.912] { [17:27:02.912] { [17:27:02.912] { [17:27:02.912] ...future.startTime <- base::Sys.time() [17:27:02.912] { [17:27:02.912] { [17:27:02.912] { [17:27:02.912] base::local({ [17:27:02.912] has_future <- base::requireNamespace("future", [17:27:02.912] quietly = TRUE) [17:27:02.912] if (has_future) { [17:27:02.912] ns <- base::getNamespace("future") [17:27:02.912] version <- ns[[".package"]][["version"]] [17:27:02.912] if (is.null(version)) [17:27:02.912] version <- utils::packageVersion("future") [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] version <- NULL [17:27:02.912] } [17:27:02.912] if (!has_future || version < "1.8.0") { [17:27:02.912] info <- base::c(r_version = base::gsub("R version ", [17:27:02.912] "", base::R.version$version.string), [17:27:02.912] platform = base::sprintf("%s (%s-bit)", [17:27:02.912] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.912] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.912] "release", "version")], collapse = " "), [17:27:02.912] hostname = base::Sys.info()[["nodename"]]) [17:27:02.912] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.912] info) [17:27:02.912] info <- base::paste(info, collapse = "; ") [17:27:02.912] if (!has_future) { [17:27:02.912] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.912] info) [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.912] info, version) [17:27:02.912] } [17:27:02.912] base::stop(msg) [17:27:02.912] } [17:27:02.912] }) [17:27:02.912] } [17:27:02.912] ...future.strategy.old <- future::plan("list") [17:27:02.912] options(future.plan = NULL) [17:27:02.912] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.912] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.912] } [17:27:02.912] ...future.workdir <- getwd() [17:27:02.912] } [17:27:02.912] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.912] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.912] } [17:27:02.912] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.912] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.912] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.912] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.912] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.912] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.912] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.912] base::names(...future.oldOptions)) [17:27:02.912] } [17:27:02.912] if (FALSE) { [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] if (TRUE) { [17:27:02.912] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.912] open = "w") [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.912] windows = "NUL", "/dev/null"), open = "w") [17:27:02.912] } [17:27:02.912] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.912] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.912] base::sink(type = "output", split = FALSE) [17:27:02.912] base::close(...future.stdout) [17:27:02.912] }, add = TRUE) [17:27:02.912] } [17:27:02.912] ...future.frame <- base::sys.nframe() [17:27:02.912] ...future.conditions <- base::list() [17:27:02.912] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.912] if (FALSE) { [17:27:02.912] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.912] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.912] } [17:27:02.912] ...future.result <- base::tryCatch({ [17:27:02.912] base::withCallingHandlers({ [17:27:02.912] ...future.value <- base::withVisible(base::local(1)) [17:27:02.912] future::FutureResult(value = ...future.value$value, [17:27:02.912] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.912] ...future.rng), globalenv = if (FALSE) [17:27:02.912] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.912] ...future.globalenv.names)) [17:27:02.912] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.912] }, condition = base::local({ [17:27:02.912] c <- base::c [17:27:02.912] inherits <- base::inherits [17:27:02.912] invokeRestart <- base::invokeRestart [17:27:02.912] length <- base::length [17:27:02.912] list <- base::list [17:27:02.912] seq.int <- base::seq.int [17:27:02.912] signalCondition <- base::signalCondition [17:27:02.912] sys.calls <- base::sys.calls [17:27:02.912] `[[` <- base::`[[` [17:27:02.912] `+` <- base::`+` [17:27:02.912] `<<-` <- base::`<<-` [17:27:02.912] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.912] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.912] 3L)] [17:27:02.912] } [17:27:02.912] function(cond) { [17:27:02.912] is_error <- inherits(cond, "error") [17:27:02.912] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.912] NULL) [17:27:02.912] if (is_error) { [17:27:02.912] sessionInformation <- function() { [17:27:02.912] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.912] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.912] search = base::search(), system = base::Sys.info()) [17:27:02.912] } [17:27:02.912] ...future.conditions[[length(...future.conditions) + [17:27:02.912] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.912] cond$call), session = sessionInformation(), [17:27:02.912] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.912] signalCondition(cond) [17:27:02.912] } [17:27:02.912] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.912] "immediateCondition"))) { [17:27:02.912] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.912] ...future.conditions[[length(...future.conditions) + [17:27:02.912] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.912] if (TRUE && !signal) { [17:27:02.912] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.912] { [17:27:02.912] inherits <- base::inherits [17:27:02.912] invokeRestart <- base::invokeRestart [17:27:02.912] is.null <- base::is.null [17:27:02.912] muffled <- FALSE [17:27:02.912] if (inherits(cond, "message")) { [17:27:02.912] muffled <- grepl(pattern, "muffleMessage") [17:27:02.912] if (muffled) [17:27:02.912] invokeRestart("muffleMessage") [17:27:02.912] } [17:27:02.912] else if (inherits(cond, "warning")) { [17:27:02.912] muffled <- grepl(pattern, "muffleWarning") [17:27:02.912] if (muffled) [17:27:02.912] invokeRestart("muffleWarning") [17:27:02.912] } [17:27:02.912] else if (inherits(cond, "condition")) { [17:27:02.912] if (!is.null(pattern)) { [17:27:02.912] computeRestarts <- base::computeRestarts [17:27:02.912] grepl <- base::grepl [17:27:02.912] restarts <- computeRestarts(cond) [17:27:02.912] for (restart in restarts) { [17:27:02.912] name <- restart$name [17:27:02.912] if (is.null(name)) [17:27:02.912] next [17:27:02.912] if (!grepl(pattern, name)) [17:27:02.912] next [17:27:02.912] invokeRestart(restart) [17:27:02.912] muffled <- TRUE [17:27:02.912] break [17:27:02.912] } [17:27:02.912] } [17:27:02.912] } [17:27:02.912] invisible(muffled) [17:27:02.912] } [17:27:02.912] muffleCondition(cond, pattern = "^muffle") [17:27:02.912] } [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] if (TRUE) { [17:27:02.912] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.912] { [17:27:02.912] inherits <- base::inherits [17:27:02.912] invokeRestart <- base::invokeRestart [17:27:02.912] is.null <- base::is.null [17:27:02.912] muffled <- FALSE [17:27:02.912] if (inherits(cond, "message")) { [17:27:02.912] muffled <- grepl(pattern, "muffleMessage") [17:27:02.912] if (muffled) [17:27:02.912] invokeRestart("muffleMessage") [17:27:02.912] } [17:27:02.912] else if (inherits(cond, "warning")) { [17:27:02.912] muffled <- grepl(pattern, "muffleWarning") [17:27:02.912] if (muffled) [17:27:02.912] invokeRestart("muffleWarning") [17:27:02.912] } [17:27:02.912] else if (inherits(cond, "condition")) { [17:27:02.912] if (!is.null(pattern)) { [17:27:02.912] computeRestarts <- base::computeRestarts [17:27:02.912] grepl <- base::grepl [17:27:02.912] restarts <- computeRestarts(cond) [17:27:02.912] for (restart in restarts) { [17:27:02.912] name <- restart$name [17:27:02.912] if (is.null(name)) [17:27:02.912] next [17:27:02.912] if (!grepl(pattern, name)) [17:27:02.912] next [17:27:02.912] invokeRestart(restart) [17:27:02.912] muffled <- TRUE [17:27:02.912] break [17:27:02.912] } [17:27:02.912] } [17:27:02.912] } [17:27:02.912] invisible(muffled) [17:27:02.912] } [17:27:02.912] muffleCondition(cond, pattern = "^muffle") [17:27:02.912] } [17:27:02.912] } [17:27:02.912] } [17:27:02.912] })) [17:27:02.912] }, error = function(ex) { [17:27:02.912] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.912] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.912] ...future.rng), started = ...future.startTime, [17:27:02.912] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.912] version = "1.8"), class = "FutureResult") [17:27:02.912] }, finally = { [17:27:02.912] if (!identical(...future.workdir, getwd())) [17:27:02.912] setwd(...future.workdir) [17:27:02.912] { [17:27:02.912] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.912] ...future.oldOptions$nwarnings <- NULL [17:27:02.912] } [17:27:02.912] base::options(...future.oldOptions) [17:27:02.912] if (.Platform$OS.type == "windows") { [17:27:02.912] old_names <- names(...future.oldEnvVars) [17:27:02.912] envs <- base::Sys.getenv() [17:27:02.912] names <- names(envs) [17:27:02.912] common <- intersect(names, old_names) [17:27:02.912] added <- setdiff(names, old_names) [17:27:02.912] removed <- setdiff(old_names, names) [17:27:02.912] changed <- common[...future.oldEnvVars[common] != [17:27:02.912] envs[common]] [17:27:02.912] NAMES <- toupper(changed) [17:27:02.912] args <- list() [17:27:02.912] for (kk in seq_along(NAMES)) { [17:27:02.912] name <- changed[[kk]] [17:27:02.912] NAME <- NAMES[[kk]] [17:27:02.912] if (name != NAME && is.element(NAME, old_names)) [17:27:02.912] next [17:27:02.912] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.912] } [17:27:02.912] NAMES <- toupper(added) [17:27:02.912] for (kk in seq_along(NAMES)) { [17:27:02.912] name <- added[[kk]] [17:27:02.912] NAME <- NAMES[[kk]] [17:27:02.912] if (name != NAME && is.element(NAME, old_names)) [17:27:02.912] next [17:27:02.912] args[[name]] <- "" [17:27:02.912] } [17:27:02.912] NAMES <- toupper(removed) [17:27:02.912] for (kk in seq_along(NAMES)) { [17:27:02.912] name <- removed[[kk]] [17:27:02.912] NAME <- NAMES[[kk]] [17:27:02.912] if (name != NAME && is.element(NAME, old_names)) [17:27:02.912] next [17:27:02.912] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.912] } [17:27:02.912] if (length(args) > 0) [17:27:02.912] base::do.call(base::Sys.setenv, args = args) [17:27:02.912] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.912] } [17:27:02.912] { [17:27:02.912] if (base::length(...future.futureOptionsAdded) > [17:27:02.912] 0L) { [17:27:02.912] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.912] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.912] base::options(opts) [17:27:02.912] } [17:27:02.912] { [17:27:02.912] { [17:27:02.912] NULL [17:27:02.912] RNGkind("Mersenne-Twister") [17:27:02.912] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.912] inherits = FALSE) [17:27:02.912] } [17:27:02.912] options(future.plan = NULL) [17:27:02.912] if (is.na(NA_character_)) [17:27:02.912] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.912] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.912] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.912] .init = FALSE) [17:27:02.912] } [17:27:02.912] } [17:27:02.912] } [17:27:02.912] }) [17:27:02.912] if (TRUE) { [17:27:02.912] base::sink(type = "output", split = FALSE) [17:27:02.912] if (TRUE) { [17:27:02.912] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.912] } [17:27:02.912] else { [17:27:02.912] ...future.result["stdout"] <- base::list(NULL) [17:27:02.912] } [17:27:02.912] base::close(...future.stdout) [17:27:02.912] ...future.stdout <- NULL [17:27:02.912] } [17:27:02.912] ...future.result$conditions <- ...future.conditions [17:27:02.912] ...future.result$finished <- base::Sys.time() [17:27:02.912] ...future.result [17:27:02.912] } [17:27:02.916] plan(): Setting new future strategy stack: [17:27:02.916] List of future strategies: [17:27:02.916] 1. sequential: [17:27:02.916] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.916] - tweaked: FALSE [17:27:02.916] - call: NULL [17:27:02.917] plan(): nbrOfWorkers() = 1 [17:27:02.918] plan(): Setting new future strategy stack: [17:27:02.918] List of future strategies: [17:27:02.918] 1. sequential: [17:27:02.918] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.918] - tweaked: FALSE [17:27:02.918] - call: plan(strategy) [17:27:02.919] plan(): nbrOfWorkers() = 1 [17:27:02.919] SequentialFuture started (and completed) [17:27:02.919] - Launch lazy future ... done [17:27:02.919] run() for 'SequentialFuture' ... done [17:27:02.919] resolved() for 'SequentialFuture' ... [17:27:02.920] - state: 'finished' [17:27:02.920] - run: TRUE [17:27:02.920] - result: 'FutureResult' [17:27:02.920] resolved() for 'SequentialFuture' ... done [17:27:02.920] Future #1 [17:27:02.921] resolved() for 'SequentialFuture' ... [17:27:02.921] - state: 'finished' [17:27:02.921] - run: TRUE [17:27:02.921] - result: 'FutureResult' [17:27:02.921] resolved() for 'SequentialFuture' ... done [17:27:02.922] A SequentialFuture was resolved [17:27:02.922] length: 0 (resolved future 1) [17:27:02.922] resolve() on list ... DONE [17:27:02.922] - globals: [1] 'a' [17:27:02.922] Resolving futures part of globals (recursively) ... DONE [17:27:02.923] The total size of the 1 globals is 10.11 KiB (10352 bytes) [17:27:02.924] The total size of the 1 globals exported for future expression ('value(a) + 1') is 10.11 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (10.11 KiB of class 'environment') [17:27:02.924] - globals: [1] 'a' [17:27:02.924] - packages: [1] 'future' [17:27:02.924] getGlobalsAndPackages() ... DONE [17:27:02.924] run() for 'Future' ... [17:27:02.925] - state: 'created' [17:27:02.925] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.925] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.925] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.926] - Field: 'label' [17:27:02.926] - Field: 'local' [17:27:02.926] - Field: 'owner' [17:27:02.926] - Field: 'envir' [17:27:02.926] - Field: 'packages' [17:27:02.927] - Field: 'gc' [17:27:02.927] - Field: 'conditions' [17:27:02.927] - Field: 'expr' [17:27:02.927] - Field: 'uuid' [17:27:02.927] - Field: 'seed' [17:27:02.927] - Field: 'version' [17:27:02.928] - Field: 'result' [17:27:02.928] - Field: 'asynchronous' [17:27:02.928] - Field: 'calls' [17:27:02.928] - Field: 'globals' [17:27:02.928] - Field: 'stdout' [17:27:02.928] - Field: 'earlySignal' [17:27:02.929] - Field: 'lazy' [17:27:02.929] - Field: 'state' [17:27:02.929] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.929] - Launch lazy future ... [17:27:02.929] Packages needed by the future expression (n = 1): 'future' [17:27:02.930] Packages needed by future strategies (n = 0): [17:27:02.930] { [17:27:02.930] { [17:27:02.930] { [17:27:02.930] ...future.startTime <- base::Sys.time() [17:27:02.930] { [17:27:02.930] { [17:27:02.930] { [17:27:02.930] { [17:27:02.930] base::local({ [17:27:02.930] has_future <- base::requireNamespace("future", [17:27:02.930] quietly = TRUE) [17:27:02.930] if (has_future) { [17:27:02.930] ns <- base::getNamespace("future") [17:27:02.930] version <- ns[[".package"]][["version"]] [17:27:02.930] if (is.null(version)) [17:27:02.930] version <- utils::packageVersion("future") [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] version <- NULL [17:27:02.930] } [17:27:02.930] if (!has_future || version < "1.8.0") { [17:27:02.930] info <- base::c(r_version = base::gsub("R version ", [17:27:02.930] "", base::R.version$version.string), [17:27:02.930] platform = base::sprintf("%s (%s-bit)", [17:27:02.930] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.930] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.930] "release", "version")], collapse = " "), [17:27:02.930] hostname = base::Sys.info()[["nodename"]]) [17:27:02.930] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.930] info) [17:27:02.930] info <- base::paste(info, collapse = "; ") [17:27:02.930] if (!has_future) { [17:27:02.930] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.930] info) [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.930] info, version) [17:27:02.930] } [17:27:02.930] base::stop(msg) [17:27:02.930] } [17:27:02.930] }) [17:27:02.930] } [17:27:02.930] base::local({ [17:27:02.930] for (pkg in "future") { [17:27:02.930] base::loadNamespace(pkg) [17:27:02.930] base::library(pkg, character.only = TRUE) [17:27:02.930] } [17:27:02.930] }) [17:27:02.930] } [17:27:02.930] ...future.strategy.old <- future::plan("list") [17:27:02.930] options(future.plan = NULL) [17:27:02.930] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.930] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.930] } [17:27:02.930] ...future.workdir <- getwd() [17:27:02.930] } [17:27:02.930] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.930] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.930] } [17:27:02.930] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.930] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.930] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.930] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.930] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.930] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.930] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.930] base::names(...future.oldOptions)) [17:27:02.930] } [17:27:02.930] if (FALSE) { [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] if (TRUE) { [17:27:02.930] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.930] open = "w") [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.930] windows = "NUL", "/dev/null"), open = "w") [17:27:02.930] } [17:27:02.930] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.930] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.930] base::sink(type = "output", split = FALSE) [17:27:02.930] base::close(...future.stdout) [17:27:02.930] }, add = TRUE) [17:27:02.930] } [17:27:02.930] ...future.frame <- base::sys.nframe() [17:27:02.930] ...future.conditions <- base::list() [17:27:02.930] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.930] if (FALSE) { [17:27:02.930] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.930] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.930] } [17:27:02.930] ...future.result <- base::tryCatch({ [17:27:02.930] base::withCallingHandlers({ [17:27:02.930] ...future.value <- base::withVisible(base::local(value(a) + [17:27:02.930] 1)) [17:27:02.930] future::FutureResult(value = ...future.value$value, [17:27:02.930] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.930] ...future.rng), globalenv = if (FALSE) [17:27:02.930] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.930] ...future.globalenv.names)) [17:27:02.930] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.930] }, condition = base::local({ [17:27:02.930] c <- base::c [17:27:02.930] inherits <- base::inherits [17:27:02.930] invokeRestart <- base::invokeRestart [17:27:02.930] length <- base::length [17:27:02.930] list <- base::list [17:27:02.930] seq.int <- base::seq.int [17:27:02.930] signalCondition <- base::signalCondition [17:27:02.930] sys.calls <- base::sys.calls [17:27:02.930] `[[` <- base::`[[` [17:27:02.930] `+` <- base::`+` [17:27:02.930] `<<-` <- base::`<<-` [17:27:02.930] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.930] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.930] 3L)] [17:27:02.930] } [17:27:02.930] function(cond) { [17:27:02.930] is_error <- inherits(cond, "error") [17:27:02.930] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.930] NULL) [17:27:02.930] if (is_error) { [17:27:02.930] sessionInformation <- function() { [17:27:02.930] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.930] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.930] search = base::search(), system = base::Sys.info()) [17:27:02.930] } [17:27:02.930] ...future.conditions[[length(...future.conditions) + [17:27:02.930] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.930] cond$call), session = sessionInformation(), [17:27:02.930] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.930] signalCondition(cond) [17:27:02.930] } [17:27:02.930] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.930] "immediateCondition"))) { [17:27:02.930] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.930] ...future.conditions[[length(...future.conditions) + [17:27:02.930] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.930] if (TRUE && !signal) { [17:27:02.930] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.930] { [17:27:02.930] inherits <- base::inherits [17:27:02.930] invokeRestart <- base::invokeRestart [17:27:02.930] is.null <- base::is.null [17:27:02.930] muffled <- FALSE [17:27:02.930] if (inherits(cond, "message")) { [17:27:02.930] muffled <- grepl(pattern, "muffleMessage") [17:27:02.930] if (muffled) [17:27:02.930] invokeRestart("muffleMessage") [17:27:02.930] } [17:27:02.930] else if (inherits(cond, "warning")) { [17:27:02.930] muffled <- grepl(pattern, "muffleWarning") [17:27:02.930] if (muffled) [17:27:02.930] invokeRestart("muffleWarning") [17:27:02.930] } [17:27:02.930] else if (inherits(cond, "condition")) { [17:27:02.930] if (!is.null(pattern)) { [17:27:02.930] computeRestarts <- base::computeRestarts [17:27:02.930] grepl <- base::grepl [17:27:02.930] restarts <- computeRestarts(cond) [17:27:02.930] for (restart in restarts) { [17:27:02.930] name <- restart$name [17:27:02.930] if (is.null(name)) [17:27:02.930] next [17:27:02.930] if (!grepl(pattern, name)) [17:27:02.930] next [17:27:02.930] invokeRestart(restart) [17:27:02.930] muffled <- TRUE [17:27:02.930] break [17:27:02.930] } [17:27:02.930] } [17:27:02.930] } [17:27:02.930] invisible(muffled) [17:27:02.930] } [17:27:02.930] muffleCondition(cond, pattern = "^muffle") [17:27:02.930] } [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] if (TRUE) { [17:27:02.930] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.930] { [17:27:02.930] inherits <- base::inherits [17:27:02.930] invokeRestart <- base::invokeRestart [17:27:02.930] is.null <- base::is.null [17:27:02.930] muffled <- FALSE [17:27:02.930] if (inherits(cond, "message")) { [17:27:02.930] muffled <- grepl(pattern, "muffleMessage") [17:27:02.930] if (muffled) [17:27:02.930] invokeRestart("muffleMessage") [17:27:02.930] } [17:27:02.930] else if (inherits(cond, "warning")) { [17:27:02.930] muffled <- grepl(pattern, "muffleWarning") [17:27:02.930] if (muffled) [17:27:02.930] invokeRestart("muffleWarning") [17:27:02.930] } [17:27:02.930] else if (inherits(cond, "condition")) { [17:27:02.930] if (!is.null(pattern)) { [17:27:02.930] computeRestarts <- base::computeRestarts [17:27:02.930] grepl <- base::grepl [17:27:02.930] restarts <- computeRestarts(cond) [17:27:02.930] for (restart in restarts) { [17:27:02.930] name <- restart$name [17:27:02.930] if (is.null(name)) [17:27:02.930] next [17:27:02.930] if (!grepl(pattern, name)) [17:27:02.930] next [17:27:02.930] invokeRestart(restart) [17:27:02.930] muffled <- TRUE [17:27:02.930] break [17:27:02.930] } [17:27:02.930] } [17:27:02.930] } [17:27:02.930] invisible(muffled) [17:27:02.930] } [17:27:02.930] muffleCondition(cond, pattern = "^muffle") [17:27:02.930] } [17:27:02.930] } [17:27:02.930] } [17:27:02.930] })) [17:27:02.930] }, error = function(ex) { [17:27:02.930] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.930] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.930] ...future.rng), started = ...future.startTime, [17:27:02.930] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.930] version = "1.8"), class = "FutureResult") [17:27:02.930] }, finally = { [17:27:02.930] if (!identical(...future.workdir, getwd())) [17:27:02.930] setwd(...future.workdir) [17:27:02.930] { [17:27:02.930] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.930] ...future.oldOptions$nwarnings <- NULL [17:27:02.930] } [17:27:02.930] base::options(...future.oldOptions) [17:27:02.930] if (.Platform$OS.type == "windows") { [17:27:02.930] old_names <- names(...future.oldEnvVars) [17:27:02.930] envs <- base::Sys.getenv() [17:27:02.930] names <- names(envs) [17:27:02.930] common <- intersect(names, old_names) [17:27:02.930] added <- setdiff(names, old_names) [17:27:02.930] removed <- setdiff(old_names, names) [17:27:02.930] changed <- common[...future.oldEnvVars[common] != [17:27:02.930] envs[common]] [17:27:02.930] NAMES <- toupper(changed) [17:27:02.930] args <- list() [17:27:02.930] for (kk in seq_along(NAMES)) { [17:27:02.930] name <- changed[[kk]] [17:27:02.930] NAME <- NAMES[[kk]] [17:27:02.930] if (name != NAME && is.element(NAME, old_names)) [17:27:02.930] next [17:27:02.930] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.930] } [17:27:02.930] NAMES <- toupper(added) [17:27:02.930] for (kk in seq_along(NAMES)) { [17:27:02.930] name <- added[[kk]] [17:27:02.930] NAME <- NAMES[[kk]] [17:27:02.930] if (name != NAME && is.element(NAME, old_names)) [17:27:02.930] next [17:27:02.930] args[[name]] <- "" [17:27:02.930] } [17:27:02.930] NAMES <- toupper(removed) [17:27:02.930] for (kk in seq_along(NAMES)) { [17:27:02.930] name <- removed[[kk]] [17:27:02.930] NAME <- NAMES[[kk]] [17:27:02.930] if (name != NAME && is.element(NAME, old_names)) [17:27:02.930] next [17:27:02.930] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.930] } [17:27:02.930] if (length(args) > 0) [17:27:02.930] base::do.call(base::Sys.setenv, args = args) [17:27:02.930] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.930] } [17:27:02.930] { [17:27:02.930] if (base::length(...future.futureOptionsAdded) > [17:27:02.930] 0L) { [17:27:02.930] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.930] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.930] base::options(opts) [17:27:02.930] } [17:27:02.930] { [17:27:02.930] { [17:27:02.930] NULL [17:27:02.930] RNGkind("Mersenne-Twister") [17:27:02.930] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.930] inherits = FALSE) [17:27:02.930] } [17:27:02.930] options(future.plan = NULL) [17:27:02.930] if (is.na(NA_character_)) [17:27:02.930] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.930] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.930] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.930] .init = FALSE) [17:27:02.930] } [17:27:02.930] } [17:27:02.930] } [17:27:02.930] }) [17:27:02.930] if (TRUE) { [17:27:02.930] base::sink(type = "output", split = FALSE) [17:27:02.930] if (TRUE) { [17:27:02.930] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.930] } [17:27:02.930] else { [17:27:02.930] ...future.result["stdout"] <- base::list(NULL) [17:27:02.930] } [17:27:02.930] base::close(...future.stdout) [17:27:02.930] ...future.stdout <- NULL [17:27:02.930] } [17:27:02.930] ...future.result$conditions <- ...future.conditions [17:27:02.930] ...future.result$finished <- base::Sys.time() [17:27:02.930] ...future.result [17:27:02.930] } [17:27:02.934] assign_globals() ... [17:27:02.934] List of 1 [17:27:02.934] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.934] - attr(*, "where")=List of 1 [17:27:02.934] ..$ a: [17:27:02.934] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.934] - attr(*, "resolved")= logi TRUE [17:27:02.934] - attr(*, "total_size")= num 10352 [17:27:02.934] - attr(*, "already-done")= logi TRUE [17:27:02.938] - copied 'a' to environment [17:27:02.939] assign_globals() ... done [17:27:02.939] plan(): Setting new future strategy stack: [17:27:02.939] List of future strategies: [17:27:02.939] 1. sequential: [17:27:02.939] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.939] - tweaked: FALSE [17:27:02.939] - call: NULL [17:27:02.940] plan(): nbrOfWorkers() = 1 [17:27:02.941] plan(): Setting new future strategy stack: [17:27:02.941] List of future strategies: [17:27:02.941] 1. sequential: [17:27:02.941] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.941] - tweaked: FALSE [17:27:02.941] - call: plan(strategy) [17:27:02.942] plan(): nbrOfWorkers() = 1 [17:27:02.942] SequentialFuture started (and completed) [17:27:02.942] - Launch lazy future ... done [17:27:02.942] 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:27:02.943] 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:27:02.943] 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:27:02.944] [17:27:02.944] Searching for globals ... DONE [17:27:02.944] - globals: [0] [17:27:02.945] 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:27:02.945] 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:27:02.945] 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:27:02.947] - globals found: [3] '+', 'value', 'a' [17:27:02.947] Searching for globals ... DONE [17:27:02.947] Resolving globals: TRUE [17:27:02.947] Resolving any globals that are futures ... [17:27:02.947] - globals: [3] '+', 'value', 'a' [17:27:02.947] Resolving any globals that are futures ... DONE [17:27:02.948] Resolving futures part of globals (recursively) ... [17:27:02.948] resolve() on list ... [17:27:02.948] recursive: 99 [17:27:02.948] length: 1 [17:27:02.949] elements: 'a' [17:27:02.949] run() for 'Future' ... [17:27:02.949] - state: 'created' [17:27:02.949] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.950] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.950] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.950] - Field: 'label' [17:27:02.950] - Field: 'local' [17:27:02.950] - Field: 'owner' [17:27:02.950] - Field: 'envir' [17:27:02.951] - Field: 'packages' [17:27:02.951] - Field: 'gc' [17:27:02.951] - Field: 'conditions' [17:27:02.951] - Field: 'expr' [17:27:02.951] - Field: 'uuid' [17:27:02.952] - Field: 'seed' [17:27:02.952] - Field: 'version' [17:27:02.952] - Field: 'result' [17:27:02.952] - Field: 'asynchronous' [17:27:02.952] - Field: 'calls' [17:27:02.952] - Field: 'globals' [17:27:02.953] - Field: 'stdout' [17:27:02.953] - Field: 'earlySignal' [17:27:02.953] - Field: 'lazy' [17:27:02.953] - Field: 'state' [17:27:02.953] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.953] - Launch lazy future ... [17:27:02.954] Packages needed by the future expression (n = 0): [17:27:02.954] Packages needed by future strategies (n = 0): [17:27:02.954] { [17:27:02.954] { [17:27:02.954] { [17:27:02.954] ...future.startTime <- base::Sys.time() [17:27:02.954] { [17:27:02.954] { [17:27:02.954] { [17:27:02.954] base::local({ [17:27:02.954] has_future <- base::requireNamespace("future", [17:27:02.954] quietly = TRUE) [17:27:02.954] if (has_future) { [17:27:02.954] ns <- base::getNamespace("future") [17:27:02.954] version <- ns[[".package"]][["version"]] [17:27:02.954] if (is.null(version)) [17:27:02.954] version <- utils::packageVersion("future") [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] version <- NULL [17:27:02.954] } [17:27:02.954] if (!has_future || version < "1.8.0") { [17:27:02.954] info <- base::c(r_version = base::gsub("R version ", [17:27:02.954] "", base::R.version$version.string), [17:27:02.954] platform = base::sprintf("%s (%s-bit)", [17:27:02.954] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.954] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.954] "release", "version")], collapse = " "), [17:27:02.954] hostname = base::Sys.info()[["nodename"]]) [17:27:02.954] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.954] info) [17:27:02.954] info <- base::paste(info, collapse = "; ") [17:27:02.954] if (!has_future) { [17:27:02.954] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.954] info) [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.954] info, version) [17:27:02.954] } [17:27:02.954] base::stop(msg) [17:27:02.954] } [17:27:02.954] }) [17:27:02.954] } [17:27:02.954] ...future.strategy.old <- future::plan("list") [17:27:02.954] options(future.plan = NULL) [17:27:02.954] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.954] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.954] } [17:27:02.954] ...future.workdir <- getwd() [17:27:02.954] } [17:27:02.954] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.954] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.954] } [17:27:02.954] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.954] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.954] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.954] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.954] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.954] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.954] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.954] base::names(...future.oldOptions)) [17:27:02.954] } [17:27:02.954] if (FALSE) { [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] if (TRUE) { [17:27:02.954] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.954] open = "w") [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.954] windows = "NUL", "/dev/null"), open = "w") [17:27:02.954] } [17:27:02.954] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.954] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.954] base::sink(type = "output", split = FALSE) [17:27:02.954] base::close(...future.stdout) [17:27:02.954] }, add = TRUE) [17:27:02.954] } [17:27:02.954] ...future.frame <- base::sys.nframe() [17:27:02.954] ...future.conditions <- base::list() [17:27:02.954] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.954] if (FALSE) { [17:27:02.954] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.954] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.954] } [17:27:02.954] ...future.result <- base::tryCatch({ [17:27:02.954] base::withCallingHandlers({ [17:27:02.954] ...future.value <- base::withVisible(base::local(1)) [17:27:02.954] future::FutureResult(value = ...future.value$value, [17:27:02.954] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.954] ...future.rng), globalenv = if (FALSE) [17:27:02.954] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.954] ...future.globalenv.names)) [17:27:02.954] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.954] }, condition = base::local({ [17:27:02.954] c <- base::c [17:27:02.954] inherits <- base::inherits [17:27:02.954] invokeRestart <- base::invokeRestart [17:27:02.954] length <- base::length [17:27:02.954] list <- base::list [17:27:02.954] seq.int <- base::seq.int [17:27:02.954] signalCondition <- base::signalCondition [17:27:02.954] sys.calls <- base::sys.calls [17:27:02.954] `[[` <- base::`[[` [17:27:02.954] `+` <- base::`+` [17:27:02.954] `<<-` <- base::`<<-` [17:27:02.954] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.954] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.954] 3L)] [17:27:02.954] } [17:27:02.954] function(cond) { [17:27:02.954] is_error <- inherits(cond, "error") [17:27:02.954] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.954] NULL) [17:27:02.954] if (is_error) { [17:27:02.954] sessionInformation <- function() { [17:27:02.954] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.954] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.954] search = base::search(), system = base::Sys.info()) [17:27:02.954] } [17:27:02.954] ...future.conditions[[length(...future.conditions) + [17:27:02.954] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.954] cond$call), session = sessionInformation(), [17:27:02.954] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.954] signalCondition(cond) [17:27:02.954] } [17:27:02.954] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.954] "immediateCondition"))) { [17:27:02.954] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.954] ...future.conditions[[length(...future.conditions) + [17:27:02.954] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.954] if (TRUE && !signal) { [17:27:02.954] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.954] { [17:27:02.954] inherits <- base::inherits [17:27:02.954] invokeRestart <- base::invokeRestart [17:27:02.954] is.null <- base::is.null [17:27:02.954] muffled <- FALSE [17:27:02.954] if (inherits(cond, "message")) { [17:27:02.954] muffled <- grepl(pattern, "muffleMessage") [17:27:02.954] if (muffled) [17:27:02.954] invokeRestart("muffleMessage") [17:27:02.954] } [17:27:02.954] else if (inherits(cond, "warning")) { [17:27:02.954] muffled <- grepl(pattern, "muffleWarning") [17:27:02.954] if (muffled) [17:27:02.954] invokeRestart("muffleWarning") [17:27:02.954] } [17:27:02.954] else if (inherits(cond, "condition")) { [17:27:02.954] if (!is.null(pattern)) { [17:27:02.954] computeRestarts <- base::computeRestarts [17:27:02.954] grepl <- base::grepl [17:27:02.954] restarts <- computeRestarts(cond) [17:27:02.954] for (restart in restarts) { [17:27:02.954] name <- restart$name [17:27:02.954] if (is.null(name)) [17:27:02.954] next [17:27:02.954] if (!grepl(pattern, name)) [17:27:02.954] next [17:27:02.954] invokeRestart(restart) [17:27:02.954] muffled <- TRUE [17:27:02.954] break [17:27:02.954] } [17:27:02.954] } [17:27:02.954] } [17:27:02.954] invisible(muffled) [17:27:02.954] } [17:27:02.954] muffleCondition(cond, pattern = "^muffle") [17:27:02.954] } [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] if (TRUE) { [17:27:02.954] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.954] { [17:27:02.954] inherits <- base::inherits [17:27:02.954] invokeRestart <- base::invokeRestart [17:27:02.954] is.null <- base::is.null [17:27:02.954] muffled <- FALSE [17:27:02.954] if (inherits(cond, "message")) { [17:27:02.954] muffled <- grepl(pattern, "muffleMessage") [17:27:02.954] if (muffled) [17:27:02.954] invokeRestart("muffleMessage") [17:27:02.954] } [17:27:02.954] else if (inherits(cond, "warning")) { [17:27:02.954] muffled <- grepl(pattern, "muffleWarning") [17:27:02.954] if (muffled) [17:27:02.954] invokeRestart("muffleWarning") [17:27:02.954] } [17:27:02.954] else if (inherits(cond, "condition")) { [17:27:02.954] if (!is.null(pattern)) { [17:27:02.954] computeRestarts <- base::computeRestarts [17:27:02.954] grepl <- base::grepl [17:27:02.954] restarts <- computeRestarts(cond) [17:27:02.954] for (restart in restarts) { [17:27:02.954] name <- restart$name [17:27:02.954] if (is.null(name)) [17:27:02.954] next [17:27:02.954] if (!grepl(pattern, name)) [17:27:02.954] next [17:27:02.954] invokeRestart(restart) [17:27:02.954] muffled <- TRUE [17:27:02.954] break [17:27:02.954] } [17:27:02.954] } [17:27:02.954] } [17:27:02.954] invisible(muffled) [17:27:02.954] } [17:27:02.954] muffleCondition(cond, pattern = "^muffle") [17:27:02.954] } [17:27:02.954] } [17:27:02.954] } [17:27:02.954] })) [17:27:02.954] }, error = function(ex) { [17:27:02.954] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.954] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.954] ...future.rng), started = ...future.startTime, [17:27:02.954] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.954] version = "1.8"), class = "FutureResult") [17:27:02.954] }, finally = { [17:27:02.954] if (!identical(...future.workdir, getwd())) [17:27:02.954] setwd(...future.workdir) [17:27:02.954] { [17:27:02.954] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.954] ...future.oldOptions$nwarnings <- NULL [17:27:02.954] } [17:27:02.954] base::options(...future.oldOptions) [17:27:02.954] if (.Platform$OS.type == "windows") { [17:27:02.954] old_names <- names(...future.oldEnvVars) [17:27:02.954] envs <- base::Sys.getenv() [17:27:02.954] names <- names(envs) [17:27:02.954] common <- intersect(names, old_names) [17:27:02.954] added <- setdiff(names, old_names) [17:27:02.954] removed <- setdiff(old_names, names) [17:27:02.954] changed <- common[...future.oldEnvVars[common] != [17:27:02.954] envs[common]] [17:27:02.954] NAMES <- toupper(changed) [17:27:02.954] args <- list() [17:27:02.954] for (kk in seq_along(NAMES)) { [17:27:02.954] name <- changed[[kk]] [17:27:02.954] NAME <- NAMES[[kk]] [17:27:02.954] if (name != NAME && is.element(NAME, old_names)) [17:27:02.954] next [17:27:02.954] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.954] } [17:27:02.954] NAMES <- toupper(added) [17:27:02.954] for (kk in seq_along(NAMES)) { [17:27:02.954] name <- added[[kk]] [17:27:02.954] NAME <- NAMES[[kk]] [17:27:02.954] if (name != NAME && is.element(NAME, old_names)) [17:27:02.954] next [17:27:02.954] args[[name]] <- "" [17:27:02.954] } [17:27:02.954] NAMES <- toupper(removed) [17:27:02.954] for (kk in seq_along(NAMES)) { [17:27:02.954] name <- removed[[kk]] [17:27:02.954] NAME <- NAMES[[kk]] [17:27:02.954] if (name != NAME && is.element(NAME, old_names)) [17:27:02.954] next [17:27:02.954] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.954] } [17:27:02.954] if (length(args) > 0) [17:27:02.954] base::do.call(base::Sys.setenv, args = args) [17:27:02.954] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.954] } [17:27:02.954] { [17:27:02.954] if (base::length(...future.futureOptionsAdded) > [17:27:02.954] 0L) { [17:27:02.954] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.954] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.954] base::options(opts) [17:27:02.954] } [17:27:02.954] { [17:27:02.954] { [17:27:02.954] NULL [17:27:02.954] RNGkind("Mersenne-Twister") [17:27:02.954] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.954] inherits = FALSE) [17:27:02.954] } [17:27:02.954] options(future.plan = NULL) [17:27:02.954] if (is.na(NA_character_)) [17:27:02.954] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.954] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.954] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.954] .init = FALSE) [17:27:02.954] } [17:27:02.954] } [17:27:02.954] } [17:27:02.954] }) [17:27:02.954] if (TRUE) { [17:27:02.954] base::sink(type = "output", split = FALSE) [17:27:02.954] if (TRUE) { [17:27:02.954] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.954] } [17:27:02.954] else { [17:27:02.954] ...future.result["stdout"] <- base::list(NULL) [17:27:02.954] } [17:27:02.954] base::close(...future.stdout) [17:27:02.954] ...future.stdout <- NULL [17:27:02.954] } [17:27:02.954] ...future.result$conditions <- ...future.conditions [17:27:02.954] ...future.result$finished <- base::Sys.time() [17:27:02.954] ...future.result [17:27:02.954] } [17:27:02.958] plan(): Setting new future strategy stack: [17:27:02.958] List of future strategies: [17:27:02.958] 1. sequential: [17:27:02.958] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.958] - tweaked: FALSE [17:27:02.958] - call: NULL [17:27:02.959] plan(): nbrOfWorkers() = 1 [17:27:02.960] plan(): Setting new future strategy stack: [17:27:02.960] List of future strategies: [17:27:02.960] 1. sequential: [17:27:02.960] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.960] - tweaked: FALSE [17:27:02.960] - call: plan(strategy) [17:27:02.961] plan(): nbrOfWorkers() = 1 [17:27:02.961] SequentialFuture started (and completed) [17:27:02.961] - Launch lazy future ... done [17:27:02.962] run() for 'SequentialFuture' ... done [17:27:02.962] resolved() for 'SequentialFuture' ... [17:27:02.962] - state: 'finished' [17:27:02.962] - run: TRUE [17:27:02.962] - result: 'FutureResult' [17:27:02.962] resolved() for 'SequentialFuture' ... done [17:27:02.963] Future #1 [17:27:02.963] resolved() for 'SequentialFuture' ... [17:27:02.963] - state: 'finished' [17:27:02.963] - run: TRUE [17:27:02.963] - result: 'FutureResult' [17:27:02.964] resolved() for 'SequentialFuture' ... done [17:27:02.964] A SequentialFuture was resolved [17:27:02.964] length: 0 (resolved future 1) [17:27:02.964] resolve() on list ... DONE [17:27:02.964] - globals: [1] 'a' [17:27:02.965] Resolving futures part of globals (recursively) ... DONE [17:27:02.965] The total size of the 1 globals is 10.11 KiB (10352 bytes) [17:27:02.967] The total size of the 1 globals exported for future expression ('value(a) + 1') is 10.11 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (10.11 KiB of class 'environment') [17:27:02.967] - globals: [1] 'a' [17:27:02.967] - packages: [1] 'future' [17:27:02.968] getGlobalsAndPackages() ... DONE [17:27:02.968] run() for 'Future' ... [17:27:02.968] - state: 'created' [17:27:02.968] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:02.969] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.969] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:02.969] - Field: 'label' [17:27:02.969] - Field: 'local' [17:27:02.969] - Field: 'owner' [17:27:02.970] - Field: 'envir' [17:27:02.970] - Field: 'packages' [17:27:02.970] - Field: 'gc' [17:27:02.970] - Field: 'conditions' [17:27:02.970] - Field: 'expr' [17:27:02.971] - Field: 'uuid' [17:27:02.971] - Field: 'seed' [17:27:02.971] - Field: 'version' [17:27:02.971] - Field: 'result' [17:27:02.971] - Field: 'asynchronous' [17:27:02.971] - Field: 'calls' [17:27:02.972] - Field: 'globals' [17:27:02.972] - Field: 'stdout' [17:27:02.972] - Field: 'earlySignal' [17:27:02.972] - Field: 'lazy' [17:27:02.972] - Field: 'state' [17:27:02.972] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:02.973] - Launch lazy future ... [17:27:02.973] Packages needed by the future expression (n = 1): 'future' [17:27:02.973] Packages needed by future strategies (n = 0): [17:27:02.974] { [17:27:02.974] { [17:27:02.974] { [17:27:02.974] ...future.startTime <- base::Sys.time() [17:27:02.974] { [17:27:02.974] { [17:27:02.974] { [17:27:02.974] { [17:27:02.974] base::local({ [17:27:02.974] has_future <- base::requireNamespace("future", [17:27:02.974] quietly = TRUE) [17:27:02.974] if (has_future) { [17:27:02.974] ns <- base::getNamespace("future") [17:27:02.974] version <- ns[[".package"]][["version"]] [17:27:02.974] if (is.null(version)) [17:27:02.974] version <- utils::packageVersion("future") [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] version <- NULL [17:27:02.974] } [17:27:02.974] if (!has_future || version < "1.8.0") { [17:27:02.974] info <- base::c(r_version = base::gsub("R version ", [17:27:02.974] "", base::R.version$version.string), [17:27:02.974] platform = base::sprintf("%s (%s-bit)", [17:27:02.974] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.974] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.974] "release", "version")], collapse = " "), [17:27:02.974] hostname = base::Sys.info()[["nodename"]]) [17:27:02.974] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.974] info) [17:27:02.974] info <- base::paste(info, collapse = "; ") [17:27:02.974] if (!has_future) { [17:27:02.974] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.974] info) [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.974] info, version) [17:27:02.974] } [17:27:02.974] base::stop(msg) [17:27:02.974] } [17:27:02.974] }) [17:27:02.974] } [17:27:02.974] base::local({ [17:27:02.974] for (pkg in "future") { [17:27:02.974] base::loadNamespace(pkg) [17:27:02.974] base::library(pkg, character.only = TRUE) [17:27:02.974] } [17:27:02.974] }) [17:27:02.974] } [17:27:02.974] ...future.strategy.old <- future::plan("list") [17:27:02.974] options(future.plan = NULL) [17:27:02.974] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.974] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.974] } [17:27:02.974] ...future.workdir <- getwd() [17:27:02.974] } [17:27:02.974] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.974] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.974] } [17:27:02.974] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.974] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.974] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.974] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.974] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.974] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.974] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.974] base::names(...future.oldOptions)) [17:27:02.974] } [17:27:02.974] if (FALSE) { [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] if (TRUE) { [17:27:02.974] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.974] open = "w") [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.974] windows = "NUL", "/dev/null"), open = "w") [17:27:02.974] } [17:27:02.974] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.974] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.974] base::sink(type = "output", split = FALSE) [17:27:02.974] base::close(...future.stdout) [17:27:02.974] }, add = TRUE) [17:27:02.974] } [17:27:02.974] ...future.frame <- base::sys.nframe() [17:27:02.974] ...future.conditions <- base::list() [17:27:02.974] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.974] if (FALSE) { [17:27:02.974] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.974] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.974] } [17:27:02.974] ...future.result <- base::tryCatch({ [17:27:02.974] base::withCallingHandlers({ [17:27:02.974] ...future.value <- base::withVisible(base::local(value(a) + [17:27:02.974] 1)) [17:27:02.974] future::FutureResult(value = ...future.value$value, [17:27:02.974] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.974] ...future.rng), globalenv = if (FALSE) [17:27:02.974] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.974] ...future.globalenv.names)) [17:27:02.974] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.974] }, condition = base::local({ [17:27:02.974] c <- base::c [17:27:02.974] inherits <- base::inherits [17:27:02.974] invokeRestart <- base::invokeRestart [17:27:02.974] length <- base::length [17:27:02.974] list <- base::list [17:27:02.974] seq.int <- base::seq.int [17:27:02.974] signalCondition <- base::signalCondition [17:27:02.974] sys.calls <- base::sys.calls [17:27:02.974] `[[` <- base::`[[` [17:27:02.974] `+` <- base::`+` [17:27:02.974] `<<-` <- base::`<<-` [17:27:02.974] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.974] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.974] 3L)] [17:27:02.974] } [17:27:02.974] function(cond) { [17:27:02.974] is_error <- inherits(cond, "error") [17:27:02.974] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.974] NULL) [17:27:02.974] if (is_error) { [17:27:02.974] sessionInformation <- function() { [17:27:02.974] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.974] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.974] search = base::search(), system = base::Sys.info()) [17:27:02.974] } [17:27:02.974] ...future.conditions[[length(...future.conditions) + [17:27:02.974] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.974] cond$call), session = sessionInformation(), [17:27:02.974] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.974] signalCondition(cond) [17:27:02.974] } [17:27:02.974] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.974] "immediateCondition"))) { [17:27:02.974] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.974] ...future.conditions[[length(...future.conditions) + [17:27:02.974] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.974] if (TRUE && !signal) { [17:27:02.974] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.974] { [17:27:02.974] inherits <- base::inherits [17:27:02.974] invokeRestart <- base::invokeRestart [17:27:02.974] is.null <- base::is.null [17:27:02.974] muffled <- FALSE [17:27:02.974] if (inherits(cond, "message")) { [17:27:02.974] muffled <- grepl(pattern, "muffleMessage") [17:27:02.974] if (muffled) [17:27:02.974] invokeRestart("muffleMessage") [17:27:02.974] } [17:27:02.974] else if (inherits(cond, "warning")) { [17:27:02.974] muffled <- grepl(pattern, "muffleWarning") [17:27:02.974] if (muffled) [17:27:02.974] invokeRestart("muffleWarning") [17:27:02.974] } [17:27:02.974] else if (inherits(cond, "condition")) { [17:27:02.974] if (!is.null(pattern)) { [17:27:02.974] computeRestarts <- base::computeRestarts [17:27:02.974] grepl <- base::grepl [17:27:02.974] restarts <- computeRestarts(cond) [17:27:02.974] for (restart in restarts) { [17:27:02.974] name <- restart$name [17:27:02.974] if (is.null(name)) [17:27:02.974] next [17:27:02.974] if (!grepl(pattern, name)) [17:27:02.974] next [17:27:02.974] invokeRestart(restart) [17:27:02.974] muffled <- TRUE [17:27:02.974] break [17:27:02.974] } [17:27:02.974] } [17:27:02.974] } [17:27:02.974] invisible(muffled) [17:27:02.974] } [17:27:02.974] muffleCondition(cond, pattern = "^muffle") [17:27:02.974] } [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] if (TRUE) { [17:27:02.974] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.974] { [17:27:02.974] inherits <- base::inherits [17:27:02.974] invokeRestart <- base::invokeRestart [17:27:02.974] is.null <- base::is.null [17:27:02.974] muffled <- FALSE [17:27:02.974] if (inherits(cond, "message")) { [17:27:02.974] muffled <- grepl(pattern, "muffleMessage") [17:27:02.974] if (muffled) [17:27:02.974] invokeRestart("muffleMessage") [17:27:02.974] } [17:27:02.974] else if (inherits(cond, "warning")) { [17:27:02.974] muffled <- grepl(pattern, "muffleWarning") [17:27:02.974] if (muffled) [17:27:02.974] invokeRestart("muffleWarning") [17:27:02.974] } [17:27:02.974] else if (inherits(cond, "condition")) { [17:27:02.974] if (!is.null(pattern)) { [17:27:02.974] computeRestarts <- base::computeRestarts [17:27:02.974] grepl <- base::grepl [17:27:02.974] restarts <- computeRestarts(cond) [17:27:02.974] for (restart in restarts) { [17:27:02.974] name <- restart$name [17:27:02.974] if (is.null(name)) [17:27:02.974] next [17:27:02.974] if (!grepl(pattern, name)) [17:27:02.974] next [17:27:02.974] invokeRestart(restart) [17:27:02.974] muffled <- TRUE [17:27:02.974] break [17:27:02.974] } [17:27:02.974] } [17:27:02.974] } [17:27:02.974] invisible(muffled) [17:27:02.974] } [17:27:02.974] muffleCondition(cond, pattern = "^muffle") [17:27:02.974] } [17:27:02.974] } [17:27:02.974] } [17:27:02.974] })) [17:27:02.974] }, error = function(ex) { [17:27:02.974] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.974] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.974] ...future.rng), started = ...future.startTime, [17:27:02.974] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.974] version = "1.8"), class = "FutureResult") [17:27:02.974] }, finally = { [17:27:02.974] if (!identical(...future.workdir, getwd())) [17:27:02.974] setwd(...future.workdir) [17:27:02.974] { [17:27:02.974] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.974] ...future.oldOptions$nwarnings <- NULL [17:27:02.974] } [17:27:02.974] base::options(...future.oldOptions) [17:27:02.974] if (.Platform$OS.type == "windows") { [17:27:02.974] old_names <- names(...future.oldEnvVars) [17:27:02.974] envs <- base::Sys.getenv() [17:27:02.974] names <- names(envs) [17:27:02.974] common <- intersect(names, old_names) [17:27:02.974] added <- setdiff(names, old_names) [17:27:02.974] removed <- setdiff(old_names, names) [17:27:02.974] changed <- common[...future.oldEnvVars[common] != [17:27:02.974] envs[common]] [17:27:02.974] NAMES <- toupper(changed) [17:27:02.974] args <- list() [17:27:02.974] for (kk in seq_along(NAMES)) { [17:27:02.974] name <- changed[[kk]] [17:27:02.974] NAME <- NAMES[[kk]] [17:27:02.974] if (name != NAME && is.element(NAME, old_names)) [17:27:02.974] next [17:27:02.974] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.974] } [17:27:02.974] NAMES <- toupper(added) [17:27:02.974] for (kk in seq_along(NAMES)) { [17:27:02.974] name <- added[[kk]] [17:27:02.974] NAME <- NAMES[[kk]] [17:27:02.974] if (name != NAME && is.element(NAME, old_names)) [17:27:02.974] next [17:27:02.974] args[[name]] <- "" [17:27:02.974] } [17:27:02.974] NAMES <- toupper(removed) [17:27:02.974] for (kk in seq_along(NAMES)) { [17:27:02.974] name <- removed[[kk]] [17:27:02.974] NAME <- NAMES[[kk]] [17:27:02.974] if (name != NAME && is.element(NAME, old_names)) [17:27:02.974] next [17:27:02.974] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.974] } [17:27:02.974] if (length(args) > 0) [17:27:02.974] base::do.call(base::Sys.setenv, args = args) [17:27:02.974] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.974] } [17:27:02.974] { [17:27:02.974] if (base::length(...future.futureOptionsAdded) > [17:27:02.974] 0L) { [17:27:02.974] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.974] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.974] base::options(opts) [17:27:02.974] } [17:27:02.974] { [17:27:02.974] { [17:27:02.974] NULL [17:27:02.974] RNGkind("Mersenne-Twister") [17:27:02.974] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.974] inherits = FALSE) [17:27:02.974] } [17:27:02.974] options(future.plan = NULL) [17:27:02.974] if (is.na(NA_character_)) [17:27:02.974] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.974] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.974] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.974] .init = FALSE) [17:27:02.974] } [17:27:02.974] } [17:27:02.974] } [17:27:02.974] }) [17:27:02.974] if (TRUE) { [17:27:02.974] base::sink(type = "output", split = FALSE) [17:27:02.974] if (TRUE) { [17:27:02.974] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.974] } [17:27:02.974] else { [17:27:02.974] ...future.result["stdout"] <- base::list(NULL) [17:27:02.974] } [17:27:02.974] base::close(...future.stdout) [17:27:02.974] ...future.stdout <- NULL [17:27:02.974] } [17:27:02.974] ...future.result$conditions <- ...future.conditions [17:27:02.974] ...future.result$finished <- base::Sys.time() [17:27:02.974] ...future.result [17:27:02.974] } [17:27:02.977] assign_globals() ... [17:27:02.978] List of 1 [17:27:02.978] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:02.978] - attr(*, "where")=List of 1 [17:27:02.978] ..$ a: [17:27:02.978] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.978] - attr(*, "resolved")= logi TRUE [17:27:02.978] - attr(*, "total_size")= num 10352 [17:27:02.978] - attr(*, "already-done")= logi TRUE [17:27:02.980] - copied 'a' to environment [17:27:02.981] assign_globals() ... done [17:27:02.981] plan(): Setting new future strategy stack: [17:27:02.981] List of future strategies: [17:27:02.981] 1. sequential: [17:27:02.981] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.981] - tweaked: FALSE [17:27:02.981] - call: NULL [17:27:02.982] plan(): nbrOfWorkers() = 1 [17:27:02.983] plan(): Setting new future strategy stack: [17:27:02.983] List of future strategies: [17:27:02.983] 1. sequential: [17:27:02.983] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.983] - tweaked: FALSE [17:27:02.983] - call: plan(strategy) [17:27:02.984] plan(): nbrOfWorkers() = 1 [17:27:02.984] SequentialFuture started (and completed) [17:27:02.984] - Launch lazy future ... done [17:27:02.985] 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:27:02.985] 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:27:02.986] 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:27:02.987] - globals found: [2] '{', 'pkg' [17:27:02.987] Searching for globals ... DONE [17:27:02.987] Resolving globals: TRUE [17:27:02.987] Resolving any globals that are futures ... [17:27:02.987] - globals: [2] '{', 'pkg' [17:27:02.988] Resolving any globals that are futures ... DONE [17:27:02.988] Resolving futures part of globals (recursively) ... [17:27:02.988] resolve() on list ... [17:27:02.988] recursive: 99 [17:27:02.989] length: 1 [17:27:02.989] elements: 'pkg' [17:27:02.989] length: 0 (resolved future 1) [17:27:02.989] resolve() on list ... DONE [17:27:02.989] - globals: [1] 'pkg' [17:27:02.989] Resolving futures part of globals (recursively) ... DONE [17:27:02.990] The total size of the 1 globals is 112 bytes (112 bytes) [17:27:02.990] The total size of the 1 globals exported for future expression ('{; pkg; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (112 bytes of class 'character') [17:27:02.990] - globals: [1] 'pkg' [17:27:02.991] [17:27:02.991] getGlobalsAndPackages() ... DONE [17:27:02.991] Packages needed by the future expression (n = 0): [17:27:02.991] Packages needed by future strategies (n = 0): [17:27:02.992] { [17:27:02.992] { [17:27:02.992] { [17:27:02.992] ...future.startTime <- base::Sys.time() [17:27:02.992] { [17:27:02.992] { [17:27:02.992] { [17:27:02.992] base::local({ [17:27:02.992] has_future <- base::requireNamespace("future", [17:27:02.992] quietly = TRUE) [17:27:02.992] if (has_future) { [17:27:02.992] ns <- base::getNamespace("future") [17:27:02.992] version <- ns[[".package"]][["version"]] [17:27:02.992] if (is.null(version)) [17:27:02.992] version <- utils::packageVersion("future") [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] version <- NULL [17:27:02.992] } [17:27:02.992] if (!has_future || version < "1.8.0") { [17:27:02.992] info <- base::c(r_version = base::gsub("R version ", [17:27:02.992] "", base::R.version$version.string), [17:27:02.992] platform = base::sprintf("%s (%s-bit)", [17:27:02.992] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:02.992] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:02.992] "release", "version")], collapse = " "), [17:27:02.992] hostname = base::Sys.info()[["nodename"]]) [17:27:02.992] info <- base::sprintf("%s: %s", base::names(info), [17:27:02.992] info) [17:27:02.992] info <- base::paste(info, collapse = "; ") [17:27:02.992] if (!has_future) { [17:27:02.992] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:02.992] info) [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:02.992] info, version) [17:27:02.992] } [17:27:02.992] base::stop(msg) [17:27:02.992] } [17:27:02.992] }) [17:27:02.992] } [17:27:02.992] ...future.strategy.old <- future::plan("list") [17:27:02.992] options(future.plan = NULL) [17:27:02.992] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.992] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:02.992] } [17:27:02.992] ...future.workdir <- getwd() [17:27:02.992] } [17:27:02.992] ...future.oldOptions <- base::as.list(base::.Options) [17:27:02.992] ...future.oldEnvVars <- base::Sys.getenv() [17:27:02.992] } [17:27:02.992] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:02.992] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:02.992] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:02.992] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:02.992] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:02.992] future.stdout.windows.reencode = NULL, width = 80L) [17:27:02.992] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:02.992] base::names(...future.oldOptions)) [17:27:02.992] } [17:27:02.992] if (FALSE) { [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] if (TRUE) { [17:27:02.992] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:02.992] open = "w") [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:02.992] windows = "NUL", "/dev/null"), open = "w") [17:27:02.992] } [17:27:02.992] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:02.992] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:02.992] base::sink(type = "output", split = FALSE) [17:27:02.992] base::close(...future.stdout) [17:27:02.992] }, add = TRUE) [17:27:02.992] } [17:27:02.992] ...future.frame <- base::sys.nframe() [17:27:02.992] ...future.conditions <- base::list() [17:27:02.992] ...future.rng <- base::globalenv()$.Random.seed [17:27:02.992] if (FALSE) { [17:27:02.992] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:02.992] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:02.992] } [17:27:02.992] ...future.result <- base::tryCatch({ [17:27:02.992] base::withCallingHandlers({ [17:27:02.992] ...future.value <- base::withVisible(base::local({ [17:27:02.992] pkg [17:27:02.992] })) [17:27:02.992] future::FutureResult(value = ...future.value$value, [17:27:02.992] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.992] ...future.rng), globalenv = if (FALSE) [17:27:02.992] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:02.992] ...future.globalenv.names)) [17:27:02.992] else NULL, started = ...future.startTime, version = "1.8") [17:27:02.992] }, condition = base::local({ [17:27:02.992] c <- base::c [17:27:02.992] inherits <- base::inherits [17:27:02.992] invokeRestart <- base::invokeRestart [17:27:02.992] length <- base::length [17:27:02.992] list <- base::list [17:27:02.992] seq.int <- base::seq.int [17:27:02.992] signalCondition <- base::signalCondition [17:27:02.992] sys.calls <- base::sys.calls [17:27:02.992] `[[` <- base::`[[` [17:27:02.992] `+` <- base::`+` [17:27:02.992] `<<-` <- base::`<<-` [17:27:02.992] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:02.992] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:02.992] 3L)] [17:27:02.992] } [17:27:02.992] function(cond) { [17:27:02.992] is_error <- inherits(cond, "error") [17:27:02.992] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:02.992] NULL) [17:27:02.992] if (is_error) { [17:27:02.992] sessionInformation <- function() { [17:27:02.992] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:02.992] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:02.992] search = base::search(), system = base::Sys.info()) [17:27:02.992] } [17:27:02.992] ...future.conditions[[length(...future.conditions) + [17:27:02.992] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:02.992] cond$call), session = sessionInformation(), [17:27:02.992] timestamp = base::Sys.time(), signaled = 0L) [17:27:02.992] signalCondition(cond) [17:27:02.992] } [17:27:02.992] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:02.992] "immediateCondition"))) { [17:27:02.992] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:02.992] ...future.conditions[[length(...future.conditions) + [17:27:02.992] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:02.992] if (TRUE && !signal) { [17:27:02.992] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.992] { [17:27:02.992] inherits <- base::inherits [17:27:02.992] invokeRestart <- base::invokeRestart [17:27:02.992] is.null <- base::is.null [17:27:02.992] muffled <- FALSE [17:27:02.992] if (inherits(cond, "message")) { [17:27:02.992] muffled <- grepl(pattern, "muffleMessage") [17:27:02.992] if (muffled) [17:27:02.992] invokeRestart("muffleMessage") [17:27:02.992] } [17:27:02.992] else if (inherits(cond, "warning")) { [17:27:02.992] muffled <- grepl(pattern, "muffleWarning") [17:27:02.992] if (muffled) [17:27:02.992] invokeRestart("muffleWarning") [17:27:02.992] } [17:27:02.992] else if (inherits(cond, "condition")) { [17:27:02.992] if (!is.null(pattern)) { [17:27:02.992] computeRestarts <- base::computeRestarts [17:27:02.992] grepl <- base::grepl [17:27:02.992] restarts <- computeRestarts(cond) [17:27:02.992] for (restart in restarts) { [17:27:02.992] name <- restart$name [17:27:02.992] if (is.null(name)) [17:27:02.992] next [17:27:02.992] if (!grepl(pattern, name)) [17:27:02.992] next [17:27:02.992] invokeRestart(restart) [17:27:02.992] muffled <- TRUE [17:27:02.992] break [17:27:02.992] } [17:27:02.992] } [17:27:02.992] } [17:27:02.992] invisible(muffled) [17:27:02.992] } [17:27:02.992] muffleCondition(cond, pattern = "^muffle") [17:27:02.992] } [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] if (TRUE) { [17:27:02.992] muffleCondition <- function (cond, pattern = "^muffle") [17:27:02.992] { [17:27:02.992] inherits <- base::inherits [17:27:02.992] invokeRestart <- base::invokeRestart [17:27:02.992] is.null <- base::is.null [17:27:02.992] muffled <- FALSE [17:27:02.992] if (inherits(cond, "message")) { [17:27:02.992] muffled <- grepl(pattern, "muffleMessage") [17:27:02.992] if (muffled) [17:27:02.992] invokeRestart("muffleMessage") [17:27:02.992] } [17:27:02.992] else if (inherits(cond, "warning")) { [17:27:02.992] muffled <- grepl(pattern, "muffleWarning") [17:27:02.992] if (muffled) [17:27:02.992] invokeRestart("muffleWarning") [17:27:02.992] } [17:27:02.992] else if (inherits(cond, "condition")) { [17:27:02.992] if (!is.null(pattern)) { [17:27:02.992] computeRestarts <- base::computeRestarts [17:27:02.992] grepl <- base::grepl [17:27:02.992] restarts <- computeRestarts(cond) [17:27:02.992] for (restart in restarts) { [17:27:02.992] name <- restart$name [17:27:02.992] if (is.null(name)) [17:27:02.992] next [17:27:02.992] if (!grepl(pattern, name)) [17:27:02.992] next [17:27:02.992] invokeRestart(restart) [17:27:02.992] muffled <- TRUE [17:27:02.992] break [17:27:02.992] } [17:27:02.992] } [17:27:02.992] } [17:27:02.992] invisible(muffled) [17:27:02.992] } [17:27:02.992] muffleCondition(cond, pattern = "^muffle") [17:27:02.992] } [17:27:02.992] } [17:27:02.992] } [17:27:02.992] })) [17:27:02.992] }, error = function(ex) { [17:27:02.992] base::structure(base::list(value = NULL, visible = NULL, [17:27:02.992] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:02.992] ...future.rng), started = ...future.startTime, [17:27:02.992] finished = Sys.time(), session_uuid = NA_character_, [17:27:02.992] version = "1.8"), class = "FutureResult") [17:27:02.992] }, finally = { [17:27:02.992] if (!identical(...future.workdir, getwd())) [17:27:02.992] setwd(...future.workdir) [17:27:02.992] { [17:27:02.992] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:02.992] ...future.oldOptions$nwarnings <- NULL [17:27:02.992] } [17:27:02.992] base::options(...future.oldOptions) [17:27:02.992] if (.Platform$OS.type == "windows") { [17:27:02.992] old_names <- names(...future.oldEnvVars) [17:27:02.992] envs <- base::Sys.getenv() [17:27:02.992] names <- names(envs) [17:27:02.992] common <- intersect(names, old_names) [17:27:02.992] added <- setdiff(names, old_names) [17:27:02.992] removed <- setdiff(old_names, names) [17:27:02.992] changed <- common[...future.oldEnvVars[common] != [17:27:02.992] envs[common]] [17:27:02.992] NAMES <- toupper(changed) [17:27:02.992] args <- list() [17:27:02.992] for (kk in seq_along(NAMES)) { [17:27:02.992] name <- changed[[kk]] [17:27:02.992] NAME <- NAMES[[kk]] [17:27:02.992] if (name != NAME && is.element(NAME, old_names)) [17:27:02.992] next [17:27:02.992] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.992] } [17:27:02.992] NAMES <- toupper(added) [17:27:02.992] for (kk in seq_along(NAMES)) { [17:27:02.992] name <- added[[kk]] [17:27:02.992] NAME <- NAMES[[kk]] [17:27:02.992] if (name != NAME && is.element(NAME, old_names)) [17:27:02.992] next [17:27:02.992] args[[name]] <- "" [17:27:02.992] } [17:27:02.992] NAMES <- toupper(removed) [17:27:02.992] for (kk in seq_along(NAMES)) { [17:27:02.992] name <- removed[[kk]] [17:27:02.992] NAME <- NAMES[[kk]] [17:27:02.992] if (name != NAME && is.element(NAME, old_names)) [17:27:02.992] next [17:27:02.992] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:02.992] } [17:27:02.992] if (length(args) > 0) [17:27:02.992] base::do.call(base::Sys.setenv, args = args) [17:27:02.992] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:02.992] } [17:27:02.992] { [17:27:02.992] if (base::length(...future.futureOptionsAdded) > [17:27:02.992] 0L) { [17:27:02.992] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:02.992] base::names(opts) <- ...future.futureOptionsAdded [17:27:02.992] base::options(opts) [17:27:02.992] } [17:27:02.992] { [17:27:02.992] { [17:27:02.992] NULL [17:27:02.992] RNGkind("Mersenne-Twister") [17:27:02.992] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:02.992] inherits = FALSE) [17:27:02.992] } [17:27:02.992] options(future.plan = NULL) [17:27:02.992] if (is.na(NA_character_)) [17:27:02.992] Sys.unsetenv("R_FUTURE_PLAN") [17:27:02.992] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:02.992] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:02.992] .init = FALSE) [17:27:02.992] } [17:27:02.992] } [17:27:02.992] } [17:27:02.992] }) [17:27:02.992] if (TRUE) { [17:27:02.992] base::sink(type = "output", split = FALSE) [17:27:02.992] if (TRUE) { [17:27:02.992] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:02.992] } [17:27:02.992] else { [17:27:02.992] ...future.result["stdout"] <- base::list(NULL) [17:27:02.992] } [17:27:02.992] base::close(...future.stdout) [17:27:02.992] ...future.stdout <- NULL [17:27:02.992] } [17:27:02.992] ...future.result$conditions <- ...future.conditions [17:27:02.992] ...future.result$finished <- base::Sys.time() [17:27:02.992] ...future.result [17:27:02.992] } [17:27:02.995] assign_globals() ... [17:27:02.996] List of 1 [17:27:02.996] $ pkg: chr "foo" [17:27:02.996] - attr(*, "where")=List of 1 [17:27:02.996] ..$ pkg: [17:27:02.996] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:02.996] - attr(*, "resolved")= logi TRUE [17:27:02.996] - attr(*, "total_size")= num 112 [17:27:02.998] - copied 'pkg' to environment [17:27:02.998] assign_globals() ... done [17:27:02.999] plan(): Setting new future strategy stack: [17:27:02.999] List of future strategies: [17:27:02.999] 1. sequential: [17:27:02.999] - args: function (..., envir = parent.frame(), workers = "") [17:27:02.999] - tweaked: FALSE [17:27:02.999] - call: NULL [17:27:03.001] plan(): nbrOfWorkers() = 1 [17:27:03.002] plan(): Setting new future strategy stack: [17:27:03.002] List of future strategies: [17:27:03.002] 1. sequential: [17:27:03.002] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.002] - tweaked: FALSE [17:27:03.002] - call: plan(strategy) [17:27:03.003] plan(): nbrOfWorkers() = 1 [17:27:03.003] 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:27:03.004] 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:27:03.004] 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:27:03.007] - globals found: [4] '{', '<-', 'a', '*' [17:27:03.007] Searching for globals ... DONE [17:27:03.007] Resolving globals: TRUE [17:27:03.008] Resolving any globals that are futures ... [17:27:03.008] - globals: [4] '{', '<-', 'a', '*' [17:27:03.008] Resolving any globals that are futures ... DONE [17:27:03.008] Resolving futures part of globals (recursively) ... [17:27:03.009] resolve() on list ... [17:27:03.009] recursive: 99 [17:27:03.009] length: 1 [17:27:03.009] elements: 'a' [17:27:03.009] length: 0 (resolved future 1) [17:27:03.009] resolve() on list ... DONE [17:27:03.010] - globals: [1] 'a' [17:27:03.010] Resolving futures part of globals (recursively) ... DONE [17:27:03.010] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:03.010] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [17:27:03.011] - globals: [1] 'a' [17:27:03.011] [17:27:03.011] getGlobalsAndPackages() ... DONE [17:27:03.011] run() for 'Future' ... [17:27:03.011] - state: 'created' [17:27:03.012] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.012] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.012] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.012] - Field: 'label' [17:27:03.013] - Field: 'local' [17:27:03.013] - Field: 'owner' [17:27:03.013] - Field: 'envir' [17:27:03.013] - Field: 'packages' [17:27:03.013] - Field: 'gc' [17:27:03.013] - Field: 'conditions' [17:27:03.014] - Field: 'expr' [17:27:03.014] - Field: 'uuid' [17:27:03.014] - Field: 'seed' [17:27:03.014] - Field: 'version' [17:27:03.014] - Field: 'result' [17:27:03.014] - Field: 'asynchronous' [17:27:03.015] - Field: 'calls' [17:27:03.015] - Field: 'globals' [17:27:03.015] - Field: 'stdout' [17:27:03.015] - Field: 'earlySignal' [17:27:03.015] - Field: 'lazy' [17:27:03.015] - Field: 'state' [17:27:03.016] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.016] - Launch lazy future ... [17:27:03.016] Packages needed by the future expression (n = 0): [17:27:03.016] Packages needed by future strategies (n = 0): [17:27:03.017] { [17:27:03.017] { [17:27:03.017] { [17:27:03.017] ...future.startTime <- base::Sys.time() [17:27:03.017] { [17:27:03.017] { [17:27:03.017] { [17:27:03.017] base::local({ [17:27:03.017] has_future <- base::requireNamespace("future", [17:27:03.017] quietly = TRUE) [17:27:03.017] if (has_future) { [17:27:03.017] ns <- base::getNamespace("future") [17:27:03.017] version <- ns[[".package"]][["version"]] [17:27:03.017] if (is.null(version)) [17:27:03.017] version <- utils::packageVersion("future") [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] version <- NULL [17:27:03.017] } [17:27:03.017] if (!has_future || version < "1.8.0") { [17:27:03.017] info <- base::c(r_version = base::gsub("R version ", [17:27:03.017] "", base::R.version$version.string), [17:27:03.017] platform = base::sprintf("%s (%s-bit)", [17:27:03.017] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.017] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.017] "release", "version")], collapse = " "), [17:27:03.017] hostname = base::Sys.info()[["nodename"]]) [17:27:03.017] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.017] info) [17:27:03.017] info <- base::paste(info, collapse = "; ") [17:27:03.017] if (!has_future) { [17:27:03.017] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.017] info) [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.017] info, version) [17:27:03.017] } [17:27:03.017] base::stop(msg) [17:27:03.017] } [17:27:03.017] }) [17:27:03.017] } [17:27:03.017] ...future.strategy.old <- future::plan("list") [17:27:03.017] options(future.plan = NULL) [17:27:03.017] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.017] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.017] } [17:27:03.017] ...future.workdir <- getwd() [17:27:03.017] } [17:27:03.017] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.017] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.017] } [17:27:03.017] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.017] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.017] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.017] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.017] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.017] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.017] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.017] base::names(...future.oldOptions)) [17:27:03.017] } [17:27:03.017] if (FALSE) { [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] if (TRUE) { [17:27:03.017] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.017] open = "w") [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.017] windows = "NUL", "/dev/null"), open = "w") [17:27:03.017] } [17:27:03.017] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.017] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.017] base::sink(type = "output", split = FALSE) [17:27:03.017] base::close(...future.stdout) [17:27:03.017] }, add = TRUE) [17:27:03.017] } [17:27:03.017] ...future.frame <- base::sys.nframe() [17:27:03.017] ...future.conditions <- base::list() [17:27:03.017] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.017] if (FALSE) { [17:27:03.017] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.017] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.017] } [17:27:03.017] ...future.result <- base::tryCatch({ [17:27:03.017] base::withCallingHandlers({ [17:27:03.017] ...future.value <- base::withVisible(base::local({ [17:27:03.017] b <- a [17:27:03.017] a <- 2 [17:27:03.017] a * b [17:27:03.017] })) [17:27:03.017] future::FutureResult(value = ...future.value$value, [17:27:03.017] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.017] ...future.rng), globalenv = if (FALSE) [17:27:03.017] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.017] ...future.globalenv.names)) [17:27:03.017] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.017] }, condition = base::local({ [17:27:03.017] c <- base::c [17:27:03.017] inherits <- base::inherits [17:27:03.017] invokeRestart <- base::invokeRestart [17:27:03.017] length <- base::length [17:27:03.017] list <- base::list [17:27:03.017] seq.int <- base::seq.int [17:27:03.017] signalCondition <- base::signalCondition [17:27:03.017] sys.calls <- base::sys.calls [17:27:03.017] `[[` <- base::`[[` [17:27:03.017] `+` <- base::`+` [17:27:03.017] `<<-` <- base::`<<-` [17:27:03.017] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.017] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.017] 3L)] [17:27:03.017] } [17:27:03.017] function(cond) { [17:27:03.017] is_error <- inherits(cond, "error") [17:27:03.017] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.017] NULL) [17:27:03.017] if (is_error) { [17:27:03.017] sessionInformation <- function() { [17:27:03.017] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.017] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.017] search = base::search(), system = base::Sys.info()) [17:27:03.017] } [17:27:03.017] ...future.conditions[[length(...future.conditions) + [17:27:03.017] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.017] cond$call), session = sessionInformation(), [17:27:03.017] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.017] signalCondition(cond) [17:27:03.017] } [17:27:03.017] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.017] "immediateCondition"))) { [17:27:03.017] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.017] ...future.conditions[[length(...future.conditions) + [17:27:03.017] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.017] if (TRUE && !signal) { [17:27:03.017] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.017] { [17:27:03.017] inherits <- base::inherits [17:27:03.017] invokeRestart <- base::invokeRestart [17:27:03.017] is.null <- base::is.null [17:27:03.017] muffled <- FALSE [17:27:03.017] if (inherits(cond, "message")) { [17:27:03.017] muffled <- grepl(pattern, "muffleMessage") [17:27:03.017] if (muffled) [17:27:03.017] invokeRestart("muffleMessage") [17:27:03.017] } [17:27:03.017] else if (inherits(cond, "warning")) { [17:27:03.017] muffled <- grepl(pattern, "muffleWarning") [17:27:03.017] if (muffled) [17:27:03.017] invokeRestart("muffleWarning") [17:27:03.017] } [17:27:03.017] else if (inherits(cond, "condition")) { [17:27:03.017] if (!is.null(pattern)) { [17:27:03.017] computeRestarts <- base::computeRestarts [17:27:03.017] grepl <- base::grepl [17:27:03.017] restarts <- computeRestarts(cond) [17:27:03.017] for (restart in restarts) { [17:27:03.017] name <- restart$name [17:27:03.017] if (is.null(name)) [17:27:03.017] next [17:27:03.017] if (!grepl(pattern, name)) [17:27:03.017] next [17:27:03.017] invokeRestart(restart) [17:27:03.017] muffled <- TRUE [17:27:03.017] break [17:27:03.017] } [17:27:03.017] } [17:27:03.017] } [17:27:03.017] invisible(muffled) [17:27:03.017] } [17:27:03.017] muffleCondition(cond, pattern = "^muffle") [17:27:03.017] } [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] if (TRUE) { [17:27:03.017] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.017] { [17:27:03.017] inherits <- base::inherits [17:27:03.017] invokeRestart <- base::invokeRestart [17:27:03.017] is.null <- base::is.null [17:27:03.017] muffled <- FALSE [17:27:03.017] if (inherits(cond, "message")) { [17:27:03.017] muffled <- grepl(pattern, "muffleMessage") [17:27:03.017] if (muffled) [17:27:03.017] invokeRestart("muffleMessage") [17:27:03.017] } [17:27:03.017] else if (inherits(cond, "warning")) { [17:27:03.017] muffled <- grepl(pattern, "muffleWarning") [17:27:03.017] if (muffled) [17:27:03.017] invokeRestart("muffleWarning") [17:27:03.017] } [17:27:03.017] else if (inherits(cond, "condition")) { [17:27:03.017] if (!is.null(pattern)) { [17:27:03.017] computeRestarts <- base::computeRestarts [17:27:03.017] grepl <- base::grepl [17:27:03.017] restarts <- computeRestarts(cond) [17:27:03.017] for (restart in restarts) { [17:27:03.017] name <- restart$name [17:27:03.017] if (is.null(name)) [17:27:03.017] next [17:27:03.017] if (!grepl(pattern, name)) [17:27:03.017] next [17:27:03.017] invokeRestart(restart) [17:27:03.017] muffled <- TRUE [17:27:03.017] break [17:27:03.017] } [17:27:03.017] } [17:27:03.017] } [17:27:03.017] invisible(muffled) [17:27:03.017] } [17:27:03.017] muffleCondition(cond, pattern = "^muffle") [17:27:03.017] } [17:27:03.017] } [17:27:03.017] } [17:27:03.017] })) [17:27:03.017] }, error = function(ex) { [17:27:03.017] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.017] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.017] ...future.rng), started = ...future.startTime, [17:27:03.017] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.017] version = "1.8"), class = "FutureResult") [17:27:03.017] }, finally = { [17:27:03.017] if (!identical(...future.workdir, getwd())) [17:27:03.017] setwd(...future.workdir) [17:27:03.017] { [17:27:03.017] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.017] ...future.oldOptions$nwarnings <- NULL [17:27:03.017] } [17:27:03.017] base::options(...future.oldOptions) [17:27:03.017] if (.Platform$OS.type == "windows") { [17:27:03.017] old_names <- names(...future.oldEnvVars) [17:27:03.017] envs <- base::Sys.getenv() [17:27:03.017] names <- names(envs) [17:27:03.017] common <- intersect(names, old_names) [17:27:03.017] added <- setdiff(names, old_names) [17:27:03.017] removed <- setdiff(old_names, names) [17:27:03.017] changed <- common[...future.oldEnvVars[common] != [17:27:03.017] envs[common]] [17:27:03.017] NAMES <- toupper(changed) [17:27:03.017] args <- list() [17:27:03.017] for (kk in seq_along(NAMES)) { [17:27:03.017] name <- changed[[kk]] [17:27:03.017] NAME <- NAMES[[kk]] [17:27:03.017] if (name != NAME && is.element(NAME, old_names)) [17:27:03.017] next [17:27:03.017] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.017] } [17:27:03.017] NAMES <- toupper(added) [17:27:03.017] for (kk in seq_along(NAMES)) { [17:27:03.017] name <- added[[kk]] [17:27:03.017] NAME <- NAMES[[kk]] [17:27:03.017] if (name != NAME && is.element(NAME, old_names)) [17:27:03.017] next [17:27:03.017] args[[name]] <- "" [17:27:03.017] } [17:27:03.017] NAMES <- toupper(removed) [17:27:03.017] for (kk in seq_along(NAMES)) { [17:27:03.017] name <- removed[[kk]] [17:27:03.017] NAME <- NAMES[[kk]] [17:27:03.017] if (name != NAME && is.element(NAME, old_names)) [17:27:03.017] next [17:27:03.017] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.017] } [17:27:03.017] if (length(args) > 0) [17:27:03.017] base::do.call(base::Sys.setenv, args = args) [17:27:03.017] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.017] } [17:27:03.017] { [17:27:03.017] if (base::length(...future.futureOptionsAdded) > [17:27:03.017] 0L) { [17:27:03.017] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.017] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.017] base::options(opts) [17:27:03.017] } [17:27:03.017] { [17:27:03.017] { [17:27:03.017] NULL [17:27:03.017] RNGkind("Mersenne-Twister") [17:27:03.017] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.017] inherits = FALSE) [17:27:03.017] } [17:27:03.017] options(future.plan = NULL) [17:27:03.017] if (is.na(NA_character_)) [17:27:03.017] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.017] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.017] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.017] .init = FALSE) [17:27:03.017] } [17:27:03.017] } [17:27:03.017] } [17:27:03.017] }) [17:27:03.017] if (TRUE) { [17:27:03.017] base::sink(type = "output", split = FALSE) [17:27:03.017] if (TRUE) { [17:27:03.017] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.017] } [17:27:03.017] else { [17:27:03.017] ...future.result["stdout"] <- base::list(NULL) [17:27:03.017] } [17:27:03.017] base::close(...future.stdout) [17:27:03.017] ...future.stdout <- NULL [17:27:03.017] } [17:27:03.017] ...future.result$conditions <- ...future.conditions [17:27:03.017] ...future.result$finished <- base::Sys.time() [17:27:03.017] ...future.result [17:27:03.017] } [17:27:03.021] assign_globals() ... [17:27:03.021] List of 1 [17:27:03.021] $ a: num 3 [17:27:03.021] - attr(*, "where")=List of 1 [17:27:03.021] ..$ a: [17:27:03.021] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.021] - attr(*, "resolved")= logi TRUE [17:27:03.021] - attr(*, "total_size")= num 56 [17:27:03.021] - attr(*, "already-done")= logi TRUE [17:27:03.024] - copied 'a' to environment [17:27:03.024] assign_globals() ... done [17:27:03.024] plan(): Setting new future strategy stack: [17:27:03.024] List of future strategies: [17:27:03.024] 1. sequential: [17:27:03.024] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.024] - tweaked: FALSE [17:27:03.024] - call: NULL [17:27:03.025] plan(): nbrOfWorkers() = 1 [17:27:03.026] plan(): Setting new future strategy stack: [17:27:03.026] List of future strategies: [17:27:03.026] 1. sequential: [17:27:03.026] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.026] - tweaked: FALSE [17:27:03.026] - call: plan(strategy) [17:27:03.027] plan(): nbrOfWorkers() = 1 [17:27:03.027] SequentialFuture started (and completed) [17:27:03.027] - Launch lazy future ... done [17:27:03.027] 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:27:03.028] 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:27:03.029] 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:27:03.032] - globals found: [4] '{', '<-', 'a', '*' [17:27:03.032] Searching for globals ... DONE [17:27:03.032] Resolving globals: TRUE [17:27:03.033] Resolving any globals that are futures ... [17:27:03.033] - globals: [4] '{', '<-', 'a', '*' [17:27:03.033] Resolving any globals that are futures ... DONE [17:27:03.033] Resolving futures part of globals (recursively) ... [17:27:03.034] resolve() on list ... [17:27:03.034] recursive: 99 [17:27:03.034] length: 1 [17:27:03.034] elements: 'a' [17:27:03.034] length: 0 (resolved future 1) [17:27:03.034] resolve() on list ... DONE [17:27:03.035] - globals: [1] 'a' [17:27:03.035] Resolving futures part of globals (recursively) ... DONE [17:27:03.035] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:03.036] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [17:27:03.036] - globals: [1] 'a' [17:27:03.036] [17:27:03.036] getGlobalsAndPackages() ... DONE [17:27:03.036] run() for 'Future' ... [17:27:03.037] - state: 'created' [17:27:03.037] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.037] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.037] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.038] - Field: 'label' [17:27:03.038] - Field: 'local' [17:27:03.038] - Field: 'owner' [17:27:03.038] - Field: 'envir' [17:27:03.038] - Field: 'packages' [17:27:03.038] - Field: 'gc' [17:27:03.039] - Field: 'conditions' [17:27:03.039] - Field: 'expr' [17:27:03.039] - Field: 'uuid' [17:27:03.039] - Field: 'seed' [17:27:03.039] - Field: 'version' [17:27:03.039] - Field: 'result' [17:27:03.040] - Field: 'asynchronous' [17:27:03.040] - Field: 'calls' [17:27:03.040] - Field: 'globals' [17:27:03.040] - Field: 'stdout' [17:27:03.040] - Field: 'earlySignal' [17:27:03.041] - Field: 'lazy' [17:27:03.041] - Field: 'state' [17:27:03.041] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.041] - Launch lazy future ... [17:27:03.041] Packages needed by the future expression (n = 0): [17:27:03.041] Packages needed by future strategies (n = 0): [17:27:03.042] { [17:27:03.042] { [17:27:03.042] { [17:27:03.042] ...future.startTime <- base::Sys.time() [17:27:03.042] { [17:27:03.042] { [17:27:03.042] { [17:27:03.042] base::local({ [17:27:03.042] has_future <- base::requireNamespace("future", [17:27:03.042] quietly = TRUE) [17:27:03.042] if (has_future) { [17:27:03.042] ns <- base::getNamespace("future") [17:27:03.042] version <- ns[[".package"]][["version"]] [17:27:03.042] if (is.null(version)) [17:27:03.042] version <- utils::packageVersion("future") [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] version <- NULL [17:27:03.042] } [17:27:03.042] if (!has_future || version < "1.8.0") { [17:27:03.042] info <- base::c(r_version = base::gsub("R version ", [17:27:03.042] "", base::R.version$version.string), [17:27:03.042] platform = base::sprintf("%s (%s-bit)", [17:27:03.042] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.042] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.042] "release", "version")], collapse = " "), [17:27:03.042] hostname = base::Sys.info()[["nodename"]]) [17:27:03.042] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.042] info) [17:27:03.042] info <- base::paste(info, collapse = "; ") [17:27:03.042] if (!has_future) { [17:27:03.042] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.042] info) [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.042] info, version) [17:27:03.042] } [17:27:03.042] base::stop(msg) [17:27:03.042] } [17:27:03.042] }) [17:27:03.042] } [17:27:03.042] ...future.strategy.old <- future::plan("list") [17:27:03.042] options(future.plan = NULL) [17:27:03.042] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.042] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.042] } [17:27:03.042] ...future.workdir <- getwd() [17:27:03.042] } [17:27:03.042] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.042] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.042] } [17:27:03.042] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.042] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.042] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.042] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.042] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.042] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.042] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.042] base::names(...future.oldOptions)) [17:27:03.042] } [17:27:03.042] if (FALSE) { [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] if (TRUE) { [17:27:03.042] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.042] open = "w") [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.042] windows = "NUL", "/dev/null"), open = "w") [17:27:03.042] } [17:27:03.042] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.042] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.042] base::sink(type = "output", split = FALSE) [17:27:03.042] base::close(...future.stdout) [17:27:03.042] }, add = TRUE) [17:27:03.042] } [17:27:03.042] ...future.frame <- base::sys.nframe() [17:27:03.042] ...future.conditions <- base::list() [17:27:03.042] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.042] if (FALSE) { [17:27:03.042] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.042] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.042] } [17:27:03.042] ...future.result <- base::tryCatch({ [17:27:03.042] base::withCallingHandlers({ [17:27:03.042] ...future.value <- base::withVisible(base::local({ [17:27:03.042] b <- a [17:27:03.042] a <- 2 [17:27:03.042] a * b [17:27:03.042] })) [17:27:03.042] future::FutureResult(value = ...future.value$value, [17:27:03.042] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.042] ...future.rng), globalenv = if (FALSE) [17:27:03.042] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.042] ...future.globalenv.names)) [17:27:03.042] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.042] }, condition = base::local({ [17:27:03.042] c <- base::c [17:27:03.042] inherits <- base::inherits [17:27:03.042] invokeRestart <- base::invokeRestart [17:27:03.042] length <- base::length [17:27:03.042] list <- base::list [17:27:03.042] seq.int <- base::seq.int [17:27:03.042] signalCondition <- base::signalCondition [17:27:03.042] sys.calls <- base::sys.calls [17:27:03.042] `[[` <- base::`[[` [17:27:03.042] `+` <- base::`+` [17:27:03.042] `<<-` <- base::`<<-` [17:27:03.042] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.042] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.042] 3L)] [17:27:03.042] } [17:27:03.042] function(cond) { [17:27:03.042] is_error <- inherits(cond, "error") [17:27:03.042] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.042] NULL) [17:27:03.042] if (is_error) { [17:27:03.042] sessionInformation <- function() { [17:27:03.042] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.042] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.042] search = base::search(), system = base::Sys.info()) [17:27:03.042] } [17:27:03.042] ...future.conditions[[length(...future.conditions) + [17:27:03.042] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.042] cond$call), session = sessionInformation(), [17:27:03.042] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.042] signalCondition(cond) [17:27:03.042] } [17:27:03.042] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.042] "immediateCondition"))) { [17:27:03.042] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.042] ...future.conditions[[length(...future.conditions) + [17:27:03.042] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.042] if (TRUE && !signal) { [17:27:03.042] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.042] { [17:27:03.042] inherits <- base::inherits [17:27:03.042] invokeRestart <- base::invokeRestart [17:27:03.042] is.null <- base::is.null [17:27:03.042] muffled <- FALSE [17:27:03.042] if (inherits(cond, "message")) { [17:27:03.042] muffled <- grepl(pattern, "muffleMessage") [17:27:03.042] if (muffled) [17:27:03.042] invokeRestart("muffleMessage") [17:27:03.042] } [17:27:03.042] else if (inherits(cond, "warning")) { [17:27:03.042] muffled <- grepl(pattern, "muffleWarning") [17:27:03.042] if (muffled) [17:27:03.042] invokeRestart("muffleWarning") [17:27:03.042] } [17:27:03.042] else if (inherits(cond, "condition")) { [17:27:03.042] if (!is.null(pattern)) { [17:27:03.042] computeRestarts <- base::computeRestarts [17:27:03.042] grepl <- base::grepl [17:27:03.042] restarts <- computeRestarts(cond) [17:27:03.042] for (restart in restarts) { [17:27:03.042] name <- restart$name [17:27:03.042] if (is.null(name)) [17:27:03.042] next [17:27:03.042] if (!grepl(pattern, name)) [17:27:03.042] next [17:27:03.042] invokeRestart(restart) [17:27:03.042] muffled <- TRUE [17:27:03.042] break [17:27:03.042] } [17:27:03.042] } [17:27:03.042] } [17:27:03.042] invisible(muffled) [17:27:03.042] } [17:27:03.042] muffleCondition(cond, pattern = "^muffle") [17:27:03.042] } [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] if (TRUE) { [17:27:03.042] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.042] { [17:27:03.042] inherits <- base::inherits [17:27:03.042] invokeRestart <- base::invokeRestart [17:27:03.042] is.null <- base::is.null [17:27:03.042] muffled <- FALSE [17:27:03.042] if (inherits(cond, "message")) { [17:27:03.042] muffled <- grepl(pattern, "muffleMessage") [17:27:03.042] if (muffled) [17:27:03.042] invokeRestart("muffleMessage") [17:27:03.042] } [17:27:03.042] else if (inherits(cond, "warning")) { [17:27:03.042] muffled <- grepl(pattern, "muffleWarning") [17:27:03.042] if (muffled) [17:27:03.042] invokeRestart("muffleWarning") [17:27:03.042] } [17:27:03.042] else if (inherits(cond, "condition")) { [17:27:03.042] if (!is.null(pattern)) { [17:27:03.042] computeRestarts <- base::computeRestarts [17:27:03.042] grepl <- base::grepl [17:27:03.042] restarts <- computeRestarts(cond) [17:27:03.042] for (restart in restarts) { [17:27:03.042] name <- restart$name [17:27:03.042] if (is.null(name)) [17:27:03.042] next [17:27:03.042] if (!grepl(pattern, name)) [17:27:03.042] next [17:27:03.042] invokeRestart(restart) [17:27:03.042] muffled <- TRUE [17:27:03.042] break [17:27:03.042] } [17:27:03.042] } [17:27:03.042] } [17:27:03.042] invisible(muffled) [17:27:03.042] } [17:27:03.042] muffleCondition(cond, pattern = "^muffle") [17:27:03.042] } [17:27:03.042] } [17:27:03.042] } [17:27:03.042] })) [17:27:03.042] }, error = function(ex) { [17:27:03.042] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.042] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.042] ...future.rng), started = ...future.startTime, [17:27:03.042] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.042] version = "1.8"), class = "FutureResult") [17:27:03.042] }, finally = { [17:27:03.042] if (!identical(...future.workdir, getwd())) [17:27:03.042] setwd(...future.workdir) [17:27:03.042] { [17:27:03.042] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.042] ...future.oldOptions$nwarnings <- NULL [17:27:03.042] } [17:27:03.042] base::options(...future.oldOptions) [17:27:03.042] if (.Platform$OS.type == "windows") { [17:27:03.042] old_names <- names(...future.oldEnvVars) [17:27:03.042] envs <- base::Sys.getenv() [17:27:03.042] names <- names(envs) [17:27:03.042] common <- intersect(names, old_names) [17:27:03.042] added <- setdiff(names, old_names) [17:27:03.042] removed <- setdiff(old_names, names) [17:27:03.042] changed <- common[...future.oldEnvVars[common] != [17:27:03.042] envs[common]] [17:27:03.042] NAMES <- toupper(changed) [17:27:03.042] args <- list() [17:27:03.042] for (kk in seq_along(NAMES)) { [17:27:03.042] name <- changed[[kk]] [17:27:03.042] NAME <- NAMES[[kk]] [17:27:03.042] if (name != NAME && is.element(NAME, old_names)) [17:27:03.042] next [17:27:03.042] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.042] } [17:27:03.042] NAMES <- toupper(added) [17:27:03.042] for (kk in seq_along(NAMES)) { [17:27:03.042] name <- added[[kk]] [17:27:03.042] NAME <- NAMES[[kk]] [17:27:03.042] if (name != NAME && is.element(NAME, old_names)) [17:27:03.042] next [17:27:03.042] args[[name]] <- "" [17:27:03.042] } [17:27:03.042] NAMES <- toupper(removed) [17:27:03.042] for (kk in seq_along(NAMES)) { [17:27:03.042] name <- removed[[kk]] [17:27:03.042] NAME <- NAMES[[kk]] [17:27:03.042] if (name != NAME && is.element(NAME, old_names)) [17:27:03.042] next [17:27:03.042] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.042] } [17:27:03.042] if (length(args) > 0) [17:27:03.042] base::do.call(base::Sys.setenv, args = args) [17:27:03.042] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.042] } [17:27:03.042] { [17:27:03.042] if (base::length(...future.futureOptionsAdded) > [17:27:03.042] 0L) { [17:27:03.042] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.042] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.042] base::options(opts) [17:27:03.042] } [17:27:03.042] { [17:27:03.042] { [17:27:03.042] NULL [17:27:03.042] RNGkind("Mersenne-Twister") [17:27:03.042] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.042] inherits = FALSE) [17:27:03.042] } [17:27:03.042] options(future.plan = NULL) [17:27:03.042] if (is.na(NA_character_)) [17:27:03.042] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.042] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.042] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.042] .init = FALSE) [17:27:03.042] } [17:27:03.042] } [17:27:03.042] } [17:27:03.042] }) [17:27:03.042] if (TRUE) { [17:27:03.042] base::sink(type = "output", split = FALSE) [17:27:03.042] if (TRUE) { [17:27:03.042] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.042] } [17:27:03.042] else { [17:27:03.042] ...future.result["stdout"] <- base::list(NULL) [17:27:03.042] } [17:27:03.042] base::close(...future.stdout) [17:27:03.042] ...future.stdout <- NULL [17:27:03.042] } [17:27:03.042] ...future.result$conditions <- ...future.conditions [17:27:03.042] ...future.result$finished <- base::Sys.time() [17:27:03.042] ...future.result [17:27:03.042] } [17:27:03.046] assign_globals() ... [17:27:03.046] List of 1 [17:27:03.046] $ a: num 3 [17:27:03.046] - attr(*, "where")=List of 1 [17:27:03.046] ..$ a: [17:27:03.046] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.046] - attr(*, "resolved")= logi TRUE [17:27:03.046] - attr(*, "total_size")= num 56 [17:27:03.046] - attr(*, "already-done")= logi TRUE [17:27:03.049] - copied 'a' to environment [17:27:03.049] assign_globals() ... done [17:27:03.049] plan(): Setting new future strategy stack: [17:27:03.050] List of future strategies: [17:27:03.050] 1. sequential: [17:27:03.050] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.050] - tweaked: FALSE [17:27:03.050] - call: NULL [17:27:03.050] plan(): nbrOfWorkers() = 1 [17:27:03.051] plan(): Setting new future strategy stack: [17:27:03.051] List of future strategies: [17:27:03.051] 1. sequential: [17:27:03.051] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.051] - tweaked: FALSE [17:27:03.051] - call: plan(strategy) [17:27:03.052] plan(): nbrOfWorkers() = 1 [17:27:03.052] SequentialFuture started (and completed) [17:27:03.052] - Launch lazy future ... done [17:27:03.053] 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:27:03.053] 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:27:03.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:27:03.056] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.056] Searching for globals ... DONE [17:27:03.057] Resolving globals: TRUE [17:27:03.057] Resolving any globals that are futures ... [17:27:03.057] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.058] Resolving any globals that are futures ... DONE [17:27:03.059] Resolving futures part of globals (recursively) ... [17:27:03.059] resolve() on list ... [17:27:03.059] recursive: 99 [17:27:03.059] length: 2 [17:27:03.059] elements: 'a', 'ii' [17:27:03.060] length: 1 (resolved future 1) [17:27:03.060] length: 0 (resolved future 2) [17:27:03.060] resolve() on list ... DONE [17:27:03.060] - globals: [2] 'a', 'ii' [17:27:03.060] Resolving futures part of globals (recursively) ... DONE [17:27:03.061] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:03.061] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:03.061] - globals: [2] 'a', 'ii' [17:27:03.061] [17:27:03.062] getGlobalsAndPackages() ... DONE [17:27:03.062] run() for 'Future' ... [17:27:03.062] - state: 'created' [17:27:03.062] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.063] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.063] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.063] - Field: 'label' [17:27:03.063] - Field: 'local' [17:27:03.063] - Field: 'owner' [17:27:03.064] - Field: 'envir' [17:27:03.064] - Field: 'packages' [17:27:03.064] - Field: 'gc' [17:27:03.064] - Field: 'conditions' [17:27:03.064] - Field: 'expr' [17:27:03.064] - Field: 'uuid' [17:27:03.065] - Field: 'seed' [17:27:03.065] - Field: 'version' [17:27:03.065] - Field: 'result' [17:27:03.065] - Field: 'asynchronous' [17:27:03.065] - Field: 'calls' [17:27:03.065] - Field: 'globals' [17:27:03.066] - Field: 'stdout' [17:27:03.066] - Field: 'earlySignal' [17:27:03.066] - Field: 'lazy' [17:27:03.066] - Field: 'state' [17:27:03.066] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.066] - Launch lazy future ... [17:27:03.067] Packages needed by the future expression (n = 0): [17:27:03.067] Packages needed by future strategies (n = 0): [17:27:03.067] { [17:27:03.067] { [17:27:03.067] { [17:27:03.067] ...future.startTime <- base::Sys.time() [17:27:03.067] { [17:27:03.067] { [17:27:03.067] { [17:27:03.067] base::local({ [17:27:03.067] has_future <- base::requireNamespace("future", [17:27:03.067] quietly = TRUE) [17:27:03.067] if (has_future) { [17:27:03.067] ns <- base::getNamespace("future") [17:27:03.067] version <- ns[[".package"]][["version"]] [17:27:03.067] if (is.null(version)) [17:27:03.067] version <- utils::packageVersion("future") [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] version <- NULL [17:27:03.067] } [17:27:03.067] if (!has_future || version < "1.8.0") { [17:27:03.067] info <- base::c(r_version = base::gsub("R version ", [17:27:03.067] "", base::R.version$version.string), [17:27:03.067] platform = base::sprintf("%s (%s-bit)", [17:27:03.067] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.067] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.067] "release", "version")], collapse = " "), [17:27:03.067] hostname = base::Sys.info()[["nodename"]]) [17:27:03.067] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.067] info) [17:27:03.067] info <- base::paste(info, collapse = "; ") [17:27:03.067] if (!has_future) { [17:27:03.067] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.067] info) [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.067] info, version) [17:27:03.067] } [17:27:03.067] base::stop(msg) [17:27:03.067] } [17:27:03.067] }) [17:27:03.067] } [17:27:03.067] ...future.strategy.old <- future::plan("list") [17:27:03.067] options(future.plan = NULL) [17:27:03.067] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.067] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.067] } [17:27:03.067] ...future.workdir <- getwd() [17:27:03.067] } [17:27:03.067] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.067] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.067] } [17:27:03.067] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.067] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.067] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.067] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.067] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.067] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.067] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.067] base::names(...future.oldOptions)) [17:27:03.067] } [17:27:03.067] if (FALSE) { [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] if (TRUE) { [17:27:03.067] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.067] open = "w") [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.067] windows = "NUL", "/dev/null"), open = "w") [17:27:03.067] } [17:27:03.067] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.067] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.067] base::sink(type = "output", split = FALSE) [17:27:03.067] base::close(...future.stdout) [17:27:03.067] }, add = TRUE) [17:27:03.067] } [17:27:03.067] ...future.frame <- base::sys.nframe() [17:27:03.067] ...future.conditions <- base::list() [17:27:03.067] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.067] if (FALSE) { [17:27:03.067] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.067] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.067] } [17:27:03.067] ...future.result <- base::tryCatch({ [17:27:03.067] base::withCallingHandlers({ [17:27:03.067] ...future.value <- base::withVisible(base::local({ [17:27:03.067] b <- a * ii [17:27:03.067] a <- 0 [17:27:03.067] b [17:27:03.067] })) [17:27:03.067] future::FutureResult(value = ...future.value$value, [17:27:03.067] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.067] ...future.rng), globalenv = if (FALSE) [17:27:03.067] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.067] ...future.globalenv.names)) [17:27:03.067] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.067] }, condition = base::local({ [17:27:03.067] c <- base::c [17:27:03.067] inherits <- base::inherits [17:27:03.067] invokeRestart <- base::invokeRestart [17:27:03.067] length <- base::length [17:27:03.067] list <- base::list [17:27:03.067] seq.int <- base::seq.int [17:27:03.067] signalCondition <- base::signalCondition [17:27:03.067] sys.calls <- base::sys.calls [17:27:03.067] `[[` <- base::`[[` [17:27:03.067] `+` <- base::`+` [17:27:03.067] `<<-` <- base::`<<-` [17:27:03.067] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.067] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.067] 3L)] [17:27:03.067] } [17:27:03.067] function(cond) { [17:27:03.067] is_error <- inherits(cond, "error") [17:27:03.067] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.067] NULL) [17:27:03.067] if (is_error) { [17:27:03.067] sessionInformation <- function() { [17:27:03.067] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.067] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.067] search = base::search(), system = base::Sys.info()) [17:27:03.067] } [17:27:03.067] ...future.conditions[[length(...future.conditions) + [17:27:03.067] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.067] cond$call), session = sessionInformation(), [17:27:03.067] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.067] signalCondition(cond) [17:27:03.067] } [17:27:03.067] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.067] "immediateCondition"))) { [17:27:03.067] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.067] ...future.conditions[[length(...future.conditions) + [17:27:03.067] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.067] if (TRUE && !signal) { [17:27:03.067] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.067] { [17:27:03.067] inherits <- base::inherits [17:27:03.067] invokeRestart <- base::invokeRestart [17:27:03.067] is.null <- base::is.null [17:27:03.067] muffled <- FALSE [17:27:03.067] if (inherits(cond, "message")) { [17:27:03.067] muffled <- grepl(pattern, "muffleMessage") [17:27:03.067] if (muffled) [17:27:03.067] invokeRestart("muffleMessage") [17:27:03.067] } [17:27:03.067] else if (inherits(cond, "warning")) { [17:27:03.067] muffled <- grepl(pattern, "muffleWarning") [17:27:03.067] if (muffled) [17:27:03.067] invokeRestart("muffleWarning") [17:27:03.067] } [17:27:03.067] else if (inherits(cond, "condition")) { [17:27:03.067] if (!is.null(pattern)) { [17:27:03.067] computeRestarts <- base::computeRestarts [17:27:03.067] grepl <- base::grepl [17:27:03.067] restarts <- computeRestarts(cond) [17:27:03.067] for (restart in restarts) { [17:27:03.067] name <- restart$name [17:27:03.067] if (is.null(name)) [17:27:03.067] next [17:27:03.067] if (!grepl(pattern, name)) [17:27:03.067] next [17:27:03.067] invokeRestart(restart) [17:27:03.067] muffled <- TRUE [17:27:03.067] break [17:27:03.067] } [17:27:03.067] } [17:27:03.067] } [17:27:03.067] invisible(muffled) [17:27:03.067] } [17:27:03.067] muffleCondition(cond, pattern = "^muffle") [17:27:03.067] } [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] if (TRUE) { [17:27:03.067] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.067] { [17:27:03.067] inherits <- base::inherits [17:27:03.067] invokeRestart <- base::invokeRestart [17:27:03.067] is.null <- base::is.null [17:27:03.067] muffled <- FALSE [17:27:03.067] if (inherits(cond, "message")) { [17:27:03.067] muffled <- grepl(pattern, "muffleMessage") [17:27:03.067] if (muffled) [17:27:03.067] invokeRestart("muffleMessage") [17:27:03.067] } [17:27:03.067] else if (inherits(cond, "warning")) { [17:27:03.067] muffled <- grepl(pattern, "muffleWarning") [17:27:03.067] if (muffled) [17:27:03.067] invokeRestart("muffleWarning") [17:27:03.067] } [17:27:03.067] else if (inherits(cond, "condition")) { [17:27:03.067] if (!is.null(pattern)) { [17:27:03.067] computeRestarts <- base::computeRestarts [17:27:03.067] grepl <- base::grepl [17:27:03.067] restarts <- computeRestarts(cond) [17:27:03.067] for (restart in restarts) { [17:27:03.067] name <- restart$name [17:27:03.067] if (is.null(name)) [17:27:03.067] next [17:27:03.067] if (!grepl(pattern, name)) [17:27:03.067] next [17:27:03.067] invokeRestart(restart) [17:27:03.067] muffled <- TRUE [17:27:03.067] break [17:27:03.067] } [17:27:03.067] } [17:27:03.067] } [17:27:03.067] invisible(muffled) [17:27:03.067] } [17:27:03.067] muffleCondition(cond, pattern = "^muffle") [17:27:03.067] } [17:27:03.067] } [17:27:03.067] } [17:27:03.067] })) [17:27:03.067] }, error = function(ex) { [17:27:03.067] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.067] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.067] ...future.rng), started = ...future.startTime, [17:27:03.067] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.067] version = "1.8"), class = "FutureResult") [17:27:03.067] }, finally = { [17:27:03.067] if (!identical(...future.workdir, getwd())) [17:27:03.067] setwd(...future.workdir) [17:27:03.067] { [17:27:03.067] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.067] ...future.oldOptions$nwarnings <- NULL [17:27:03.067] } [17:27:03.067] base::options(...future.oldOptions) [17:27:03.067] if (.Platform$OS.type == "windows") { [17:27:03.067] old_names <- names(...future.oldEnvVars) [17:27:03.067] envs <- base::Sys.getenv() [17:27:03.067] names <- names(envs) [17:27:03.067] common <- intersect(names, old_names) [17:27:03.067] added <- setdiff(names, old_names) [17:27:03.067] removed <- setdiff(old_names, names) [17:27:03.067] changed <- common[...future.oldEnvVars[common] != [17:27:03.067] envs[common]] [17:27:03.067] NAMES <- toupper(changed) [17:27:03.067] args <- list() [17:27:03.067] for (kk in seq_along(NAMES)) { [17:27:03.067] name <- changed[[kk]] [17:27:03.067] NAME <- NAMES[[kk]] [17:27:03.067] if (name != NAME && is.element(NAME, old_names)) [17:27:03.067] next [17:27:03.067] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.067] } [17:27:03.067] NAMES <- toupper(added) [17:27:03.067] for (kk in seq_along(NAMES)) { [17:27:03.067] name <- added[[kk]] [17:27:03.067] NAME <- NAMES[[kk]] [17:27:03.067] if (name != NAME && is.element(NAME, old_names)) [17:27:03.067] next [17:27:03.067] args[[name]] <- "" [17:27:03.067] } [17:27:03.067] NAMES <- toupper(removed) [17:27:03.067] for (kk in seq_along(NAMES)) { [17:27:03.067] name <- removed[[kk]] [17:27:03.067] NAME <- NAMES[[kk]] [17:27:03.067] if (name != NAME && is.element(NAME, old_names)) [17:27:03.067] next [17:27:03.067] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.067] } [17:27:03.067] if (length(args) > 0) [17:27:03.067] base::do.call(base::Sys.setenv, args = args) [17:27:03.067] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.067] } [17:27:03.067] { [17:27:03.067] if (base::length(...future.futureOptionsAdded) > [17:27:03.067] 0L) { [17:27:03.067] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.067] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.067] base::options(opts) [17:27:03.067] } [17:27:03.067] { [17:27:03.067] { [17:27:03.067] NULL [17:27:03.067] RNGkind("Mersenne-Twister") [17:27:03.067] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.067] inherits = FALSE) [17:27:03.067] } [17:27:03.067] options(future.plan = NULL) [17:27:03.067] if (is.na(NA_character_)) [17:27:03.067] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.067] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.067] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.067] .init = FALSE) [17:27:03.067] } [17:27:03.067] } [17:27:03.067] } [17:27:03.067] }) [17:27:03.067] if (TRUE) { [17:27:03.067] base::sink(type = "output", split = FALSE) [17:27:03.067] if (TRUE) { [17:27:03.067] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.067] } [17:27:03.067] else { [17:27:03.067] ...future.result["stdout"] <- base::list(NULL) [17:27:03.067] } [17:27:03.067] base::close(...future.stdout) [17:27:03.067] ...future.stdout <- NULL [17:27:03.067] } [17:27:03.067] ...future.result$conditions <- ...future.conditions [17:27:03.067] ...future.result$finished <- base::Sys.time() [17:27:03.067] ...future.result [17:27:03.067] } [17:27:03.071] assign_globals() ... [17:27:03.071] List of 2 [17:27:03.071] $ a : num 1 [17:27:03.071] $ ii: int 1 [17:27:03.071] - attr(*, "where")=List of 2 [17:27:03.071] ..$ a : [17:27:03.071] ..$ ii: [17:27:03.071] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.071] - attr(*, "resolved")= logi TRUE [17:27:03.071] - attr(*, "total_size")= num 112 [17:27:03.071] - attr(*, "already-done")= logi TRUE [17:27:03.075] - copied 'a' to environment [17:27:03.075] - copied 'ii' to environment [17:27:03.075] assign_globals() ... done [17:27:03.076] plan(): Setting new future strategy stack: [17:27:03.076] List of future strategies: [17:27:03.076] 1. sequential: [17:27:03.076] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.076] - tweaked: FALSE [17:27:03.076] - call: NULL [17:27:03.076] plan(): nbrOfWorkers() = 1 [17:27:03.077] plan(): Setting new future strategy stack: [17:27:03.078] List of future strategies: [17:27:03.078] 1. sequential: [17:27:03.078] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.078] - tweaked: FALSE [17:27:03.078] - call: plan(strategy) [17:27:03.078] plan(): nbrOfWorkers() = 1 [17:27:03.078] SequentialFuture started (and completed) [17:27:03.079] - Launch lazy future ... done [17:27:03.079] 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:27:03.079] 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:27:03.080] 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:27:03.082] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.082] Searching for globals ... DONE [17:27:03.083] Resolving globals: TRUE [17:27:03.083] Resolving any globals that are futures ... [17:27:03.083] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.083] Resolving any globals that are futures ... DONE [17:27:03.084] Resolving futures part of globals (recursively) ... [17:27:03.084] resolve() on list ... [17:27:03.084] recursive: 99 [17:27:03.084] length: 2 [17:27:03.084] elements: 'a', 'ii' [17:27:03.085] length: 1 (resolved future 1) [17:27:03.085] length: 0 (resolved future 2) [17:27:03.085] resolve() on list ... DONE [17:27:03.085] - globals: [2] 'a', 'ii' [17:27:03.085] Resolving futures part of globals (recursively) ... DONE [17:27:03.150] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:03.151] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:03.152] - globals: [2] 'a', 'ii' [17:27:03.152] [17:27:03.152] getGlobalsAndPackages() ... DONE [17:27:03.153] run() for 'Future' ... [17:27:03.153] - state: 'created' [17:27:03.153] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.154] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.154] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.154] - Field: 'label' [17:27:03.155] - Field: 'local' [17:27:03.155] - Field: 'owner' [17:27:03.155] - Field: 'envir' [17:27:03.155] - Field: 'packages' [17:27:03.156] - Field: 'gc' [17:27:03.156] - Field: 'conditions' [17:27:03.156] - Field: 'expr' [17:27:03.156] - Field: 'uuid' [17:27:03.157] - Field: 'seed' [17:27:03.157] - Field: 'version' [17:27:03.157] - Field: 'result' [17:27:03.157] - Field: 'asynchronous' [17:27:03.158] - Field: 'calls' [17:27:03.158] - Field: 'globals' [17:27:03.158] - Field: 'stdout' [17:27:03.158] - Field: 'earlySignal' [17:27:03.158] - Field: 'lazy' [17:27:03.159] - Field: 'state' [17:27:03.159] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.159] - Launch lazy future ... [17:27:03.159] Packages needed by the future expression (n = 0): [17:27:03.160] Packages needed by future strategies (n = 0): [17:27:03.161] { [17:27:03.161] { [17:27:03.161] { [17:27:03.161] ...future.startTime <- base::Sys.time() [17:27:03.161] { [17:27:03.161] { [17:27:03.161] { [17:27:03.161] base::local({ [17:27:03.161] has_future <- base::requireNamespace("future", [17:27:03.161] quietly = TRUE) [17:27:03.161] if (has_future) { [17:27:03.161] ns <- base::getNamespace("future") [17:27:03.161] version <- ns[[".package"]][["version"]] [17:27:03.161] if (is.null(version)) [17:27:03.161] version <- utils::packageVersion("future") [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] version <- NULL [17:27:03.161] } [17:27:03.161] if (!has_future || version < "1.8.0") { [17:27:03.161] info <- base::c(r_version = base::gsub("R version ", [17:27:03.161] "", base::R.version$version.string), [17:27:03.161] platform = base::sprintf("%s (%s-bit)", [17:27:03.161] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.161] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.161] "release", "version")], collapse = " "), [17:27:03.161] hostname = base::Sys.info()[["nodename"]]) [17:27:03.161] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.161] info) [17:27:03.161] info <- base::paste(info, collapse = "; ") [17:27:03.161] if (!has_future) { [17:27:03.161] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.161] info) [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.161] info, version) [17:27:03.161] } [17:27:03.161] base::stop(msg) [17:27:03.161] } [17:27:03.161] }) [17:27:03.161] } [17:27:03.161] ...future.strategy.old <- future::plan("list") [17:27:03.161] options(future.plan = NULL) [17:27:03.161] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.161] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.161] } [17:27:03.161] ...future.workdir <- getwd() [17:27:03.161] } [17:27:03.161] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.161] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.161] } [17:27:03.161] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.161] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.161] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.161] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.161] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.161] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.161] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.161] base::names(...future.oldOptions)) [17:27:03.161] } [17:27:03.161] if (FALSE) { [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] if (TRUE) { [17:27:03.161] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.161] open = "w") [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.161] windows = "NUL", "/dev/null"), open = "w") [17:27:03.161] } [17:27:03.161] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.161] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.161] base::sink(type = "output", split = FALSE) [17:27:03.161] base::close(...future.stdout) [17:27:03.161] }, add = TRUE) [17:27:03.161] } [17:27:03.161] ...future.frame <- base::sys.nframe() [17:27:03.161] ...future.conditions <- base::list() [17:27:03.161] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.161] if (FALSE) { [17:27:03.161] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.161] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.161] } [17:27:03.161] ...future.result <- base::tryCatch({ [17:27:03.161] base::withCallingHandlers({ [17:27:03.161] ...future.value <- base::withVisible(base::local({ [17:27:03.161] b <- a * ii [17:27:03.161] a <- 0 [17:27:03.161] b [17:27:03.161] })) [17:27:03.161] future::FutureResult(value = ...future.value$value, [17:27:03.161] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.161] ...future.rng), globalenv = if (FALSE) [17:27:03.161] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.161] ...future.globalenv.names)) [17:27:03.161] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.161] }, condition = base::local({ [17:27:03.161] c <- base::c [17:27:03.161] inherits <- base::inherits [17:27:03.161] invokeRestart <- base::invokeRestart [17:27:03.161] length <- base::length [17:27:03.161] list <- base::list [17:27:03.161] seq.int <- base::seq.int [17:27:03.161] signalCondition <- base::signalCondition [17:27:03.161] sys.calls <- base::sys.calls [17:27:03.161] `[[` <- base::`[[` [17:27:03.161] `+` <- base::`+` [17:27:03.161] `<<-` <- base::`<<-` [17:27:03.161] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.161] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.161] 3L)] [17:27:03.161] } [17:27:03.161] function(cond) { [17:27:03.161] is_error <- inherits(cond, "error") [17:27:03.161] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.161] NULL) [17:27:03.161] if (is_error) { [17:27:03.161] sessionInformation <- function() { [17:27:03.161] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.161] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.161] search = base::search(), system = base::Sys.info()) [17:27:03.161] } [17:27:03.161] ...future.conditions[[length(...future.conditions) + [17:27:03.161] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.161] cond$call), session = sessionInformation(), [17:27:03.161] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.161] signalCondition(cond) [17:27:03.161] } [17:27:03.161] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.161] "immediateCondition"))) { [17:27:03.161] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.161] ...future.conditions[[length(...future.conditions) + [17:27:03.161] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.161] if (TRUE && !signal) { [17:27:03.161] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.161] { [17:27:03.161] inherits <- base::inherits [17:27:03.161] invokeRestart <- base::invokeRestart [17:27:03.161] is.null <- base::is.null [17:27:03.161] muffled <- FALSE [17:27:03.161] if (inherits(cond, "message")) { [17:27:03.161] muffled <- grepl(pattern, "muffleMessage") [17:27:03.161] if (muffled) [17:27:03.161] invokeRestart("muffleMessage") [17:27:03.161] } [17:27:03.161] else if (inherits(cond, "warning")) { [17:27:03.161] muffled <- grepl(pattern, "muffleWarning") [17:27:03.161] if (muffled) [17:27:03.161] invokeRestart("muffleWarning") [17:27:03.161] } [17:27:03.161] else if (inherits(cond, "condition")) { [17:27:03.161] if (!is.null(pattern)) { [17:27:03.161] computeRestarts <- base::computeRestarts [17:27:03.161] grepl <- base::grepl [17:27:03.161] restarts <- computeRestarts(cond) [17:27:03.161] for (restart in restarts) { [17:27:03.161] name <- restart$name [17:27:03.161] if (is.null(name)) [17:27:03.161] next [17:27:03.161] if (!grepl(pattern, name)) [17:27:03.161] next [17:27:03.161] invokeRestart(restart) [17:27:03.161] muffled <- TRUE [17:27:03.161] break [17:27:03.161] } [17:27:03.161] } [17:27:03.161] } [17:27:03.161] invisible(muffled) [17:27:03.161] } [17:27:03.161] muffleCondition(cond, pattern = "^muffle") [17:27:03.161] } [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] if (TRUE) { [17:27:03.161] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.161] { [17:27:03.161] inherits <- base::inherits [17:27:03.161] invokeRestart <- base::invokeRestart [17:27:03.161] is.null <- base::is.null [17:27:03.161] muffled <- FALSE [17:27:03.161] if (inherits(cond, "message")) { [17:27:03.161] muffled <- grepl(pattern, "muffleMessage") [17:27:03.161] if (muffled) [17:27:03.161] invokeRestart("muffleMessage") [17:27:03.161] } [17:27:03.161] else if (inherits(cond, "warning")) { [17:27:03.161] muffled <- grepl(pattern, "muffleWarning") [17:27:03.161] if (muffled) [17:27:03.161] invokeRestart("muffleWarning") [17:27:03.161] } [17:27:03.161] else if (inherits(cond, "condition")) { [17:27:03.161] if (!is.null(pattern)) { [17:27:03.161] computeRestarts <- base::computeRestarts [17:27:03.161] grepl <- base::grepl [17:27:03.161] restarts <- computeRestarts(cond) [17:27:03.161] for (restart in restarts) { [17:27:03.161] name <- restart$name [17:27:03.161] if (is.null(name)) [17:27:03.161] next [17:27:03.161] if (!grepl(pattern, name)) [17:27:03.161] next [17:27:03.161] invokeRestart(restart) [17:27:03.161] muffled <- TRUE [17:27:03.161] break [17:27:03.161] } [17:27:03.161] } [17:27:03.161] } [17:27:03.161] invisible(muffled) [17:27:03.161] } [17:27:03.161] muffleCondition(cond, pattern = "^muffle") [17:27:03.161] } [17:27:03.161] } [17:27:03.161] } [17:27:03.161] })) [17:27:03.161] }, error = function(ex) { [17:27:03.161] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.161] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.161] ...future.rng), started = ...future.startTime, [17:27:03.161] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.161] version = "1.8"), class = "FutureResult") [17:27:03.161] }, finally = { [17:27:03.161] if (!identical(...future.workdir, getwd())) [17:27:03.161] setwd(...future.workdir) [17:27:03.161] { [17:27:03.161] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.161] ...future.oldOptions$nwarnings <- NULL [17:27:03.161] } [17:27:03.161] base::options(...future.oldOptions) [17:27:03.161] if (.Platform$OS.type == "windows") { [17:27:03.161] old_names <- names(...future.oldEnvVars) [17:27:03.161] envs <- base::Sys.getenv() [17:27:03.161] names <- names(envs) [17:27:03.161] common <- intersect(names, old_names) [17:27:03.161] added <- setdiff(names, old_names) [17:27:03.161] removed <- setdiff(old_names, names) [17:27:03.161] changed <- common[...future.oldEnvVars[common] != [17:27:03.161] envs[common]] [17:27:03.161] NAMES <- toupper(changed) [17:27:03.161] args <- list() [17:27:03.161] for (kk in seq_along(NAMES)) { [17:27:03.161] name <- changed[[kk]] [17:27:03.161] NAME <- NAMES[[kk]] [17:27:03.161] if (name != NAME && is.element(NAME, old_names)) [17:27:03.161] next [17:27:03.161] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.161] } [17:27:03.161] NAMES <- toupper(added) [17:27:03.161] for (kk in seq_along(NAMES)) { [17:27:03.161] name <- added[[kk]] [17:27:03.161] NAME <- NAMES[[kk]] [17:27:03.161] if (name != NAME && is.element(NAME, old_names)) [17:27:03.161] next [17:27:03.161] args[[name]] <- "" [17:27:03.161] } [17:27:03.161] NAMES <- toupper(removed) [17:27:03.161] for (kk in seq_along(NAMES)) { [17:27:03.161] name <- removed[[kk]] [17:27:03.161] NAME <- NAMES[[kk]] [17:27:03.161] if (name != NAME && is.element(NAME, old_names)) [17:27:03.161] next [17:27:03.161] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.161] } [17:27:03.161] if (length(args) > 0) [17:27:03.161] base::do.call(base::Sys.setenv, args = args) [17:27:03.161] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.161] } [17:27:03.161] { [17:27:03.161] if (base::length(...future.futureOptionsAdded) > [17:27:03.161] 0L) { [17:27:03.161] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.161] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.161] base::options(opts) [17:27:03.161] } [17:27:03.161] { [17:27:03.161] { [17:27:03.161] NULL [17:27:03.161] RNGkind("Mersenne-Twister") [17:27:03.161] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.161] inherits = FALSE) [17:27:03.161] } [17:27:03.161] options(future.plan = NULL) [17:27:03.161] if (is.na(NA_character_)) [17:27:03.161] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.161] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.161] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.161] .init = FALSE) [17:27:03.161] } [17:27:03.161] } [17:27:03.161] } [17:27:03.161] }) [17:27:03.161] if (TRUE) { [17:27:03.161] base::sink(type = "output", split = FALSE) [17:27:03.161] if (TRUE) { [17:27:03.161] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.161] } [17:27:03.161] else { [17:27:03.161] ...future.result["stdout"] <- base::list(NULL) [17:27:03.161] } [17:27:03.161] base::close(...future.stdout) [17:27:03.161] ...future.stdout <- NULL [17:27:03.161] } [17:27:03.161] ...future.result$conditions <- ...future.conditions [17:27:03.161] ...future.result$finished <- base::Sys.time() [17:27:03.161] ...future.result [17:27:03.161] } [17:27:03.165] assign_globals() ... [17:27:03.165] List of 2 [17:27:03.165] $ a : num 1 [17:27:03.165] $ ii: int 2 [17:27:03.165] - attr(*, "where")=List of 2 [17:27:03.165] ..$ a : [17:27:03.165] ..$ ii: [17:27:03.165] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.165] - attr(*, "resolved")= logi TRUE [17:27:03.165] - attr(*, "total_size")= num 112 [17:27:03.165] - attr(*, "already-done")= logi TRUE [17:27:03.170] - copied 'a' to environment [17:27:03.171] - copied 'ii' to environment [17:27:03.171] assign_globals() ... done [17:27:03.171] plan(): Setting new future strategy stack: [17:27:03.172] List of future strategies: [17:27:03.172] 1. sequential: [17:27:03.172] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.172] - tweaked: FALSE [17:27:03.172] - call: NULL [17:27:03.172] plan(): nbrOfWorkers() = 1 [17:27:03.174] plan(): Setting new future strategy stack: [17:27:03.174] List of future strategies: [17:27:03.174] 1. sequential: [17:27:03.174] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.174] - tweaked: FALSE [17:27:03.174] - call: plan(strategy) [17:27:03.175] plan(): nbrOfWorkers() = 1 [17:27:03.175] SequentialFuture started (and completed) [17:27:03.176] - Launch lazy future ... done [17:27:03.176] 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:27:03.177] 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:27:03.177] 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:27:03.181] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.181] Searching for globals ... DONE [17:27:03.181] Resolving globals: TRUE [17:27:03.181] Resolving any globals that are futures ... [17:27:03.182] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.182] Resolving any globals that are futures ... DONE [17:27:03.182] Resolving futures part of globals (recursively) ... [17:27:03.183] resolve() on list ... [17:27:03.183] recursive: 99 [17:27:03.183] length: 2 [17:27:03.183] elements: 'a', 'ii' [17:27:03.184] length: 1 (resolved future 1) [17:27:03.184] length: 0 (resolved future 2) [17:27:03.184] resolve() on list ... DONE [17:27:03.184] - globals: [2] 'a', 'ii' [17:27:03.185] Resolving futures part of globals (recursively) ... DONE [17:27:03.185] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:03.186] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:03.186] - globals: [2] 'a', 'ii' [17:27:03.186] [17:27:03.186] getGlobalsAndPackages() ... DONE [17:27:03.187] run() for 'Future' ... [17:27:03.187] - state: 'created' [17:27:03.187] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.188] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.188] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.188] - Field: 'label' [17:27:03.189] - Field: 'local' [17:27:03.189] - Field: 'owner' [17:27:03.189] - Field: 'envir' [17:27:03.190] - Field: 'packages' [17:27:03.190] - Field: 'gc' [17:27:03.190] - Field: 'conditions' [17:27:03.190] - Field: 'expr' [17:27:03.190] - Field: 'uuid' [17:27:03.191] - Field: 'seed' [17:27:03.191] - Field: 'version' [17:27:03.191] - Field: 'result' [17:27:03.191] - Field: 'asynchronous' [17:27:03.192] - Field: 'calls' [17:27:03.192] - Field: 'globals' [17:27:03.192] - Field: 'stdout' [17:27:03.192] - Field: 'earlySignal' [17:27:03.193] - Field: 'lazy' [17:27:03.193] - Field: 'state' [17:27:03.193] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.193] - Launch lazy future ... [17:27:03.194] Packages needed by the future expression (n = 0): [17:27:03.194] Packages needed by future strategies (n = 0): [17:27:03.195] { [17:27:03.195] { [17:27:03.195] { [17:27:03.195] ...future.startTime <- base::Sys.time() [17:27:03.195] { [17:27:03.195] { [17:27:03.195] { [17:27:03.195] base::local({ [17:27:03.195] has_future <- base::requireNamespace("future", [17:27:03.195] quietly = TRUE) [17:27:03.195] if (has_future) { [17:27:03.195] ns <- base::getNamespace("future") [17:27:03.195] version <- ns[[".package"]][["version"]] [17:27:03.195] if (is.null(version)) [17:27:03.195] version <- utils::packageVersion("future") [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] version <- NULL [17:27:03.195] } [17:27:03.195] if (!has_future || version < "1.8.0") { [17:27:03.195] info <- base::c(r_version = base::gsub("R version ", [17:27:03.195] "", base::R.version$version.string), [17:27:03.195] platform = base::sprintf("%s (%s-bit)", [17:27:03.195] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.195] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.195] "release", "version")], collapse = " "), [17:27:03.195] hostname = base::Sys.info()[["nodename"]]) [17:27:03.195] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.195] info) [17:27:03.195] info <- base::paste(info, collapse = "; ") [17:27:03.195] if (!has_future) { [17:27:03.195] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.195] info) [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.195] info, version) [17:27:03.195] } [17:27:03.195] base::stop(msg) [17:27:03.195] } [17:27:03.195] }) [17:27:03.195] } [17:27:03.195] ...future.strategy.old <- future::plan("list") [17:27:03.195] options(future.plan = NULL) [17:27:03.195] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.195] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.195] } [17:27:03.195] ...future.workdir <- getwd() [17:27:03.195] } [17:27:03.195] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.195] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.195] } [17:27:03.195] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.195] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.195] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.195] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.195] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.195] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.195] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.195] base::names(...future.oldOptions)) [17:27:03.195] } [17:27:03.195] if (FALSE) { [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] if (TRUE) { [17:27:03.195] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.195] open = "w") [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.195] windows = "NUL", "/dev/null"), open = "w") [17:27:03.195] } [17:27:03.195] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.195] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.195] base::sink(type = "output", split = FALSE) [17:27:03.195] base::close(...future.stdout) [17:27:03.195] }, add = TRUE) [17:27:03.195] } [17:27:03.195] ...future.frame <- base::sys.nframe() [17:27:03.195] ...future.conditions <- base::list() [17:27:03.195] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.195] if (FALSE) { [17:27:03.195] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.195] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.195] } [17:27:03.195] ...future.result <- base::tryCatch({ [17:27:03.195] base::withCallingHandlers({ [17:27:03.195] ...future.value <- base::withVisible(base::local({ [17:27:03.195] b <- a * ii [17:27:03.195] a <- 0 [17:27:03.195] b [17:27:03.195] })) [17:27:03.195] future::FutureResult(value = ...future.value$value, [17:27:03.195] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.195] ...future.rng), globalenv = if (FALSE) [17:27:03.195] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.195] ...future.globalenv.names)) [17:27:03.195] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.195] }, condition = base::local({ [17:27:03.195] c <- base::c [17:27:03.195] inherits <- base::inherits [17:27:03.195] invokeRestart <- base::invokeRestart [17:27:03.195] length <- base::length [17:27:03.195] list <- base::list [17:27:03.195] seq.int <- base::seq.int [17:27:03.195] signalCondition <- base::signalCondition [17:27:03.195] sys.calls <- base::sys.calls [17:27:03.195] `[[` <- base::`[[` [17:27:03.195] `+` <- base::`+` [17:27:03.195] `<<-` <- base::`<<-` [17:27:03.195] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.195] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.195] 3L)] [17:27:03.195] } [17:27:03.195] function(cond) { [17:27:03.195] is_error <- inherits(cond, "error") [17:27:03.195] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.195] NULL) [17:27:03.195] if (is_error) { [17:27:03.195] sessionInformation <- function() { [17:27:03.195] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.195] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.195] search = base::search(), system = base::Sys.info()) [17:27:03.195] } [17:27:03.195] ...future.conditions[[length(...future.conditions) + [17:27:03.195] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.195] cond$call), session = sessionInformation(), [17:27:03.195] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.195] signalCondition(cond) [17:27:03.195] } [17:27:03.195] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.195] "immediateCondition"))) { [17:27:03.195] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.195] ...future.conditions[[length(...future.conditions) + [17:27:03.195] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.195] if (TRUE && !signal) { [17:27:03.195] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.195] { [17:27:03.195] inherits <- base::inherits [17:27:03.195] invokeRestart <- base::invokeRestart [17:27:03.195] is.null <- base::is.null [17:27:03.195] muffled <- FALSE [17:27:03.195] if (inherits(cond, "message")) { [17:27:03.195] muffled <- grepl(pattern, "muffleMessage") [17:27:03.195] if (muffled) [17:27:03.195] invokeRestart("muffleMessage") [17:27:03.195] } [17:27:03.195] else if (inherits(cond, "warning")) { [17:27:03.195] muffled <- grepl(pattern, "muffleWarning") [17:27:03.195] if (muffled) [17:27:03.195] invokeRestart("muffleWarning") [17:27:03.195] } [17:27:03.195] else if (inherits(cond, "condition")) { [17:27:03.195] if (!is.null(pattern)) { [17:27:03.195] computeRestarts <- base::computeRestarts [17:27:03.195] grepl <- base::grepl [17:27:03.195] restarts <- computeRestarts(cond) [17:27:03.195] for (restart in restarts) { [17:27:03.195] name <- restart$name [17:27:03.195] if (is.null(name)) [17:27:03.195] next [17:27:03.195] if (!grepl(pattern, name)) [17:27:03.195] next [17:27:03.195] invokeRestart(restart) [17:27:03.195] muffled <- TRUE [17:27:03.195] break [17:27:03.195] } [17:27:03.195] } [17:27:03.195] } [17:27:03.195] invisible(muffled) [17:27:03.195] } [17:27:03.195] muffleCondition(cond, pattern = "^muffle") [17:27:03.195] } [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] if (TRUE) { [17:27:03.195] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.195] { [17:27:03.195] inherits <- base::inherits [17:27:03.195] invokeRestart <- base::invokeRestart [17:27:03.195] is.null <- base::is.null [17:27:03.195] muffled <- FALSE [17:27:03.195] if (inherits(cond, "message")) { [17:27:03.195] muffled <- grepl(pattern, "muffleMessage") [17:27:03.195] if (muffled) [17:27:03.195] invokeRestart("muffleMessage") [17:27:03.195] } [17:27:03.195] else if (inherits(cond, "warning")) { [17:27:03.195] muffled <- grepl(pattern, "muffleWarning") [17:27:03.195] if (muffled) [17:27:03.195] invokeRestart("muffleWarning") [17:27:03.195] } [17:27:03.195] else if (inherits(cond, "condition")) { [17:27:03.195] if (!is.null(pattern)) { [17:27:03.195] computeRestarts <- base::computeRestarts [17:27:03.195] grepl <- base::grepl [17:27:03.195] restarts <- computeRestarts(cond) [17:27:03.195] for (restart in restarts) { [17:27:03.195] name <- restart$name [17:27:03.195] if (is.null(name)) [17:27:03.195] next [17:27:03.195] if (!grepl(pattern, name)) [17:27:03.195] next [17:27:03.195] invokeRestart(restart) [17:27:03.195] muffled <- TRUE [17:27:03.195] break [17:27:03.195] } [17:27:03.195] } [17:27:03.195] } [17:27:03.195] invisible(muffled) [17:27:03.195] } [17:27:03.195] muffleCondition(cond, pattern = "^muffle") [17:27:03.195] } [17:27:03.195] } [17:27:03.195] } [17:27:03.195] })) [17:27:03.195] }, error = function(ex) { [17:27:03.195] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.195] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.195] ...future.rng), started = ...future.startTime, [17:27:03.195] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.195] version = "1.8"), class = "FutureResult") [17:27:03.195] }, finally = { [17:27:03.195] if (!identical(...future.workdir, getwd())) [17:27:03.195] setwd(...future.workdir) [17:27:03.195] { [17:27:03.195] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.195] ...future.oldOptions$nwarnings <- NULL [17:27:03.195] } [17:27:03.195] base::options(...future.oldOptions) [17:27:03.195] if (.Platform$OS.type == "windows") { [17:27:03.195] old_names <- names(...future.oldEnvVars) [17:27:03.195] envs <- base::Sys.getenv() [17:27:03.195] names <- names(envs) [17:27:03.195] common <- intersect(names, old_names) [17:27:03.195] added <- setdiff(names, old_names) [17:27:03.195] removed <- setdiff(old_names, names) [17:27:03.195] changed <- common[...future.oldEnvVars[common] != [17:27:03.195] envs[common]] [17:27:03.195] NAMES <- toupper(changed) [17:27:03.195] args <- list() [17:27:03.195] for (kk in seq_along(NAMES)) { [17:27:03.195] name <- changed[[kk]] [17:27:03.195] NAME <- NAMES[[kk]] [17:27:03.195] if (name != NAME && is.element(NAME, old_names)) [17:27:03.195] next [17:27:03.195] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.195] } [17:27:03.195] NAMES <- toupper(added) [17:27:03.195] for (kk in seq_along(NAMES)) { [17:27:03.195] name <- added[[kk]] [17:27:03.195] NAME <- NAMES[[kk]] [17:27:03.195] if (name != NAME && is.element(NAME, old_names)) [17:27:03.195] next [17:27:03.195] args[[name]] <- "" [17:27:03.195] } [17:27:03.195] NAMES <- toupper(removed) [17:27:03.195] for (kk in seq_along(NAMES)) { [17:27:03.195] name <- removed[[kk]] [17:27:03.195] NAME <- NAMES[[kk]] [17:27:03.195] if (name != NAME && is.element(NAME, old_names)) [17:27:03.195] next [17:27:03.195] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.195] } [17:27:03.195] if (length(args) > 0) [17:27:03.195] base::do.call(base::Sys.setenv, args = args) [17:27:03.195] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.195] } [17:27:03.195] { [17:27:03.195] if (base::length(...future.futureOptionsAdded) > [17:27:03.195] 0L) { [17:27:03.195] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.195] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.195] base::options(opts) [17:27:03.195] } [17:27:03.195] { [17:27:03.195] { [17:27:03.195] NULL [17:27:03.195] RNGkind("Mersenne-Twister") [17:27:03.195] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.195] inherits = FALSE) [17:27:03.195] } [17:27:03.195] options(future.plan = NULL) [17:27:03.195] if (is.na(NA_character_)) [17:27:03.195] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.195] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.195] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.195] .init = FALSE) [17:27:03.195] } [17:27:03.195] } [17:27:03.195] } [17:27:03.195] }) [17:27:03.195] if (TRUE) { [17:27:03.195] base::sink(type = "output", split = FALSE) [17:27:03.195] if (TRUE) { [17:27:03.195] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.195] } [17:27:03.195] else { [17:27:03.195] ...future.result["stdout"] <- base::list(NULL) [17:27:03.195] } [17:27:03.195] base::close(...future.stdout) [17:27:03.195] ...future.stdout <- NULL [17:27:03.195] } [17:27:03.195] ...future.result$conditions <- ...future.conditions [17:27:03.195] ...future.result$finished <- base::Sys.time() [17:27:03.195] ...future.result [17:27:03.195] } [17:27:03.200] assign_globals() ... [17:27:03.201] List of 2 [17:27:03.201] $ a : num 1 [17:27:03.201] $ ii: int 3 [17:27:03.201] - attr(*, "where")=List of 2 [17:27:03.201] ..$ a : [17:27:03.201] ..$ ii: [17:27:03.201] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.201] - attr(*, "resolved")= logi TRUE [17:27:03.201] - attr(*, "total_size")= num 112 [17:27:03.201] - attr(*, "already-done")= logi TRUE [17:27:03.206] - copied 'a' to environment [17:27:03.206] - copied 'ii' to environment [17:27:03.206] assign_globals() ... done [17:27:03.207] plan(): Setting new future strategy stack: [17:27:03.207] List of future strategies: [17:27:03.207] 1. sequential: [17:27:03.207] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.207] - tweaked: FALSE [17:27:03.207] - call: NULL [17:27:03.207] plan(): nbrOfWorkers() = 1 [17:27:03.209] plan(): Setting new future strategy stack: [17:27:03.209] List of future strategies: [17:27:03.209] 1. sequential: [17:27:03.209] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.209] - tweaked: FALSE [17:27:03.209] - call: plan(strategy) [17:27:03.210] plan(): nbrOfWorkers() = 1 [17:27:03.210] SequentialFuture started (and completed) [17:27:03.210] - Launch lazy future ... done [17:27:03.211] 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:27:03.212] 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:27:03.213] 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:27:03.216] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.216] Searching for globals ... DONE [17:27:03.216] Resolving globals: TRUE [17:27:03.216] Resolving any globals that are futures ... [17:27:03.216] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.217] Resolving any globals that are futures ... DONE [17:27:03.217] Resolving futures part of globals (recursively) ... [17:27:03.218] resolve() on list ... [17:27:03.218] recursive: 99 [17:27:03.218] length: 2 [17:27:03.219] elements: 'a', 'ii' [17:27:03.219] length: 1 (resolved future 1) [17:27:03.219] length: 0 (resolved future 2) [17:27:03.219] resolve() on list ... DONE [17:27:03.219] - globals: [2] 'a', 'ii' [17:27:03.220] Resolving futures part of globals (recursively) ... DONE [17:27:03.220] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:03.221] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:03.221] - globals: [2] 'a', 'ii' [17:27:03.221] [17:27:03.221] 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:27:03.222] 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:27:03.223] 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:27:03.226] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.226] Searching for globals ... DONE [17:27:03.226] Resolving globals: TRUE [17:27:03.226] Resolving any globals that are futures ... [17:27:03.227] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.227] Resolving any globals that are futures ... DONE [17:27:03.227] Resolving futures part of globals (recursively) ... [17:27:03.228] resolve() on list ... [17:27:03.228] recursive: 99 [17:27:03.228] length: 2 [17:27:03.228] elements: 'a', 'ii' [17:27:03.229] length: 1 (resolved future 1) [17:27:03.229] length: 0 (resolved future 2) [17:27:03.229] resolve() on list ... DONE [17:27:03.229] - globals: [2] 'a', 'ii' [17:27:03.229] Resolving futures part of globals (recursively) ... DONE [17:27:03.230] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:03.230] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:03.231] - globals: [2] 'a', 'ii' [17:27:03.231] [17:27:03.231] 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:27:03.232] 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:27:03.232] 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:27:03.236] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.237] Searching for globals ... DONE [17:27:03.237] Resolving globals: TRUE [17:27:03.237] Resolving any globals that are futures ... [17:27:03.237] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:03.237] Resolving any globals that are futures ... DONE [17:27:03.238] Resolving futures part of globals (recursively) ... [17:27:03.238] resolve() on list ... [17:27:03.239] recursive: 99 [17:27:03.239] length: 2 [17:27:03.239] elements: 'a', 'ii' [17:27:03.239] length: 1 (resolved future 1) [17:27:03.239] length: 0 (resolved future 2) [17:27:03.240] resolve() on list ... DONE [17:27:03.240] - globals: [2] 'a', 'ii' [17:27:03.240] Resolving futures part of globals (recursively) ... DONE [17:27:03.240] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:03.241] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:03.241] - globals: [2] 'a', 'ii' [17:27:03.242] [17:27:03.242] getGlobalsAndPackages() ... DONE [17:27:03.242] run() for 'Future' ... [17:27:03.243] - state: 'created' [17:27:03.243] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.243] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.244] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.244] - Field: 'label' [17:27:03.244] - Field: 'local' [17:27:03.244] - Field: 'owner' [17:27:03.244] - Field: 'envir' [17:27:03.244] - Field: 'packages' [17:27:03.245] - Field: 'gc' [17:27:03.245] - Field: 'conditions' [17:27:03.245] - Field: 'expr' [17:27:03.245] - Field: 'uuid' [17:27:03.245] - Field: 'seed' [17:27:03.246] - Field: 'version' [17:27:03.246] - Field: 'result' [17:27:03.246] - Field: 'asynchronous' [17:27:03.246] - Field: 'calls' [17:27:03.246] - Field: 'globals' [17:27:03.247] - Field: 'stdout' [17:27:03.247] - Field: 'earlySignal' [17:27:03.247] - Field: 'lazy' [17:27:03.247] - Field: 'state' [17:27:03.247] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.247] - Launch lazy future ... [17:27:03.248] Packages needed by the future expression (n = 0): [17:27:03.248] Packages needed by future strategies (n = 0): [17:27:03.249] { [17:27:03.249] { [17:27:03.249] { [17:27:03.249] ...future.startTime <- base::Sys.time() [17:27:03.249] { [17:27:03.249] { [17:27:03.249] { [17:27:03.249] base::local({ [17:27:03.249] has_future <- base::requireNamespace("future", [17:27:03.249] quietly = TRUE) [17:27:03.249] if (has_future) { [17:27:03.249] ns <- base::getNamespace("future") [17:27:03.249] version <- ns[[".package"]][["version"]] [17:27:03.249] if (is.null(version)) [17:27:03.249] version <- utils::packageVersion("future") [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] version <- NULL [17:27:03.249] } [17:27:03.249] if (!has_future || version < "1.8.0") { [17:27:03.249] info <- base::c(r_version = base::gsub("R version ", [17:27:03.249] "", base::R.version$version.string), [17:27:03.249] platform = base::sprintf("%s (%s-bit)", [17:27:03.249] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.249] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.249] "release", "version")], collapse = " "), [17:27:03.249] hostname = base::Sys.info()[["nodename"]]) [17:27:03.249] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.249] info) [17:27:03.249] info <- base::paste(info, collapse = "; ") [17:27:03.249] if (!has_future) { [17:27:03.249] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.249] info) [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.249] info, version) [17:27:03.249] } [17:27:03.249] base::stop(msg) [17:27:03.249] } [17:27:03.249] }) [17:27:03.249] } [17:27:03.249] ...future.strategy.old <- future::plan("list") [17:27:03.249] options(future.plan = NULL) [17:27:03.249] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.249] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.249] } [17:27:03.249] ...future.workdir <- getwd() [17:27:03.249] } [17:27:03.249] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.249] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.249] } [17:27:03.249] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.249] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.249] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.249] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.249] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.249] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.249] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.249] base::names(...future.oldOptions)) [17:27:03.249] } [17:27:03.249] if (FALSE) { [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] if (TRUE) { [17:27:03.249] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.249] open = "w") [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.249] windows = "NUL", "/dev/null"), open = "w") [17:27:03.249] } [17:27:03.249] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.249] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.249] base::sink(type = "output", split = FALSE) [17:27:03.249] base::close(...future.stdout) [17:27:03.249] }, add = TRUE) [17:27:03.249] } [17:27:03.249] ...future.frame <- base::sys.nframe() [17:27:03.249] ...future.conditions <- base::list() [17:27:03.249] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.249] if (FALSE) { [17:27:03.249] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.249] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.249] } [17:27:03.249] ...future.result <- base::tryCatch({ [17:27:03.249] base::withCallingHandlers({ [17:27:03.249] ...future.value <- base::withVisible(base::local({ [17:27:03.249] b <- a * ii [17:27:03.249] a <- 0 [17:27:03.249] b [17:27:03.249] })) [17:27:03.249] future::FutureResult(value = ...future.value$value, [17:27:03.249] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.249] ...future.rng), globalenv = if (FALSE) [17:27:03.249] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.249] ...future.globalenv.names)) [17:27:03.249] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.249] }, condition = base::local({ [17:27:03.249] c <- base::c [17:27:03.249] inherits <- base::inherits [17:27:03.249] invokeRestart <- base::invokeRestart [17:27:03.249] length <- base::length [17:27:03.249] list <- base::list [17:27:03.249] seq.int <- base::seq.int [17:27:03.249] signalCondition <- base::signalCondition [17:27:03.249] sys.calls <- base::sys.calls [17:27:03.249] `[[` <- base::`[[` [17:27:03.249] `+` <- base::`+` [17:27:03.249] `<<-` <- base::`<<-` [17:27:03.249] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.249] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.249] 3L)] [17:27:03.249] } [17:27:03.249] function(cond) { [17:27:03.249] is_error <- inherits(cond, "error") [17:27:03.249] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.249] NULL) [17:27:03.249] if (is_error) { [17:27:03.249] sessionInformation <- function() { [17:27:03.249] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.249] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.249] search = base::search(), system = base::Sys.info()) [17:27:03.249] } [17:27:03.249] ...future.conditions[[length(...future.conditions) + [17:27:03.249] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.249] cond$call), session = sessionInformation(), [17:27:03.249] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.249] signalCondition(cond) [17:27:03.249] } [17:27:03.249] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.249] "immediateCondition"))) { [17:27:03.249] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.249] ...future.conditions[[length(...future.conditions) + [17:27:03.249] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.249] if (TRUE && !signal) { [17:27:03.249] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.249] { [17:27:03.249] inherits <- base::inherits [17:27:03.249] invokeRestart <- base::invokeRestart [17:27:03.249] is.null <- base::is.null [17:27:03.249] muffled <- FALSE [17:27:03.249] if (inherits(cond, "message")) { [17:27:03.249] muffled <- grepl(pattern, "muffleMessage") [17:27:03.249] if (muffled) [17:27:03.249] invokeRestart("muffleMessage") [17:27:03.249] } [17:27:03.249] else if (inherits(cond, "warning")) { [17:27:03.249] muffled <- grepl(pattern, "muffleWarning") [17:27:03.249] if (muffled) [17:27:03.249] invokeRestart("muffleWarning") [17:27:03.249] } [17:27:03.249] else if (inherits(cond, "condition")) { [17:27:03.249] if (!is.null(pattern)) { [17:27:03.249] computeRestarts <- base::computeRestarts [17:27:03.249] grepl <- base::grepl [17:27:03.249] restarts <- computeRestarts(cond) [17:27:03.249] for (restart in restarts) { [17:27:03.249] name <- restart$name [17:27:03.249] if (is.null(name)) [17:27:03.249] next [17:27:03.249] if (!grepl(pattern, name)) [17:27:03.249] next [17:27:03.249] invokeRestart(restart) [17:27:03.249] muffled <- TRUE [17:27:03.249] break [17:27:03.249] } [17:27:03.249] } [17:27:03.249] } [17:27:03.249] invisible(muffled) [17:27:03.249] } [17:27:03.249] muffleCondition(cond, pattern = "^muffle") [17:27:03.249] } [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] if (TRUE) { [17:27:03.249] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.249] { [17:27:03.249] inherits <- base::inherits [17:27:03.249] invokeRestart <- base::invokeRestart [17:27:03.249] is.null <- base::is.null [17:27:03.249] muffled <- FALSE [17:27:03.249] if (inherits(cond, "message")) { [17:27:03.249] muffled <- grepl(pattern, "muffleMessage") [17:27:03.249] if (muffled) [17:27:03.249] invokeRestart("muffleMessage") [17:27:03.249] } [17:27:03.249] else if (inherits(cond, "warning")) { [17:27:03.249] muffled <- grepl(pattern, "muffleWarning") [17:27:03.249] if (muffled) [17:27:03.249] invokeRestart("muffleWarning") [17:27:03.249] } [17:27:03.249] else if (inherits(cond, "condition")) { [17:27:03.249] if (!is.null(pattern)) { [17:27:03.249] computeRestarts <- base::computeRestarts [17:27:03.249] grepl <- base::grepl [17:27:03.249] restarts <- computeRestarts(cond) [17:27:03.249] for (restart in restarts) { [17:27:03.249] name <- restart$name [17:27:03.249] if (is.null(name)) [17:27:03.249] next [17:27:03.249] if (!grepl(pattern, name)) [17:27:03.249] next [17:27:03.249] invokeRestart(restart) [17:27:03.249] muffled <- TRUE [17:27:03.249] break [17:27:03.249] } [17:27:03.249] } [17:27:03.249] } [17:27:03.249] invisible(muffled) [17:27:03.249] } [17:27:03.249] muffleCondition(cond, pattern = "^muffle") [17:27:03.249] } [17:27:03.249] } [17:27:03.249] } [17:27:03.249] })) [17:27:03.249] }, error = function(ex) { [17:27:03.249] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.249] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.249] ...future.rng), started = ...future.startTime, [17:27:03.249] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.249] version = "1.8"), class = "FutureResult") [17:27:03.249] }, finally = { [17:27:03.249] if (!identical(...future.workdir, getwd())) [17:27:03.249] setwd(...future.workdir) [17:27:03.249] { [17:27:03.249] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.249] ...future.oldOptions$nwarnings <- NULL [17:27:03.249] } [17:27:03.249] base::options(...future.oldOptions) [17:27:03.249] if (.Platform$OS.type == "windows") { [17:27:03.249] old_names <- names(...future.oldEnvVars) [17:27:03.249] envs <- base::Sys.getenv() [17:27:03.249] names <- names(envs) [17:27:03.249] common <- intersect(names, old_names) [17:27:03.249] added <- setdiff(names, old_names) [17:27:03.249] removed <- setdiff(old_names, names) [17:27:03.249] changed <- common[...future.oldEnvVars[common] != [17:27:03.249] envs[common]] [17:27:03.249] NAMES <- toupper(changed) [17:27:03.249] args <- list() [17:27:03.249] for (kk in seq_along(NAMES)) { [17:27:03.249] name <- changed[[kk]] [17:27:03.249] NAME <- NAMES[[kk]] [17:27:03.249] if (name != NAME && is.element(NAME, old_names)) [17:27:03.249] next [17:27:03.249] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.249] } [17:27:03.249] NAMES <- toupper(added) [17:27:03.249] for (kk in seq_along(NAMES)) { [17:27:03.249] name <- added[[kk]] [17:27:03.249] NAME <- NAMES[[kk]] [17:27:03.249] if (name != NAME && is.element(NAME, old_names)) [17:27:03.249] next [17:27:03.249] args[[name]] <- "" [17:27:03.249] } [17:27:03.249] NAMES <- toupper(removed) [17:27:03.249] for (kk in seq_along(NAMES)) { [17:27:03.249] name <- removed[[kk]] [17:27:03.249] NAME <- NAMES[[kk]] [17:27:03.249] if (name != NAME && is.element(NAME, old_names)) [17:27:03.249] next [17:27:03.249] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.249] } [17:27:03.249] if (length(args) > 0) [17:27:03.249] base::do.call(base::Sys.setenv, args = args) [17:27:03.249] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.249] } [17:27:03.249] { [17:27:03.249] if (base::length(...future.futureOptionsAdded) > [17:27:03.249] 0L) { [17:27:03.249] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.249] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.249] base::options(opts) [17:27:03.249] } [17:27:03.249] { [17:27:03.249] { [17:27:03.249] NULL [17:27:03.249] RNGkind("Mersenne-Twister") [17:27:03.249] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.249] inherits = FALSE) [17:27:03.249] } [17:27:03.249] options(future.plan = NULL) [17:27:03.249] if (is.na(NA_character_)) [17:27:03.249] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.249] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.249] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.249] .init = FALSE) [17:27:03.249] } [17:27:03.249] } [17:27:03.249] } [17:27:03.249] }) [17:27:03.249] if (TRUE) { [17:27:03.249] base::sink(type = "output", split = FALSE) [17:27:03.249] if (TRUE) { [17:27:03.249] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.249] } [17:27:03.249] else { [17:27:03.249] ...future.result["stdout"] <- base::list(NULL) [17:27:03.249] } [17:27:03.249] base::close(...future.stdout) [17:27:03.249] ...future.stdout <- NULL [17:27:03.249] } [17:27:03.249] ...future.result$conditions <- ...future.conditions [17:27:03.249] ...future.result$finished <- base::Sys.time() [17:27:03.249] ...future.result [17:27:03.249] } [17:27:03.253] assign_globals() ... [17:27:03.253] List of 2 [17:27:03.253] $ a : num 1 [17:27:03.253] $ ii: int 1 [17:27:03.253] - attr(*, "where")=List of 2 [17:27:03.253] ..$ a : [17:27:03.253] ..$ ii: [17:27:03.253] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.253] - attr(*, "resolved")= logi TRUE [17:27:03.253] - attr(*, "total_size")= num 112 [17:27:03.253] - attr(*, "already-done")= logi TRUE [17:27:03.257] - copied 'a' to environment [17:27:03.257] - copied 'ii' to environment [17:27:03.257] assign_globals() ... done [17:27:03.258] plan(): Setting new future strategy stack: [17:27:03.258] List of future strategies: [17:27:03.258] 1. sequential: [17:27:03.258] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.258] - tweaked: FALSE [17:27:03.258] - call: NULL [17:27:03.259] plan(): nbrOfWorkers() = 1 [17:27:03.260] plan(): Setting new future strategy stack: [17:27:03.260] List of future strategies: [17:27:03.260] 1. sequential: [17:27:03.260] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.260] - tweaked: FALSE [17:27:03.260] - call: plan(strategy) [17:27:03.261] plan(): nbrOfWorkers() = 1 [17:27:03.261] SequentialFuture started (and completed) [17:27:03.261] - Launch lazy future ... done [17:27:03.261] run() for 'SequentialFuture' ... done [17:27:03.262] run() for 'Future' ... [17:27:03.262] - state: 'created' [17:27:03.262] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.263] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.263] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.263] - Field: 'label' [17:27:03.263] - Field: 'local' [17:27:03.263] - Field: 'owner' [17:27:03.264] - Field: 'envir' [17:27:03.264] - Field: 'packages' [17:27:03.264] - Field: 'gc' [17:27:03.264] - Field: 'conditions' [17:27:03.264] - Field: 'expr' [17:27:03.264] - Field: 'uuid' [17:27:03.265] - Field: 'seed' [17:27:03.265] - Field: 'version' [17:27:03.265] - Field: 'result' [17:27:03.265] - Field: 'asynchronous' [17:27:03.265] - Field: 'calls' [17:27:03.266] - Field: 'globals' [17:27:03.266] - Field: 'stdout' [17:27:03.266] - Field: 'earlySignal' [17:27:03.266] - Field: 'lazy' [17:27:03.266] - Field: 'state' [17:27:03.266] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.267] - Launch lazy future ... [17:27:03.267] Packages needed by the future expression (n = 0): [17:27:03.267] Packages needed by future strategies (n = 0): [17:27:03.268] { [17:27:03.268] { [17:27:03.268] { [17:27:03.268] ...future.startTime <- base::Sys.time() [17:27:03.268] { [17:27:03.268] { [17:27:03.268] { [17:27:03.268] base::local({ [17:27:03.268] has_future <- base::requireNamespace("future", [17:27:03.268] quietly = TRUE) [17:27:03.268] if (has_future) { [17:27:03.268] ns <- base::getNamespace("future") [17:27:03.268] version <- ns[[".package"]][["version"]] [17:27:03.268] if (is.null(version)) [17:27:03.268] version <- utils::packageVersion("future") [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] version <- NULL [17:27:03.268] } [17:27:03.268] if (!has_future || version < "1.8.0") { [17:27:03.268] info <- base::c(r_version = base::gsub("R version ", [17:27:03.268] "", base::R.version$version.string), [17:27:03.268] platform = base::sprintf("%s (%s-bit)", [17:27:03.268] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.268] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.268] "release", "version")], collapse = " "), [17:27:03.268] hostname = base::Sys.info()[["nodename"]]) [17:27:03.268] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.268] info) [17:27:03.268] info <- base::paste(info, collapse = "; ") [17:27:03.268] if (!has_future) { [17:27:03.268] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.268] info) [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.268] info, version) [17:27:03.268] } [17:27:03.268] base::stop(msg) [17:27:03.268] } [17:27:03.268] }) [17:27:03.268] } [17:27:03.268] ...future.strategy.old <- future::plan("list") [17:27:03.268] options(future.plan = NULL) [17:27:03.268] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.268] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.268] } [17:27:03.268] ...future.workdir <- getwd() [17:27:03.268] } [17:27:03.268] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.268] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.268] } [17:27:03.268] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.268] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.268] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.268] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.268] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.268] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.268] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.268] base::names(...future.oldOptions)) [17:27:03.268] } [17:27:03.268] if (FALSE) { [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] if (TRUE) { [17:27:03.268] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.268] open = "w") [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.268] windows = "NUL", "/dev/null"), open = "w") [17:27:03.268] } [17:27:03.268] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.268] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.268] base::sink(type = "output", split = FALSE) [17:27:03.268] base::close(...future.stdout) [17:27:03.268] }, add = TRUE) [17:27:03.268] } [17:27:03.268] ...future.frame <- base::sys.nframe() [17:27:03.268] ...future.conditions <- base::list() [17:27:03.268] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.268] if (FALSE) { [17:27:03.268] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.268] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.268] } [17:27:03.268] ...future.result <- base::tryCatch({ [17:27:03.268] base::withCallingHandlers({ [17:27:03.268] ...future.value <- base::withVisible(base::local({ [17:27:03.268] b <- a * ii [17:27:03.268] a <- 0 [17:27:03.268] b [17:27:03.268] })) [17:27:03.268] future::FutureResult(value = ...future.value$value, [17:27:03.268] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.268] ...future.rng), globalenv = if (FALSE) [17:27:03.268] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.268] ...future.globalenv.names)) [17:27:03.268] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.268] }, condition = base::local({ [17:27:03.268] c <- base::c [17:27:03.268] inherits <- base::inherits [17:27:03.268] invokeRestart <- base::invokeRestart [17:27:03.268] length <- base::length [17:27:03.268] list <- base::list [17:27:03.268] seq.int <- base::seq.int [17:27:03.268] signalCondition <- base::signalCondition [17:27:03.268] sys.calls <- base::sys.calls [17:27:03.268] `[[` <- base::`[[` [17:27:03.268] `+` <- base::`+` [17:27:03.268] `<<-` <- base::`<<-` [17:27:03.268] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.268] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.268] 3L)] [17:27:03.268] } [17:27:03.268] function(cond) { [17:27:03.268] is_error <- inherits(cond, "error") [17:27:03.268] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.268] NULL) [17:27:03.268] if (is_error) { [17:27:03.268] sessionInformation <- function() { [17:27:03.268] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.268] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.268] search = base::search(), system = base::Sys.info()) [17:27:03.268] } [17:27:03.268] ...future.conditions[[length(...future.conditions) + [17:27:03.268] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.268] cond$call), session = sessionInformation(), [17:27:03.268] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.268] signalCondition(cond) [17:27:03.268] } [17:27:03.268] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.268] "immediateCondition"))) { [17:27:03.268] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.268] ...future.conditions[[length(...future.conditions) + [17:27:03.268] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.268] if (TRUE && !signal) { [17:27:03.268] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.268] { [17:27:03.268] inherits <- base::inherits [17:27:03.268] invokeRestart <- base::invokeRestart [17:27:03.268] is.null <- base::is.null [17:27:03.268] muffled <- FALSE [17:27:03.268] if (inherits(cond, "message")) { [17:27:03.268] muffled <- grepl(pattern, "muffleMessage") [17:27:03.268] if (muffled) [17:27:03.268] invokeRestart("muffleMessage") [17:27:03.268] } [17:27:03.268] else if (inherits(cond, "warning")) { [17:27:03.268] muffled <- grepl(pattern, "muffleWarning") [17:27:03.268] if (muffled) [17:27:03.268] invokeRestart("muffleWarning") [17:27:03.268] } [17:27:03.268] else if (inherits(cond, "condition")) { [17:27:03.268] if (!is.null(pattern)) { [17:27:03.268] computeRestarts <- base::computeRestarts [17:27:03.268] grepl <- base::grepl [17:27:03.268] restarts <- computeRestarts(cond) [17:27:03.268] for (restart in restarts) { [17:27:03.268] name <- restart$name [17:27:03.268] if (is.null(name)) [17:27:03.268] next [17:27:03.268] if (!grepl(pattern, name)) [17:27:03.268] next [17:27:03.268] invokeRestart(restart) [17:27:03.268] muffled <- TRUE [17:27:03.268] break [17:27:03.268] } [17:27:03.268] } [17:27:03.268] } [17:27:03.268] invisible(muffled) [17:27:03.268] } [17:27:03.268] muffleCondition(cond, pattern = "^muffle") [17:27:03.268] } [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] if (TRUE) { [17:27:03.268] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.268] { [17:27:03.268] inherits <- base::inherits [17:27:03.268] invokeRestart <- base::invokeRestart [17:27:03.268] is.null <- base::is.null [17:27:03.268] muffled <- FALSE [17:27:03.268] if (inherits(cond, "message")) { [17:27:03.268] muffled <- grepl(pattern, "muffleMessage") [17:27:03.268] if (muffled) [17:27:03.268] invokeRestart("muffleMessage") [17:27:03.268] } [17:27:03.268] else if (inherits(cond, "warning")) { [17:27:03.268] muffled <- grepl(pattern, "muffleWarning") [17:27:03.268] if (muffled) [17:27:03.268] invokeRestart("muffleWarning") [17:27:03.268] } [17:27:03.268] else if (inherits(cond, "condition")) { [17:27:03.268] if (!is.null(pattern)) { [17:27:03.268] computeRestarts <- base::computeRestarts [17:27:03.268] grepl <- base::grepl [17:27:03.268] restarts <- computeRestarts(cond) [17:27:03.268] for (restart in restarts) { [17:27:03.268] name <- restart$name [17:27:03.268] if (is.null(name)) [17:27:03.268] next [17:27:03.268] if (!grepl(pattern, name)) [17:27:03.268] next [17:27:03.268] invokeRestart(restart) [17:27:03.268] muffled <- TRUE [17:27:03.268] break [17:27:03.268] } [17:27:03.268] } [17:27:03.268] } [17:27:03.268] invisible(muffled) [17:27:03.268] } [17:27:03.268] muffleCondition(cond, pattern = "^muffle") [17:27:03.268] } [17:27:03.268] } [17:27:03.268] } [17:27:03.268] })) [17:27:03.268] }, error = function(ex) { [17:27:03.268] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.268] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.268] ...future.rng), started = ...future.startTime, [17:27:03.268] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.268] version = "1.8"), class = "FutureResult") [17:27:03.268] }, finally = { [17:27:03.268] if (!identical(...future.workdir, getwd())) [17:27:03.268] setwd(...future.workdir) [17:27:03.268] { [17:27:03.268] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.268] ...future.oldOptions$nwarnings <- NULL [17:27:03.268] } [17:27:03.268] base::options(...future.oldOptions) [17:27:03.268] if (.Platform$OS.type == "windows") { [17:27:03.268] old_names <- names(...future.oldEnvVars) [17:27:03.268] envs <- base::Sys.getenv() [17:27:03.268] names <- names(envs) [17:27:03.268] common <- intersect(names, old_names) [17:27:03.268] added <- setdiff(names, old_names) [17:27:03.268] removed <- setdiff(old_names, names) [17:27:03.268] changed <- common[...future.oldEnvVars[common] != [17:27:03.268] envs[common]] [17:27:03.268] NAMES <- toupper(changed) [17:27:03.268] args <- list() [17:27:03.268] for (kk in seq_along(NAMES)) { [17:27:03.268] name <- changed[[kk]] [17:27:03.268] NAME <- NAMES[[kk]] [17:27:03.268] if (name != NAME && is.element(NAME, old_names)) [17:27:03.268] next [17:27:03.268] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.268] } [17:27:03.268] NAMES <- toupper(added) [17:27:03.268] for (kk in seq_along(NAMES)) { [17:27:03.268] name <- added[[kk]] [17:27:03.268] NAME <- NAMES[[kk]] [17:27:03.268] if (name != NAME && is.element(NAME, old_names)) [17:27:03.268] next [17:27:03.268] args[[name]] <- "" [17:27:03.268] } [17:27:03.268] NAMES <- toupper(removed) [17:27:03.268] for (kk in seq_along(NAMES)) { [17:27:03.268] name <- removed[[kk]] [17:27:03.268] NAME <- NAMES[[kk]] [17:27:03.268] if (name != NAME && is.element(NAME, old_names)) [17:27:03.268] next [17:27:03.268] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.268] } [17:27:03.268] if (length(args) > 0) [17:27:03.268] base::do.call(base::Sys.setenv, args = args) [17:27:03.268] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.268] } [17:27:03.268] { [17:27:03.268] if (base::length(...future.futureOptionsAdded) > [17:27:03.268] 0L) { [17:27:03.268] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.268] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.268] base::options(opts) [17:27:03.268] } [17:27:03.268] { [17:27:03.268] { [17:27:03.268] NULL [17:27:03.268] RNGkind("Mersenne-Twister") [17:27:03.268] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.268] inherits = FALSE) [17:27:03.268] } [17:27:03.268] options(future.plan = NULL) [17:27:03.268] if (is.na(NA_character_)) [17:27:03.268] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.268] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.268] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.268] .init = FALSE) [17:27:03.268] } [17:27:03.268] } [17:27:03.268] } [17:27:03.268] }) [17:27:03.268] if (TRUE) { [17:27:03.268] base::sink(type = "output", split = FALSE) [17:27:03.268] if (TRUE) { [17:27:03.268] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.268] } [17:27:03.268] else { [17:27:03.268] ...future.result["stdout"] <- base::list(NULL) [17:27:03.268] } [17:27:03.268] base::close(...future.stdout) [17:27:03.268] ...future.stdout <- NULL [17:27:03.268] } [17:27:03.268] ...future.result$conditions <- ...future.conditions [17:27:03.268] ...future.result$finished <- base::Sys.time() [17:27:03.268] ...future.result [17:27:03.268] } [17:27:03.272] assign_globals() ... [17:27:03.272] List of 2 [17:27:03.272] $ a : num 1 [17:27:03.272] $ ii: int 2 [17:27:03.272] - attr(*, "where")=List of 2 [17:27:03.272] ..$ a : [17:27:03.272] ..$ ii: [17:27:03.272] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.272] - attr(*, "resolved")= logi TRUE [17:27:03.272] - attr(*, "total_size")= num 112 [17:27:03.272] - attr(*, "already-done")= logi TRUE [17:27:03.277] - copied 'a' to environment [17:27:03.277] - copied 'ii' to environment [17:27:03.277] assign_globals() ... done [17:27:03.278] plan(): Setting new future strategy stack: [17:27:03.278] List of future strategies: [17:27:03.278] 1. sequential: [17:27:03.278] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.278] - tweaked: FALSE [17:27:03.278] - call: NULL [17:27:03.279] plan(): nbrOfWorkers() = 1 [17:27:03.280] plan(): Setting new future strategy stack: [17:27:03.280] List of future strategies: [17:27:03.280] 1. sequential: [17:27:03.280] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.280] - tweaked: FALSE [17:27:03.280] - call: plan(strategy) [17:27:03.280] plan(): nbrOfWorkers() = 1 [17:27:03.281] SequentialFuture started (and completed) [17:27:03.281] - Launch lazy future ... done [17:27:03.281] run() for 'SequentialFuture' ... done [17:27:03.281] run() for 'Future' ... [17:27:03.282] - state: 'created' [17:27:03.282] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.282] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.282] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.283] - Field: 'label' [17:27:03.283] - Field: 'local' [17:27:03.283] - Field: 'owner' [17:27:03.283] - Field: 'envir' [17:27:03.283] - Field: 'packages' [17:27:03.283] - Field: 'gc' [17:27:03.284] - Field: 'conditions' [17:27:03.284] - Field: 'expr' [17:27:03.284] - Field: 'uuid' [17:27:03.284] - Field: 'seed' [17:27:03.284] - Field: 'version' [17:27:03.285] - Field: 'result' [17:27:03.285] - Field: 'asynchronous' [17:27:03.285] - Field: 'calls' [17:27:03.285] - Field: 'globals' [17:27:03.285] - Field: 'stdout' [17:27:03.285] - Field: 'earlySignal' [17:27:03.286] - Field: 'lazy' [17:27:03.286] - Field: 'state' [17:27:03.286] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.286] - Launch lazy future ... [17:27:03.286] Packages needed by the future expression (n = 0): [17:27:03.287] Packages needed by future strategies (n = 0): [17:27:03.287] { [17:27:03.287] { [17:27:03.287] { [17:27:03.287] ...future.startTime <- base::Sys.time() [17:27:03.287] { [17:27:03.287] { [17:27:03.287] { [17:27:03.287] base::local({ [17:27:03.287] has_future <- base::requireNamespace("future", [17:27:03.287] quietly = TRUE) [17:27:03.287] if (has_future) { [17:27:03.287] ns <- base::getNamespace("future") [17:27:03.287] version <- ns[[".package"]][["version"]] [17:27:03.287] if (is.null(version)) [17:27:03.287] version <- utils::packageVersion("future") [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] version <- NULL [17:27:03.287] } [17:27:03.287] if (!has_future || version < "1.8.0") { [17:27:03.287] info <- base::c(r_version = base::gsub("R version ", [17:27:03.287] "", base::R.version$version.string), [17:27:03.287] platform = base::sprintf("%s (%s-bit)", [17:27:03.287] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.287] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.287] "release", "version")], collapse = " "), [17:27:03.287] hostname = base::Sys.info()[["nodename"]]) [17:27:03.287] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.287] info) [17:27:03.287] info <- base::paste(info, collapse = "; ") [17:27:03.287] if (!has_future) { [17:27:03.287] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.287] info) [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.287] info, version) [17:27:03.287] } [17:27:03.287] base::stop(msg) [17:27:03.287] } [17:27:03.287] }) [17:27:03.287] } [17:27:03.287] ...future.strategy.old <- future::plan("list") [17:27:03.287] options(future.plan = NULL) [17:27:03.287] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.287] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.287] } [17:27:03.287] ...future.workdir <- getwd() [17:27:03.287] } [17:27:03.287] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.287] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.287] } [17:27:03.287] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.287] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.287] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.287] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.287] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.287] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.287] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.287] base::names(...future.oldOptions)) [17:27:03.287] } [17:27:03.287] if (FALSE) { [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] if (TRUE) { [17:27:03.287] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.287] open = "w") [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.287] windows = "NUL", "/dev/null"), open = "w") [17:27:03.287] } [17:27:03.287] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.287] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.287] base::sink(type = "output", split = FALSE) [17:27:03.287] base::close(...future.stdout) [17:27:03.287] }, add = TRUE) [17:27:03.287] } [17:27:03.287] ...future.frame <- base::sys.nframe() [17:27:03.287] ...future.conditions <- base::list() [17:27:03.287] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.287] if (FALSE) { [17:27:03.287] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.287] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.287] } [17:27:03.287] ...future.result <- base::tryCatch({ [17:27:03.287] base::withCallingHandlers({ [17:27:03.287] ...future.value <- base::withVisible(base::local({ [17:27:03.287] b <- a * ii [17:27:03.287] a <- 0 [17:27:03.287] b [17:27:03.287] })) [17:27:03.287] future::FutureResult(value = ...future.value$value, [17:27:03.287] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.287] ...future.rng), globalenv = if (FALSE) [17:27:03.287] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.287] ...future.globalenv.names)) [17:27:03.287] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.287] }, condition = base::local({ [17:27:03.287] c <- base::c [17:27:03.287] inherits <- base::inherits [17:27:03.287] invokeRestart <- base::invokeRestart [17:27:03.287] length <- base::length [17:27:03.287] list <- base::list [17:27:03.287] seq.int <- base::seq.int [17:27:03.287] signalCondition <- base::signalCondition [17:27:03.287] sys.calls <- base::sys.calls [17:27:03.287] `[[` <- base::`[[` [17:27:03.287] `+` <- base::`+` [17:27:03.287] `<<-` <- base::`<<-` [17:27:03.287] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.287] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.287] 3L)] [17:27:03.287] } [17:27:03.287] function(cond) { [17:27:03.287] is_error <- inherits(cond, "error") [17:27:03.287] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.287] NULL) [17:27:03.287] if (is_error) { [17:27:03.287] sessionInformation <- function() { [17:27:03.287] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.287] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.287] search = base::search(), system = base::Sys.info()) [17:27:03.287] } [17:27:03.287] ...future.conditions[[length(...future.conditions) + [17:27:03.287] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.287] cond$call), session = sessionInformation(), [17:27:03.287] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.287] signalCondition(cond) [17:27:03.287] } [17:27:03.287] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.287] "immediateCondition"))) { [17:27:03.287] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.287] ...future.conditions[[length(...future.conditions) + [17:27:03.287] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.287] if (TRUE && !signal) { [17:27:03.287] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.287] { [17:27:03.287] inherits <- base::inherits [17:27:03.287] invokeRestart <- base::invokeRestart [17:27:03.287] is.null <- base::is.null [17:27:03.287] muffled <- FALSE [17:27:03.287] if (inherits(cond, "message")) { [17:27:03.287] muffled <- grepl(pattern, "muffleMessage") [17:27:03.287] if (muffled) [17:27:03.287] invokeRestart("muffleMessage") [17:27:03.287] } [17:27:03.287] else if (inherits(cond, "warning")) { [17:27:03.287] muffled <- grepl(pattern, "muffleWarning") [17:27:03.287] if (muffled) [17:27:03.287] invokeRestart("muffleWarning") [17:27:03.287] } [17:27:03.287] else if (inherits(cond, "condition")) { [17:27:03.287] if (!is.null(pattern)) { [17:27:03.287] computeRestarts <- base::computeRestarts [17:27:03.287] grepl <- base::grepl [17:27:03.287] restarts <- computeRestarts(cond) [17:27:03.287] for (restart in restarts) { [17:27:03.287] name <- restart$name [17:27:03.287] if (is.null(name)) [17:27:03.287] next [17:27:03.287] if (!grepl(pattern, name)) [17:27:03.287] next [17:27:03.287] invokeRestart(restart) [17:27:03.287] muffled <- TRUE [17:27:03.287] break [17:27:03.287] } [17:27:03.287] } [17:27:03.287] } [17:27:03.287] invisible(muffled) [17:27:03.287] } [17:27:03.287] muffleCondition(cond, pattern = "^muffle") [17:27:03.287] } [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] if (TRUE) { [17:27:03.287] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.287] { [17:27:03.287] inherits <- base::inherits [17:27:03.287] invokeRestart <- base::invokeRestart [17:27:03.287] is.null <- base::is.null [17:27:03.287] muffled <- FALSE [17:27:03.287] if (inherits(cond, "message")) { [17:27:03.287] muffled <- grepl(pattern, "muffleMessage") [17:27:03.287] if (muffled) [17:27:03.287] invokeRestart("muffleMessage") [17:27:03.287] } [17:27:03.287] else if (inherits(cond, "warning")) { [17:27:03.287] muffled <- grepl(pattern, "muffleWarning") [17:27:03.287] if (muffled) [17:27:03.287] invokeRestart("muffleWarning") [17:27:03.287] } [17:27:03.287] else if (inherits(cond, "condition")) { [17:27:03.287] if (!is.null(pattern)) { [17:27:03.287] computeRestarts <- base::computeRestarts [17:27:03.287] grepl <- base::grepl [17:27:03.287] restarts <- computeRestarts(cond) [17:27:03.287] for (restart in restarts) { [17:27:03.287] name <- restart$name [17:27:03.287] if (is.null(name)) [17:27:03.287] next [17:27:03.287] if (!grepl(pattern, name)) [17:27:03.287] next [17:27:03.287] invokeRestart(restart) [17:27:03.287] muffled <- TRUE [17:27:03.287] break [17:27:03.287] } [17:27:03.287] } [17:27:03.287] } [17:27:03.287] invisible(muffled) [17:27:03.287] } [17:27:03.287] muffleCondition(cond, pattern = "^muffle") [17:27:03.287] } [17:27:03.287] } [17:27:03.287] } [17:27:03.287] })) [17:27:03.287] }, error = function(ex) { [17:27:03.287] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.287] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.287] ...future.rng), started = ...future.startTime, [17:27:03.287] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.287] version = "1.8"), class = "FutureResult") [17:27:03.287] }, finally = { [17:27:03.287] if (!identical(...future.workdir, getwd())) [17:27:03.287] setwd(...future.workdir) [17:27:03.287] { [17:27:03.287] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.287] ...future.oldOptions$nwarnings <- NULL [17:27:03.287] } [17:27:03.287] base::options(...future.oldOptions) [17:27:03.287] if (.Platform$OS.type == "windows") { [17:27:03.287] old_names <- names(...future.oldEnvVars) [17:27:03.287] envs <- base::Sys.getenv() [17:27:03.287] names <- names(envs) [17:27:03.287] common <- intersect(names, old_names) [17:27:03.287] added <- setdiff(names, old_names) [17:27:03.287] removed <- setdiff(old_names, names) [17:27:03.287] changed <- common[...future.oldEnvVars[common] != [17:27:03.287] envs[common]] [17:27:03.287] NAMES <- toupper(changed) [17:27:03.287] args <- list() [17:27:03.287] for (kk in seq_along(NAMES)) { [17:27:03.287] name <- changed[[kk]] [17:27:03.287] NAME <- NAMES[[kk]] [17:27:03.287] if (name != NAME && is.element(NAME, old_names)) [17:27:03.287] next [17:27:03.287] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.287] } [17:27:03.287] NAMES <- toupper(added) [17:27:03.287] for (kk in seq_along(NAMES)) { [17:27:03.287] name <- added[[kk]] [17:27:03.287] NAME <- NAMES[[kk]] [17:27:03.287] if (name != NAME && is.element(NAME, old_names)) [17:27:03.287] next [17:27:03.287] args[[name]] <- "" [17:27:03.287] } [17:27:03.287] NAMES <- toupper(removed) [17:27:03.287] for (kk in seq_along(NAMES)) { [17:27:03.287] name <- removed[[kk]] [17:27:03.287] NAME <- NAMES[[kk]] [17:27:03.287] if (name != NAME && is.element(NAME, old_names)) [17:27:03.287] next [17:27:03.287] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.287] } [17:27:03.287] if (length(args) > 0) [17:27:03.287] base::do.call(base::Sys.setenv, args = args) [17:27:03.287] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.287] } [17:27:03.287] { [17:27:03.287] if (base::length(...future.futureOptionsAdded) > [17:27:03.287] 0L) { [17:27:03.287] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.287] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.287] base::options(opts) [17:27:03.287] } [17:27:03.287] { [17:27:03.287] { [17:27:03.287] NULL [17:27:03.287] RNGkind("Mersenne-Twister") [17:27:03.287] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.287] inherits = FALSE) [17:27:03.287] } [17:27:03.287] options(future.plan = NULL) [17:27:03.287] if (is.na(NA_character_)) [17:27:03.287] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.287] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.287] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.287] .init = FALSE) [17:27:03.287] } [17:27:03.287] } [17:27:03.287] } [17:27:03.287] }) [17:27:03.287] if (TRUE) { [17:27:03.287] base::sink(type = "output", split = FALSE) [17:27:03.287] if (TRUE) { [17:27:03.287] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.287] } [17:27:03.287] else { [17:27:03.287] ...future.result["stdout"] <- base::list(NULL) [17:27:03.287] } [17:27:03.287] base::close(...future.stdout) [17:27:03.287] ...future.stdout <- NULL [17:27:03.287] } [17:27:03.287] ...future.result$conditions <- ...future.conditions [17:27:03.287] ...future.result$finished <- base::Sys.time() [17:27:03.287] ...future.result [17:27:03.287] } [17:27:03.291] assign_globals() ... [17:27:03.291] List of 2 [17:27:03.291] $ a : num 1 [17:27:03.291] $ ii: int 3 [17:27:03.291] - attr(*, "where")=List of 2 [17:27:03.291] ..$ a : [17:27:03.291] ..$ ii: [17:27:03.291] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.291] - attr(*, "resolved")= logi TRUE [17:27:03.291] - attr(*, "total_size")= num 112 [17:27:03.291] - attr(*, "already-done")= logi TRUE [17:27:03.295] - copied 'a' to environment [17:27:03.295] - copied 'ii' to environment [17:27:03.295] assign_globals() ... done [17:27:03.295] plan(): Setting new future strategy stack: [17:27:03.295] List of future strategies: [17:27:03.295] 1. sequential: [17:27:03.295] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.295] - tweaked: FALSE [17:27:03.295] - call: NULL [17:27:03.296] plan(): nbrOfWorkers() = 1 [17:27:03.297] plan(): Setting new future strategy stack: [17:27:03.297] List of future strategies: [17:27:03.297] 1. sequential: [17:27:03.297] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.297] - tweaked: FALSE [17:27:03.297] - call: plan(strategy) [17:27:03.298] plan(): nbrOfWorkers() = 1 [17:27:03.298] SequentialFuture started (and completed) [17:27:03.298] - Launch lazy future ... done [17:27:03.299] 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:27:03.299] 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:27:03.299] 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:27:03.300] [17:27:03.300] Searching for globals ... DONE [17:27:03.300] - globals: [0] [17:27:03.301] getGlobalsAndPackages() ... DONE [17:27:03.301] run() for 'Future' ... [17:27:03.301] - state: 'created' [17:27:03.301] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.302] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.302] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.302] - Field: 'label' [17:27:03.302] - Field: 'local' [17:27:03.302] - Field: 'owner' [17:27:03.303] - Field: 'envir' [17:27:03.303] - Field: 'packages' [17:27:03.303] - Field: 'gc' [17:27:03.303] - Field: 'conditions' [17:27:03.303] - Field: 'expr' [17:27:03.303] - Field: 'uuid' [17:27:03.304] - Field: 'seed' [17:27:03.304] - Field: 'version' [17:27:03.304] - Field: 'result' [17:27:03.304] - Field: 'asynchronous' [17:27:03.304] - Field: 'calls' [17:27:03.304] - Field: 'globals' [17:27:03.305] - Field: 'stdout' [17:27:03.305] - Field: 'earlySignal' [17:27:03.305] - Field: 'lazy' [17:27:03.305] - Field: 'state' [17:27:03.305] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.305] - Launch lazy future ... [17:27:03.306] Packages needed by the future expression (n = 0): [17:27:03.306] Packages needed by future strategies (n = 0): [17:27:03.306] { [17:27:03.306] { [17:27:03.306] { [17:27:03.306] ...future.startTime <- base::Sys.time() [17:27:03.306] { [17:27:03.306] { [17:27:03.306] { [17:27:03.306] base::local({ [17:27:03.306] has_future <- base::requireNamespace("future", [17:27:03.306] quietly = TRUE) [17:27:03.306] if (has_future) { [17:27:03.306] ns <- base::getNamespace("future") [17:27:03.306] version <- ns[[".package"]][["version"]] [17:27:03.306] if (is.null(version)) [17:27:03.306] version <- utils::packageVersion("future") [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] version <- NULL [17:27:03.306] } [17:27:03.306] if (!has_future || version < "1.8.0") { [17:27:03.306] info <- base::c(r_version = base::gsub("R version ", [17:27:03.306] "", base::R.version$version.string), [17:27:03.306] platform = base::sprintf("%s (%s-bit)", [17:27:03.306] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.306] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.306] "release", "version")], collapse = " "), [17:27:03.306] hostname = base::Sys.info()[["nodename"]]) [17:27:03.306] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.306] info) [17:27:03.306] info <- base::paste(info, collapse = "; ") [17:27:03.306] if (!has_future) { [17:27:03.306] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.306] info) [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.306] info, version) [17:27:03.306] } [17:27:03.306] base::stop(msg) [17:27:03.306] } [17:27:03.306] }) [17:27:03.306] } [17:27:03.306] ...future.strategy.old <- future::plan("list") [17:27:03.306] options(future.plan = NULL) [17:27:03.306] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.306] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.306] } [17:27:03.306] ...future.workdir <- getwd() [17:27:03.306] } [17:27:03.306] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.306] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.306] } [17:27:03.306] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.306] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.306] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.306] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.306] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.306] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.306] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.306] base::names(...future.oldOptions)) [17:27:03.306] } [17:27:03.306] if (FALSE) { [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] if (TRUE) { [17:27:03.306] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.306] open = "w") [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.306] windows = "NUL", "/dev/null"), open = "w") [17:27:03.306] } [17:27:03.306] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.306] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.306] base::sink(type = "output", split = FALSE) [17:27:03.306] base::close(...future.stdout) [17:27:03.306] }, add = TRUE) [17:27:03.306] } [17:27:03.306] ...future.frame <- base::sys.nframe() [17:27:03.306] ...future.conditions <- base::list() [17:27:03.306] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.306] if (FALSE) { [17:27:03.306] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.306] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.306] } [17:27:03.306] ...future.result <- base::tryCatch({ [17:27:03.306] base::withCallingHandlers({ [17:27:03.306] ...future.value <- base::withVisible(base::local(1)) [17:27:03.306] future::FutureResult(value = ...future.value$value, [17:27:03.306] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.306] ...future.rng), globalenv = if (FALSE) [17:27:03.306] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.306] ...future.globalenv.names)) [17:27:03.306] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.306] }, condition = base::local({ [17:27:03.306] c <- base::c [17:27:03.306] inherits <- base::inherits [17:27:03.306] invokeRestart <- base::invokeRestart [17:27:03.306] length <- base::length [17:27:03.306] list <- base::list [17:27:03.306] seq.int <- base::seq.int [17:27:03.306] signalCondition <- base::signalCondition [17:27:03.306] sys.calls <- base::sys.calls [17:27:03.306] `[[` <- base::`[[` [17:27:03.306] `+` <- base::`+` [17:27:03.306] `<<-` <- base::`<<-` [17:27:03.306] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.306] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.306] 3L)] [17:27:03.306] } [17:27:03.306] function(cond) { [17:27:03.306] is_error <- inherits(cond, "error") [17:27:03.306] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.306] NULL) [17:27:03.306] if (is_error) { [17:27:03.306] sessionInformation <- function() { [17:27:03.306] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.306] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.306] search = base::search(), system = base::Sys.info()) [17:27:03.306] } [17:27:03.306] ...future.conditions[[length(...future.conditions) + [17:27:03.306] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.306] cond$call), session = sessionInformation(), [17:27:03.306] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.306] signalCondition(cond) [17:27:03.306] } [17:27:03.306] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.306] "immediateCondition"))) { [17:27:03.306] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.306] ...future.conditions[[length(...future.conditions) + [17:27:03.306] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.306] if (TRUE && !signal) { [17:27:03.306] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.306] { [17:27:03.306] inherits <- base::inherits [17:27:03.306] invokeRestart <- base::invokeRestart [17:27:03.306] is.null <- base::is.null [17:27:03.306] muffled <- FALSE [17:27:03.306] if (inherits(cond, "message")) { [17:27:03.306] muffled <- grepl(pattern, "muffleMessage") [17:27:03.306] if (muffled) [17:27:03.306] invokeRestart("muffleMessage") [17:27:03.306] } [17:27:03.306] else if (inherits(cond, "warning")) { [17:27:03.306] muffled <- grepl(pattern, "muffleWarning") [17:27:03.306] if (muffled) [17:27:03.306] invokeRestart("muffleWarning") [17:27:03.306] } [17:27:03.306] else if (inherits(cond, "condition")) { [17:27:03.306] if (!is.null(pattern)) { [17:27:03.306] computeRestarts <- base::computeRestarts [17:27:03.306] grepl <- base::grepl [17:27:03.306] restarts <- computeRestarts(cond) [17:27:03.306] for (restart in restarts) { [17:27:03.306] name <- restart$name [17:27:03.306] if (is.null(name)) [17:27:03.306] next [17:27:03.306] if (!grepl(pattern, name)) [17:27:03.306] next [17:27:03.306] invokeRestart(restart) [17:27:03.306] muffled <- TRUE [17:27:03.306] break [17:27:03.306] } [17:27:03.306] } [17:27:03.306] } [17:27:03.306] invisible(muffled) [17:27:03.306] } [17:27:03.306] muffleCondition(cond, pattern = "^muffle") [17:27:03.306] } [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] if (TRUE) { [17:27:03.306] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.306] { [17:27:03.306] inherits <- base::inherits [17:27:03.306] invokeRestart <- base::invokeRestart [17:27:03.306] is.null <- base::is.null [17:27:03.306] muffled <- FALSE [17:27:03.306] if (inherits(cond, "message")) { [17:27:03.306] muffled <- grepl(pattern, "muffleMessage") [17:27:03.306] if (muffled) [17:27:03.306] invokeRestart("muffleMessage") [17:27:03.306] } [17:27:03.306] else if (inherits(cond, "warning")) { [17:27:03.306] muffled <- grepl(pattern, "muffleWarning") [17:27:03.306] if (muffled) [17:27:03.306] invokeRestart("muffleWarning") [17:27:03.306] } [17:27:03.306] else if (inherits(cond, "condition")) { [17:27:03.306] if (!is.null(pattern)) { [17:27:03.306] computeRestarts <- base::computeRestarts [17:27:03.306] grepl <- base::grepl [17:27:03.306] restarts <- computeRestarts(cond) [17:27:03.306] for (restart in restarts) { [17:27:03.306] name <- restart$name [17:27:03.306] if (is.null(name)) [17:27:03.306] next [17:27:03.306] if (!grepl(pattern, name)) [17:27:03.306] next [17:27:03.306] invokeRestart(restart) [17:27:03.306] muffled <- TRUE [17:27:03.306] break [17:27:03.306] } [17:27:03.306] } [17:27:03.306] } [17:27:03.306] invisible(muffled) [17:27:03.306] } [17:27:03.306] muffleCondition(cond, pattern = "^muffle") [17:27:03.306] } [17:27:03.306] } [17:27:03.306] } [17:27:03.306] })) [17:27:03.306] }, error = function(ex) { [17:27:03.306] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.306] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.306] ...future.rng), started = ...future.startTime, [17:27:03.306] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.306] version = "1.8"), class = "FutureResult") [17:27:03.306] }, finally = { [17:27:03.306] if (!identical(...future.workdir, getwd())) [17:27:03.306] setwd(...future.workdir) [17:27:03.306] { [17:27:03.306] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.306] ...future.oldOptions$nwarnings <- NULL [17:27:03.306] } [17:27:03.306] base::options(...future.oldOptions) [17:27:03.306] if (.Platform$OS.type == "windows") { [17:27:03.306] old_names <- names(...future.oldEnvVars) [17:27:03.306] envs <- base::Sys.getenv() [17:27:03.306] names <- names(envs) [17:27:03.306] common <- intersect(names, old_names) [17:27:03.306] added <- setdiff(names, old_names) [17:27:03.306] removed <- setdiff(old_names, names) [17:27:03.306] changed <- common[...future.oldEnvVars[common] != [17:27:03.306] envs[common]] [17:27:03.306] NAMES <- toupper(changed) [17:27:03.306] args <- list() [17:27:03.306] for (kk in seq_along(NAMES)) { [17:27:03.306] name <- changed[[kk]] [17:27:03.306] NAME <- NAMES[[kk]] [17:27:03.306] if (name != NAME && is.element(NAME, old_names)) [17:27:03.306] next [17:27:03.306] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.306] } [17:27:03.306] NAMES <- toupper(added) [17:27:03.306] for (kk in seq_along(NAMES)) { [17:27:03.306] name <- added[[kk]] [17:27:03.306] NAME <- NAMES[[kk]] [17:27:03.306] if (name != NAME && is.element(NAME, old_names)) [17:27:03.306] next [17:27:03.306] args[[name]] <- "" [17:27:03.306] } [17:27:03.306] NAMES <- toupper(removed) [17:27:03.306] for (kk in seq_along(NAMES)) { [17:27:03.306] name <- removed[[kk]] [17:27:03.306] NAME <- NAMES[[kk]] [17:27:03.306] if (name != NAME && is.element(NAME, old_names)) [17:27:03.306] next [17:27:03.306] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.306] } [17:27:03.306] if (length(args) > 0) [17:27:03.306] base::do.call(base::Sys.setenv, args = args) [17:27:03.306] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.306] } [17:27:03.306] { [17:27:03.306] if (base::length(...future.futureOptionsAdded) > [17:27:03.306] 0L) { [17:27:03.306] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.306] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.306] base::options(opts) [17:27:03.306] } [17:27:03.306] { [17:27:03.306] { [17:27:03.306] NULL [17:27:03.306] RNGkind("Mersenne-Twister") [17:27:03.306] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.306] inherits = FALSE) [17:27:03.306] } [17:27:03.306] options(future.plan = NULL) [17:27:03.306] if (is.na(NA_character_)) [17:27:03.306] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.306] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.306] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.306] .init = FALSE) [17:27:03.306] } [17:27:03.306] } [17:27:03.306] } [17:27:03.306] }) [17:27:03.306] if (TRUE) { [17:27:03.306] base::sink(type = "output", split = FALSE) [17:27:03.306] if (TRUE) { [17:27:03.306] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.306] } [17:27:03.306] else { [17:27:03.306] ...future.result["stdout"] <- base::list(NULL) [17:27:03.306] } [17:27:03.306] base::close(...future.stdout) [17:27:03.306] ...future.stdout <- NULL [17:27:03.306] } [17:27:03.306] ...future.result$conditions <- ...future.conditions [17:27:03.306] ...future.result$finished <- base::Sys.time() [17:27:03.306] ...future.result [17:27:03.306] } [17:27:03.310] plan(): Setting new future strategy stack: [17:27:03.311] List of future strategies: [17:27:03.311] 1. sequential: [17:27:03.311] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.311] - tweaked: FALSE [17:27:03.311] - call: NULL [17:27:03.311] plan(): nbrOfWorkers() = 1 [17:27:03.312] plan(): Setting new future strategy stack: [17:27:03.313] List of future strategies: [17:27:03.313] 1. sequential: [17:27:03.313] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.313] - tweaked: FALSE [17:27:03.313] - call: plan(strategy) [17:27:03.314] plan(): nbrOfWorkers() = 1 [17:27:03.314] SequentialFuture started (and completed) [17:27:03.315] - Launch lazy future ... done [17:27:03.315] 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:27:03.315] 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:27:03.316] 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:27:03.317] - globals found: [3] '+', 'value', 'a' [17:27:03.317] Searching for globals ... DONE [17:27:03.317] Resolving globals: TRUE [17:27:03.317] Resolving any globals that are futures ... [17:27:03.317] - globals: [3] '+', 'value', 'a' [17:27:03.317] Resolving any globals that are futures ... DONE [17:27:03.318] Resolving futures part of globals (recursively) ... [17:27:03.318] resolve() on list ... [17:27:03.318] recursive: 99 [17:27:03.319] length: 1 [17:27:03.319] elements: 'a' [17:27:03.319] resolved() for 'SequentialFuture' ... [17:27:03.319] - state: 'finished' [17:27:03.319] - run: TRUE [17:27:03.319] - result: 'FutureResult' [17:27:03.320] resolved() for 'SequentialFuture' ... done [17:27:03.320] Future #1 [17:27:03.320] resolved() for 'SequentialFuture' ... [17:27:03.320] - state: 'finished' [17:27:03.320] - run: TRUE [17:27:03.321] - result: 'FutureResult' [17:27:03.321] resolved() for 'SequentialFuture' ... done [17:27:03.321] A SequentialFuture was resolved [17:27:03.321] length: 0 (resolved future 1) [17:27:03.321] resolve() on list ... DONE [17:27:03.322] - globals: [1] 'a' [17:27:03.322] Resolving futures part of globals (recursively) ... DONE [17:27:03.324] The total size of the 1 globals is 1.57 MiB (1644176 bytes) [17:27:03.325] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.57 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.57 MiB of class 'environment') [17:27:03.325] - globals: [1] 'a' [17:27:03.325] - packages: [1] 'future' [17:27:03.325] getGlobalsAndPackages() ... DONE [17:27:03.325] run() for 'Future' ... [17:27:03.326] - state: 'created' [17:27:03.326] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.326] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.326] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.327] - Field: 'label' [17:27:03.327] - Field: 'local' [17:27:03.327] - Field: 'owner' [17:27:03.327] - Field: 'envir' [17:27:03.327] - Field: 'packages' [17:27:03.328] - Field: 'gc' [17:27:03.328] - Field: 'conditions' [17:27:03.328] - Field: 'expr' [17:27:03.328] - Field: 'uuid' [17:27:03.328] - Field: 'seed' [17:27:03.328] - Field: 'version' [17:27:03.329] - Field: 'result' [17:27:03.329] - Field: 'asynchronous' [17:27:03.329] - Field: 'calls' [17:27:03.329] - Field: 'globals' [17:27:03.329] - Field: 'stdout' [17:27:03.329] - Field: 'earlySignal' [17:27:03.330] - Field: 'lazy' [17:27:03.330] - Field: 'state' [17:27:03.330] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.330] - Launch lazy future ... [17:27:03.330] Packages needed by the future expression (n = 1): 'future' [17:27:03.331] Packages needed by future strategies (n = 0): [17:27:03.331] { [17:27:03.331] { [17:27:03.331] { [17:27:03.331] ...future.startTime <- base::Sys.time() [17:27:03.331] { [17:27:03.331] { [17:27:03.331] { [17:27:03.331] { [17:27:03.331] base::local({ [17:27:03.331] has_future <- base::requireNamespace("future", [17:27:03.331] quietly = TRUE) [17:27:03.331] if (has_future) { [17:27:03.331] ns <- base::getNamespace("future") [17:27:03.331] version <- ns[[".package"]][["version"]] [17:27:03.331] if (is.null(version)) [17:27:03.331] version <- utils::packageVersion("future") [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] version <- NULL [17:27:03.331] } [17:27:03.331] if (!has_future || version < "1.8.0") { [17:27:03.331] info <- base::c(r_version = base::gsub("R version ", [17:27:03.331] "", base::R.version$version.string), [17:27:03.331] platform = base::sprintf("%s (%s-bit)", [17:27:03.331] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.331] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.331] "release", "version")], collapse = " "), [17:27:03.331] hostname = base::Sys.info()[["nodename"]]) [17:27:03.331] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.331] info) [17:27:03.331] info <- base::paste(info, collapse = "; ") [17:27:03.331] if (!has_future) { [17:27:03.331] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.331] info) [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.331] info, version) [17:27:03.331] } [17:27:03.331] base::stop(msg) [17:27:03.331] } [17:27:03.331] }) [17:27:03.331] } [17:27:03.331] base::local({ [17:27:03.331] for (pkg in "future") { [17:27:03.331] base::loadNamespace(pkg) [17:27:03.331] base::library(pkg, character.only = TRUE) [17:27:03.331] } [17:27:03.331] }) [17:27:03.331] } [17:27:03.331] ...future.strategy.old <- future::plan("list") [17:27:03.331] options(future.plan = NULL) [17:27:03.331] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.331] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.331] } [17:27:03.331] ...future.workdir <- getwd() [17:27:03.331] } [17:27:03.331] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.331] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.331] } [17:27:03.331] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.331] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.331] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.331] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.331] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.331] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.331] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.331] base::names(...future.oldOptions)) [17:27:03.331] } [17:27:03.331] if (FALSE) { [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] if (TRUE) { [17:27:03.331] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.331] open = "w") [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.331] windows = "NUL", "/dev/null"), open = "w") [17:27:03.331] } [17:27:03.331] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.331] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.331] base::sink(type = "output", split = FALSE) [17:27:03.331] base::close(...future.stdout) [17:27:03.331] }, add = TRUE) [17:27:03.331] } [17:27:03.331] ...future.frame <- base::sys.nframe() [17:27:03.331] ...future.conditions <- base::list() [17:27:03.331] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.331] if (FALSE) { [17:27:03.331] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.331] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.331] } [17:27:03.331] ...future.result <- base::tryCatch({ [17:27:03.331] base::withCallingHandlers({ [17:27:03.331] ...future.value <- base::withVisible(base::local(value(a) + [17:27:03.331] 1)) [17:27:03.331] future::FutureResult(value = ...future.value$value, [17:27:03.331] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.331] ...future.rng), globalenv = if (FALSE) [17:27:03.331] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.331] ...future.globalenv.names)) [17:27:03.331] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.331] }, condition = base::local({ [17:27:03.331] c <- base::c [17:27:03.331] inherits <- base::inherits [17:27:03.331] invokeRestart <- base::invokeRestart [17:27:03.331] length <- base::length [17:27:03.331] list <- base::list [17:27:03.331] seq.int <- base::seq.int [17:27:03.331] signalCondition <- base::signalCondition [17:27:03.331] sys.calls <- base::sys.calls [17:27:03.331] `[[` <- base::`[[` [17:27:03.331] `+` <- base::`+` [17:27:03.331] `<<-` <- base::`<<-` [17:27:03.331] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.331] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.331] 3L)] [17:27:03.331] } [17:27:03.331] function(cond) { [17:27:03.331] is_error <- inherits(cond, "error") [17:27:03.331] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.331] NULL) [17:27:03.331] if (is_error) { [17:27:03.331] sessionInformation <- function() { [17:27:03.331] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.331] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.331] search = base::search(), system = base::Sys.info()) [17:27:03.331] } [17:27:03.331] ...future.conditions[[length(...future.conditions) + [17:27:03.331] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.331] cond$call), session = sessionInformation(), [17:27:03.331] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.331] signalCondition(cond) [17:27:03.331] } [17:27:03.331] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.331] "immediateCondition"))) { [17:27:03.331] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.331] ...future.conditions[[length(...future.conditions) + [17:27:03.331] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.331] if (TRUE && !signal) { [17:27:03.331] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.331] { [17:27:03.331] inherits <- base::inherits [17:27:03.331] invokeRestart <- base::invokeRestart [17:27:03.331] is.null <- base::is.null [17:27:03.331] muffled <- FALSE [17:27:03.331] if (inherits(cond, "message")) { [17:27:03.331] muffled <- grepl(pattern, "muffleMessage") [17:27:03.331] if (muffled) [17:27:03.331] invokeRestart("muffleMessage") [17:27:03.331] } [17:27:03.331] else if (inherits(cond, "warning")) { [17:27:03.331] muffled <- grepl(pattern, "muffleWarning") [17:27:03.331] if (muffled) [17:27:03.331] invokeRestart("muffleWarning") [17:27:03.331] } [17:27:03.331] else if (inherits(cond, "condition")) { [17:27:03.331] if (!is.null(pattern)) { [17:27:03.331] computeRestarts <- base::computeRestarts [17:27:03.331] grepl <- base::grepl [17:27:03.331] restarts <- computeRestarts(cond) [17:27:03.331] for (restart in restarts) { [17:27:03.331] name <- restart$name [17:27:03.331] if (is.null(name)) [17:27:03.331] next [17:27:03.331] if (!grepl(pattern, name)) [17:27:03.331] next [17:27:03.331] invokeRestart(restart) [17:27:03.331] muffled <- TRUE [17:27:03.331] break [17:27:03.331] } [17:27:03.331] } [17:27:03.331] } [17:27:03.331] invisible(muffled) [17:27:03.331] } [17:27:03.331] muffleCondition(cond, pattern = "^muffle") [17:27:03.331] } [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] if (TRUE) { [17:27:03.331] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.331] { [17:27:03.331] inherits <- base::inherits [17:27:03.331] invokeRestart <- base::invokeRestart [17:27:03.331] is.null <- base::is.null [17:27:03.331] muffled <- FALSE [17:27:03.331] if (inherits(cond, "message")) { [17:27:03.331] muffled <- grepl(pattern, "muffleMessage") [17:27:03.331] if (muffled) [17:27:03.331] invokeRestart("muffleMessage") [17:27:03.331] } [17:27:03.331] else if (inherits(cond, "warning")) { [17:27:03.331] muffled <- grepl(pattern, "muffleWarning") [17:27:03.331] if (muffled) [17:27:03.331] invokeRestart("muffleWarning") [17:27:03.331] } [17:27:03.331] else if (inherits(cond, "condition")) { [17:27:03.331] if (!is.null(pattern)) { [17:27:03.331] computeRestarts <- base::computeRestarts [17:27:03.331] grepl <- base::grepl [17:27:03.331] restarts <- computeRestarts(cond) [17:27:03.331] for (restart in restarts) { [17:27:03.331] name <- restart$name [17:27:03.331] if (is.null(name)) [17:27:03.331] next [17:27:03.331] if (!grepl(pattern, name)) [17:27:03.331] next [17:27:03.331] invokeRestart(restart) [17:27:03.331] muffled <- TRUE [17:27:03.331] break [17:27:03.331] } [17:27:03.331] } [17:27:03.331] } [17:27:03.331] invisible(muffled) [17:27:03.331] } [17:27:03.331] muffleCondition(cond, pattern = "^muffle") [17:27:03.331] } [17:27:03.331] } [17:27:03.331] } [17:27:03.331] })) [17:27:03.331] }, error = function(ex) { [17:27:03.331] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.331] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.331] ...future.rng), started = ...future.startTime, [17:27:03.331] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.331] version = "1.8"), class = "FutureResult") [17:27:03.331] }, finally = { [17:27:03.331] if (!identical(...future.workdir, getwd())) [17:27:03.331] setwd(...future.workdir) [17:27:03.331] { [17:27:03.331] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.331] ...future.oldOptions$nwarnings <- NULL [17:27:03.331] } [17:27:03.331] base::options(...future.oldOptions) [17:27:03.331] if (.Platform$OS.type == "windows") { [17:27:03.331] old_names <- names(...future.oldEnvVars) [17:27:03.331] envs <- base::Sys.getenv() [17:27:03.331] names <- names(envs) [17:27:03.331] common <- intersect(names, old_names) [17:27:03.331] added <- setdiff(names, old_names) [17:27:03.331] removed <- setdiff(old_names, names) [17:27:03.331] changed <- common[...future.oldEnvVars[common] != [17:27:03.331] envs[common]] [17:27:03.331] NAMES <- toupper(changed) [17:27:03.331] args <- list() [17:27:03.331] for (kk in seq_along(NAMES)) { [17:27:03.331] name <- changed[[kk]] [17:27:03.331] NAME <- NAMES[[kk]] [17:27:03.331] if (name != NAME && is.element(NAME, old_names)) [17:27:03.331] next [17:27:03.331] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.331] } [17:27:03.331] NAMES <- toupper(added) [17:27:03.331] for (kk in seq_along(NAMES)) { [17:27:03.331] name <- added[[kk]] [17:27:03.331] NAME <- NAMES[[kk]] [17:27:03.331] if (name != NAME && is.element(NAME, old_names)) [17:27:03.331] next [17:27:03.331] args[[name]] <- "" [17:27:03.331] } [17:27:03.331] NAMES <- toupper(removed) [17:27:03.331] for (kk in seq_along(NAMES)) { [17:27:03.331] name <- removed[[kk]] [17:27:03.331] NAME <- NAMES[[kk]] [17:27:03.331] if (name != NAME && is.element(NAME, old_names)) [17:27:03.331] next [17:27:03.331] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.331] } [17:27:03.331] if (length(args) > 0) [17:27:03.331] base::do.call(base::Sys.setenv, args = args) [17:27:03.331] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.331] } [17:27:03.331] { [17:27:03.331] if (base::length(...future.futureOptionsAdded) > [17:27:03.331] 0L) { [17:27:03.331] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.331] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.331] base::options(opts) [17:27:03.331] } [17:27:03.331] { [17:27:03.331] { [17:27:03.331] NULL [17:27:03.331] RNGkind("Mersenne-Twister") [17:27:03.331] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.331] inherits = FALSE) [17:27:03.331] } [17:27:03.331] options(future.plan = NULL) [17:27:03.331] if (is.na(NA_character_)) [17:27:03.331] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.331] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.331] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.331] .init = FALSE) [17:27:03.331] } [17:27:03.331] } [17:27:03.331] } [17:27:03.331] }) [17:27:03.331] if (TRUE) { [17:27:03.331] base::sink(type = "output", split = FALSE) [17:27:03.331] if (TRUE) { [17:27:03.331] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.331] } [17:27:03.331] else { [17:27:03.331] ...future.result["stdout"] <- base::list(NULL) [17:27:03.331] } [17:27:03.331] base::close(...future.stdout) [17:27:03.331] ...future.stdout <- NULL [17:27:03.331] } [17:27:03.331] ...future.result$conditions <- ...future.conditions [17:27:03.331] ...future.result$finished <- base::Sys.time() [17:27:03.331] ...future.result [17:27:03.331] } [17:27:03.335] assign_globals() ... [17:27:03.335] List of 1 [17:27:03.335] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.335] - attr(*, "where")=List of 1 [17:27:03.335] ..$ a: [17:27:03.335] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.335] - attr(*, "resolved")= logi TRUE [17:27:03.335] - attr(*, "total_size")= num 1644176 [17:27:03.335] - attr(*, "already-done")= logi TRUE [17:27:03.338] - copied 'a' to environment [17:27:03.338] assign_globals() ... done [17:27:03.339] plan(): Setting new future strategy stack: [17:27:03.339] List of future strategies: [17:27:03.339] 1. sequential: [17:27:03.339] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.339] - tweaked: FALSE [17:27:03.339] - call: NULL [17:27:03.340] plan(): nbrOfWorkers() = 1 [17:27:03.341] plan(): Setting new future strategy stack: [17:27:03.341] List of future strategies: [17:27:03.341] 1. sequential: [17:27:03.341] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.341] - tweaked: FALSE [17:27:03.341] - call: plan(strategy) [17:27:03.342] plan(): nbrOfWorkers() = 1 [17:27:03.342] SequentialFuture started (and completed) [17:27:03.343] - Launch lazy future ... done [17:27:03.343] 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:27:03.343] 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:27:03.344] 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:27:03.344] [17:27:03.344] Searching for globals ... DONE [17:27:03.345] - globals: [0] [17:27:03.345] getGlobalsAndPackages() ... DONE [17:27:03.345] run() for 'Future' ... [17:27:03.345] - state: 'created' [17:27:03.346] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.346] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.346] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.347] - Field: 'label' [17:27:03.347] - Field: 'local' [17:27:03.348] - Field: 'owner' [17:27:03.348] - Field: 'envir' [17:27:03.348] - Field: 'packages' [17:27:03.348] - Field: 'gc' [17:27:03.348] - Field: 'conditions' [17:27:03.349] - Field: 'expr' [17:27:03.349] - Field: 'uuid' [17:27:03.349] - Field: 'seed' [17:27:03.349] - Field: 'version' [17:27:03.349] - Field: 'result' [17:27:03.349] - Field: 'asynchronous' [17:27:03.350] - Field: 'calls' [17:27:03.350] - Field: 'globals' [17:27:03.350] - Field: 'stdout' [17:27:03.350] - Field: 'earlySignal' [17:27:03.350] - Field: 'lazy' [17:27:03.351] - Field: 'state' [17:27:03.351] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.351] - Launch lazy future ... [17:27:03.351] Packages needed by the future expression (n = 0): [17:27:03.351] Packages needed by future strategies (n = 0): [17:27:03.352] { [17:27:03.352] { [17:27:03.352] { [17:27:03.352] ...future.startTime <- base::Sys.time() [17:27:03.352] { [17:27:03.352] { [17:27:03.352] { [17:27:03.352] base::local({ [17:27:03.352] has_future <- base::requireNamespace("future", [17:27:03.352] quietly = TRUE) [17:27:03.352] if (has_future) { [17:27:03.352] ns <- base::getNamespace("future") [17:27:03.352] version <- ns[[".package"]][["version"]] [17:27:03.352] if (is.null(version)) [17:27:03.352] version <- utils::packageVersion("future") [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] version <- NULL [17:27:03.352] } [17:27:03.352] if (!has_future || version < "1.8.0") { [17:27:03.352] info <- base::c(r_version = base::gsub("R version ", [17:27:03.352] "", base::R.version$version.string), [17:27:03.352] platform = base::sprintf("%s (%s-bit)", [17:27:03.352] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.352] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.352] "release", "version")], collapse = " "), [17:27:03.352] hostname = base::Sys.info()[["nodename"]]) [17:27:03.352] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.352] info) [17:27:03.352] info <- base::paste(info, collapse = "; ") [17:27:03.352] if (!has_future) { [17:27:03.352] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.352] info) [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.352] info, version) [17:27:03.352] } [17:27:03.352] base::stop(msg) [17:27:03.352] } [17:27:03.352] }) [17:27:03.352] } [17:27:03.352] ...future.strategy.old <- future::plan("list") [17:27:03.352] options(future.plan = NULL) [17:27:03.352] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.352] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.352] } [17:27:03.352] ...future.workdir <- getwd() [17:27:03.352] } [17:27:03.352] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.352] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.352] } [17:27:03.352] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.352] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.352] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.352] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.352] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.352] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.352] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.352] base::names(...future.oldOptions)) [17:27:03.352] } [17:27:03.352] if (FALSE) { [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] if (TRUE) { [17:27:03.352] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.352] open = "w") [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.352] windows = "NUL", "/dev/null"), open = "w") [17:27:03.352] } [17:27:03.352] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.352] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.352] base::sink(type = "output", split = FALSE) [17:27:03.352] base::close(...future.stdout) [17:27:03.352] }, add = TRUE) [17:27:03.352] } [17:27:03.352] ...future.frame <- base::sys.nframe() [17:27:03.352] ...future.conditions <- base::list() [17:27:03.352] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.352] if (FALSE) { [17:27:03.352] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.352] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.352] } [17:27:03.352] ...future.result <- base::tryCatch({ [17:27:03.352] base::withCallingHandlers({ [17:27:03.352] ...future.value <- base::withVisible(base::local(1)) [17:27:03.352] future::FutureResult(value = ...future.value$value, [17:27:03.352] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.352] ...future.rng), globalenv = if (FALSE) [17:27:03.352] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.352] ...future.globalenv.names)) [17:27:03.352] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.352] }, condition = base::local({ [17:27:03.352] c <- base::c [17:27:03.352] inherits <- base::inherits [17:27:03.352] invokeRestart <- base::invokeRestart [17:27:03.352] length <- base::length [17:27:03.352] list <- base::list [17:27:03.352] seq.int <- base::seq.int [17:27:03.352] signalCondition <- base::signalCondition [17:27:03.352] sys.calls <- base::sys.calls [17:27:03.352] `[[` <- base::`[[` [17:27:03.352] `+` <- base::`+` [17:27:03.352] `<<-` <- base::`<<-` [17:27:03.352] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.352] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.352] 3L)] [17:27:03.352] } [17:27:03.352] function(cond) { [17:27:03.352] is_error <- inherits(cond, "error") [17:27:03.352] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.352] NULL) [17:27:03.352] if (is_error) { [17:27:03.352] sessionInformation <- function() { [17:27:03.352] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.352] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.352] search = base::search(), system = base::Sys.info()) [17:27:03.352] } [17:27:03.352] ...future.conditions[[length(...future.conditions) + [17:27:03.352] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.352] cond$call), session = sessionInformation(), [17:27:03.352] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.352] signalCondition(cond) [17:27:03.352] } [17:27:03.352] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.352] "immediateCondition"))) { [17:27:03.352] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.352] ...future.conditions[[length(...future.conditions) + [17:27:03.352] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.352] if (TRUE && !signal) { [17:27:03.352] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.352] { [17:27:03.352] inherits <- base::inherits [17:27:03.352] invokeRestart <- base::invokeRestart [17:27:03.352] is.null <- base::is.null [17:27:03.352] muffled <- FALSE [17:27:03.352] if (inherits(cond, "message")) { [17:27:03.352] muffled <- grepl(pattern, "muffleMessage") [17:27:03.352] if (muffled) [17:27:03.352] invokeRestart("muffleMessage") [17:27:03.352] } [17:27:03.352] else if (inherits(cond, "warning")) { [17:27:03.352] muffled <- grepl(pattern, "muffleWarning") [17:27:03.352] if (muffled) [17:27:03.352] invokeRestart("muffleWarning") [17:27:03.352] } [17:27:03.352] else if (inherits(cond, "condition")) { [17:27:03.352] if (!is.null(pattern)) { [17:27:03.352] computeRestarts <- base::computeRestarts [17:27:03.352] grepl <- base::grepl [17:27:03.352] restarts <- computeRestarts(cond) [17:27:03.352] for (restart in restarts) { [17:27:03.352] name <- restart$name [17:27:03.352] if (is.null(name)) [17:27:03.352] next [17:27:03.352] if (!grepl(pattern, name)) [17:27:03.352] next [17:27:03.352] invokeRestart(restart) [17:27:03.352] muffled <- TRUE [17:27:03.352] break [17:27:03.352] } [17:27:03.352] } [17:27:03.352] } [17:27:03.352] invisible(muffled) [17:27:03.352] } [17:27:03.352] muffleCondition(cond, pattern = "^muffle") [17:27:03.352] } [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] if (TRUE) { [17:27:03.352] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.352] { [17:27:03.352] inherits <- base::inherits [17:27:03.352] invokeRestart <- base::invokeRestart [17:27:03.352] is.null <- base::is.null [17:27:03.352] muffled <- FALSE [17:27:03.352] if (inherits(cond, "message")) { [17:27:03.352] muffled <- grepl(pattern, "muffleMessage") [17:27:03.352] if (muffled) [17:27:03.352] invokeRestart("muffleMessage") [17:27:03.352] } [17:27:03.352] else if (inherits(cond, "warning")) { [17:27:03.352] muffled <- grepl(pattern, "muffleWarning") [17:27:03.352] if (muffled) [17:27:03.352] invokeRestart("muffleWarning") [17:27:03.352] } [17:27:03.352] else if (inherits(cond, "condition")) { [17:27:03.352] if (!is.null(pattern)) { [17:27:03.352] computeRestarts <- base::computeRestarts [17:27:03.352] grepl <- base::grepl [17:27:03.352] restarts <- computeRestarts(cond) [17:27:03.352] for (restart in restarts) { [17:27:03.352] name <- restart$name [17:27:03.352] if (is.null(name)) [17:27:03.352] next [17:27:03.352] if (!grepl(pattern, name)) [17:27:03.352] next [17:27:03.352] invokeRestart(restart) [17:27:03.352] muffled <- TRUE [17:27:03.352] break [17:27:03.352] } [17:27:03.352] } [17:27:03.352] } [17:27:03.352] invisible(muffled) [17:27:03.352] } [17:27:03.352] muffleCondition(cond, pattern = "^muffle") [17:27:03.352] } [17:27:03.352] } [17:27:03.352] } [17:27:03.352] })) [17:27:03.352] }, error = function(ex) { [17:27:03.352] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.352] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.352] ...future.rng), started = ...future.startTime, [17:27:03.352] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.352] version = "1.8"), class = "FutureResult") [17:27:03.352] }, finally = { [17:27:03.352] if (!identical(...future.workdir, getwd())) [17:27:03.352] setwd(...future.workdir) [17:27:03.352] { [17:27:03.352] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.352] ...future.oldOptions$nwarnings <- NULL [17:27:03.352] } [17:27:03.352] base::options(...future.oldOptions) [17:27:03.352] if (.Platform$OS.type == "windows") { [17:27:03.352] old_names <- names(...future.oldEnvVars) [17:27:03.352] envs <- base::Sys.getenv() [17:27:03.352] names <- names(envs) [17:27:03.352] common <- intersect(names, old_names) [17:27:03.352] added <- setdiff(names, old_names) [17:27:03.352] removed <- setdiff(old_names, names) [17:27:03.352] changed <- common[...future.oldEnvVars[common] != [17:27:03.352] envs[common]] [17:27:03.352] NAMES <- toupper(changed) [17:27:03.352] args <- list() [17:27:03.352] for (kk in seq_along(NAMES)) { [17:27:03.352] name <- changed[[kk]] [17:27:03.352] NAME <- NAMES[[kk]] [17:27:03.352] if (name != NAME && is.element(NAME, old_names)) [17:27:03.352] next [17:27:03.352] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.352] } [17:27:03.352] NAMES <- toupper(added) [17:27:03.352] for (kk in seq_along(NAMES)) { [17:27:03.352] name <- added[[kk]] [17:27:03.352] NAME <- NAMES[[kk]] [17:27:03.352] if (name != NAME && is.element(NAME, old_names)) [17:27:03.352] next [17:27:03.352] args[[name]] <- "" [17:27:03.352] } [17:27:03.352] NAMES <- toupper(removed) [17:27:03.352] for (kk in seq_along(NAMES)) { [17:27:03.352] name <- removed[[kk]] [17:27:03.352] NAME <- NAMES[[kk]] [17:27:03.352] if (name != NAME && is.element(NAME, old_names)) [17:27:03.352] next [17:27:03.352] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.352] } [17:27:03.352] if (length(args) > 0) [17:27:03.352] base::do.call(base::Sys.setenv, args = args) [17:27:03.352] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.352] } [17:27:03.352] { [17:27:03.352] if (base::length(...future.futureOptionsAdded) > [17:27:03.352] 0L) { [17:27:03.352] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.352] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.352] base::options(opts) [17:27:03.352] } [17:27:03.352] { [17:27:03.352] { [17:27:03.352] NULL [17:27:03.352] RNGkind("Mersenne-Twister") [17:27:03.352] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.352] inherits = FALSE) [17:27:03.352] } [17:27:03.352] options(future.plan = NULL) [17:27:03.352] if (is.na(NA_character_)) [17:27:03.352] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.352] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.352] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.352] .init = FALSE) [17:27:03.352] } [17:27:03.352] } [17:27:03.352] } [17:27:03.352] }) [17:27:03.352] if (TRUE) { [17:27:03.352] base::sink(type = "output", split = FALSE) [17:27:03.352] if (TRUE) { [17:27:03.352] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.352] } [17:27:03.352] else { [17:27:03.352] ...future.result["stdout"] <- base::list(NULL) [17:27:03.352] } [17:27:03.352] base::close(...future.stdout) [17:27:03.352] ...future.stdout <- NULL [17:27:03.352] } [17:27:03.352] ...future.result$conditions <- ...future.conditions [17:27:03.352] ...future.result$finished <- base::Sys.time() [17:27:03.352] ...future.result [17:27:03.352] } [17:27:03.356] plan(): Setting new future strategy stack: [17:27:03.356] List of future strategies: [17:27:03.356] 1. sequential: [17:27:03.356] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.356] - tweaked: FALSE [17:27:03.356] - call: NULL [17:27:03.357] plan(): nbrOfWorkers() = 1 [17:27:03.358] plan(): Setting new future strategy stack: [17:27:03.358] List of future strategies: [17:27:03.358] 1. sequential: [17:27:03.358] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.358] - tweaked: FALSE [17:27:03.358] - call: plan(strategy) [17:27:03.358] plan(): nbrOfWorkers() = 1 [17:27:03.359] SequentialFuture started (and completed) [17:27:03.359] - Launch lazy future ... done [17:27:03.359] 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:27:03.359] 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:27:03.360] 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:27:03.361] - globals found: [3] '+', 'value', 'a' [17:27:03.361] Searching for globals ... DONE [17:27:03.361] Resolving globals: TRUE [17:27:03.361] Resolving any globals that are futures ... [17:27:03.361] - globals: [3] '+', 'value', 'a' [17:27:03.362] Resolving any globals that are futures ... DONE [17:27:03.362] Resolving futures part of globals (recursively) ... [17:27:03.362] resolve() on list ... [17:27:03.362] recursive: 99 [17:27:03.363] length: 1 [17:27:03.363] elements: 'a' [17:27:03.363] resolved() for 'SequentialFuture' ... [17:27:03.363] - state: 'finished' [17:27:03.363] - run: TRUE [17:27:03.364] - result: 'FutureResult' [17:27:03.364] resolved() for 'SequentialFuture' ... done [17:27:03.364] Future #1 [17:27:03.364] resolved() for 'SequentialFuture' ... [17:27:03.364] - state: 'finished' [17:27:03.365] - run: TRUE [17:27:03.365] - result: 'FutureResult' [17:27:03.365] resolved() for 'SequentialFuture' ... done [17:27:03.365] A SequentialFuture was resolved [17:27:03.365] length: 0 (resolved future 1) [17:27:03.365] resolve() on list ... DONE [17:27:03.366] - globals: [1] 'a' [17:27:03.366] Resolving futures part of globals (recursively) ... DONE [17:27:03.368] The total size of the 1 globals is 1.57 MiB (1644176 bytes) [17:27:03.368] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.57 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.57 MiB of class 'environment') [17:27:03.369] - globals: [1] 'a' [17:27:03.369] - packages: [1] 'future' [17:27:03.369] getGlobalsAndPackages() ... DONE [17:27:03.369] run() for 'Future' ... [17:27:03.370] - state: 'created' [17:27:03.370] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.370] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.370] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.371] - Field: 'label' [17:27:03.371] - Field: 'local' [17:27:03.371] - Field: 'owner' [17:27:03.371] - Field: 'envir' [17:27:03.371] - Field: 'packages' [17:27:03.371] - Field: 'gc' [17:27:03.372] - Field: 'conditions' [17:27:03.372] - Field: 'expr' [17:27:03.372] - Field: 'uuid' [17:27:03.372] - Field: 'seed' [17:27:03.372] - Field: 'version' [17:27:03.373] - Field: 'result' [17:27:03.373] - Field: 'asynchronous' [17:27:03.373] - Field: 'calls' [17:27:03.373] - Field: 'globals' [17:27:03.373] - Field: 'stdout' [17:27:03.373] - Field: 'earlySignal' [17:27:03.374] - Field: 'lazy' [17:27:03.374] - Field: 'state' [17:27:03.374] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.374] - Launch lazy future ... [17:27:03.374] Packages needed by the future expression (n = 1): 'future' [17:27:03.375] Packages needed by future strategies (n = 0): [17:27:03.375] { [17:27:03.375] { [17:27:03.375] { [17:27:03.375] ...future.startTime <- base::Sys.time() [17:27:03.375] { [17:27:03.375] { [17:27:03.375] { [17:27:03.375] { [17:27:03.375] base::local({ [17:27:03.375] has_future <- base::requireNamespace("future", [17:27:03.375] quietly = TRUE) [17:27:03.375] if (has_future) { [17:27:03.375] ns <- base::getNamespace("future") [17:27:03.375] version <- ns[[".package"]][["version"]] [17:27:03.375] if (is.null(version)) [17:27:03.375] version <- utils::packageVersion("future") [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] version <- NULL [17:27:03.375] } [17:27:03.375] if (!has_future || version < "1.8.0") { [17:27:03.375] info <- base::c(r_version = base::gsub("R version ", [17:27:03.375] "", base::R.version$version.string), [17:27:03.375] platform = base::sprintf("%s (%s-bit)", [17:27:03.375] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.375] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.375] "release", "version")], collapse = " "), [17:27:03.375] hostname = base::Sys.info()[["nodename"]]) [17:27:03.375] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.375] info) [17:27:03.375] info <- base::paste(info, collapse = "; ") [17:27:03.375] if (!has_future) { [17:27:03.375] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.375] info) [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.375] info, version) [17:27:03.375] } [17:27:03.375] base::stop(msg) [17:27:03.375] } [17:27:03.375] }) [17:27:03.375] } [17:27:03.375] base::local({ [17:27:03.375] for (pkg in "future") { [17:27:03.375] base::loadNamespace(pkg) [17:27:03.375] base::library(pkg, character.only = TRUE) [17:27:03.375] } [17:27:03.375] }) [17:27:03.375] } [17:27:03.375] ...future.strategy.old <- future::plan("list") [17:27:03.375] options(future.plan = NULL) [17:27:03.375] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.375] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.375] } [17:27:03.375] ...future.workdir <- getwd() [17:27:03.375] } [17:27:03.375] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.375] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.375] } [17:27:03.375] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.375] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.375] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.375] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.375] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.375] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.375] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.375] base::names(...future.oldOptions)) [17:27:03.375] } [17:27:03.375] if (FALSE) { [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] if (TRUE) { [17:27:03.375] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.375] open = "w") [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.375] windows = "NUL", "/dev/null"), open = "w") [17:27:03.375] } [17:27:03.375] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.375] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.375] base::sink(type = "output", split = FALSE) [17:27:03.375] base::close(...future.stdout) [17:27:03.375] }, add = TRUE) [17:27:03.375] } [17:27:03.375] ...future.frame <- base::sys.nframe() [17:27:03.375] ...future.conditions <- base::list() [17:27:03.375] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.375] if (FALSE) { [17:27:03.375] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.375] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.375] } [17:27:03.375] ...future.result <- base::tryCatch({ [17:27:03.375] base::withCallingHandlers({ [17:27:03.375] ...future.value <- base::withVisible(base::local(value(a) + [17:27:03.375] 1)) [17:27:03.375] future::FutureResult(value = ...future.value$value, [17:27:03.375] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.375] ...future.rng), globalenv = if (FALSE) [17:27:03.375] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.375] ...future.globalenv.names)) [17:27:03.375] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.375] }, condition = base::local({ [17:27:03.375] c <- base::c [17:27:03.375] inherits <- base::inherits [17:27:03.375] invokeRestart <- base::invokeRestart [17:27:03.375] length <- base::length [17:27:03.375] list <- base::list [17:27:03.375] seq.int <- base::seq.int [17:27:03.375] signalCondition <- base::signalCondition [17:27:03.375] sys.calls <- base::sys.calls [17:27:03.375] `[[` <- base::`[[` [17:27:03.375] `+` <- base::`+` [17:27:03.375] `<<-` <- base::`<<-` [17:27:03.375] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.375] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.375] 3L)] [17:27:03.375] } [17:27:03.375] function(cond) { [17:27:03.375] is_error <- inherits(cond, "error") [17:27:03.375] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.375] NULL) [17:27:03.375] if (is_error) { [17:27:03.375] sessionInformation <- function() { [17:27:03.375] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.375] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.375] search = base::search(), system = base::Sys.info()) [17:27:03.375] } [17:27:03.375] ...future.conditions[[length(...future.conditions) + [17:27:03.375] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.375] cond$call), session = sessionInformation(), [17:27:03.375] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.375] signalCondition(cond) [17:27:03.375] } [17:27:03.375] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.375] "immediateCondition"))) { [17:27:03.375] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.375] ...future.conditions[[length(...future.conditions) + [17:27:03.375] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.375] if (TRUE && !signal) { [17:27:03.375] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.375] { [17:27:03.375] inherits <- base::inherits [17:27:03.375] invokeRestart <- base::invokeRestart [17:27:03.375] is.null <- base::is.null [17:27:03.375] muffled <- FALSE [17:27:03.375] if (inherits(cond, "message")) { [17:27:03.375] muffled <- grepl(pattern, "muffleMessage") [17:27:03.375] if (muffled) [17:27:03.375] invokeRestart("muffleMessage") [17:27:03.375] } [17:27:03.375] else if (inherits(cond, "warning")) { [17:27:03.375] muffled <- grepl(pattern, "muffleWarning") [17:27:03.375] if (muffled) [17:27:03.375] invokeRestart("muffleWarning") [17:27:03.375] } [17:27:03.375] else if (inherits(cond, "condition")) { [17:27:03.375] if (!is.null(pattern)) { [17:27:03.375] computeRestarts <- base::computeRestarts [17:27:03.375] grepl <- base::grepl [17:27:03.375] restarts <- computeRestarts(cond) [17:27:03.375] for (restart in restarts) { [17:27:03.375] name <- restart$name [17:27:03.375] if (is.null(name)) [17:27:03.375] next [17:27:03.375] if (!grepl(pattern, name)) [17:27:03.375] next [17:27:03.375] invokeRestart(restart) [17:27:03.375] muffled <- TRUE [17:27:03.375] break [17:27:03.375] } [17:27:03.375] } [17:27:03.375] } [17:27:03.375] invisible(muffled) [17:27:03.375] } [17:27:03.375] muffleCondition(cond, pattern = "^muffle") [17:27:03.375] } [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] if (TRUE) { [17:27:03.375] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.375] { [17:27:03.375] inherits <- base::inherits [17:27:03.375] invokeRestart <- base::invokeRestart [17:27:03.375] is.null <- base::is.null [17:27:03.375] muffled <- FALSE [17:27:03.375] if (inherits(cond, "message")) { [17:27:03.375] muffled <- grepl(pattern, "muffleMessage") [17:27:03.375] if (muffled) [17:27:03.375] invokeRestart("muffleMessage") [17:27:03.375] } [17:27:03.375] else if (inherits(cond, "warning")) { [17:27:03.375] muffled <- grepl(pattern, "muffleWarning") [17:27:03.375] if (muffled) [17:27:03.375] invokeRestart("muffleWarning") [17:27:03.375] } [17:27:03.375] else if (inherits(cond, "condition")) { [17:27:03.375] if (!is.null(pattern)) { [17:27:03.375] computeRestarts <- base::computeRestarts [17:27:03.375] grepl <- base::grepl [17:27:03.375] restarts <- computeRestarts(cond) [17:27:03.375] for (restart in restarts) { [17:27:03.375] name <- restart$name [17:27:03.375] if (is.null(name)) [17:27:03.375] next [17:27:03.375] if (!grepl(pattern, name)) [17:27:03.375] next [17:27:03.375] invokeRestart(restart) [17:27:03.375] muffled <- TRUE [17:27:03.375] break [17:27:03.375] } [17:27:03.375] } [17:27:03.375] } [17:27:03.375] invisible(muffled) [17:27:03.375] } [17:27:03.375] muffleCondition(cond, pattern = "^muffle") [17:27:03.375] } [17:27:03.375] } [17:27:03.375] } [17:27:03.375] })) [17:27:03.375] }, error = function(ex) { [17:27:03.375] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.375] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.375] ...future.rng), started = ...future.startTime, [17:27:03.375] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.375] version = "1.8"), class = "FutureResult") [17:27:03.375] }, finally = { [17:27:03.375] if (!identical(...future.workdir, getwd())) [17:27:03.375] setwd(...future.workdir) [17:27:03.375] { [17:27:03.375] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.375] ...future.oldOptions$nwarnings <- NULL [17:27:03.375] } [17:27:03.375] base::options(...future.oldOptions) [17:27:03.375] if (.Platform$OS.type == "windows") { [17:27:03.375] old_names <- names(...future.oldEnvVars) [17:27:03.375] envs <- base::Sys.getenv() [17:27:03.375] names <- names(envs) [17:27:03.375] common <- intersect(names, old_names) [17:27:03.375] added <- setdiff(names, old_names) [17:27:03.375] removed <- setdiff(old_names, names) [17:27:03.375] changed <- common[...future.oldEnvVars[common] != [17:27:03.375] envs[common]] [17:27:03.375] NAMES <- toupper(changed) [17:27:03.375] args <- list() [17:27:03.375] for (kk in seq_along(NAMES)) { [17:27:03.375] name <- changed[[kk]] [17:27:03.375] NAME <- NAMES[[kk]] [17:27:03.375] if (name != NAME && is.element(NAME, old_names)) [17:27:03.375] next [17:27:03.375] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.375] } [17:27:03.375] NAMES <- toupper(added) [17:27:03.375] for (kk in seq_along(NAMES)) { [17:27:03.375] name <- added[[kk]] [17:27:03.375] NAME <- NAMES[[kk]] [17:27:03.375] if (name != NAME && is.element(NAME, old_names)) [17:27:03.375] next [17:27:03.375] args[[name]] <- "" [17:27:03.375] } [17:27:03.375] NAMES <- toupper(removed) [17:27:03.375] for (kk in seq_along(NAMES)) { [17:27:03.375] name <- removed[[kk]] [17:27:03.375] NAME <- NAMES[[kk]] [17:27:03.375] if (name != NAME && is.element(NAME, old_names)) [17:27:03.375] next [17:27:03.375] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.375] } [17:27:03.375] if (length(args) > 0) [17:27:03.375] base::do.call(base::Sys.setenv, args = args) [17:27:03.375] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.375] } [17:27:03.375] { [17:27:03.375] if (base::length(...future.futureOptionsAdded) > [17:27:03.375] 0L) { [17:27:03.375] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.375] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.375] base::options(opts) [17:27:03.375] } [17:27:03.375] { [17:27:03.375] { [17:27:03.375] NULL [17:27:03.375] RNGkind("Mersenne-Twister") [17:27:03.375] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.375] inherits = FALSE) [17:27:03.375] } [17:27:03.375] options(future.plan = NULL) [17:27:03.375] if (is.na(NA_character_)) [17:27:03.375] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.375] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.375] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.375] .init = FALSE) [17:27:03.375] } [17:27:03.375] } [17:27:03.375] } [17:27:03.375] }) [17:27:03.375] if (TRUE) { [17:27:03.375] base::sink(type = "output", split = FALSE) [17:27:03.375] if (TRUE) { [17:27:03.375] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.375] } [17:27:03.375] else { [17:27:03.375] ...future.result["stdout"] <- base::list(NULL) [17:27:03.375] } [17:27:03.375] base::close(...future.stdout) [17:27:03.375] ...future.stdout <- NULL [17:27:03.375] } [17:27:03.375] ...future.result$conditions <- ...future.conditions [17:27:03.375] ...future.result$finished <- base::Sys.time() [17:27:03.375] ...future.result [17:27:03.375] } [17:27:03.379] assign_globals() ... [17:27:03.379] List of 1 [17:27:03.379] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.379] - attr(*, "where")=List of 1 [17:27:03.379] ..$ a: [17:27:03.379] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.379] - attr(*, "resolved")= logi TRUE [17:27:03.379] - attr(*, "total_size")= num 1644176 [17:27:03.379] - attr(*, "already-done")= logi TRUE [17:27:03.382] - copied 'a' to environment [17:27:03.383] assign_globals() ... done [17:27:03.384] plan(): Setting new future strategy stack: [17:27:03.384] List of future strategies: [17:27:03.384] 1. sequential: [17:27:03.384] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.384] - tweaked: FALSE [17:27:03.384] - call: NULL [17:27:03.385] plan(): nbrOfWorkers() = 1 [17:27:03.386] plan(): Setting new future strategy stack: [17:27:03.386] List of future strategies: [17:27:03.386] 1. sequential: [17:27:03.386] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.386] - tweaked: FALSE [17:27:03.386] - call: plan(strategy) [17:27:03.387] plan(): nbrOfWorkers() = 1 [17:27:03.387] SequentialFuture started (and completed) [17:27:03.387] - Launch lazy future ... done [17:27:03.388] 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:27:03.388] 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:27:03.388] 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:27:03.389] [17:27:03.389] Searching for globals ... DONE [17:27:03.389] - globals: [0] [17:27:03.389] 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:27:03.390] 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:27:03.390] 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:27:03.391] - globals found: [3] '+', 'value', 'a' [17:27:03.391] Searching for globals ... DONE [17:27:03.392] Resolving globals: TRUE [17:27:03.392] Resolving any globals that are futures ... [17:27:03.392] - globals: [3] '+', 'value', 'a' [17:27:03.392] Resolving any globals that are futures ... DONE [17:27:03.392] Resolving futures part of globals (recursively) ... [17:27:03.393] resolve() on list ... [17:27:03.393] recursive: 99 [17:27:03.393] length: 1 [17:27:03.393] elements: 'a' [17:27:03.393] run() for 'Future' ... [17:27:03.394] - state: 'created' [17:27:03.394] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.394] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.394] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.395] - Field: 'label' [17:27:03.395] - Field: 'local' [17:27:03.395] - Field: 'owner' [17:27:03.395] - Field: 'envir' [17:27:03.395] - Field: 'packages' [17:27:03.395] - Field: 'gc' [17:27:03.396] - Field: 'conditions' [17:27:03.396] - Field: 'expr' [17:27:03.396] - Field: 'uuid' [17:27:03.396] - Field: 'seed' [17:27:03.396] - Field: 'version' [17:27:03.397] - Field: 'result' [17:27:03.397] - Field: 'asynchronous' [17:27:03.397] - Field: 'calls' [17:27:03.397] - Field: 'globals' [17:27:03.397] - Field: 'stdout' [17:27:03.397] - Field: 'earlySignal' [17:27:03.398] - Field: 'lazy' [17:27:03.398] - Field: 'state' [17:27:03.398] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.398] - Launch lazy future ... [17:27:03.398] Packages needed by the future expression (n = 0): [17:27:03.398] Packages needed by future strategies (n = 0): [17:27:03.399] { [17:27:03.399] { [17:27:03.399] { [17:27:03.399] ...future.startTime <- base::Sys.time() [17:27:03.399] { [17:27:03.399] { [17:27:03.399] { [17:27:03.399] base::local({ [17:27:03.399] has_future <- base::requireNamespace("future", [17:27:03.399] quietly = TRUE) [17:27:03.399] if (has_future) { [17:27:03.399] ns <- base::getNamespace("future") [17:27:03.399] version <- ns[[".package"]][["version"]] [17:27:03.399] if (is.null(version)) [17:27:03.399] version <- utils::packageVersion("future") [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] version <- NULL [17:27:03.399] } [17:27:03.399] if (!has_future || version < "1.8.0") { [17:27:03.399] info <- base::c(r_version = base::gsub("R version ", [17:27:03.399] "", base::R.version$version.string), [17:27:03.399] platform = base::sprintf("%s (%s-bit)", [17:27:03.399] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.399] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.399] "release", "version")], collapse = " "), [17:27:03.399] hostname = base::Sys.info()[["nodename"]]) [17:27:03.399] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.399] info) [17:27:03.399] info <- base::paste(info, collapse = "; ") [17:27:03.399] if (!has_future) { [17:27:03.399] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.399] info) [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.399] info, version) [17:27:03.399] } [17:27:03.399] base::stop(msg) [17:27:03.399] } [17:27:03.399] }) [17:27:03.399] } [17:27:03.399] ...future.strategy.old <- future::plan("list") [17:27:03.399] options(future.plan = NULL) [17:27:03.399] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.399] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.399] } [17:27:03.399] ...future.workdir <- getwd() [17:27:03.399] } [17:27:03.399] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.399] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.399] } [17:27:03.399] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.399] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.399] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.399] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.399] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.399] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.399] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.399] base::names(...future.oldOptions)) [17:27:03.399] } [17:27:03.399] if (FALSE) { [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] if (TRUE) { [17:27:03.399] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.399] open = "w") [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.399] windows = "NUL", "/dev/null"), open = "w") [17:27:03.399] } [17:27:03.399] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.399] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.399] base::sink(type = "output", split = FALSE) [17:27:03.399] base::close(...future.stdout) [17:27:03.399] }, add = TRUE) [17:27:03.399] } [17:27:03.399] ...future.frame <- base::sys.nframe() [17:27:03.399] ...future.conditions <- base::list() [17:27:03.399] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.399] if (FALSE) { [17:27:03.399] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.399] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.399] } [17:27:03.399] ...future.result <- base::tryCatch({ [17:27:03.399] base::withCallingHandlers({ [17:27:03.399] ...future.value <- base::withVisible(base::local(1)) [17:27:03.399] future::FutureResult(value = ...future.value$value, [17:27:03.399] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.399] ...future.rng), globalenv = if (FALSE) [17:27:03.399] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.399] ...future.globalenv.names)) [17:27:03.399] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.399] }, condition = base::local({ [17:27:03.399] c <- base::c [17:27:03.399] inherits <- base::inherits [17:27:03.399] invokeRestart <- base::invokeRestart [17:27:03.399] length <- base::length [17:27:03.399] list <- base::list [17:27:03.399] seq.int <- base::seq.int [17:27:03.399] signalCondition <- base::signalCondition [17:27:03.399] sys.calls <- base::sys.calls [17:27:03.399] `[[` <- base::`[[` [17:27:03.399] `+` <- base::`+` [17:27:03.399] `<<-` <- base::`<<-` [17:27:03.399] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.399] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.399] 3L)] [17:27:03.399] } [17:27:03.399] function(cond) { [17:27:03.399] is_error <- inherits(cond, "error") [17:27:03.399] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.399] NULL) [17:27:03.399] if (is_error) { [17:27:03.399] sessionInformation <- function() { [17:27:03.399] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.399] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.399] search = base::search(), system = base::Sys.info()) [17:27:03.399] } [17:27:03.399] ...future.conditions[[length(...future.conditions) + [17:27:03.399] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.399] cond$call), session = sessionInformation(), [17:27:03.399] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.399] signalCondition(cond) [17:27:03.399] } [17:27:03.399] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.399] "immediateCondition"))) { [17:27:03.399] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.399] ...future.conditions[[length(...future.conditions) + [17:27:03.399] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.399] if (TRUE && !signal) { [17:27:03.399] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.399] { [17:27:03.399] inherits <- base::inherits [17:27:03.399] invokeRestart <- base::invokeRestart [17:27:03.399] is.null <- base::is.null [17:27:03.399] muffled <- FALSE [17:27:03.399] if (inherits(cond, "message")) { [17:27:03.399] muffled <- grepl(pattern, "muffleMessage") [17:27:03.399] if (muffled) [17:27:03.399] invokeRestart("muffleMessage") [17:27:03.399] } [17:27:03.399] else if (inherits(cond, "warning")) { [17:27:03.399] muffled <- grepl(pattern, "muffleWarning") [17:27:03.399] if (muffled) [17:27:03.399] invokeRestart("muffleWarning") [17:27:03.399] } [17:27:03.399] else if (inherits(cond, "condition")) { [17:27:03.399] if (!is.null(pattern)) { [17:27:03.399] computeRestarts <- base::computeRestarts [17:27:03.399] grepl <- base::grepl [17:27:03.399] restarts <- computeRestarts(cond) [17:27:03.399] for (restart in restarts) { [17:27:03.399] name <- restart$name [17:27:03.399] if (is.null(name)) [17:27:03.399] next [17:27:03.399] if (!grepl(pattern, name)) [17:27:03.399] next [17:27:03.399] invokeRestart(restart) [17:27:03.399] muffled <- TRUE [17:27:03.399] break [17:27:03.399] } [17:27:03.399] } [17:27:03.399] } [17:27:03.399] invisible(muffled) [17:27:03.399] } [17:27:03.399] muffleCondition(cond, pattern = "^muffle") [17:27:03.399] } [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] if (TRUE) { [17:27:03.399] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.399] { [17:27:03.399] inherits <- base::inherits [17:27:03.399] invokeRestart <- base::invokeRestart [17:27:03.399] is.null <- base::is.null [17:27:03.399] muffled <- FALSE [17:27:03.399] if (inherits(cond, "message")) { [17:27:03.399] muffled <- grepl(pattern, "muffleMessage") [17:27:03.399] if (muffled) [17:27:03.399] invokeRestart("muffleMessage") [17:27:03.399] } [17:27:03.399] else if (inherits(cond, "warning")) { [17:27:03.399] muffled <- grepl(pattern, "muffleWarning") [17:27:03.399] if (muffled) [17:27:03.399] invokeRestart("muffleWarning") [17:27:03.399] } [17:27:03.399] else if (inherits(cond, "condition")) { [17:27:03.399] if (!is.null(pattern)) { [17:27:03.399] computeRestarts <- base::computeRestarts [17:27:03.399] grepl <- base::grepl [17:27:03.399] restarts <- computeRestarts(cond) [17:27:03.399] for (restart in restarts) { [17:27:03.399] name <- restart$name [17:27:03.399] if (is.null(name)) [17:27:03.399] next [17:27:03.399] if (!grepl(pattern, name)) [17:27:03.399] next [17:27:03.399] invokeRestart(restart) [17:27:03.399] muffled <- TRUE [17:27:03.399] break [17:27:03.399] } [17:27:03.399] } [17:27:03.399] } [17:27:03.399] invisible(muffled) [17:27:03.399] } [17:27:03.399] muffleCondition(cond, pattern = "^muffle") [17:27:03.399] } [17:27:03.399] } [17:27:03.399] } [17:27:03.399] })) [17:27:03.399] }, error = function(ex) { [17:27:03.399] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.399] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.399] ...future.rng), started = ...future.startTime, [17:27:03.399] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.399] version = "1.8"), class = "FutureResult") [17:27:03.399] }, finally = { [17:27:03.399] if (!identical(...future.workdir, getwd())) [17:27:03.399] setwd(...future.workdir) [17:27:03.399] { [17:27:03.399] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.399] ...future.oldOptions$nwarnings <- NULL [17:27:03.399] } [17:27:03.399] base::options(...future.oldOptions) [17:27:03.399] if (.Platform$OS.type == "windows") { [17:27:03.399] old_names <- names(...future.oldEnvVars) [17:27:03.399] envs <- base::Sys.getenv() [17:27:03.399] names <- names(envs) [17:27:03.399] common <- intersect(names, old_names) [17:27:03.399] added <- setdiff(names, old_names) [17:27:03.399] removed <- setdiff(old_names, names) [17:27:03.399] changed <- common[...future.oldEnvVars[common] != [17:27:03.399] envs[common]] [17:27:03.399] NAMES <- toupper(changed) [17:27:03.399] args <- list() [17:27:03.399] for (kk in seq_along(NAMES)) { [17:27:03.399] name <- changed[[kk]] [17:27:03.399] NAME <- NAMES[[kk]] [17:27:03.399] if (name != NAME && is.element(NAME, old_names)) [17:27:03.399] next [17:27:03.399] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.399] } [17:27:03.399] NAMES <- toupper(added) [17:27:03.399] for (kk in seq_along(NAMES)) { [17:27:03.399] name <- added[[kk]] [17:27:03.399] NAME <- NAMES[[kk]] [17:27:03.399] if (name != NAME && is.element(NAME, old_names)) [17:27:03.399] next [17:27:03.399] args[[name]] <- "" [17:27:03.399] } [17:27:03.399] NAMES <- toupper(removed) [17:27:03.399] for (kk in seq_along(NAMES)) { [17:27:03.399] name <- removed[[kk]] [17:27:03.399] NAME <- NAMES[[kk]] [17:27:03.399] if (name != NAME && is.element(NAME, old_names)) [17:27:03.399] next [17:27:03.399] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.399] } [17:27:03.399] if (length(args) > 0) [17:27:03.399] base::do.call(base::Sys.setenv, args = args) [17:27:03.399] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.399] } [17:27:03.399] { [17:27:03.399] if (base::length(...future.futureOptionsAdded) > [17:27:03.399] 0L) { [17:27:03.399] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.399] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.399] base::options(opts) [17:27:03.399] } [17:27:03.399] { [17:27:03.399] { [17:27:03.399] NULL [17:27:03.399] RNGkind("Mersenne-Twister") [17:27:03.399] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.399] inherits = FALSE) [17:27:03.399] } [17:27:03.399] options(future.plan = NULL) [17:27:03.399] if (is.na(NA_character_)) [17:27:03.399] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.399] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.399] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.399] .init = FALSE) [17:27:03.399] } [17:27:03.399] } [17:27:03.399] } [17:27:03.399] }) [17:27:03.399] if (TRUE) { [17:27:03.399] base::sink(type = "output", split = FALSE) [17:27:03.399] if (TRUE) { [17:27:03.399] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.399] } [17:27:03.399] else { [17:27:03.399] ...future.result["stdout"] <- base::list(NULL) [17:27:03.399] } [17:27:03.399] base::close(...future.stdout) [17:27:03.399] ...future.stdout <- NULL [17:27:03.399] } [17:27:03.399] ...future.result$conditions <- ...future.conditions [17:27:03.399] ...future.result$finished <- base::Sys.time() [17:27:03.399] ...future.result [17:27:03.399] } [17:27:03.403] plan(): Setting new future strategy stack: [17:27:03.403] List of future strategies: [17:27:03.403] 1. sequential: [17:27:03.403] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.403] - tweaked: FALSE [17:27:03.403] - call: NULL [17:27:03.404] plan(): nbrOfWorkers() = 1 [17:27:03.405] plan(): Setting new future strategy stack: [17:27:03.405] List of future strategies: [17:27:03.405] 1. sequential: [17:27:03.405] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.405] - tweaked: FALSE [17:27:03.405] - call: plan(strategy) [17:27:03.406] plan(): nbrOfWorkers() = 1 [17:27:03.406] SequentialFuture started (and completed) [17:27:03.406] - Launch lazy future ... done [17:27:03.406] run() for 'SequentialFuture' ... done [17:27:03.406] resolved() for 'SequentialFuture' ... [17:27:03.407] - state: 'finished' [17:27:03.407] - run: TRUE [17:27:03.407] - result: 'FutureResult' [17:27:03.407] resolved() for 'SequentialFuture' ... done [17:27:03.407] Future #1 [17:27:03.408] resolved() for 'SequentialFuture' ... [17:27:03.408] - state: 'finished' [17:27:03.408] - run: TRUE [17:27:03.408] - result: 'FutureResult' [17:27:03.408] resolved() for 'SequentialFuture' ... done [17:27:03.409] A SequentialFuture was resolved [17:27:03.409] length: 0 (resolved future 1) [17:27:03.409] resolve() on list ... DONE [17:27:03.409] - globals: [1] 'a' [17:27:03.409] Resolving futures part of globals (recursively) ... DONE [17:27:03.411] The total size of the 1 globals is 1.57 MiB (1644344 bytes) [17:27:03.412] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.57 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.57 MiB of class 'environment') [17:27:03.412] - globals: [1] 'a' [17:27:03.412] - packages: [1] 'future' [17:27:03.412] getGlobalsAndPackages() ... DONE [17:27:03.413] run() for 'Future' ... [17:27:03.413] - state: 'created' [17:27:03.413] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.414] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.414] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.414] - Field: 'label' [17:27:03.414] - Field: 'local' [17:27:03.414] - Field: 'owner' [17:27:03.414] - Field: 'envir' [17:27:03.415] - Field: 'packages' [17:27:03.415] - Field: 'gc' [17:27:03.415] - Field: 'conditions' [17:27:03.415] - Field: 'expr' [17:27:03.415] - Field: 'uuid' [17:27:03.416] - Field: 'seed' [17:27:03.416] - Field: 'version' [17:27:03.416] - Field: 'result' [17:27:03.417] - Field: 'asynchronous' [17:27:03.417] - Field: 'calls' [17:27:03.417] - Field: 'globals' [17:27:03.418] - Field: 'stdout' [17:27:03.418] - Field: 'earlySignal' [17:27:03.418] - Field: 'lazy' [17:27:03.418] - Field: 'state' [17:27:03.418] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.419] - Launch lazy future ... [17:27:03.419] Packages needed by the future expression (n = 1): 'future' [17:27:03.419] Packages needed by future strategies (n = 0): [17:27:03.420] { [17:27:03.420] { [17:27:03.420] { [17:27:03.420] ...future.startTime <- base::Sys.time() [17:27:03.420] { [17:27:03.420] { [17:27:03.420] { [17:27:03.420] { [17:27:03.420] base::local({ [17:27:03.420] has_future <- base::requireNamespace("future", [17:27:03.420] quietly = TRUE) [17:27:03.420] if (has_future) { [17:27:03.420] ns <- base::getNamespace("future") [17:27:03.420] version <- ns[[".package"]][["version"]] [17:27:03.420] if (is.null(version)) [17:27:03.420] version <- utils::packageVersion("future") [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] version <- NULL [17:27:03.420] } [17:27:03.420] if (!has_future || version < "1.8.0") { [17:27:03.420] info <- base::c(r_version = base::gsub("R version ", [17:27:03.420] "", base::R.version$version.string), [17:27:03.420] platform = base::sprintf("%s (%s-bit)", [17:27:03.420] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.420] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.420] "release", "version")], collapse = " "), [17:27:03.420] hostname = base::Sys.info()[["nodename"]]) [17:27:03.420] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.420] info) [17:27:03.420] info <- base::paste(info, collapse = "; ") [17:27:03.420] if (!has_future) { [17:27:03.420] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.420] info) [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.420] info, version) [17:27:03.420] } [17:27:03.420] base::stop(msg) [17:27:03.420] } [17:27:03.420] }) [17:27:03.420] } [17:27:03.420] base::local({ [17:27:03.420] for (pkg in "future") { [17:27:03.420] base::loadNamespace(pkg) [17:27:03.420] base::library(pkg, character.only = TRUE) [17:27:03.420] } [17:27:03.420] }) [17:27:03.420] } [17:27:03.420] ...future.strategy.old <- future::plan("list") [17:27:03.420] options(future.plan = NULL) [17:27:03.420] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.420] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.420] } [17:27:03.420] ...future.workdir <- getwd() [17:27:03.420] } [17:27:03.420] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.420] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.420] } [17:27:03.420] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.420] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.420] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.420] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.420] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.420] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.420] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.420] base::names(...future.oldOptions)) [17:27:03.420] } [17:27:03.420] if (FALSE) { [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] if (TRUE) { [17:27:03.420] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.420] open = "w") [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.420] windows = "NUL", "/dev/null"), open = "w") [17:27:03.420] } [17:27:03.420] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.420] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.420] base::sink(type = "output", split = FALSE) [17:27:03.420] base::close(...future.stdout) [17:27:03.420] }, add = TRUE) [17:27:03.420] } [17:27:03.420] ...future.frame <- base::sys.nframe() [17:27:03.420] ...future.conditions <- base::list() [17:27:03.420] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.420] if (FALSE) { [17:27:03.420] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.420] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.420] } [17:27:03.420] ...future.result <- base::tryCatch({ [17:27:03.420] base::withCallingHandlers({ [17:27:03.420] ...future.value <- base::withVisible(base::local(value(a) + [17:27:03.420] 1)) [17:27:03.420] future::FutureResult(value = ...future.value$value, [17:27:03.420] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.420] ...future.rng), globalenv = if (FALSE) [17:27:03.420] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.420] ...future.globalenv.names)) [17:27:03.420] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.420] }, condition = base::local({ [17:27:03.420] c <- base::c [17:27:03.420] inherits <- base::inherits [17:27:03.420] invokeRestart <- base::invokeRestart [17:27:03.420] length <- base::length [17:27:03.420] list <- base::list [17:27:03.420] seq.int <- base::seq.int [17:27:03.420] signalCondition <- base::signalCondition [17:27:03.420] sys.calls <- base::sys.calls [17:27:03.420] `[[` <- base::`[[` [17:27:03.420] `+` <- base::`+` [17:27:03.420] `<<-` <- base::`<<-` [17:27:03.420] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.420] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.420] 3L)] [17:27:03.420] } [17:27:03.420] function(cond) { [17:27:03.420] is_error <- inherits(cond, "error") [17:27:03.420] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.420] NULL) [17:27:03.420] if (is_error) { [17:27:03.420] sessionInformation <- function() { [17:27:03.420] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.420] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.420] search = base::search(), system = base::Sys.info()) [17:27:03.420] } [17:27:03.420] ...future.conditions[[length(...future.conditions) + [17:27:03.420] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.420] cond$call), session = sessionInformation(), [17:27:03.420] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.420] signalCondition(cond) [17:27:03.420] } [17:27:03.420] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.420] "immediateCondition"))) { [17:27:03.420] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.420] ...future.conditions[[length(...future.conditions) + [17:27:03.420] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.420] if (TRUE && !signal) { [17:27:03.420] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.420] { [17:27:03.420] inherits <- base::inherits [17:27:03.420] invokeRestart <- base::invokeRestart [17:27:03.420] is.null <- base::is.null [17:27:03.420] muffled <- FALSE [17:27:03.420] if (inherits(cond, "message")) { [17:27:03.420] muffled <- grepl(pattern, "muffleMessage") [17:27:03.420] if (muffled) [17:27:03.420] invokeRestart("muffleMessage") [17:27:03.420] } [17:27:03.420] else if (inherits(cond, "warning")) { [17:27:03.420] muffled <- grepl(pattern, "muffleWarning") [17:27:03.420] if (muffled) [17:27:03.420] invokeRestart("muffleWarning") [17:27:03.420] } [17:27:03.420] else if (inherits(cond, "condition")) { [17:27:03.420] if (!is.null(pattern)) { [17:27:03.420] computeRestarts <- base::computeRestarts [17:27:03.420] grepl <- base::grepl [17:27:03.420] restarts <- computeRestarts(cond) [17:27:03.420] for (restart in restarts) { [17:27:03.420] name <- restart$name [17:27:03.420] if (is.null(name)) [17:27:03.420] next [17:27:03.420] if (!grepl(pattern, name)) [17:27:03.420] next [17:27:03.420] invokeRestart(restart) [17:27:03.420] muffled <- TRUE [17:27:03.420] break [17:27:03.420] } [17:27:03.420] } [17:27:03.420] } [17:27:03.420] invisible(muffled) [17:27:03.420] } [17:27:03.420] muffleCondition(cond, pattern = "^muffle") [17:27:03.420] } [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] if (TRUE) { [17:27:03.420] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.420] { [17:27:03.420] inherits <- base::inherits [17:27:03.420] invokeRestart <- base::invokeRestart [17:27:03.420] is.null <- base::is.null [17:27:03.420] muffled <- FALSE [17:27:03.420] if (inherits(cond, "message")) { [17:27:03.420] muffled <- grepl(pattern, "muffleMessage") [17:27:03.420] if (muffled) [17:27:03.420] invokeRestart("muffleMessage") [17:27:03.420] } [17:27:03.420] else if (inherits(cond, "warning")) { [17:27:03.420] muffled <- grepl(pattern, "muffleWarning") [17:27:03.420] if (muffled) [17:27:03.420] invokeRestart("muffleWarning") [17:27:03.420] } [17:27:03.420] else if (inherits(cond, "condition")) { [17:27:03.420] if (!is.null(pattern)) { [17:27:03.420] computeRestarts <- base::computeRestarts [17:27:03.420] grepl <- base::grepl [17:27:03.420] restarts <- computeRestarts(cond) [17:27:03.420] for (restart in restarts) { [17:27:03.420] name <- restart$name [17:27:03.420] if (is.null(name)) [17:27:03.420] next [17:27:03.420] if (!grepl(pattern, name)) [17:27:03.420] next [17:27:03.420] invokeRestart(restart) [17:27:03.420] muffled <- TRUE [17:27:03.420] break [17:27:03.420] } [17:27:03.420] } [17:27:03.420] } [17:27:03.420] invisible(muffled) [17:27:03.420] } [17:27:03.420] muffleCondition(cond, pattern = "^muffle") [17:27:03.420] } [17:27:03.420] } [17:27:03.420] } [17:27:03.420] })) [17:27:03.420] }, error = function(ex) { [17:27:03.420] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.420] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.420] ...future.rng), started = ...future.startTime, [17:27:03.420] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.420] version = "1.8"), class = "FutureResult") [17:27:03.420] }, finally = { [17:27:03.420] if (!identical(...future.workdir, getwd())) [17:27:03.420] setwd(...future.workdir) [17:27:03.420] { [17:27:03.420] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.420] ...future.oldOptions$nwarnings <- NULL [17:27:03.420] } [17:27:03.420] base::options(...future.oldOptions) [17:27:03.420] if (.Platform$OS.type == "windows") { [17:27:03.420] old_names <- names(...future.oldEnvVars) [17:27:03.420] envs <- base::Sys.getenv() [17:27:03.420] names <- names(envs) [17:27:03.420] common <- intersect(names, old_names) [17:27:03.420] added <- setdiff(names, old_names) [17:27:03.420] removed <- setdiff(old_names, names) [17:27:03.420] changed <- common[...future.oldEnvVars[common] != [17:27:03.420] envs[common]] [17:27:03.420] NAMES <- toupper(changed) [17:27:03.420] args <- list() [17:27:03.420] for (kk in seq_along(NAMES)) { [17:27:03.420] name <- changed[[kk]] [17:27:03.420] NAME <- NAMES[[kk]] [17:27:03.420] if (name != NAME && is.element(NAME, old_names)) [17:27:03.420] next [17:27:03.420] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.420] } [17:27:03.420] NAMES <- toupper(added) [17:27:03.420] for (kk in seq_along(NAMES)) { [17:27:03.420] name <- added[[kk]] [17:27:03.420] NAME <- NAMES[[kk]] [17:27:03.420] if (name != NAME && is.element(NAME, old_names)) [17:27:03.420] next [17:27:03.420] args[[name]] <- "" [17:27:03.420] } [17:27:03.420] NAMES <- toupper(removed) [17:27:03.420] for (kk in seq_along(NAMES)) { [17:27:03.420] name <- removed[[kk]] [17:27:03.420] NAME <- NAMES[[kk]] [17:27:03.420] if (name != NAME && is.element(NAME, old_names)) [17:27:03.420] next [17:27:03.420] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.420] } [17:27:03.420] if (length(args) > 0) [17:27:03.420] base::do.call(base::Sys.setenv, args = args) [17:27:03.420] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.420] } [17:27:03.420] { [17:27:03.420] if (base::length(...future.futureOptionsAdded) > [17:27:03.420] 0L) { [17:27:03.420] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.420] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.420] base::options(opts) [17:27:03.420] } [17:27:03.420] { [17:27:03.420] { [17:27:03.420] NULL [17:27:03.420] RNGkind("Mersenne-Twister") [17:27:03.420] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.420] inherits = FALSE) [17:27:03.420] } [17:27:03.420] options(future.plan = NULL) [17:27:03.420] if (is.na(NA_character_)) [17:27:03.420] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.420] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.420] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.420] .init = FALSE) [17:27:03.420] } [17:27:03.420] } [17:27:03.420] } [17:27:03.420] }) [17:27:03.420] if (TRUE) { [17:27:03.420] base::sink(type = "output", split = FALSE) [17:27:03.420] if (TRUE) { [17:27:03.420] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.420] } [17:27:03.420] else { [17:27:03.420] ...future.result["stdout"] <- base::list(NULL) [17:27:03.420] } [17:27:03.420] base::close(...future.stdout) [17:27:03.420] ...future.stdout <- NULL [17:27:03.420] } [17:27:03.420] ...future.result$conditions <- ...future.conditions [17:27:03.420] ...future.result$finished <- base::Sys.time() [17:27:03.420] ...future.result [17:27:03.420] } [17:27:03.423] assign_globals() ... [17:27:03.424] List of 1 [17:27:03.424] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.424] - attr(*, "where")=List of 1 [17:27:03.424] ..$ a: [17:27:03.424] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.424] - attr(*, "resolved")= logi TRUE [17:27:03.424] - attr(*, "total_size")= num 1644344 [17:27:03.424] - attr(*, "already-done")= logi TRUE [17:27:03.426] - copied 'a' to environment [17:27:03.427] assign_globals() ... done [17:27:03.427] plan(): Setting new future strategy stack: [17:27:03.427] List of future strategies: [17:27:03.427] 1. sequential: [17:27:03.427] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.427] - tweaked: FALSE [17:27:03.427] - call: NULL [17:27:03.428] plan(): nbrOfWorkers() = 1 [17:27:03.429] plan(): Setting new future strategy stack: [17:27:03.429] List of future strategies: [17:27:03.429] 1. sequential: [17:27:03.429] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.429] - tweaked: FALSE [17:27:03.429] - call: plan(strategy) [17:27:03.430] plan(): nbrOfWorkers() = 1 [17:27:03.430] SequentialFuture started (and completed) [17:27:03.430] - Launch lazy future ... done [17:27:03.431] 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:27:03.431] 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:27:03.432] 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:27:03.432] [17:27:03.432] Searching for globals ... DONE [17:27:03.432] - globals: [0] [17:27:03.433] 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:27:03.433] 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:27:03.433] 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:27:03.434] - globals found: [3] '+', 'value', 'a' [17:27:03.435] Searching for globals ... DONE [17:27:03.435] Resolving globals: TRUE [17:27:03.435] Resolving any globals that are futures ... [17:27:03.435] - globals: [3] '+', 'value', 'a' [17:27:03.435] Resolving any globals that are futures ... DONE [17:27:03.436] Resolving futures part of globals (recursively) ... [17:27:03.436] resolve() on list ... [17:27:03.436] recursive: 99 [17:27:03.436] length: 1 [17:27:03.436] elements: 'a' [17:27:03.437] run() for 'Future' ... [17:27:03.437] - state: 'created' [17:27:03.437] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.437] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.438] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.438] - Field: 'label' [17:27:03.438] - Field: 'local' [17:27:03.438] - Field: 'owner' [17:27:03.438] - Field: 'envir' [17:27:03.438] - Field: 'packages' [17:27:03.439] - Field: 'gc' [17:27:03.439] - Field: 'conditions' [17:27:03.439] - Field: 'expr' [17:27:03.439] - Field: 'uuid' [17:27:03.439] - Field: 'seed' [17:27:03.439] - Field: 'version' [17:27:03.440] - Field: 'result' [17:27:03.440] - Field: 'asynchronous' [17:27:03.440] - Field: 'calls' [17:27:03.440] - Field: 'globals' [17:27:03.440] - Field: 'stdout' [17:27:03.440] - Field: 'earlySignal' [17:27:03.441] - Field: 'lazy' [17:27:03.441] - Field: 'state' [17:27:03.441] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.441] - Launch lazy future ... [17:27:03.441] Packages needed by the future expression (n = 0): [17:27:03.442] Packages needed by future strategies (n = 0): [17:27:03.442] { [17:27:03.442] { [17:27:03.442] { [17:27:03.442] ...future.startTime <- base::Sys.time() [17:27:03.442] { [17:27:03.442] { [17:27:03.442] { [17:27:03.442] base::local({ [17:27:03.442] has_future <- base::requireNamespace("future", [17:27:03.442] quietly = TRUE) [17:27:03.442] if (has_future) { [17:27:03.442] ns <- base::getNamespace("future") [17:27:03.442] version <- ns[[".package"]][["version"]] [17:27:03.442] if (is.null(version)) [17:27:03.442] version <- utils::packageVersion("future") [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] version <- NULL [17:27:03.442] } [17:27:03.442] if (!has_future || version < "1.8.0") { [17:27:03.442] info <- base::c(r_version = base::gsub("R version ", [17:27:03.442] "", base::R.version$version.string), [17:27:03.442] platform = base::sprintf("%s (%s-bit)", [17:27:03.442] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.442] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.442] "release", "version")], collapse = " "), [17:27:03.442] hostname = base::Sys.info()[["nodename"]]) [17:27:03.442] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.442] info) [17:27:03.442] info <- base::paste(info, collapse = "; ") [17:27:03.442] if (!has_future) { [17:27:03.442] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.442] info) [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.442] info, version) [17:27:03.442] } [17:27:03.442] base::stop(msg) [17:27:03.442] } [17:27:03.442] }) [17:27:03.442] } [17:27:03.442] ...future.strategy.old <- future::plan("list") [17:27:03.442] options(future.plan = NULL) [17:27:03.442] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.442] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.442] } [17:27:03.442] ...future.workdir <- getwd() [17:27:03.442] } [17:27:03.442] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.442] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.442] } [17:27:03.442] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.442] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.442] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.442] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.442] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.442] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.442] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.442] base::names(...future.oldOptions)) [17:27:03.442] } [17:27:03.442] if (FALSE) { [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] if (TRUE) { [17:27:03.442] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.442] open = "w") [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.442] windows = "NUL", "/dev/null"), open = "w") [17:27:03.442] } [17:27:03.442] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.442] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.442] base::sink(type = "output", split = FALSE) [17:27:03.442] base::close(...future.stdout) [17:27:03.442] }, add = TRUE) [17:27:03.442] } [17:27:03.442] ...future.frame <- base::sys.nframe() [17:27:03.442] ...future.conditions <- base::list() [17:27:03.442] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.442] if (FALSE) { [17:27:03.442] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.442] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.442] } [17:27:03.442] ...future.result <- base::tryCatch({ [17:27:03.442] base::withCallingHandlers({ [17:27:03.442] ...future.value <- base::withVisible(base::local(1)) [17:27:03.442] future::FutureResult(value = ...future.value$value, [17:27:03.442] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.442] ...future.rng), globalenv = if (FALSE) [17:27:03.442] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.442] ...future.globalenv.names)) [17:27:03.442] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.442] }, condition = base::local({ [17:27:03.442] c <- base::c [17:27:03.442] inherits <- base::inherits [17:27:03.442] invokeRestart <- base::invokeRestart [17:27:03.442] length <- base::length [17:27:03.442] list <- base::list [17:27:03.442] seq.int <- base::seq.int [17:27:03.442] signalCondition <- base::signalCondition [17:27:03.442] sys.calls <- base::sys.calls [17:27:03.442] `[[` <- base::`[[` [17:27:03.442] `+` <- base::`+` [17:27:03.442] `<<-` <- base::`<<-` [17:27:03.442] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.442] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.442] 3L)] [17:27:03.442] } [17:27:03.442] function(cond) { [17:27:03.442] is_error <- inherits(cond, "error") [17:27:03.442] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.442] NULL) [17:27:03.442] if (is_error) { [17:27:03.442] sessionInformation <- function() { [17:27:03.442] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.442] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.442] search = base::search(), system = base::Sys.info()) [17:27:03.442] } [17:27:03.442] ...future.conditions[[length(...future.conditions) + [17:27:03.442] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.442] cond$call), session = sessionInformation(), [17:27:03.442] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.442] signalCondition(cond) [17:27:03.442] } [17:27:03.442] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.442] "immediateCondition"))) { [17:27:03.442] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.442] ...future.conditions[[length(...future.conditions) + [17:27:03.442] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.442] if (TRUE && !signal) { [17:27:03.442] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.442] { [17:27:03.442] inherits <- base::inherits [17:27:03.442] invokeRestart <- base::invokeRestart [17:27:03.442] is.null <- base::is.null [17:27:03.442] muffled <- FALSE [17:27:03.442] if (inherits(cond, "message")) { [17:27:03.442] muffled <- grepl(pattern, "muffleMessage") [17:27:03.442] if (muffled) [17:27:03.442] invokeRestart("muffleMessage") [17:27:03.442] } [17:27:03.442] else if (inherits(cond, "warning")) { [17:27:03.442] muffled <- grepl(pattern, "muffleWarning") [17:27:03.442] if (muffled) [17:27:03.442] invokeRestart("muffleWarning") [17:27:03.442] } [17:27:03.442] else if (inherits(cond, "condition")) { [17:27:03.442] if (!is.null(pattern)) { [17:27:03.442] computeRestarts <- base::computeRestarts [17:27:03.442] grepl <- base::grepl [17:27:03.442] restarts <- computeRestarts(cond) [17:27:03.442] for (restart in restarts) { [17:27:03.442] name <- restart$name [17:27:03.442] if (is.null(name)) [17:27:03.442] next [17:27:03.442] if (!grepl(pattern, name)) [17:27:03.442] next [17:27:03.442] invokeRestart(restart) [17:27:03.442] muffled <- TRUE [17:27:03.442] break [17:27:03.442] } [17:27:03.442] } [17:27:03.442] } [17:27:03.442] invisible(muffled) [17:27:03.442] } [17:27:03.442] muffleCondition(cond, pattern = "^muffle") [17:27:03.442] } [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] if (TRUE) { [17:27:03.442] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.442] { [17:27:03.442] inherits <- base::inherits [17:27:03.442] invokeRestart <- base::invokeRestart [17:27:03.442] is.null <- base::is.null [17:27:03.442] muffled <- FALSE [17:27:03.442] if (inherits(cond, "message")) { [17:27:03.442] muffled <- grepl(pattern, "muffleMessage") [17:27:03.442] if (muffled) [17:27:03.442] invokeRestart("muffleMessage") [17:27:03.442] } [17:27:03.442] else if (inherits(cond, "warning")) { [17:27:03.442] muffled <- grepl(pattern, "muffleWarning") [17:27:03.442] if (muffled) [17:27:03.442] invokeRestart("muffleWarning") [17:27:03.442] } [17:27:03.442] else if (inherits(cond, "condition")) { [17:27:03.442] if (!is.null(pattern)) { [17:27:03.442] computeRestarts <- base::computeRestarts [17:27:03.442] grepl <- base::grepl [17:27:03.442] restarts <- computeRestarts(cond) [17:27:03.442] for (restart in restarts) { [17:27:03.442] name <- restart$name [17:27:03.442] if (is.null(name)) [17:27:03.442] next [17:27:03.442] if (!grepl(pattern, name)) [17:27:03.442] next [17:27:03.442] invokeRestart(restart) [17:27:03.442] muffled <- TRUE [17:27:03.442] break [17:27:03.442] } [17:27:03.442] } [17:27:03.442] } [17:27:03.442] invisible(muffled) [17:27:03.442] } [17:27:03.442] muffleCondition(cond, pattern = "^muffle") [17:27:03.442] } [17:27:03.442] } [17:27:03.442] } [17:27:03.442] })) [17:27:03.442] }, error = function(ex) { [17:27:03.442] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.442] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.442] ...future.rng), started = ...future.startTime, [17:27:03.442] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.442] version = "1.8"), class = "FutureResult") [17:27:03.442] }, finally = { [17:27:03.442] if (!identical(...future.workdir, getwd())) [17:27:03.442] setwd(...future.workdir) [17:27:03.442] { [17:27:03.442] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.442] ...future.oldOptions$nwarnings <- NULL [17:27:03.442] } [17:27:03.442] base::options(...future.oldOptions) [17:27:03.442] if (.Platform$OS.type == "windows") { [17:27:03.442] old_names <- names(...future.oldEnvVars) [17:27:03.442] envs <- base::Sys.getenv() [17:27:03.442] names <- names(envs) [17:27:03.442] common <- intersect(names, old_names) [17:27:03.442] added <- setdiff(names, old_names) [17:27:03.442] removed <- setdiff(old_names, names) [17:27:03.442] changed <- common[...future.oldEnvVars[common] != [17:27:03.442] envs[common]] [17:27:03.442] NAMES <- toupper(changed) [17:27:03.442] args <- list() [17:27:03.442] for (kk in seq_along(NAMES)) { [17:27:03.442] name <- changed[[kk]] [17:27:03.442] NAME <- NAMES[[kk]] [17:27:03.442] if (name != NAME && is.element(NAME, old_names)) [17:27:03.442] next [17:27:03.442] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.442] } [17:27:03.442] NAMES <- toupper(added) [17:27:03.442] for (kk in seq_along(NAMES)) { [17:27:03.442] name <- added[[kk]] [17:27:03.442] NAME <- NAMES[[kk]] [17:27:03.442] if (name != NAME && is.element(NAME, old_names)) [17:27:03.442] next [17:27:03.442] args[[name]] <- "" [17:27:03.442] } [17:27:03.442] NAMES <- toupper(removed) [17:27:03.442] for (kk in seq_along(NAMES)) { [17:27:03.442] name <- removed[[kk]] [17:27:03.442] NAME <- NAMES[[kk]] [17:27:03.442] if (name != NAME && is.element(NAME, old_names)) [17:27:03.442] next [17:27:03.442] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.442] } [17:27:03.442] if (length(args) > 0) [17:27:03.442] base::do.call(base::Sys.setenv, args = args) [17:27:03.442] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.442] } [17:27:03.442] { [17:27:03.442] if (base::length(...future.futureOptionsAdded) > [17:27:03.442] 0L) { [17:27:03.442] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.442] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.442] base::options(opts) [17:27:03.442] } [17:27:03.442] { [17:27:03.442] { [17:27:03.442] NULL [17:27:03.442] RNGkind("Mersenne-Twister") [17:27:03.442] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.442] inherits = FALSE) [17:27:03.442] } [17:27:03.442] options(future.plan = NULL) [17:27:03.442] if (is.na(NA_character_)) [17:27:03.442] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.442] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.442] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.442] .init = FALSE) [17:27:03.442] } [17:27:03.442] } [17:27:03.442] } [17:27:03.442] }) [17:27:03.442] if (TRUE) { [17:27:03.442] base::sink(type = "output", split = FALSE) [17:27:03.442] if (TRUE) { [17:27:03.442] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.442] } [17:27:03.442] else { [17:27:03.442] ...future.result["stdout"] <- base::list(NULL) [17:27:03.442] } [17:27:03.442] base::close(...future.stdout) [17:27:03.442] ...future.stdout <- NULL [17:27:03.442] } [17:27:03.442] ...future.result$conditions <- ...future.conditions [17:27:03.442] ...future.result$finished <- base::Sys.time() [17:27:03.442] ...future.result [17:27:03.442] } [17:27:03.446] plan(): Setting new future strategy stack: [17:27:03.446] List of future strategies: [17:27:03.446] 1. sequential: [17:27:03.446] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.446] - tweaked: FALSE [17:27:03.446] - call: NULL [17:27:03.447] plan(): nbrOfWorkers() = 1 [17:27:03.448] plan(): Setting new future strategy stack: [17:27:03.448] List of future strategies: [17:27:03.448] 1. sequential: [17:27:03.448] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.448] - tweaked: FALSE [17:27:03.448] - call: plan(strategy) [17:27:03.449] plan(): nbrOfWorkers() = 1 [17:27:03.449] SequentialFuture started (and completed) [17:27:03.449] - Launch lazy future ... done [17:27:03.449] run() for 'SequentialFuture' ... done [17:27:03.450] resolved() for 'SequentialFuture' ... [17:27:03.450] - state: 'finished' [17:27:03.450] - run: TRUE [17:27:03.450] - result: 'FutureResult' [17:27:03.450] resolved() for 'SequentialFuture' ... done [17:27:03.451] Future #1 [17:27:03.451] resolved() for 'SequentialFuture' ... [17:27:03.451] - state: 'finished' [17:27:03.451] - run: TRUE [17:27:03.451] - result: 'FutureResult' [17:27:03.452] resolved() for 'SequentialFuture' ... done [17:27:03.452] A SequentialFuture was resolved [17:27:03.452] length: 0 (resolved future 1) [17:27:03.452] resolve() on list ... DONE [17:27:03.452] - globals: [1] 'a' [17:27:03.453] Resolving futures part of globals (recursively) ... DONE [17:27:03.456] The total size of the 1 globals is 1.57 MiB (1644344 bytes) [17:27:03.456] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.57 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.57 MiB of class 'environment') [17:27:03.457] - globals: [1] 'a' [17:27:03.457] - packages: [1] 'future' [17:27:03.457] getGlobalsAndPackages() ... DONE [17:27:03.457] run() for 'Future' ... [17:27:03.458] - state: 'created' [17:27:03.458] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.458] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.458] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.459] - Field: 'label' [17:27:03.459] - Field: 'local' [17:27:03.459] - Field: 'owner' [17:27:03.459] - Field: 'envir' [17:27:03.459] - Field: 'packages' [17:27:03.459] - Field: 'gc' [17:27:03.460] - Field: 'conditions' [17:27:03.460] - Field: 'expr' [17:27:03.460] - Field: 'uuid' [17:27:03.460] - Field: 'seed' [17:27:03.460] - Field: 'version' [17:27:03.460] - Field: 'result' [17:27:03.461] - Field: 'asynchronous' [17:27:03.461] - Field: 'calls' [17:27:03.461] - Field: 'globals' [17:27:03.461] - Field: 'stdout' [17:27:03.461] - Field: 'earlySignal' [17:27:03.461] - Field: 'lazy' [17:27:03.462] - Field: 'state' [17:27:03.462] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.462] - Launch lazy future ... [17:27:03.462] Packages needed by the future expression (n = 1): 'future' [17:27:03.462] Packages needed by future strategies (n = 0): [17:27:03.463] { [17:27:03.463] { [17:27:03.463] { [17:27:03.463] ...future.startTime <- base::Sys.time() [17:27:03.463] { [17:27:03.463] { [17:27:03.463] { [17:27:03.463] { [17:27:03.463] base::local({ [17:27:03.463] has_future <- base::requireNamespace("future", [17:27:03.463] quietly = TRUE) [17:27:03.463] if (has_future) { [17:27:03.463] ns <- base::getNamespace("future") [17:27:03.463] version <- ns[[".package"]][["version"]] [17:27:03.463] if (is.null(version)) [17:27:03.463] version <- utils::packageVersion("future") [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] version <- NULL [17:27:03.463] } [17:27:03.463] if (!has_future || version < "1.8.0") { [17:27:03.463] info <- base::c(r_version = base::gsub("R version ", [17:27:03.463] "", base::R.version$version.string), [17:27:03.463] platform = base::sprintf("%s (%s-bit)", [17:27:03.463] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.463] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.463] "release", "version")], collapse = " "), [17:27:03.463] hostname = base::Sys.info()[["nodename"]]) [17:27:03.463] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.463] info) [17:27:03.463] info <- base::paste(info, collapse = "; ") [17:27:03.463] if (!has_future) { [17:27:03.463] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.463] info) [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.463] info, version) [17:27:03.463] } [17:27:03.463] base::stop(msg) [17:27:03.463] } [17:27:03.463] }) [17:27:03.463] } [17:27:03.463] base::local({ [17:27:03.463] for (pkg in "future") { [17:27:03.463] base::loadNamespace(pkg) [17:27:03.463] base::library(pkg, character.only = TRUE) [17:27:03.463] } [17:27:03.463] }) [17:27:03.463] } [17:27:03.463] ...future.strategy.old <- future::plan("list") [17:27:03.463] options(future.plan = NULL) [17:27:03.463] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.463] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.463] } [17:27:03.463] ...future.workdir <- getwd() [17:27:03.463] } [17:27:03.463] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.463] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.463] } [17:27:03.463] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.463] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.463] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.463] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.463] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.463] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.463] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.463] base::names(...future.oldOptions)) [17:27:03.463] } [17:27:03.463] if (FALSE) { [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] if (TRUE) { [17:27:03.463] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.463] open = "w") [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.463] windows = "NUL", "/dev/null"), open = "w") [17:27:03.463] } [17:27:03.463] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.463] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.463] base::sink(type = "output", split = FALSE) [17:27:03.463] base::close(...future.stdout) [17:27:03.463] }, add = TRUE) [17:27:03.463] } [17:27:03.463] ...future.frame <- base::sys.nframe() [17:27:03.463] ...future.conditions <- base::list() [17:27:03.463] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.463] if (FALSE) { [17:27:03.463] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.463] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.463] } [17:27:03.463] ...future.result <- base::tryCatch({ [17:27:03.463] base::withCallingHandlers({ [17:27:03.463] ...future.value <- base::withVisible(base::local(value(a) + [17:27:03.463] 1)) [17:27:03.463] future::FutureResult(value = ...future.value$value, [17:27:03.463] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.463] ...future.rng), globalenv = if (FALSE) [17:27:03.463] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.463] ...future.globalenv.names)) [17:27:03.463] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.463] }, condition = base::local({ [17:27:03.463] c <- base::c [17:27:03.463] inherits <- base::inherits [17:27:03.463] invokeRestart <- base::invokeRestart [17:27:03.463] length <- base::length [17:27:03.463] list <- base::list [17:27:03.463] seq.int <- base::seq.int [17:27:03.463] signalCondition <- base::signalCondition [17:27:03.463] sys.calls <- base::sys.calls [17:27:03.463] `[[` <- base::`[[` [17:27:03.463] `+` <- base::`+` [17:27:03.463] `<<-` <- base::`<<-` [17:27:03.463] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.463] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.463] 3L)] [17:27:03.463] } [17:27:03.463] function(cond) { [17:27:03.463] is_error <- inherits(cond, "error") [17:27:03.463] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.463] NULL) [17:27:03.463] if (is_error) { [17:27:03.463] sessionInformation <- function() { [17:27:03.463] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.463] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.463] search = base::search(), system = base::Sys.info()) [17:27:03.463] } [17:27:03.463] ...future.conditions[[length(...future.conditions) + [17:27:03.463] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.463] cond$call), session = sessionInformation(), [17:27:03.463] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.463] signalCondition(cond) [17:27:03.463] } [17:27:03.463] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.463] "immediateCondition"))) { [17:27:03.463] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.463] ...future.conditions[[length(...future.conditions) + [17:27:03.463] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.463] if (TRUE && !signal) { [17:27:03.463] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.463] { [17:27:03.463] inherits <- base::inherits [17:27:03.463] invokeRestart <- base::invokeRestart [17:27:03.463] is.null <- base::is.null [17:27:03.463] muffled <- FALSE [17:27:03.463] if (inherits(cond, "message")) { [17:27:03.463] muffled <- grepl(pattern, "muffleMessage") [17:27:03.463] if (muffled) [17:27:03.463] invokeRestart("muffleMessage") [17:27:03.463] } [17:27:03.463] else if (inherits(cond, "warning")) { [17:27:03.463] muffled <- grepl(pattern, "muffleWarning") [17:27:03.463] if (muffled) [17:27:03.463] invokeRestart("muffleWarning") [17:27:03.463] } [17:27:03.463] else if (inherits(cond, "condition")) { [17:27:03.463] if (!is.null(pattern)) { [17:27:03.463] computeRestarts <- base::computeRestarts [17:27:03.463] grepl <- base::grepl [17:27:03.463] restarts <- computeRestarts(cond) [17:27:03.463] for (restart in restarts) { [17:27:03.463] name <- restart$name [17:27:03.463] if (is.null(name)) [17:27:03.463] next [17:27:03.463] if (!grepl(pattern, name)) [17:27:03.463] next [17:27:03.463] invokeRestart(restart) [17:27:03.463] muffled <- TRUE [17:27:03.463] break [17:27:03.463] } [17:27:03.463] } [17:27:03.463] } [17:27:03.463] invisible(muffled) [17:27:03.463] } [17:27:03.463] muffleCondition(cond, pattern = "^muffle") [17:27:03.463] } [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] if (TRUE) { [17:27:03.463] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.463] { [17:27:03.463] inherits <- base::inherits [17:27:03.463] invokeRestart <- base::invokeRestart [17:27:03.463] is.null <- base::is.null [17:27:03.463] muffled <- FALSE [17:27:03.463] if (inherits(cond, "message")) { [17:27:03.463] muffled <- grepl(pattern, "muffleMessage") [17:27:03.463] if (muffled) [17:27:03.463] invokeRestart("muffleMessage") [17:27:03.463] } [17:27:03.463] else if (inherits(cond, "warning")) { [17:27:03.463] muffled <- grepl(pattern, "muffleWarning") [17:27:03.463] if (muffled) [17:27:03.463] invokeRestart("muffleWarning") [17:27:03.463] } [17:27:03.463] else if (inherits(cond, "condition")) { [17:27:03.463] if (!is.null(pattern)) { [17:27:03.463] computeRestarts <- base::computeRestarts [17:27:03.463] grepl <- base::grepl [17:27:03.463] restarts <- computeRestarts(cond) [17:27:03.463] for (restart in restarts) { [17:27:03.463] name <- restart$name [17:27:03.463] if (is.null(name)) [17:27:03.463] next [17:27:03.463] if (!grepl(pattern, name)) [17:27:03.463] next [17:27:03.463] invokeRestart(restart) [17:27:03.463] muffled <- TRUE [17:27:03.463] break [17:27:03.463] } [17:27:03.463] } [17:27:03.463] } [17:27:03.463] invisible(muffled) [17:27:03.463] } [17:27:03.463] muffleCondition(cond, pattern = "^muffle") [17:27:03.463] } [17:27:03.463] } [17:27:03.463] } [17:27:03.463] })) [17:27:03.463] }, error = function(ex) { [17:27:03.463] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.463] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.463] ...future.rng), started = ...future.startTime, [17:27:03.463] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.463] version = "1.8"), class = "FutureResult") [17:27:03.463] }, finally = { [17:27:03.463] if (!identical(...future.workdir, getwd())) [17:27:03.463] setwd(...future.workdir) [17:27:03.463] { [17:27:03.463] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.463] ...future.oldOptions$nwarnings <- NULL [17:27:03.463] } [17:27:03.463] base::options(...future.oldOptions) [17:27:03.463] if (.Platform$OS.type == "windows") { [17:27:03.463] old_names <- names(...future.oldEnvVars) [17:27:03.463] envs <- base::Sys.getenv() [17:27:03.463] names <- names(envs) [17:27:03.463] common <- intersect(names, old_names) [17:27:03.463] added <- setdiff(names, old_names) [17:27:03.463] removed <- setdiff(old_names, names) [17:27:03.463] changed <- common[...future.oldEnvVars[common] != [17:27:03.463] envs[common]] [17:27:03.463] NAMES <- toupper(changed) [17:27:03.463] args <- list() [17:27:03.463] for (kk in seq_along(NAMES)) { [17:27:03.463] name <- changed[[kk]] [17:27:03.463] NAME <- NAMES[[kk]] [17:27:03.463] if (name != NAME && is.element(NAME, old_names)) [17:27:03.463] next [17:27:03.463] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.463] } [17:27:03.463] NAMES <- toupper(added) [17:27:03.463] for (kk in seq_along(NAMES)) { [17:27:03.463] name <- added[[kk]] [17:27:03.463] NAME <- NAMES[[kk]] [17:27:03.463] if (name != NAME && is.element(NAME, old_names)) [17:27:03.463] next [17:27:03.463] args[[name]] <- "" [17:27:03.463] } [17:27:03.463] NAMES <- toupper(removed) [17:27:03.463] for (kk in seq_along(NAMES)) { [17:27:03.463] name <- removed[[kk]] [17:27:03.463] NAME <- NAMES[[kk]] [17:27:03.463] if (name != NAME && is.element(NAME, old_names)) [17:27:03.463] next [17:27:03.463] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.463] } [17:27:03.463] if (length(args) > 0) [17:27:03.463] base::do.call(base::Sys.setenv, args = args) [17:27:03.463] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.463] } [17:27:03.463] { [17:27:03.463] if (base::length(...future.futureOptionsAdded) > [17:27:03.463] 0L) { [17:27:03.463] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.463] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.463] base::options(opts) [17:27:03.463] } [17:27:03.463] { [17:27:03.463] { [17:27:03.463] NULL [17:27:03.463] RNGkind("Mersenne-Twister") [17:27:03.463] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.463] inherits = FALSE) [17:27:03.463] } [17:27:03.463] options(future.plan = NULL) [17:27:03.463] if (is.na(NA_character_)) [17:27:03.463] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.463] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.463] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.463] .init = FALSE) [17:27:03.463] } [17:27:03.463] } [17:27:03.463] } [17:27:03.463] }) [17:27:03.463] if (TRUE) { [17:27:03.463] base::sink(type = "output", split = FALSE) [17:27:03.463] if (TRUE) { [17:27:03.463] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.463] } [17:27:03.463] else { [17:27:03.463] ...future.result["stdout"] <- base::list(NULL) [17:27:03.463] } [17:27:03.463] base::close(...future.stdout) [17:27:03.463] ...future.stdout <- NULL [17:27:03.463] } [17:27:03.463] ...future.result$conditions <- ...future.conditions [17:27:03.463] ...future.result$finished <- base::Sys.time() [17:27:03.463] ...future.result [17:27:03.463] } [17:27:03.467] assign_globals() ... [17:27:03.467] List of 1 [17:27:03.467] $ a:Classes 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.467] - attr(*, "where")=List of 1 [17:27:03.467] ..$ a: [17:27:03.467] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.467] - attr(*, "resolved")= logi TRUE [17:27:03.467] - attr(*, "total_size")= num 1644344 [17:27:03.467] - attr(*, "already-done")= logi TRUE [17:27:03.470] - copied 'a' to environment [17:27:03.470] assign_globals() ... done [17:27:03.471] plan(): Setting new future strategy stack: [17:27:03.471] List of future strategies: [17:27:03.471] 1. sequential: [17:27:03.471] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.471] - tweaked: FALSE [17:27:03.471] - call: NULL [17:27:03.471] plan(): nbrOfWorkers() = 1 [17:27:03.473] plan(): Setting new future strategy stack: [17:27:03.473] List of future strategies: [17:27:03.473] 1. sequential: [17:27:03.473] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.473] - tweaked: FALSE [17:27:03.473] - call: plan(strategy) [17:27:03.473] plan(): nbrOfWorkers() = 1 [17:27:03.474] SequentialFuture started (and completed) [17:27:03.474] - Launch lazy future ... done [17:27:03.474] 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:27:03.475] 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:27:03.475] 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:27:03.476] - globals found: [2] '{', 'pkg' [17:27:03.476] Searching for globals ... DONE [17:27:03.476] Resolving globals: TRUE [17:27:03.477] Resolving any globals that are futures ... [17:27:03.477] - globals: [2] '{', 'pkg' [17:27:03.477] Resolving any globals that are futures ... DONE [17:27:03.477] Resolving futures part of globals (recursively) ... [17:27:03.478] resolve() on list ... [17:27:03.478] recursive: 99 [17:27:03.478] length: 1 [17:27:03.478] elements: 'pkg' [17:27:03.478] length: 0 (resolved future 1) [17:27:03.478] resolve() on list ... DONE [17:27:03.479] - globals: [1] 'pkg' [17:27:03.479] Resolving futures part of globals (recursively) ... DONE [17:27:03.479] The total size of the 1 globals is 112 bytes (112 bytes) [17:27:03.479] The total size of the 1 globals exported for future expression ('{; pkg; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (112 bytes of class 'character') [17:27:03.480] - globals: [1] 'pkg' [17:27:03.480] [17:27:03.480] getGlobalsAndPackages() ... DONE [17:27:03.480] Packages needed by the future expression (n = 0): [17:27:03.481] Packages needed by future strategies (n = 0): [17:27:03.481] { [17:27:03.481] { [17:27:03.481] { [17:27:03.481] ...future.startTime <- base::Sys.time() [17:27:03.481] { [17:27:03.481] { [17:27:03.481] { [17:27:03.481] base::local({ [17:27:03.481] has_future <- base::requireNamespace("future", [17:27:03.481] quietly = TRUE) [17:27:03.481] if (has_future) { [17:27:03.481] ns <- base::getNamespace("future") [17:27:03.481] version <- ns[[".package"]][["version"]] [17:27:03.481] if (is.null(version)) [17:27:03.481] version <- utils::packageVersion("future") [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] version <- NULL [17:27:03.481] } [17:27:03.481] if (!has_future || version < "1.8.0") { [17:27:03.481] info <- base::c(r_version = base::gsub("R version ", [17:27:03.481] "", base::R.version$version.string), [17:27:03.481] platform = base::sprintf("%s (%s-bit)", [17:27:03.481] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.481] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.481] "release", "version")], collapse = " "), [17:27:03.481] hostname = base::Sys.info()[["nodename"]]) [17:27:03.481] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.481] info) [17:27:03.481] info <- base::paste(info, collapse = "; ") [17:27:03.481] if (!has_future) { [17:27:03.481] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.481] info) [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.481] info, version) [17:27:03.481] } [17:27:03.481] base::stop(msg) [17:27:03.481] } [17:27:03.481] }) [17:27:03.481] } [17:27:03.481] ...future.strategy.old <- future::plan("list") [17:27:03.481] options(future.plan = NULL) [17:27:03.481] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.481] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.481] } [17:27:03.481] ...future.workdir <- getwd() [17:27:03.481] } [17:27:03.481] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.481] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.481] } [17:27:03.481] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.481] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.481] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.481] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.481] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.481] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.481] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.481] base::names(...future.oldOptions)) [17:27:03.481] } [17:27:03.481] if (FALSE) { [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] if (TRUE) { [17:27:03.481] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.481] open = "w") [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.481] windows = "NUL", "/dev/null"), open = "w") [17:27:03.481] } [17:27:03.481] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.481] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.481] base::sink(type = "output", split = FALSE) [17:27:03.481] base::close(...future.stdout) [17:27:03.481] }, add = TRUE) [17:27:03.481] } [17:27:03.481] ...future.frame <- base::sys.nframe() [17:27:03.481] ...future.conditions <- base::list() [17:27:03.481] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.481] if (FALSE) { [17:27:03.481] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.481] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.481] } [17:27:03.481] ...future.result <- base::tryCatch({ [17:27:03.481] base::withCallingHandlers({ [17:27:03.481] ...future.value <- base::withVisible(base::local({ [17:27:03.481] pkg [17:27:03.481] })) [17:27:03.481] future::FutureResult(value = ...future.value$value, [17:27:03.481] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.481] ...future.rng), globalenv = if (FALSE) [17:27:03.481] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.481] ...future.globalenv.names)) [17:27:03.481] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.481] }, condition = base::local({ [17:27:03.481] c <- base::c [17:27:03.481] inherits <- base::inherits [17:27:03.481] invokeRestart <- base::invokeRestart [17:27:03.481] length <- base::length [17:27:03.481] list <- base::list [17:27:03.481] seq.int <- base::seq.int [17:27:03.481] signalCondition <- base::signalCondition [17:27:03.481] sys.calls <- base::sys.calls [17:27:03.481] `[[` <- base::`[[` [17:27:03.481] `+` <- base::`+` [17:27:03.481] `<<-` <- base::`<<-` [17:27:03.481] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.481] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.481] 3L)] [17:27:03.481] } [17:27:03.481] function(cond) { [17:27:03.481] is_error <- inherits(cond, "error") [17:27:03.481] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.481] NULL) [17:27:03.481] if (is_error) { [17:27:03.481] sessionInformation <- function() { [17:27:03.481] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.481] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.481] search = base::search(), system = base::Sys.info()) [17:27:03.481] } [17:27:03.481] ...future.conditions[[length(...future.conditions) + [17:27:03.481] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.481] cond$call), session = sessionInformation(), [17:27:03.481] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.481] signalCondition(cond) [17:27:03.481] } [17:27:03.481] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.481] "immediateCondition"))) { [17:27:03.481] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.481] ...future.conditions[[length(...future.conditions) + [17:27:03.481] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.481] if (TRUE && !signal) { [17:27:03.481] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.481] { [17:27:03.481] inherits <- base::inherits [17:27:03.481] invokeRestart <- base::invokeRestart [17:27:03.481] is.null <- base::is.null [17:27:03.481] muffled <- FALSE [17:27:03.481] if (inherits(cond, "message")) { [17:27:03.481] muffled <- grepl(pattern, "muffleMessage") [17:27:03.481] if (muffled) [17:27:03.481] invokeRestart("muffleMessage") [17:27:03.481] } [17:27:03.481] else if (inherits(cond, "warning")) { [17:27:03.481] muffled <- grepl(pattern, "muffleWarning") [17:27:03.481] if (muffled) [17:27:03.481] invokeRestart("muffleWarning") [17:27:03.481] } [17:27:03.481] else if (inherits(cond, "condition")) { [17:27:03.481] if (!is.null(pattern)) { [17:27:03.481] computeRestarts <- base::computeRestarts [17:27:03.481] grepl <- base::grepl [17:27:03.481] restarts <- computeRestarts(cond) [17:27:03.481] for (restart in restarts) { [17:27:03.481] name <- restart$name [17:27:03.481] if (is.null(name)) [17:27:03.481] next [17:27:03.481] if (!grepl(pattern, name)) [17:27:03.481] next [17:27:03.481] invokeRestart(restart) [17:27:03.481] muffled <- TRUE [17:27:03.481] break [17:27:03.481] } [17:27:03.481] } [17:27:03.481] } [17:27:03.481] invisible(muffled) [17:27:03.481] } [17:27:03.481] muffleCondition(cond, pattern = "^muffle") [17:27:03.481] } [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] if (TRUE) { [17:27:03.481] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.481] { [17:27:03.481] inherits <- base::inherits [17:27:03.481] invokeRestart <- base::invokeRestart [17:27:03.481] is.null <- base::is.null [17:27:03.481] muffled <- FALSE [17:27:03.481] if (inherits(cond, "message")) { [17:27:03.481] muffled <- grepl(pattern, "muffleMessage") [17:27:03.481] if (muffled) [17:27:03.481] invokeRestart("muffleMessage") [17:27:03.481] } [17:27:03.481] else if (inherits(cond, "warning")) { [17:27:03.481] muffled <- grepl(pattern, "muffleWarning") [17:27:03.481] if (muffled) [17:27:03.481] invokeRestart("muffleWarning") [17:27:03.481] } [17:27:03.481] else if (inherits(cond, "condition")) { [17:27:03.481] if (!is.null(pattern)) { [17:27:03.481] computeRestarts <- base::computeRestarts [17:27:03.481] grepl <- base::grepl [17:27:03.481] restarts <- computeRestarts(cond) [17:27:03.481] for (restart in restarts) { [17:27:03.481] name <- restart$name [17:27:03.481] if (is.null(name)) [17:27:03.481] next [17:27:03.481] if (!grepl(pattern, name)) [17:27:03.481] next [17:27:03.481] invokeRestart(restart) [17:27:03.481] muffled <- TRUE [17:27:03.481] break [17:27:03.481] } [17:27:03.481] } [17:27:03.481] } [17:27:03.481] invisible(muffled) [17:27:03.481] } [17:27:03.481] muffleCondition(cond, pattern = "^muffle") [17:27:03.481] } [17:27:03.481] } [17:27:03.481] } [17:27:03.481] })) [17:27:03.481] }, error = function(ex) { [17:27:03.481] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.481] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.481] ...future.rng), started = ...future.startTime, [17:27:03.481] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.481] version = "1.8"), class = "FutureResult") [17:27:03.481] }, finally = { [17:27:03.481] if (!identical(...future.workdir, getwd())) [17:27:03.481] setwd(...future.workdir) [17:27:03.481] { [17:27:03.481] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.481] ...future.oldOptions$nwarnings <- NULL [17:27:03.481] } [17:27:03.481] base::options(...future.oldOptions) [17:27:03.481] if (.Platform$OS.type == "windows") { [17:27:03.481] old_names <- names(...future.oldEnvVars) [17:27:03.481] envs <- base::Sys.getenv() [17:27:03.481] names <- names(envs) [17:27:03.481] common <- intersect(names, old_names) [17:27:03.481] added <- setdiff(names, old_names) [17:27:03.481] removed <- setdiff(old_names, names) [17:27:03.481] changed <- common[...future.oldEnvVars[common] != [17:27:03.481] envs[common]] [17:27:03.481] NAMES <- toupper(changed) [17:27:03.481] args <- list() [17:27:03.481] for (kk in seq_along(NAMES)) { [17:27:03.481] name <- changed[[kk]] [17:27:03.481] NAME <- NAMES[[kk]] [17:27:03.481] if (name != NAME && is.element(NAME, old_names)) [17:27:03.481] next [17:27:03.481] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.481] } [17:27:03.481] NAMES <- toupper(added) [17:27:03.481] for (kk in seq_along(NAMES)) { [17:27:03.481] name <- added[[kk]] [17:27:03.481] NAME <- NAMES[[kk]] [17:27:03.481] if (name != NAME && is.element(NAME, old_names)) [17:27:03.481] next [17:27:03.481] args[[name]] <- "" [17:27:03.481] } [17:27:03.481] NAMES <- toupper(removed) [17:27:03.481] for (kk in seq_along(NAMES)) { [17:27:03.481] name <- removed[[kk]] [17:27:03.481] NAME <- NAMES[[kk]] [17:27:03.481] if (name != NAME && is.element(NAME, old_names)) [17:27:03.481] next [17:27:03.481] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.481] } [17:27:03.481] if (length(args) > 0) [17:27:03.481] base::do.call(base::Sys.setenv, args = args) [17:27:03.481] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.481] } [17:27:03.481] { [17:27:03.481] if (base::length(...future.futureOptionsAdded) > [17:27:03.481] 0L) { [17:27:03.481] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.481] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.481] base::options(opts) [17:27:03.481] } [17:27:03.481] { [17:27:03.481] { [17:27:03.481] NULL [17:27:03.481] RNGkind("Mersenne-Twister") [17:27:03.481] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.481] inherits = FALSE) [17:27:03.481] } [17:27:03.481] options(future.plan = NULL) [17:27:03.481] if (is.na(NA_character_)) [17:27:03.481] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.481] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.481] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.481] .init = FALSE) [17:27:03.481] } [17:27:03.481] } [17:27:03.481] } [17:27:03.481] }) [17:27:03.481] if (TRUE) { [17:27:03.481] base::sink(type = "output", split = FALSE) [17:27:03.481] if (TRUE) { [17:27:03.481] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.481] } [17:27:03.481] else { [17:27:03.481] ...future.result["stdout"] <- base::list(NULL) [17:27:03.481] } [17:27:03.481] base::close(...future.stdout) [17:27:03.481] ...future.stdout <- NULL [17:27:03.481] } [17:27:03.481] ...future.result$conditions <- ...future.conditions [17:27:03.481] ...future.result$finished <- base::Sys.time() [17:27:03.481] ...future.result [17:27:03.481] } [17:27:03.485] assign_globals() ... [17:27:03.485] List of 1 [17:27:03.485] $ pkg: chr "foo" [17:27:03.485] - attr(*, "where")=List of 1 [17:27:03.485] ..$ pkg: [17:27:03.485] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.485] - attr(*, "resolved")= logi TRUE [17:27:03.485] - attr(*, "total_size")= num 112 [17:27:03.489] - copied 'pkg' to environment [17:27:03.489] assign_globals() ... done [17:27:03.489] plan(): Setting new future strategy stack: [17:27:03.489] List of future strategies: [17:27:03.489] 1. sequential: [17:27:03.489] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.489] - tweaked: FALSE [17:27:03.489] - call: NULL [17:27:03.490] plan(): nbrOfWorkers() = 1 [17:27:03.491] plan(): Setting new future strategy stack: [17:27:03.491] List of future strategies: [17:27:03.491] 1. sequential: [17:27:03.491] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.491] - tweaked: FALSE [17:27:03.491] - call: plan(strategy) [17:27:03.492] plan(): nbrOfWorkers() = 1 [17:27:03.492] 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:27:03.493] 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:27:03.493] 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:27:03.495] - globals found: [3] '{', '<-', '+' [17:27:03.496] Searching for globals ... DONE [17:27:03.496] Resolving globals: TRUE [17:27:03.496] Resolving any globals that are futures ... [17:27:03.496] - globals: [3] '{', '<-', '+' [17:27:03.496] Resolving any globals that are futures ... DONE [17:27:03.497] [17:27:03.497] [17:27:03.497] getGlobalsAndPackages() ... DONE [17:27:03.497] run() for 'Future' ... [17:27:03.498] - state: 'created' [17:27:03.498] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.498] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.498] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.498] - Field: 'label' [17:27:03.499] - Field: 'local' [17:27:03.499] - Field: 'owner' [17:27:03.499] - Field: 'envir' [17:27:03.499] - Field: 'packages' [17:27:03.499] - Field: 'gc' [17:27:03.500] - Field: 'conditions' [17:27:03.500] - Field: 'expr' [17:27:03.500] - Field: 'uuid' [17:27:03.500] - Field: 'seed' [17:27:03.500] - Field: 'version' [17:27:03.500] - Field: 'result' [17:27:03.501] - Field: 'asynchronous' [17:27:03.501] - Field: 'calls' [17:27:03.501] - Field: 'globals' [17:27:03.501] - Field: 'stdout' [17:27:03.501] - Field: 'earlySignal' [17:27:03.501] - Field: 'lazy' [17:27:03.502] - Field: 'state' [17:27:03.502] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.502] - Launch lazy future ... [17:27:03.502] Packages needed by the future expression (n = 0): [17:27:03.502] Packages needed by future strategies (n = 0): [17:27:03.503] { [17:27:03.503] { [17:27:03.503] { [17:27:03.503] ...future.startTime <- base::Sys.time() [17:27:03.503] { [17:27:03.503] { [17:27:03.503] { [17:27:03.503] base::local({ [17:27:03.503] has_future <- base::requireNamespace("future", [17:27:03.503] quietly = TRUE) [17:27:03.503] if (has_future) { [17:27:03.503] ns <- base::getNamespace("future") [17:27:03.503] version <- ns[[".package"]][["version"]] [17:27:03.503] if (is.null(version)) [17:27:03.503] version <- utils::packageVersion("future") [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] version <- NULL [17:27:03.503] } [17:27:03.503] if (!has_future || version < "1.8.0") { [17:27:03.503] info <- base::c(r_version = base::gsub("R version ", [17:27:03.503] "", base::R.version$version.string), [17:27:03.503] platform = base::sprintf("%s (%s-bit)", [17:27:03.503] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.503] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.503] "release", "version")], collapse = " "), [17:27:03.503] hostname = base::Sys.info()[["nodename"]]) [17:27:03.503] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.503] info) [17:27:03.503] info <- base::paste(info, collapse = "; ") [17:27:03.503] if (!has_future) { [17:27:03.503] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.503] info) [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.503] info, version) [17:27:03.503] } [17:27:03.503] base::stop(msg) [17:27:03.503] } [17:27:03.503] }) [17:27:03.503] } [17:27:03.503] ...future.strategy.old <- future::plan("list") [17:27:03.503] options(future.plan = NULL) [17:27:03.503] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.503] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.503] } [17:27:03.503] ...future.workdir <- getwd() [17:27:03.503] } [17:27:03.503] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.503] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.503] } [17:27:03.503] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.503] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.503] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.503] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.503] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.503] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.503] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.503] base::names(...future.oldOptions)) [17:27:03.503] } [17:27:03.503] if (FALSE) { [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] if (TRUE) { [17:27:03.503] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.503] open = "w") [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.503] windows = "NUL", "/dev/null"), open = "w") [17:27:03.503] } [17:27:03.503] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.503] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.503] base::sink(type = "output", split = FALSE) [17:27:03.503] base::close(...future.stdout) [17:27:03.503] }, add = TRUE) [17:27:03.503] } [17:27:03.503] ...future.frame <- base::sys.nframe() [17:27:03.503] ...future.conditions <- base::list() [17:27:03.503] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.503] if (FALSE) { [17:27:03.503] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.503] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.503] } [17:27:03.503] ...future.result <- base::tryCatch({ [17:27:03.503] base::withCallingHandlers({ [17:27:03.503] ...future.value <- base::withVisible(base::local({ [17:27:03.503] x <- 0 [17:27:03.503] x <- x + 1 [17:27:03.503] x [17:27:03.503] })) [17:27:03.503] future::FutureResult(value = ...future.value$value, [17:27:03.503] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.503] ...future.rng), globalenv = if (FALSE) [17:27:03.503] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.503] ...future.globalenv.names)) [17:27:03.503] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.503] }, condition = base::local({ [17:27:03.503] c <- base::c [17:27:03.503] inherits <- base::inherits [17:27:03.503] invokeRestart <- base::invokeRestart [17:27:03.503] length <- base::length [17:27:03.503] list <- base::list [17:27:03.503] seq.int <- base::seq.int [17:27:03.503] signalCondition <- base::signalCondition [17:27:03.503] sys.calls <- base::sys.calls [17:27:03.503] `[[` <- base::`[[` [17:27:03.503] `+` <- base::`+` [17:27:03.503] `<<-` <- base::`<<-` [17:27:03.503] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.503] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.503] 3L)] [17:27:03.503] } [17:27:03.503] function(cond) { [17:27:03.503] is_error <- inherits(cond, "error") [17:27:03.503] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.503] NULL) [17:27:03.503] if (is_error) { [17:27:03.503] sessionInformation <- function() { [17:27:03.503] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.503] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.503] search = base::search(), system = base::Sys.info()) [17:27:03.503] } [17:27:03.503] ...future.conditions[[length(...future.conditions) + [17:27:03.503] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.503] cond$call), session = sessionInformation(), [17:27:03.503] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.503] signalCondition(cond) [17:27:03.503] } [17:27:03.503] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.503] "immediateCondition"))) { [17:27:03.503] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.503] ...future.conditions[[length(...future.conditions) + [17:27:03.503] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.503] if (TRUE && !signal) { [17:27:03.503] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.503] { [17:27:03.503] inherits <- base::inherits [17:27:03.503] invokeRestart <- base::invokeRestart [17:27:03.503] is.null <- base::is.null [17:27:03.503] muffled <- FALSE [17:27:03.503] if (inherits(cond, "message")) { [17:27:03.503] muffled <- grepl(pattern, "muffleMessage") [17:27:03.503] if (muffled) [17:27:03.503] invokeRestart("muffleMessage") [17:27:03.503] } [17:27:03.503] else if (inherits(cond, "warning")) { [17:27:03.503] muffled <- grepl(pattern, "muffleWarning") [17:27:03.503] if (muffled) [17:27:03.503] invokeRestart("muffleWarning") [17:27:03.503] } [17:27:03.503] else if (inherits(cond, "condition")) { [17:27:03.503] if (!is.null(pattern)) { [17:27:03.503] computeRestarts <- base::computeRestarts [17:27:03.503] grepl <- base::grepl [17:27:03.503] restarts <- computeRestarts(cond) [17:27:03.503] for (restart in restarts) { [17:27:03.503] name <- restart$name [17:27:03.503] if (is.null(name)) [17:27:03.503] next [17:27:03.503] if (!grepl(pattern, name)) [17:27:03.503] next [17:27:03.503] invokeRestart(restart) [17:27:03.503] muffled <- TRUE [17:27:03.503] break [17:27:03.503] } [17:27:03.503] } [17:27:03.503] } [17:27:03.503] invisible(muffled) [17:27:03.503] } [17:27:03.503] muffleCondition(cond, pattern = "^muffle") [17:27:03.503] } [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] if (TRUE) { [17:27:03.503] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.503] { [17:27:03.503] inherits <- base::inherits [17:27:03.503] invokeRestart <- base::invokeRestart [17:27:03.503] is.null <- base::is.null [17:27:03.503] muffled <- FALSE [17:27:03.503] if (inherits(cond, "message")) { [17:27:03.503] muffled <- grepl(pattern, "muffleMessage") [17:27:03.503] if (muffled) [17:27:03.503] invokeRestart("muffleMessage") [17:27:03.503] } [17:27:03.503] else if (inherits(cond, "warning")) { [17:27:03.503] muffled <- grepl(pattern, "muffleWarning") [17:27:03.503] if (muffled) [17:27:03.503] invokeRestart("muffleWarning") [17:27:03.503] } [17:27:03.503] else if (inherits(cond, "condition")) { [17:27:03.503] if (!is.null(pattern)) { [17:27:03.503] computeRestarts <- base::computeRestarts [17:27:03.503] grepl <- base::grepl [17:27:03.503] restarts <- computeRestarts(cond) [17:27:03.503] for (restart in restarts) { [17:27:03.503] name <- restart$name [17:27:03.503] if (is.null(name)) [17:27:03.503] next [17:27:03.503] if (!grepl(pattern, name)) [17:27:03.503] next [17:27:03.503] invokeRestart(restart) [17:27:03.503] muffled <- TRUE [17:27:03.503] break [17:27:03.503] } [17:27:03.503] } [17:27:03.503] } [17:27:03.503] invisible(muffled) [17:27:03.503] } [17:27:03.503] muffleCondition(cond, pattern = "^muffle") [17:27:03.503] } [17:27:03.503] } [17:27:03.503] } [17:27:03.503] })) [17:27:03.503] }, error = function(ex) { [17:27:03.503] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.503] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.503] ...future.rng), started = ...future.startTime, [17:27:03.503] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.503] version = "1.8"), class = "FutureResult") [17:27:03.503] }, finally = { [17:27:03.503] if (!identical(...future.workdir, getwd())) [17:27:03.503] setwd(...future.workdir) [17:27:03.503] { [17:27:03.503] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.503] ...future.oldOptions$nwarnings <- NULL [17:27:03.503] } [17:27:03.503] base::options(...future.oldOptions) [17:27:03.503] if (.Platform$OS.type == "windows") { [17:27:03.503] old_names <- names(...future.oldEnvVars) [17:27:03.503] envs <- base::Sys.getenv() [17:27:03.503] names <- names(envs) [17:27:03.503] common <- intersect(names, old_names) [17:27:03.503] added <- setdiff(names, old_names) [17:27:03.503] removed <- setdiff(old_names, names) [17:27:03.503] changed <- common[...future.oldEnvVars[common] != [17:27:03.503] envs[common]] [17:27:03.503] NAMES <- toupper(changed) [17:27:03.503] args <- list() [17:27:03.503] for (kk in seq_along(NAMES)) { [17:27:03.503] name <- changed[[kk]] [17:27:03.503] NAME <- NAMES[[kk]] [17:27:03.503] if (name != NAME && is.element(NAME, old_names)) [17:27:03.503] next [17:27:03.503] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.503] } [17:27:03.503] NAMES <- toupper(added) [17:27:03.503] for (kk in seq_along(NAMES)) { [17:27:03.503] name <- added[[kk]] [17:27:03.503] NAME <- NAMES[[kk]] [17:27:03.503] if (name != NAME && is.element(NAME, old_names)) [17:27:03.503] next [17:27:03.503] args[[name]] <- "" [17:27:03.503] } [17:27:03.503] NAMES <- toupper(removed) [17:27:03.503] for (kk in seq_along(NAMES)) { [17:27:03.503] name <- removed[[kk]] [17:27:03.503] NAME <- NAMES[[kk]] [17:27:03.503] if (name != NAME && is.element(NAME, old_names)) [17:27:03.503] next [17:27:03.503] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.503] } [17:27:03.503] if (length(args) > 0) [17:27:03.503] base::do.call(base::Sys.setenv, args = args) [17:27:03.503] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.503] } [17:27:03.503] { [17:27:03.503] if (base::length(...future.futureOptionsAdded) > [17:27:03.503] 0L) { [17:27:03.503] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.503] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.503] base::options(opts) [17:27:03.503] } [17:27:03.503] { [17:27:03.503] { [17:27:03.503] NULL [17:27:03.503] RNGkind("Mersenne-Twister") [17:27:03.503] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.503] inherits = FALSE) [17:27:03.503] } [17:27:03.503] options(future.plan = NULL) [17:27:03.503] if (is.na(NA_character_)) [17:27:03.503] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.503] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.503] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.503] .init = FALSE) [17:27:03.503] } [17:27:03.503] } [17:27:03.503] } [17:27:03.503] }) [17:27:03.503] if (TRUE) { [17:27:03.503] base::sink(type = "output", split = FALSE) [17:27:03.503] if (TRUE) { [17:27:03.503] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.503] } [17:27:03.503] else { [17:27:03.503] ...future.result["stdout"] <- base::list(NULL) [17:27:03.503] } [17:27:03.503] base::close(...future.stdout) [17:27:03.503] ...future.stdout <- NULL [17:27:03.503] } [17:27:03.503] ...future.result$conditions <- ...future.conditions [17:27:03.503] ...future.result$finished <- base::Sys.time() [17:27:03.503] ...future.result [17:27:03.503] } [17:27:03.507] plan(): Setting new future strategy stack: [17:27:03.507] List of future strategies: [17:27:03.507] 1. sequential: [17:27:03.507] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.507] - tweaked: FALSE [17:27:03.507] - call: NULL [17:27:03.508] plan(): nbrOfWorkers() = 1 [17:27:03.509] plan(): Setting new future strategy stack: [17:27:03.509] List of future strategies: [17:27:03.509] 1. sequential: [17:27:03.509] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.509] - tweaked: FALSE [17:27:03.509] - call: plan(strategy) [17:27:03.510] plan(): nbrOfWorkers() = 1 [17:27:03.510] SequentialFuture started (and completed) [17:27:03.510] - Launch lazy future ... done [17:27:03.510] 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:27:03.511] 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:27:03.511] 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:27:03.513] - globals found: [4] '{', '<-', 'x', '+' [17:27:03.513] Searching for globals ... DONE [17:27:03.513] Resolving globals: TRUE [17:27:03.513] Resolving any globals that are futures ... [17:27:03.514] - globals: [4] '{', '<-', 'x', '+' [17:27:03.514] Resolving any globals that are futures ... DONE [17:27:03.514] Resolving futures part of globals (recursively) ... [17:27:03.515] resolve() on list ... [17:27:03.515] recursive: 99 [17:27:03.515] length: 1 [17:27:03.515] elements: 'x' [17:27:03.515] length: 0 (resolved future 1) [17:27:03.515] resolve() on list ... DONE [17:27:03.516] - globals: [1] 'x' [17:27:03.516] Resolving futures part of globals (recursively) ... DONE [17:27:03.516] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:03.516] The total size of the 1 globals exported for future expression ('{; x <- x + 1; x; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (56 bytes of class 'numeric') [17:27:03.517] - globals: [1] 'x' [17:27:03.517] [17:27:03.517] getGlobalsAndPackages() ... DONE [17:27:03.517] run() for 'Future' ... [17:27:03.517] - state: 'created' [17:27:03.518] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.518] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.518] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.518] - Field: 'label' [17:27:03.518] - Field: 'local' [17:27:03.519] - Field: 'owner' [17:27:03.519] - Field: 'envir' [17:27:03.520] - Field: 'packages' [17:27:03.520] - Field: 'gc' [17:27:03.520] - Field: 'conditions' [17:27:03.521] - Field: 'expr' [17:27:03.521] - Field: 'uuid' [17:27:03.521] - Field: 'seed' [17:27:03.521] - Field: 'version' [17:27:03.521] - Field: 'result' [17:27:03.522] - Field: 'asynchronous' [17:27:03.522] - Field: 'calls' [17:27:03.522] - Field: 'globals' [17:27:03.522] - Field: 'stdout' [17:27:03.522] - Field: 'earlySignal' [17:27:03.522] - Field: 'lazy' [17:27:03.523] - Field: 'state' [17:27:03.523] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.523] - Launch lazy future ... [17:27:03.523] Packages needed by the future expression (n = 0): [17:27:03.523] Packages needed by future strategies (n = 0): [17:27:03.524] { [17:27:03.524] { [17:27:03.524] { [17:27:03.524] ...future.startTime <- base::Sys.time() [17:27:03.524] { [17:27:03.524] { [17:27:03.524] { [17:27:03.524] base::local({ [17:27:03.524] has_future <- base::requireNamespace("future", [17:27:03.524] quietly = TRUE) [17:27:03.524] if (has_future) { [17:27:03.524] ns <- base::getNamespace("future") [17:27:03.524] version <- ns[[".package"]][["version"]] [17:27:03.524] if (is.null(version)) [17:27:03.524] version <- utils::packageVersion("future") [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] version <- NULL [17:27:03.524] } [17:27:03.524] if (!has_future || version < "1.8.0") { [17:27:03.524] info <- base::c(r_version = base::gsub("R version ", [17:27:03.524] "", base::R.version$version.string), [17:27:03.524] platform = base::sprintf("%s (%s-bit)", [17:27:03.524] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.524] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.524] "release", "version")], collapse = " "), [17:27:03.524] hostname = base::Sys.info()[["nodename"]]) [17:27:03.524] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.524] info) [17:27:03.524] info <- base::paste(info, collapse = "; ") [17:27:03.524] if (!has_future) { [17:27:03.524] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.524] info) [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.524] info, version) [17:27:03.524] } [17:27:03.524] base::stop(msg) [17:27:03.524] } [17:27:03.524] }) [17:27:03.524] } [17:27:03.524] ...future.strategy.old <- future::plan("list") [17:27:03.524] options(future.plan = NULL) [17:27:03.524] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.524] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.524] } [17:27:03.524] ...future.workdir <- getwd() [17:27:03.524] } [17:27:03.524] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.524] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.524] } [17:27:03.524] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.524] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.524] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.524] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.524] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.524] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.524] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.524] base::names(...future.oldOptions)) [17:27:03.524] } [17:27:03.524] if (FALSE) { [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] if (TRUE) { [17:27:03.524] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.524] open = "w") [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.524] windows = "NUL", "/dev/null"), open = "w") [17:27:03.524] } [17:27:03.524] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.524] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.524] base::sink(type = "output", split = FALSE) [17:27:03.524] base::close(...future.stdout) [17:27:03.524] }, add = TRUE) [17:27:03.524] } [17:27:03.524] ...future.frame <- base::sys.nframe() [17:27:03.524] ...future.conditions <- base::list() [17:27:03.524] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.524] if (FALSE) { [17:27:03.524] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.524] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.524] } [17:27:03.524] ...future.result <- base::tryCatch({ [17:27:03.524] base::withCallingHandlers({ [17:27:03.524] ...future.value <- base::withVisible(base::local({ [17:27:03.524] x <- x + 1 [17:27:03.524] x [17:27:03.524] })) [17:27:03.524] future::FutureResult(value = ...future.value$value, [17:27:03.524] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.524] ...future.rng), globalenv = if (FALSE) [17:27:03.524] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.524] ...future.globalenv.names)) [17:27:03.524] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.524] }, condition = base::local({ [17:27:03.524] c <- base::c [17:27:03.524] inherits <- base::inherits [17:27:03.524] invokeRestart <- base::invokeRestart [17:27:03.524] length <- base::length [17:27:03.524] list <- base::list [17:27:03.524] seq.int <- base::seq.int [17:27:03.524] signalCondition <- base::signalCondition [17:27:03.524] sys.calls <- base::sys.calls [17:27:03.524] `[[` <- base::`[[` [17:27:03.524] `+` <- base::`+` [17:27:03.524] `<<-` <- base::`<<-` [17:27:03.524] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.524] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.524] 3L)] [17:27:03.524] } [17:27:03.524] function(cond) { [17:27:03.524] is_error <- inherits(cond, "error") [17:27:03.524] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.524] NULL) [17:27:03.524] if (is_error) { [17:27:03.524] sessionInformation <- function() { [17:27:03.524] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.524] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.524] search = base::search(), system = base::Sys.info()) [17:27:03.524] } [17:27:03.524] ...future.conditions[[length(...future.conditions) + [17:27:03.524] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.524] cond$call), session = sessionInformation(), [17:27:03.524] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.524] signalCondition(cond) [17:27:03.524] } [17:27:03.524] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.524] "immediateCondition"))) { [17:27:03.524] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.524] ...future.conditions[[length(...future.conditions) + [17:27:03.524] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.524] if (TRUE && !signal) { [17:27:03.524] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.524] { [17:27:03.524] inherits <- base::inherits [17:27:03.524] invokeRestart <- base::invokeRestart [17:27:03.524] is.null <- base::is.null [17:27:03.524] muffled <- FALSE [17:27:03.524] if (inherits(cond, "message")) { [17:27:03.524] muffled <- grepl(pattern, "muffleMessage") [17:27:03.524] if (muffled) [17:27:03.524] invokeRestart("muffleMessage") [17:27:03.524] } [17:27:03.524] else if (inherits(cond, "warning")) { [17:27:03.524] muffled <- grepl(pattern, "muffleWarning") [17:27:03.524] if (muffled) [17:27:03.524] invokeRestart("muffleWarning") [17:27:03.524] } [17:27:03.524] else if (inherits(cond, "condition")) { [17:27:03.524] if (!is.null(pattern)) { [17:27:03.524] computeRestarts <- base::computeRestarts [17:27:03.524] grepl <- base::grepl [17:27:03.524] restarts <- computeRestarts(cond) [17:27:03.524] for (restart in restarts) { [17:27:03.524] name <- restart$name [17:27:03.524] if (is.null(name)) [17:27:03.524] next [17:27:03.524] if (!grepl(pattern, name)) [17:27:03.524] next [17:27:03.524] invokeRestart(restart) [17:27:03.524] muffled <- TRUE [17:27:03.524] break [17:27:03.524] } [17:27:03.524] } [17:27:03.524] } [17:27:03.524] invisible(muffled) [17:27:03.524] } [17:27:03.524] muffleCondition(cond, pattern = "^muffle") [17:27:03.524] } [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] if (TRUE) { [17:27:03.524] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.524] { [17:27:03.524] inherits <- base::inherits [17:27:03.524] invokeRestart <- base::invokeRestart [17:27:03.524] is.null <- base::is.null [17:27:03.524] muffled <- FALSE [17:27:03.524] if (inherits(cond, "message")) { [17:27:03.524] muffled <- grepl(pattern, "muffleMessage") [17:27:03.524] if (muffled) [17:27:03.524] invokeRestart("muffleMessage") [17:27:03.524] } [17:27:03.524] else if (inherits(cond, "warning")) { [17:27:03.524] muffled <- grepl(pattern, "muffleWarning") [17:27:03.524] if (muffled) [17:27:03.524] invokeRestart("muffleWarning") [17:27:03.524] } [17:27:03.524] else if (inherits(cond, "condition")) { [17:27:03.524] if (!is.null(pattern)) { [17:27:03.524] computeRestarts <- base::computeRestarts [17:27:03.524] grepl <- base::grepl [17:27:03.524] restarts <- computeRestarts(cond) [17:27:03.524] for (restart in restarts) { [17:27:03.524] name <- restart$name [17:27:03.524] if (is.null(name)) [17:27:03.524] next [17:27:03.524] if (!grepl(pattern, name)) [17:27:03.524] next [17:27:03.524] invokeRestart(restart) [17:27:03.524] muffled <- TRUE [17:27:03.524] break [17:27:03.524] } [17:27:03.524] } [17:27:03.524] } [17:27:03.524] invisible(muffled) [17:27:03.524] } [17:27:03.524] muffleCondition(cond, pattern = "^muffle") [17:27:03.524] } [17:27:03.524] } [17:27:03.524] } [17:27:03.524] })) [17:27:03.524] }, error = function(ex) { [17:27:03.524] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.524] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.524] ...future.rng), started = ...future.startTime, [17:27:03.524] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.524] version = "1.8"), class = "FutureResult") [17:27:03.524] }, finally = { [17:27:03.524] if (!identical(...future.workdir, getwd())) [17:27:03.524] setwd(...future.workdir) [17:27:03.524] { [17:27:03.524] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.524] ...future.oldOptions$nwarnings <- NULL [17:27:03.524] } [17:27:03.524] base::options(...future.oldOptions) [17:27:03.524] if (.Platform$OS.type == "windows") { [17:27:03.524] old_names <- names(...future.oldEnvVars) [17:27:03.524] envs <- base::Sys.getenv() [17:27:03.524] names <- names(envs) [17:27:03.524] common <- intersect(names, old_names) [17:27:03.524] added <- setdiff(names, old_names) [17:27:03.524] removed <- setdiff(old_names, names) [17:27:03.524] changed <- common[...future.oldEnvVars[common] != [17:27:03.524] envs[common]] [17:27:03.524] NAMES <- toupper(changed) [17:27:03.524] args <- list() [17:27:03.524] for (kk in seq_along(NAMES)) { [17:27:03.524] name <- changed[[kk]] [17:27:03.524] NAME <- NAMES[[kk]] [17:27:03.524] if (name != NAME && is.element(NAME, old_names)) [17:27:03.524] next [17:27:03.524] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.524] } [17:27:03.524] NAMES <- toupper(added) [17:27:03.524] for (kk in seq_along(NAMES)) { [17:27:03.524] name <- added[[kk]] [17:27:03.524] NAME <- NAMES[[kk]] [17:27:03.524] if (name != NAME && is.element(NAME, old_names)) [17:27:03.524] next [17:27:03.524] args[[name]] <- "" [17:27:03.524] } [17:27:03.524] NAMES <- toupper(removed) [17:27:03.524] for (kk in seq_along(NAMES)) { [17:27:03.524] name <- removed[[kk]] [17:27:03.524] NAME <- NAMES[[kk]] [17:27:03.524] if (name != NAME && is.element(NAME, old_names)) [17:27:03.524] next [17:27:03.524] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.524] } [17:27:03.524] if (length(args) > 0) [17:27:03.524] base::do.call(base::Sys.setenv, args = args) [17:27:03.524] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.524] } [17:27:03.524] { [17:27:03.524] if (base::length(...future.futureOptionsAdded) > [17:27:03.524] 0L) { [17:27:03.524] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.524] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.524] base::options(opts) [17:27:03.524] } [17:27:03.524] { [17:27:03.524] { [17:27:03.524] NULL [17:27:03.524] RNGkind("Mersenne-Twister") [17:27:03.524] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.524] inherits = FALSE) [17:27:03.524] } [17:27:03.524] options(future.plan = NULL) [17:27:03.524] if (is.na(NA_character_)) [17:27:03.524] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.524] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.524] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.524] .init = FALSE) [17:27:03.524] } [17:27:03.524] } [17:27:03.524] } [17:27:03.524] }) [17:27:03.524] if (TRUE) { [17:27:03.524] base::sink(type = "output", split = FALSE) [17:27:03.524] if (TRUE) { [17:27:03.524] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.524] } [17:27:03.524] else { [17:27:03.524] ...future.result["stdout"] <- base::list(NULL) [17:27:03.524] } [17:27:03.524] base::close(...future.stdout) [17:27:03.524] ...future.stdout <- NULL [17:27:03.524] } [17:27:03.524] ...future.result$conditions <- ...future.conditions [17:27:03.524] ...future.result$finished <- base::Sys.time() [17:27:03.524] ...future.result [17:27:03.524] } [17:27:03.528] assign_globals() ... [17:27:03.528] List of 1 [17:27:03.528] $ x: num 1 [17:27:03.528] - attr(*, "where")=List of 1 [17:27:03.528] ..$ x: [17:27:03.528] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.528] - attr(*, "resolved")= logi TRUE [17:27:03.528] - attr(*, "total_size")= num 56 [17:27:03.528] - attr(*, "already-done")= logi TRUE [17:27:03.531] - copied 'x' to environment [17:27:03.531] assign_globals() ... done [17:27:03.531] plan(): Setting new future strategy stack: [17:27:03.531] List of future strategies: [17:27:03.531] 1. sequential: [17:27:03.531] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.531] - tweaked: FALSE [17:27:03.531] - call: NULL [17:27:03.532] plan(): nbrOfWorkers() = 1 [17:27:03.533] plan(): Setting new future strategy stack: [17:27:03.533] List of future strategies: [17:27:03.533] 1. sequential: [17:27:03.533] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.533] - tweaked: FALSE [17:27:03.533] - call: plan(strategy) [17:27:03.534] plan(): nbrOfWorkers() = 1 [17:27:03.534] SequentialFuture started (and completed) [17:27:03.534] - Launch lazy future ... done [17:27:03.535] 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:27:03.535] 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:27:03.535] 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:27:03.538] - globals found: [3] '{', '<-', 'x' [17:27:03.538] Searching for globals ... DONE [17:27:03.538] Resolving globals: TRUE [17:27:03.538] Resolving any globals that are futures ... [17:27:03.538] - globals: [3] '{', '<-', 'x' [17:27:03.539] Resolving any globals that are futures ... DONE [17:27:03.539] Resolving futures part of globals (recursively) ... [17:27:03.539] resolve() on list ... [17:27:03.539] recursive: 99 [17:27:03.540] length: 1 [17:27:03.540] elements: 'x' [17:27:03.540] length: 0 (resolved future 1) [17:27:03.540] resolve() on list ... DONE [17:27:03.540] - globals: [1] 'x' [17:27:03.540] Resolving futures part of globals (recursively) ... DONE [17:27:03.541] The total size of the 1 globals is 1.01 KiB (1032 bytes) [17:27:03.541] The total size of the 1 globals exported for future expression ('{; x <- x(); x; }') is 1.01 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (1.01 KiB of class 'function') [17:27:03.541] - globals: [1] 'x' [17:27:03.541] [17:27:03.542] getGlobalsAndPackages() ... DONE [17:27:03.542] run() for 'Future' ... [17:27:03.542] - state: 'created' [17:27:03.542] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [17:27:03.543] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [17:27:03.543] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [17:27:03.543] - Field: 'label' [17:27:03.543] - Field: 'local' [17:27:03.543] - Field: 'owner' [17:27:03.544] - Field: 'envir' [17:27:03.544] - Field: 'packages' [17:27:03.544] - Field: 'gc' [17:27:03.544] - Field: 'conditions' [17:27:03.544] - Field: 'expr' [17:27:03.544] - Field: 'uuid' [17:27:03.545] - Field: 'seed' [17:27:03.545] - Field: 'version' [17:27:03.545] - Field: 'result' [17:27:03.545] - Field: 'asynchronous' [17:27:03.545] - Field: 'calls' [17:27:03.546] - Field: 'globals' [17:27:03.546] - Field: 'stdout' [17:27:03.546] - Field: 'earlySignal' [17:27:03.546] - Field: 'lazy' [17:27:03.546] - Field: 'state' [17:27:03.546] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [17:27:03.547] - Launch lazy future ... [17:27:03.547] Packages needed by the future expression (n = 0): [17:27:03.547] Packages needed by future strategies (n = 0): [17:27:03.547] { [17:27:03.547] { [17:27:03.547] { [17:27:03.547] ...future.startTime <- base::Sys.time() [17:27:03.547] { [17:27:03.547] { [17:27:03.547] { [17:27:03.547] base::local({ [17:27:03.547] has_future <- base::requireNamespace("future", [17:27:03.547] quietly = TRUE) [17:27:03.547] if (has_future) { [17:27:03.547] ns <- base::getNamespace("future") [17:27:03.547] version <- ns[[".package"]][["version"]] [17:27:03.547] if (is.null(version)) [17:27:03.547] version <- utils::packageVersion("future") [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] version <- NULL [17:27:03.547] } [17:27:03.547] if (!has_future || version < "1.8.0") { [17:27:03.547] info <- base::c(r_version = base::gsub("R version ", [17:27:03.547] "", base::R.version$version.string), [17:27:03.547] platform = base::sprintf("%s (%s-bit)", [17:27:03.547] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:03.547] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:03.547] "release", "version")], collapse = " "), [17:27:03.547] hostname = base::Sys.info()[["nodename"]]) [17:27:03.547] info <- base::sprintf("%s: %s", base::names(info), [17:27:03.547] info) [17:27:03.547] info <- base::paste(info, collapse = "; ") [17:27:03.547] if (!has_future) { [17:27:03.547] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:03.547] info) [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:03.547] info, version) [17:27:03.547] } [17:27:03.547] base::stop(msg) [17:27:03.547] } [17:27:03.547] }) [17:27:03.547] } [17:27:03.547] ...future.strategy.old <- future::plan("list") [17:27:03.547] options(future.plan = NULL) [17:27:03.547] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.547] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:03.547] } [17:27:03.547] ...future.workdir <- getwd() [17:27:03.547] } [17:27:03.547] ...future.oldOptions <- base::as.list(base::.Options) [17:27:03.547] ...future.oldEnvVars <- base::Sys.getenv() [17:27:03.547] } [17:27:03.547] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:03.547] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:03.547] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:03.547] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:03.547] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:03.547] future.stdout.windows.reencode = NULL, width = 80L) [17:27:03.547] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:03.547] base::names(...future.oldOptions)) [17:27:03.547] } [17:27:03.547] if (FALSE) { [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] if (TRUE) { [17:27:03.547] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:03.547] open = "w") [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:03.547] windows = "NUL", "/dev/null"), open = "w") [17:27:03.547] } [17:27:03.547] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:03.547] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:03.547] base::sink(type = "output", split = FALSE) [17:27:03.547] base::close(...future.stdout) [17:27:03.547] }, add = TRUE) [17:27:03.547] } [17:27:03.547] ...future.frame <- base::sys.nframe() [17:27:03.547] ...future.conditions <- base::list() [17:27:03.547] ...future.rng <- base::globalenv()$.Random.seed [17:27:03.547] if (FALSE) { [17:27:03.547] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:03.547] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:03.547] } [17:27:03.547] ...future.result <- base::tryCatch({ [17:27:03.547] base::withCallingHandlers({ [17:27:03.547] ...future.value <- base::withVisible(base::local({ [17:27:03.547] x <- x() [17:27:03.547] x [17:27:03.547] })) [17:27:03.547] future::FutureResult(value = ...future.value$value, [17:27:03.547] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.547] ...future.rng), globalenv = if (FALSE) [17:27:03.547] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:03.547] ...future.globalenv.names)) [17:27:03.547] else NULL, started = ...future.startTime, version = "1.8") [17:27:03.547] }, condition = base::local({ [17:27:03.547] c <- base::c [17:27:03.547] inherits <- base::inherits [17:27:03.547] invokeRestart <- base::invokeRestart [17:27:03.547] length <- base::length [17:27:03.547] list <- base::list [17:27:03.547] seq.int <- base::seq.int [17:27:03.547] signalCondition <- base::signalCondition [17:27:03.547] sys.calls <- base::sys.calls [17:27:03.547] `[[` <- base::`[[` [17:27:03.547] `+` <- base::`+` [17:27:03.547] `<<-` <- base::`<<-` [17:27:03.547] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:03.547] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:03.547] 3L)] [17:27:03.547] } [17:27:03.547] function(cond) { [17:27:03.547] is_error <- inherits(cond, "error") [17:27:03.547] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:03.547] NULL) [17:27:03.547] if (is_error) { [17:27:03.547] sessionInformation <- function() { [17:27:03.547] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:03.547] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:03.547] search = base::search(), system = base::Sys.info()) [17:27:03.547] } [17:27:03.547] ...future.conditions[[length(...future.conditions) + [17:27:03.547] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:03.547] cond$call), session = sessionInformation(), [17:27:03.547] timestamp = base::Sys.time(), signaled = 0L) [17:27:03.547] signalCondition(cond) [17:27:03.547] } [17:27:03.547] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:03.547] "immediateCondition"))) { [17:27:03.547] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:03.547] ...future.conditions[[length(...future.conditions) + [17:27:03.547] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:03.547] if (TRUE && !signal) { [17:27:03.547] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.547] { [17:27:03.547] inherits <- base::inherits [17:27:03.547] invokeRestart <- base::invokeRestart [17:27:03.547] is.null <- base::is.null [17:27:03.547] muffled <- FALSE [17:27:03.547] if (inherits(cond, "message")) { [17:27:03.547] muffled <- grepl(pattern, "muffleMessage") [17:27:03.547] if (muffled) [17:27:03.547] invokeRestart("muffleMessage") [17:27:03.547] } [17:27:03.547] else if (inherits(cond, "warning")) { [17:27:03.547] muffled <- grepl(pattern, "muffleWarning") [17:27:03.547] if (muffled) [17:27:03.547] invokeRestart("muffleWarning") [17:27:03.547] } [17:27:03.547] else if (inherits(cond, "condition")) { [17:27:03.547] if (!is.null(pattern)) { [17:27:03.547] computeRestarts <- base::computeRestarts [17:27:03.547] grepl <- base::grepl [17:27:03.547] restarts <- computeRestarts(cond) [17:27:03.547] for (restart in restarts) { [17:27:03.547] name <- restart$name [17:27:03.547] if (is.null(name)) [17:27:03.547] next [17:27:03.547] if (!grepl(pattern, name)) [17:27:03.547] next [17:27:03.547] invokeRestart(restart) [17:27:03.547] muffled <- TRUE [17:27:03.547] break [17:27:03.547] } [17:27:03.547] } [17:27:03.547] } [17:27:03.547] invisible(muffled) [17:27:03.547] } [17:27:03.547] muffleCondition(cond, pattern = "^muffle") [17:27:03.547] } [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] if (TRUE) { [17:27:03.547] muffleCondition <- function (cond, pattern = "^muffle") [17:27:03.547] { [17:27:03.547] inherits <- base::inherits [17:27:03.547] invokeRestart <- base::invokeRestart [17:27:03.547] is.null <- base::is.null [17:27:03.547] muffled <- FALSE [17:27:03.547] if (inherits(cond, "message")) { [17:27:03.547] muffled <- grepl(pattern, "muffleMessage") [17:27:03.547] if (muffled) [17:27:03.547] invokeRestart("muffleMessage") [17:27:03.547] } [17:27:03.547] else if (inherits(cond, "warning")) { [17:27:03.547] muffled <- grepl(pattern, "muffleWarning") [17:27:03.547] if (muffled) [17:27:03.547] invokeRestart("muffleWarning") [17:27:03.547] } [17:27:03.547] else if (inherits(cond, "condition")) { [17:27:03.547] if (!is.null(pattern)) { [17:27:03.547] computeRestarts <- base::computeRestarts [17:27:03.547] grepl <- base::grepl [17:27:03.547] restarts <- computeRestarts(cond) [17:27:03.547] for (restart in restarts) { [17:27:03.547] name <- restart$name [17:27:03.547] if (is.null(name)) [17:27:03.547] next [17:27:03.547] if (!grepl(pattern, name)) [17:27:03.547] next [17:27:03.547] invokeRestart(restart) [17:27:03.547] muffled <- TRUE [17:27:03.547] break [17:27:03.547] } [17:27:03.547] } [17:27:03.547] } [17:27:03.547] invisible(muffled) [17:27:03.547] } [17:27:03.547] muffleCondition(cond, pattern = "^muffle") [17:27:03.547] } [17:27:03.547] } [17:27:03.547] } [17:27:03.547] })) [17:27:03.547] }, error = function(ex) { [17:27:03.547] base::structure(base::list(value = NULL, visible = NULL, [17:27:03.547] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:03.547] ...future.rng), started = ...future.startTime, [17:27:03.547] finished = Sys.time(), session_uuid = NA_character_, [17:27:03.547] version = "1.8"), class = "FutureResult") [17:27:03.547] }, finally = { [17:27:03.547] if (!identical(...future.workdir, getwd())) [17:27:03.547] setwd(...future.workdir) [17:27:03.547] { [17:27:03.547] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:03.547] ...future.oldOptions$nwarnings <- NULL [17:27:03.547] } [17:27:03.547] base::options(...future.oldOptions) [17:27:03.547] if (.Platform$OS.type == "windows") { [17:27:03.547] old_names <- names(...future.oldEnvVars) [17:27:03.547] envs <- base::Sys.getenv() [17:27:03.547] names <- names(envs) [17:27:03.547] common <- intersect(names, old_names) [17:27:03.547] added <- setdiff(names, old_names) [17:27:03.547] removed <- setdiff(old_names, names) [17:27:03.547] changed <- common[...future.oldEnvVars[common] != [17:27:03.547] envs[common]] [17:27:03.547] NAMES <- toupper(changed) [17:27:03.547] args <- list() [17:27:03.547] for (kk in seq_along(NAMES)) { [17:27:03.547] name <- changed[[kk]] [17:27:03.547] NAME <- NAMES[[kk]] [17:27:03.547] if (name != NAME && is.element(NAME, old_names)) [17:27:03.547] next [17:27:03.547] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.547] } [17:27:03.547] NAMES <- toupper(added) [17:27:03.547] for (kk in seq_along(NAMES)) { [17:27:03.547] name <- added[[kk]] [17:27:03.547] NAME <- NAMES[[kk]] [17:27:03.547] if (name != NAME && is.element(NAME, old_names)) [17:27:03.547] next [17:27:03.547] args[[name]] <- "" [17:27:03.547] } [17:27:03.547] NAMES <- toupper(removed) [17:27:03.547] for (kk in seq_along(NAMES)) { [17:27:03.547] name <- removed[[kk]] [17:27:03.547] NAME <- NAMES[[kk]] [17:27:03.547] if (name != NAME && is.element(NAME, old_names)) [17:27:03.547] next [17:27:03.547] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:03.547] } [17:27:03.547] if (length(args) > 0) [17:27:03.547] base::do.call(base::Sys.setenv, args = args) [17:27:03.547] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:03.547] } [17:27:03.547] { [17:27:03.547] if (base::length(...future.futureOptionsAdded) > [17:27:03.547] 0L) { [17:27:03.547] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:03.547] base::names(opts) <- ...future.futureOptionsAdded [17:27:03.547] base::options(opts) [17:27:03.547] } [17:27:03.547] { [17:27:03.547] { [17:27:03.547] NULL [17:27:03.547] RNGkind("Mersenne-Twister") [17:27:03.547] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:03.547] inherits = FALSE) [17:27:03.547] } [17:27:03.547] options(future.plan = NULL) [17:27:03.547] if (is.na(NA_character_)) [17:27:03.547] Sys.unsetenv("R_FUTURE_PLAN") [17:27:03.547] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:03.547] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:03.547] .init = FALSE) [17:27:03.547] } [17:27:03.547] } [17:27:03.547] } [17:27:03.547] }) [17:27:03.547] if (TRUE) { [17:27:03.547] base::sink(type = "output", split = FALSE) [17:27:03.547] if (TRUE) { [17:27:03.547] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:03.547] } [17:27:03.547] else { [17:27:03.547] ...future.result["stdout"] <- base::list(NULL) [17:27:03.547] } [17:27:03.547] base::close(...future.stdout) [17:27:03.547] ...future.stdout <- NULL [17:27:03.547] } [17:27:03.547] ...future.result$conditions <- ...future.conditions [17:27:03.547] ...future.result$finished <- base::Sys.time() [17:27:03.547] ...future.result [17:27:03.547] } [17:27:03.551] assign_globals() ... [17:27:03.551] List of 1 [17:27:03.551] $ x:function () [17:27:03.551] - attr(*, "where")=List of 1 [17:27:03.551] ..$ x: [17:27:03.551] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:03.551] - attr(*, "resolved")= logi TRUE [17:27:03.551] - attr(*, "total_size")= num 1032 [17:27:03.551] - attr(*, "already-done")= logi TRUE [17:27:03.555] - reassign environment for 'x' [17:27:03.556] - copied 'x' to environment [17:27:03.556] assign_globals() ... done [17:27:03.556] plan(): Setting new future strategy stack: [17:27:03.556] List of future strategies: [17:27:03.556] 1. sequential: [17:27:03.556] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.556] - tweaked: FALSE [17:27:03.556] - call: NULL [17:27:03.557] plan(): nbrOfWorkers() = 1 [17:27:03.558] plan(): Setting new future strategy stack: [17:27:03.558] List of future strategies: [17:27:03.558] 1. sequential: [17:27:03.558] - args: function (..., envir = parent.frame(), workers = "") [17:27:03.558] - tweaked: FALSE [17:27:03.558] - call: plan(strategy) [17:27:03.559] plan(): nbrOfWorkers() = 1 [17:27:03.559] SequentialFuture started (and completed) [17:27:03.559] - Launch lazy future ... done [17:27:03.560] 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:27:03.568] plan(): Setting new future strategy stack: [17:27:03.569] List of future strategies: [17:27:03.569] 1. multisession: [17:27:03.569] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:03.569] - tweaked: FALSE [17:27:03.569] - call: plan(strategy) [17:27:03.569] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [17:27:03.569] multisession: [17:27:03.569] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:03.569] - tweaked: FALSE [17:27:03.569] - 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:27:03.574] 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:27:03.574] Not searching for globals [17:27:03.575] - globals: [0] [17:27:03.575] getGlobalsAndPackages() ... DONE [17:27:03.575] [local output] makeClusterPSOCK() ... [17:27:03.646] [local output] Workers: [n = 2] 'localhost', 'localhost' [17:27:03.652] [local output] Base port: 22660 [17:27:03.653] [local output] Getting setup options for 2 cluster nodes ... [17:27:03.653] [local output] - Node 1 of 2 ... [17:27:03.654] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:03.655] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp8snilR/worker.rank=1.parallelly.parent=43356.a95c5c9321bc.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/Rtmp8snilR/worker.rank=1.parallelly.parent=43356.a95c5c9321bc.pid\")"' [17:27:04.098] - Possible to infer worker's PID: TRUE [17:27:04.099] [local output] Rscript port: 22660 [17:27:04.100] [local output] - Node 2 of 2 ... [17:27:04.100] [local output] localMachine=TRUE => revtunnel=FALSE [17:27:04.102] [local output] Rscript port: 22660 [17:27:04.103] [local output] Getting setup options for 2 cluster nodes ... done [17:27:04.103] [local output] - Parallel setup requested for some PSOCK nodes [17:27:04.104] [local output] Setting up PSOCK nodes in parallel [17:27:04.104] List of 36 [17:27:04.104] $ worker : chr "localhost" [17:27:04.104] ..- attr(*, "localhost")= logi TRUE [17:27:04.104] $ master : chr "localhost" [17:27:04.104] $ port : int 22660 [17:27:04.104] $ connectTimeout : num 120 [17:27:04.104] $ timeout : num 120 [17:27:04.104] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [17:27:04.104] $ homogeneous : logi TRUE [17:27:04.104] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=globals,tricky.R:43356:CRANWIN3:"| __truncated__ [17:27:04.104] $ rscript_envs : NULL [17:27:04.104] $ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:04.104] $ rscript_startup : NULL [17:27:04.104] $ rscript_sh : chr "cmd" [17:27:04.104] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:04.104] $ methods : logi TRUE [17:27:04.104] $ socketOptions : chr "no-delay" [17:27:04.104] $ useXDR : logi FALSE [17:27:04.104] $ outfile : chr "/dev/null" [17:27:04.104] $ renice : int NA [17:27:04.104] $ rshcmd : NULL [17:27:04.104] $ user : chr(0) [17:27:04.104] $ revtunnel : logi FALSE [17:27:04.104] $ rshlogfile : NULL [17:27:04.104] $ rshopts : chr(0) [17:27:04.104] $ rank : int 1 [17:27:04.104] $ manual : logi FALSE [17:27:04.104] $ dryrun : logi FALSE [17:27:04.104] $ quiet : logi FALSE [17:27:04.104] $ setup_strategy : chr "parallel" [17:27:04.104] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:04.104] $ pidfile : chr "D:/temp/Rtmp8snilR/worker.rank=1.parallelly.parent=43356.a95c5c9321bc.pid" [17:27:04.104] $ rshcmd_label : NULL [17:27:04.104] $ rsh_call : NULL [17:27:04.104] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [17:27:04.104] $ localMachine : logi TRUE [17:27:04.104] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [17:27:04.104] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [17:27:04.104] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [17:27:04.104] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [17:27:04.104] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [17:27:04.104] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [17:27:04.104] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [17:27:04.104] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [17:27:04.104] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [17:27:04.104] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [17:27:04.104] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [17:27:04.104] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [17:27:04.104] "parallel"), action = c("launch", "options"), verbose = FALSE) [17:27:04.104] $ arguments :List of 28 [17:27:04.104] ..$ worker : chr "localhost" [17:27:04.104] ..$ master : NULL [17:27:04.104] ..$ port : int 22660 [17:27:04.104] ..$ connectTimeout : num 120 [17:27:04.104] ..$ timeout : num 120 [17:27:04.104] ..$ rscript : NULL [17:27:04.104] ..$ homogeneous : NULL [17:27:04.104] ..$ rscript_args : NULL [17:27:04.104] ..$ rscript_envs : NULL [17:27:04.104] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7" "D:/RCompile/recent/R/library" [17:27:04.104] ..$ rscript_startup : NULL [17:27:04.104] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [17:27:04.104] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [17:27:04.104] ..$ methods : logi TRUE [17:27:04.104] ..$ socketOptions : chr "no-delay" [17:27:04.104] ..$ useXDR : logi FALSE [17:27:04.104] ..$ outfile : chr "/dev/null" [17:27:04.104] ..$ renice : int NA [17:27:04.104] ..$ rshcmd : NULL [17:27:04.104] ..$ user : NULL [17:27:04.104] ..$ revtunnel : logi NA [17:27:04.104] ..$ rshlogfile : NULL [17:27:04.104] ..$ rshopts : NULL [17:27:04.104] ..$ rank : int 1 [17:27:04.104] ..$ manual : logi FALSE [17:27:04.104] ..$ dryrun : logi FALSE [17:27:04.104] ..$ quiet : logi FALSE [17:27:04.104] ..$ setup_strategy : chr "parallel" [17:27:04.104] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [17:27:04.139] [local output] System call to launch all workers: [17:27:04.139] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=globals,tricky.R:43356:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/Rtmp8snilR/worker.rank=1.parallelly.parent=43356.a95c5c9321bc.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpAVtqMV/RLIBS_30708245f64e7\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=22660 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [17:27:04.139] [local output] Starting PSOCK main server [17:27:04.145] [local output] Workers launched [17:27:04.146] [local output] Waiting for workers to connect back [17:27:04.146] - [local output] 0 workers out of 2 ready [17:27:04.308] - [local output] 0 workers out of 2 ready [17:27:04.308] - [local output] 1 workers out of 2 ready [17:27:04.311] - [local output] 1 workers out of 2 ready [17:27:04.311] - [local output] 2 workers out of 2 ready [17:27:04.312] [local output] Launching of workers completed [17:27:04.312] [local output] Collecting session information from workers [17:27:04.313] [local output] - Worker #1 of 2 [17:27:04.314] [local output] - Worker #2 of 2 [17:27:04.314] [local output] makeClusterPSOCK() ... done [17:27:04.326] Packages needed by the future expression (n = 0): [17:27:04.326] Packages needed by future strategies (n = 0): [17:27:04.327] { [17:27:04.327] { [17:27:04.327] { [17:27:04.327] ...future.startTime <- base::Sys.time() [17:27:04.327] { [17:27:04.327] { [17:27:04.327] { [17:27:04.327] { [17:27:04.327] base::local({ [17:27:04.327] has_future <- base::requireNamespace("future", [17:27:04.327] quietly = TRUE) [17:27:04.327] if (has_future) { [17:27:04.327] ns <- base::getNamespace("future") [17:27:04.327] version <- ns[[".package"]][["version"]] [17:27:04.327] if (is.null(version)) [17:27:04.327] version <- utils::packageVersion("future") [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] version <- NULL [17:27:04.327] } [17:27:04.327] if (!has_future || version < "1.8.0") { [17:27:04.327] info <- base::c(r_version = base::gsub("R version ", [17:27:04.327] "", base::R.version$version.string), [17:27:04.327] platform = base::sprintf("%s (%s-bit)", [17:27:04.327] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.327] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.327] "release", "version")], collapse = " "), [17:27:04.327] hostname = base::Sys.info()[["nodename"]]) [17:27:04.327] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.327] info) [17:27:04.327] info <- base::paste(info, collapse = "; ") [17:27:04.327] if (!has_future) { [17:27:04.327] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.327] info) [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.327] info, version) [17:27:04.327] } [17:27:04.327] base::stop(msg) [17:27:04.327] } [17:27:04.327] }) [17:27:04.327] } [17:27:04.327] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.327] base::options(mc.cores = 1L) [17:27:04.327] } [17:27:04.327] ...future.strategy.old <- future::plan("list") [17:27:04.327] options(future.plan = NULL) [17:27:04.327] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.327] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.327] } [17:27:04.327] ...future.workdir <- getwd() [17:27:04.327] } [17:27:04.327] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.327] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.327] } [17:27:04.327] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.327] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:04.327] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.327] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.327] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.327] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.327] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.327] base::names(...future.oldOptions)) [17:27:04.327] } [17:27:04.327] if (FALSE) { [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] if (TRUE) { [17:27:04.327] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.327] open = "w") [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.327] windows = "NUL", "/dev/null"), open = "w") [17:27:04.327] } [17:27:04.327] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.327] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.327] base::sink(type = "output", split = FALSE) [17:27:04.327] base::close(...future.stdout) [17:27:04.327] }, add = TRUE) [17:27:04.327] } [17:27:04.327] ...future.frame <- base::sys.nframe() [17:27:04.327] ...future.conditions <- base::list() [17:27:04.327] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.327] if (FALSE) { [17:27:04.327] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.327] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.327] } [17:27:04.327] ...future.result <- base::tryCatch({ [17:27:04.327] base::withCallingHandlers({ [17:27:04.327] ...future.value <- base::withVisible(base::local({ [17:27:04.327] ...future.makeSendCondition <- base::local({ [17:27:04.327] sendCondition <- NULL [17:27:04.327] function(frame = 1L) { [17:27:04.327] if (is.function(sendCondition)) [17:27:04.327] return(sendCondition) [17:27:04.327] ns <- getNamespace("parallel") [17:27:04.327] if (exists("sendData", mode = "function", [17:27:04.327] envir = ns)) { [17:27:04.327] parallel_sendData <- get("sendData", mode = "function", [17:27:04.327] envir = ns) [17:27:04.327] envir <- sys.frame(frame) [17:27:04.327] master <- NULL [17:27:04.327] while (!identical(envir, .GlobalEnv) && [17:27:04.327] !identical(envir, emptyenv())) { [17:27:04.327] if (exists("master", mode = "list", envir = envir, [17:27:04.327] inherits = FALSE)) { [17:27:04.327] master <- get("master", mode = "list", [17:27:04.327] envir = envir, inherits = FALSE) [17:27:04.327] if (inherits(master, c("SOCKnode", [17:27:04.327] "SOCK0node"))) { [17:27:04.327] sendCondition <<- function(cond) { [17:27:04.327] data <- list(type = "VALUE", value = cond, [17:27:04.327] success = TRUE) [17:27:04.327] parallel_sendData(master, data) [17:27:04.327] } [17:27:04.327] return(sendCondition) [17:27:04.327] } [17:27:04.327] } [17:27:04.327] frame <- frame + 1L [17:27:04.327] envir <- sys.frame(frame) [17:27:04.327] } [17:27:04.327] } [17:27:04.327] sendCondition <<- function(cond) NULL [17:27:04.327] } [17:27:04.327] }) [17:27:04.327] withCallingHandlers({ [17:27:04.327] NA [17:27:04.327] }, immediateCondition = function(cond) { [17:27:04.327] sendCondition <- ...future.makeSendCondition() [17:27:04.327] sendCondition(cond) [17:27:04.327] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.327] { [17:27:04.327] inherits <- base::inherits [17:27:04.327] invokeRestart <- base::invokeRestart [17:27:04.327] is.null <- base::is.null [17:27:04.327] muffled <- FALSE [17:27:04.327] if (inherits(cond, "message")) { [17:27:04.327] muffled <- grepl(pattern, "muffleMessage") [17:27:04.327] if (muffled) [17:27:04.327] invokeRestart("muffleMessage") [17:27:04.327] } [17:27:04.327] else if (inherits(cond, "warning")) { [17:27:04.327] muffled <- grepl(pattern, "muffleWarning") [17:27:04.327] if (muffled) [17:27:04.327] invokeRestart("muffleWarning") [17:27:04.327] } [17:27:04.327] else if (inherits(cond, "condition")) { [17:27:04.327] if (!is.null(pattern)) { [17:27:04.327] computeRestarts <- base::computeRestarts [17:27:04.327] grepl <- base::grepl [17:27:04.327] restarts <- computeRestarts(cond) [17:27:04.327] for (restart in restarts) { [17:27:04.327] name <- restart$name [17:27:04.327] if (is.null(name)) [17:27:04.327] next [17:27:04.327] if (!grepl(pattern, name)) [17:27:04.327] next [17:27:04.327] invokeRestart(restart) [17:27:04.327] muffled <- TRUE [17:27:04.327] break [17:27:04.327] } [17:27:04.327] } [17:27:04.327] } [17:27:04.327] invisible(muffled) [17:27:04.327] } [17:27:04.327] muffleCondition(cond) [17:27:04.327] }) [17:27:04.327] })) [17:27:04.327] future::FutureResult(value = ...future.value$value, [17:27:04.327] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.327] ...future.rng), globalenv = if (FALSE) [17:27:04.327] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.327] ...future.globalenv.names)) [17:27:04.327] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.327] }, condition = base::local({ [17:27:04.327] c <- base::c [17:27:04.327] inherits <- base::inherits [17:27:04.327] invokeRestart <- base::invokeRestart [17:27:04.327] length <- base::length [17:27:04.327] list <- base::list [17:27:04.327] seq.int <- base::seq.int [17:27:04.327] signalCondition <- base::signalCondition [17:27:04.327] sys.calls <- base::sys.calls [17:27:04.327] `[[` <- base::`[[` [17:27:04.327] `+` <- base::`+` [17:27:04.327] `<<-` <- base::`<<-` [17:27:04.327] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.327] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.327] 3L)] [17:27:04.327] } [17:27:04.327] function(cond) { [17:27:04.327] is_error <- inherits(cond, "error") [17:27:04.327] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.327] NULL) [17:27:04.327] if (is_error) { [17:27:04.327] sessionInformation <- function() { [17:27:04.327] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.327] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.327] search = base::search(), system = base::Sys.info()) [17:27:04.327] } [17:27:04.327] ...future.conditions[[length(...future.conditions) + [17:27:04.327] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.327] cond$call), session = sessionInformation(), [17:27:04.327] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.327] signalCondition(cond) [17:27:04.327] } [17:27:04.327] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.327] "immediateCondition"))) { [17:27:04.327] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.327] ...future.conditions[[length(...future.conditions) + [17:27:04.327] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.327] if (TRUE && !signal) { [17:27:04.327] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.327] { [17:27:04.327] inherits <- base::inherits [17:27:04.327] invokeRestart <- base::invokeRestart [17:27:04.327] is.null <- base::is.null [17:27:04.327] muffled <- FALSE [17:27:04.327] if (inherits(cond, "message")) { [17:27:04.327] muffled <- grepl(pattern, "muffleMessage") [17:27:04.327] if (muffled) [17:27:04.327] invokeRestart("muffleMessage") [17:27:04.327] } [17:27:04.327] else if (inherits(cond, "warning")) { [17:27:04.327] muffled <- grepl(pattern, "muffleWarning") [17:27:04.327] if (muffled) [17:27:04.327] invokeRestart("muffleWarning") [17:27:04.327] } [17:27:04.327] else if (inherits(cond, "condition")) { [17:27:04.327] if (!is.null(pattern)) { [17:27:04.327] computeRestarts <- base::computeRestarts [17:27:04.327] grepl <- base::grepl [17:27:04.327] restarts <- computeRestarts(cond) [17:27:04.327] for (restart in restarts) { [17:27:04.327] name <- restart$name [17:27:04.327] if (is.null(name)) [17:27:04.327] next [17:27:04.327] if (!grepl(pattern, name)) [17:27:04.327] next [17:27:04.327] invokeRestart(restart) [17:27:04.327] muffled <- TRUE [17:27:04.327] break [17:27:04.327] } [17:27:04.327] } [17:27:04.327] } [17:27:04.327] invisible(muffled) [17:27:04.327] } [17:27:04.327] muffleCondition(cond, pattern = "^muffle") [17:27:04.327] } [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] if (TRUE) { [17:27:04.327] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.327] { [17:27:04.327] inherits <- base::inherits [17:27:04.327] invokeRestart <- base::invokeRestart [17:27:04.327] is.null <- base::is.null [17:27:04.327] muffled <- FALSE [17:27:04.327] if (inherits(cond, "message")) { [17:27:04.327] muffled <- grepl(pattern, "muffleMessage") [17:27:04.327] if (muffled) [17:27:04.327] invokeRestart("muffleMessage") [17:27:04.327] } [17:27:04.327] else if (inherits(cond, "warning")) { [17:27:04.327] muffled <- grepl(pattern, "muffleWarning") [17:27:04.327] if (muffled) [17:27:04.327] invokeRestart("muffleWarning") [17:27:04.327] } [17:27:04.327] else if (inherits(cond, "condition")) { [17:27:04.327] if (!is.null(pattern)) { [17:27:04.327] computeRestarts <- base::computeRestarts [17:27:04.327] grepl <- base::grepl [17:27:04.327] restarts <- computeRestarts(cond) [17:27:04.327] for (restart in restarts) { [17:27:04.327] name <- restart$name [17:27:04.327] if (is.null(name)) [17:27:04.327] next [17:27:04.327] if (!grepl(pattern, name)) [17:27:04.327] next [17:27:04.327] invokeRestart(restart) [17:27:04.327] muffled <- TRUE [17:27:04.327] break [17:27:04.327] } [17:27:04.327] } [17:27:04.327] } [17:27:04.327] invisible(muffled) [17:27:04.327] } [17:27:04.327] muffleCondition(cond, pattern = "^muffle") [17:27:04.327] } [17:27:04.327] } [17:27:04.327] } [17:27:04.327] })) [17:27:04.327] }, error = function(ex) { [17:27:04.327] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.327] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.327] ...future.rng), started = ...future.startTime, [17:27:04.327] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.327] version = "1.8"), class = "FutureResult") [17:27:04.327] }, finally = { [17:27:04.327] if (!identical(...future.workdir, getwd())) [17:27:04.327] setwd(...future.workdir) [17:27:04.327] { [17:27:04.327] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.327] ...future.oldOptions$nwarnings <- NULL [17:27:04.327] } [17:27:04.327] base::options(...future.oldOptions) [17:27:04.327] if (.Platform$OS.type == "windows") { [17:27:04.327] old_names <- names(...future.oldEnvVars) [17:27:04.327] envs <- base::Sys.getenv() [17:27:04.327] names <- names(envs) [17:27:04.327] common <- intersect(names, old_names) [17:27:04.327] added <- setdiff(names, old_names) [17:27:04.327] removed <- setdiff(old_names, names) [17:27:04.327] changed <- common[...future.oldEnvVars[common] != [17:27:04.327] envs[common]] [17:27:04.327] NAMES <- toupper(changed) [17:27:04.327] args <- list() [17:27:04.327] for (kk in seq_along(NAMES)) { [17:27:04.327] name <- changed[[kk]] [17:27:04.327] NAME <- NAMES[[kk]] [17:27:04.327] if (name != NAME && is.element(NAME, old_names)) [17:27:04.327] next [17:27:04.327] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.327] } [17:27:04.327] NAMES <- toupper(added) [17:27:04.327] for (kk in seq_along(NAMES)) { [17:27:04.327] name <- added[[kk]] [17:27:04.327] NAME <- NAMES[[kk]] [17:27:04.327] if (name != NAME && is.element(NAME, old_names)) [17:27:04.327] next [17:27:04.327] args[[name]] <- "" [17:27:04.327] } [17:27:04.327] NAMES <- toupper(removed) [17:27:04.327] for (kk in seq_along(NAMES)) { [17:27:04.327] name <- removed[[kk]] [17:27:04.327] NAME <- NAMES[[kk]] [17:27:04.327] if (name != NAME && is.element(NAME, old_names)) [17:27:04.327] next [17:27:04.327] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.327] } [17:27:04.327] if (length(args) > 0) [17:27:04.327] base::do.call(base::Sys.setenv, args = args) [17:27:04.327] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.327] } [17:27:04.327] { [17:27:04.327] if (base::length(...future.futureOptionsAdded) > [17:27:04.327] 0L) { [17:27:04.327] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.327] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.327] base::options(opts) [17:27:04.327] } [17:27:04.327] { [17:27:04.327] { [17:27:04.327] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.327] NULL [17:27:04.327] } [17:27:04.327] options(future.plan = NULL) [17:27:04.327] if (is.na(NA_character_)) [17:27:04.327] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.327] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.327] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.327] .init = FALSE) [17:27:04.327] } [17:27:04.327] } [17:27:04.327] } [17:27:04.327] }) [17:27:04.327] if (TRUE) { [17:27:04.327] base::sink(type = "output", split = FALSE) [17:27:04.327] if (TRUE) { [17:27:04.327] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.327] } [17:27:04.327] else { [17:27:04.327] ...future.result["stdout"] <- base::list(NULL) [17:27:04.327] } [17:27:04.327] base::close(...future.stdout) [17:27:04.327] ...future.stdout <- NULL [17:27:04.327] } [17:27:04.327] ...future.result$conditions <- ...future.conditions [17:27:04.327] ...future.result$finished <- base::Sys.time() [17:27:04.327] ...future.result [17:27:04.327] } [17:27:04.408] MultisessionFuture started [17:27:04.409] result() for ClusterFuture ... [17:27:04.409] receiveMessageFromWorker() for ClusterFuture ... [17:27:04.410] - Validating connection of MultisessionFuture [17:27:04.461] - received message: FutureResult [17:27:04.461] - Received FutureResult [17:27:04.464] - Erased future from FutureRegistry [17:27:04.465] result() for ClusterFuture ... [17:27:04.465] - result already collected: FutureResult [17:27:04.465] result() for ClusterFuture ... done [17:27:04.465] receiveMessageFromWorker() for ClusterFuture ... done [17:27:04.465] result() for ClusterFuture ... done [17:27:04.466] result() for ClusterFuture ... [17:27:04.466] - result already collected: FutureResult [17:27:04.466] result() for ClusterFuture ... done [17:27:04.466] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [17:27:04.469] 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:27:04.470] 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:27:04.470] 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:27:04.473] - globals found: [3] '{', '<-', '*' [17:27:04.473] Searching for globals ... DONE [17:27:04.473] Resolving globals: TRUE [17:27:04.473] Resolving any globals that are futures ... [17:27:04.474] - globals: [3] '{', '<-', '*' [17:27:04.474] Resolving any globals that are futures ... DONE [17:27:04.474] [17:27:04.475] [17:27:04.475] getGlobalsAndPackages() ... DONE [17:27:04.475] run() for 'Future' ... [17:27:04.475] - state: 'created' [17:27:04.476] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.490] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.491] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.491] - Field: 'node' [17:27:04.491] - Field: 'label' [17:27:04.491] - Field: 'local' [17:27:04.491] - Field: 'owner' [17:27:04.492] - Field: 'envir' [17:27:04.492] - Field: 'workers' [17:27:04.492] - Field: 'packages' [17:27:04.492] - Field: 'gc' [17:27:04.492] - Field: 'conditions' [17:27:04.493] - Field: 'persistent' [17:27:04.493] - Field: 'expr' [17:27:04.493] - Field: 'uuid' [17:27:04.493] - Field: 'seed' [17:27:04.493] - Field: 'version' [17:27:04.494] - Field: 'result' [17:27:04.494] - Field: 'asynchronous' [17:27:04.494] - Field: 'calls' [17:27:04.494] - Field: 'globals' [17:27:04.494] - Field: 'stdout' [17:27:04.495] - Field: 'earlySignal' [17:27:04.495] - Field: 'lazy' [17:27:04.495] - Field: 'state' [17:27:04.495] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.495] - Launch lazy future ... [17:27:04.496] Packages needed by the future expression (n = 0): [17:27:04.496] Packages needed by future strategies (n = 0): [17:27:04.497] { [17:27:04.497] { [17:27:04.497] { [17:27:04.497] ...future.startTime <- base::Sys.time() [17:27:04.497] { [17:27:04.497] { [17:27:04.497] { [17:27:04.497] { [17:27:04.497] base::local({ [17:27:04.497] has_future <- base::requireNamespace("future", [17:27:04.497] quietly = TRUE) [17:27:04.497] if (has_future) { [17:27:04.497] ns <- base::getNamespace("future") [17:27:04.497] version <- ns[[".package"]][["version"]] [17:27:04.497] if (is.null(version)) [17:27:04.497] version <- utils::packageVersion("future") [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] version <- NULL [17:27:04.497] } [17:27:04.497] if (!has_future || version < "1.8.0") { [17:27:04.497] info <- base::c(r_version = base::gsub("R version ", [17:27:04.497] "", base::R.version$version.string), [17:27:04.497] platform = base::sprintf("%s (%s-bit)", [17:27:04.497] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.497] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.497] "release", "version")], collapse = " "), [17:27:04.497] hostname = base::Sys.info()[["nodename"]]) [17:27:04.497] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.497] info) [17:27:04.497] info <- base::paste(info, collapse = "; ") [17:27:04.497] if (!has_future) { [17:27:04.497] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.497] info) [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.497] info, version) [17:27:04.497] } [17:27:04.497] base::stop(msg) [17:27:04.497] } [17:27:04.497] }) [17:27:04.497] } [17:27:04.497] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.497] base::options(mc.cores = 1L) [17:27:04.497] } [17:27:04.497] ...future.strategy.old <- future::plan("list") [17:27:04.497] options(future.plan = NULL) [17:27:04.497] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.497] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.497] } [17:27:04.497] ...future.workdir <- getwd() [17:27:04.497] } [17:27:04.497] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.497] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.497] } [17:27:04.497] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.497] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.497] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.497] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.497] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.497] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.497] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.497] base::names(...future.oldOptions)) [17:27:04.497] } [17:27:04.497] if (FALSE) { [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] if (TRUE) { [17:27:04.497] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.497] open = "w") [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.497] windows = "NUL", "/dev/null"), open = "w") [17:27:04.497] } [17:27:04.497] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.497] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.497] base::sink(type = "output", split = FALSE) [17:27:04.497] base::close(...future.stdout) [17:27:04.497] }, add = TRUE) [17:27:04.497] } [17:27:04.497] ...future.frame <- base::sys.nframe() [17:27:04.497] ...future.conditions <- base::list() [17:27:04.497] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.497] if (FALSE) { [17:27:04.497] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.497] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.497] } [17:27:04.497] ...future.result <- base::tryCatch({ [17:27:04.497] base::withCallingHandlers({ [17:27:04.497] ...future.value <- base::withVisible(base::local({ [17:27:04.497] ...future.makeSendCondition <- base::local({ [17:27:04.497] sendCondition <- NULL [17:27:04.497] function(frame = 1L) { [17:27:04.497] if (is.function(sendCondition)) [17:27:04.497] return(sendCondition) [17:27:04.497] ns <- getNamespace("parallel") [17:27:04.497] if (exists("sendData", mode = "function", [17:27:04.497] envir = ns)) { [17:27:04.497] parallel_sendData <- get("sendData", mode = "function", [17:27:04.497] envir = ns) [17:27:04.497] envir <- sys.frame(frame) [17:27:04.497] master <- NULL [17:27:04.497] while (!identical(envir, .GlobalEnv) && [17:27:04.497] !identical(envir, emptyenv())) { [17:27:04.497] if (exists("master", mode = "list", envir = envir, [17:27:04.497] inherits = FALSE)) { [17:27:04.497] master <- get("master", mode = "list", [17:27:04.497] envir = envir, inherits = FALSE) [17:27:04.497] if (inherits(master, c("SOCKnode", [17:27:04.497] "SOCK0node"))) { [17:27:04.497] sendCondition <<- function(cond) { [17:27:04.497] data <- list(type = "VALUE", value = cond, [17:27:04.497] success = TRUE) [17:27:04.497] parallel_sendData(master, data) [17:27:04.497] } [17:27:04.497] return(sendCondition) [17:27:04.497] } [17:27:04.497] } [17:27:04.497] frame <- frame + 1L [17:27:04.497] envir <- sys.frame(frame) [17:27:04.497] } [17:27:04.497] } [17:27:04.497] sendCondition <<- function(cond) NULL [17:27:04.497] } [17:27:04.497] }) [17:27:04.497] withCallingHandlers({ [17:27:04.497] { [17:27:04.497] b <- a [17:27:04.497] a <- 2 [17:27:04.497] a * b [17:27:04.497] } [17:27:04.497] }, immediateCondition = function(cond) { [17:27:04.497] sendCondition <- ...future.makeSendCondition() [17:27:04.497] sendCondition(cond) [17:27:04.497] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.497] { [17:27:04.497] inherits <- base::inherits [17:27:04.497] invokeRestart <- base::invokeRestart [17:27:04.497] is.null <- base::is.null [17:27:04.497] muffled <- FALSE [17:27:04.497] if (inherits(cond, "message")) { [17:27:04.497] muffled <- grepl(pattern, "muffleMessage") [17:27:04.497] if (muffled) [17:27:04.497] invokeRestart("muffleMessage") [17:27:04.497] } [17:27:04.497] else if (inherits(cond, "warning")) { [17:27:04.497] muffled <- grepl(pattern, "muffleWarning") [17:27:04.497] if (muffled) [17:27:04.497] invokeRestart("muffleWarning") [17:27:04.497] } [17:27:04.497] else if (inherits(cond, "condition")) { [17:27:04.497] if (!is.null(pattern)) { [17:27:04.497] computeRestarts <- base::computeRestarts [17:27:04.497] grepl <- base::grepl [17:27:04.497] restarts <- computeRestarts(cond) [17:27:04.497] for (restart in restarts) { [17:27:04.497] name <- restart$name [17:27:04.497] if (is.null(name)) [17:27:04.497] next [17:27:04.497] if (!grepl(pattern, name)) [17:27:04.497] next [17:27:04.497] invokeRestart(restart) [17:27:04.497] muffled <- TRUE [17:27:04.497] break [17:27:04.497] } [17:27:04.497] } [17:27:04.497] } [17:27:04.497] invisible(muffled) [17:27:04.497] } [17:27:04.497] muffleCondition(cond) [17:27:04.497] }) [17:27:04.497] })) [17:27:04.497] future::FutureResult(value = ...future.value$value, [17:27:04.497] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.497] ...future.rng), globalenv = if (FALSE) [17:27:04.497] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.497] ...future.globalenv.names)) [17:27:04.497] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.497] }, condition = base::local({ [17:27:04.497] c <- base::c [17:27:04.497] inherits <- base::inherits [17:27:04.497] invokeRestart <- base::invokeRestart [17:27:04.497] length <- base::length [17:27:04.497] list <- base::list [17:27:04.497] seq.int <- base::seq.int [17:27:04.497] signalCondition <- base::signalCondition [17:27:04.497] sys.calls <- base::sys.calls [17:27:04.497] `[[` <- base::`[[` [17:27:04.497] `+` <- base::`+` [17:27:04.497] `<<-` <- base::`<<-` [17:27:04.497] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.497] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.497] 3L)] [17:27:04.497] } [17:27:04.497] function(cond) { [17:27:04.497] is_error <- inherits(cond, "error") [17:27:04.497] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.497] NULL) [17:27:04.497] if (is_error) { [17:27:04.497] sessionInformation <- function() { [17:27:04.497] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.497] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.497] search = base::search(), system = base::Sys.info()) [17:27:04.497] } [17:27:04.497] ...future.conditions[[length(...future.conditions) + [17:27:04.497] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.497] cond$call), session = sessionInformation(), [17:27:04.497] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.497] signalCondition(cond) [17:27:04.497] } [17:27:04.497] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.497] "immediateCondition"))) { [17:27:04.497] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.497] ...future.conditions[[length(...future.conditions) + [17:27:04.497] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.497] if (TRUE && !signal) { [17:27:04.497] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.497] { [17:27:04.497] inherits <- base::inherits [17:27:04.497] invokeRestart <- base::invokeRestart [17:27:04.497] is.null <- base::is.null [17:27:04.497] muffled <- FALSE [17:27:04.497] if (inherits(cond, "message")) { [17:27:04.497] muffled <- grepl(pattern, "muffleMessage") [17:27:04.497] if (muffled) [17:27:04.497] invokeRestart("muffleMessage") [17:27:04.497] } [17:27:04.497] else if (inherits(cond, "warning")) { [17:27:04.497] muffled <- grepl(pattern, "muffleWarning") [17:27:04.497] if (muffled) [17:27:04.497] invokeRestart("muffleWarning") [17:27:04.497] } [17:27:04.497] else if (inherits(cond, "condition")) { [17:27:04.497] if (!is.null(pattern)) { [17:27:04.497] computeRestarts <- base::computeRestarts [17:27:04.497] grepl <- base::grepl [17:27:04.497] restarts <- computeRestarts(cond) [17:27:04.497] for (restart in restarts) { [17:27:04.497] name <- restart$name [17:27:04.497] if (is.null(name)) [17:27:04.497] next [17:27:04.497] if (!grepl(pattern, name)) [17:27:04.497] next [17:27:04.497] invokeRestart(restart) [17:27:04.497] muffled <- TRUE [17:27:04.497] break [17:27:04.497] } [17:27:04.497] } [17:27:04.497] } [17:27:04.497] invisible(muffled) [17:27:04.497] } [17:27:04.497] muffleCondition(cond, pattern = "^muffle") [17:27:04.497] } [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] if (TRUE) { [17:27:04.497] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.497] { [17:27:04.497] inherits <- base::inherits [17:27:04.497] invokeRestart <- base::invokeRestart [17:27:04.497] is.null <- base::is.null [17:27:04.497] muffled <- FALSE [17:27:04.497] if (inherits(cond, "message")) { [17:27:04.497] muffled <- grepl(pattern, "muffleMessage") [17:27:04.497] if (muffled) [17:27:04.497] invokeRestart("muffleMessage") [17:27:04.497] } [17:27:04.497] else if (inherits(cond, "warning")) { [17:27:04.497] muffled <- grepl(pattern, "muffleWarning") [17:27:04.497] if (muffled) [17:27:04.497] invokeRestart("muffleWarning") [17:27:04.497] } [17:27:04.497] else if (inherits(cond, "condition")) { [17:27:04.497] if (!is.null(pattern)) { [17:27:04.497] computeRestarts <- base::computeRestarts [17:27:04.497] grepl <- base::grepl [17:27:04.497] restarts <- computeRestarts(cond) [17:27:04.497] for (restart in restarts) { [17:27:04.497] name <- restart$name [17:27:04.497] if (is.null(name)) [17:27:04.497] next [17:27:04.497] if (!grepl(pattern, name)) [17:27:04.497] next [17:27:04.497] invokeRestart(restart) [17:27:04.497] muffled <- TRUE [17:27:04.497] break [17:27:04.497] } [17:27:04.497] } [17:27:04.497] } [17:27:04.497] invisible(muffled) [17:27:04.497] } [17:27:04.497] muffleCondition(cond, pattern = "^muffle") [17:27:04.497] } [17:27:04.497] } [17:27:04.497] } [17:27:04.497] })) [17:27:04.497] }, error = function(ex) { [17:27:04.497] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.497] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.497] ...future.rng), started = ...future.startTime, [17:27:04.497] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.497] version = "1.8"), class = "FutureResult") [17:27:04.497] }, finally = { [17:27:04.497] if (!identical(...future.workdir, getwd())) [17:27:04.497] setwd(...future.workdir) [17:27:04.497] { [17:27:04.497] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.497] ...future.oldOptions$nwarnings <- NULL [17:27:04.497] } [17:27:04.497] base::options(...future.oldOptions) [17:27:04.497] if (.Platform$OS.type == "windows") { [17:27:04.497] old_names <- names(...future.oldEnvVars) [17:27:04.497] envs <- base::Sys.getenv() [17:27:04.497] names <- names(envs) [17:27:04.497] common <- intersect(names, old_names) [17:27:04.497] added <- setdiff(names, old_names) [17:27:04.497] removed <- setdiff(old_names, names) [17:27:04.497] changed <- common[...future.oldEnvVars[common] != [17:27:04.497] envs[common]] [17:27:04.497] NAMES <- toupper(changed) [17:27:04.497] args <- list() [17:27:04.497] for (kk in seq_along(NAMES)) { [17:27:04.497] name <- changed[[kk]] [17:27:04.497] NAME <- NAMES[[kk]] [17:27:04.497] if (name != NAME && is.element(NAME, old_names)) [17:27:04.497] next [17:27:04.497] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.497] } [17:27:04.497] NAMES <- toupper(added) [17:27:04.497] for (kk in seq_along(NAMES)) { [17:27:04.497] name <- added[[kk]] [17:27:04.497] NAME <- NAMES[[kk]] [17:27:04.497] if (name != NAME && is.element(NAME, old_names)) [17:27:04.497] next [17:27:04.497] args[[name]] <- "" [17:27:04.497] } [17:27:04.497] NAMES <- toupper(removed) [17:27:04.497] for (kk in seq_along(NAMES)) { [17:27:04.497] name <- removed[[kk]] [17:27:04.497] NAME <- NAMES[[kk]] [17:27:04.497] if (name != NAME && is.element(NAME, old_names)) [17:27:04.497] next [17:27:04.497] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.497] } [17:27:04.497] if (length(args) > 0) [17:27:04.497] base::do.call(base::Sys.setenv, args = args) [17:27:04.497] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.497] } [17:27:04.497] { [17:27:04.497] if (base::length(...future.futureOptionsAdded) > [17:27:04.497] 0L) { [17:27:04.497] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.497] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.497] base::options(opts) [17:27:04.497] } [17:27:04.497] { [17:27:04.497] { [17:27:04.497] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.497] NULL [17:27:04.497] } [17:27:04.497] options(future.plan = NULL) [17:27:04.497] if (is.na(NA_character_)) [17:27:04.497] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.497] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.497] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.497] .init = FALSE) [17:27:04.497] } [17:27:04.497] } [17:27:04.497] } [17:27:04.497] }) [17:27:04.497] if (TRUE) { [17:27:04.497] base::sink(type = "output", split = FALSE) [17:27:04.497] if (TRUE) { [17:27:04.497] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.497] } [17:27:04.497] else { [17:27:04.497] ...future.result["stdout"] <- base::list(NULL) [17:27:04.497] } [17:27:04.497] base::close(...future.stdout) [17:27:04.497] ...future.stdout <- NULL [17:27:04.497] } [17:27:04.497] ...future.result$conditions <- ...future.conditions [17:27:04.497] ...future.result$finished <- base::Sys.time() [17:27:04.497] ...future.result [17:27:04.497] } [17:27:04.502] MultisessionFuture started [17:27:04.503] - Launch lazy future ... done [17:27:04.503] run() for 'MultisessionFuture' ... done [17:27:04.503] result() for ClusterFuture ... [17:27:04.503] receiveMessageFromWorker() for ClusterFuture ... [17:27:04.504] - Validating connection of MultisessionFuture [17:27:04.518] - received message: FutureResult [17:27:04.519] - Received FutureResult [17:27:04.519] - Erased future from FutureRegistry [17:27:04.519] result() for ClusterFuture ... [17:27:04.519] - result already collected: FutureResult [17:27:04.519] result() for ClusterFuture ... done [17:27:04.520] signalConditions() ... [17:27:04.520] - include = 'immediateCondition' [17:27:04.520] - exclude = [17:27:04.520] - resignal = FALSE [17:27:04.520] - Number of conditions: 1 [17:27:04.521] signalConditions() ... done [17:27:04.521] receiveMessageFromWorker() for ClusterFuture ... done [17:27:04.521] result() for ClusterFuture ... done [17:27:04.521] result() for ClusterFuture ... [17:27:04.521] - result already collected: FutureResult [17:27:04.521] result() for ClusterFuture ... done [17:27:04.522] signalConditions() ... [17:27:04.522] - include = 'immediateCondition' [17:27:04.522] - exclude = [17:27:04.522] - resignal = FALSE [17:27:04.522] - Number of conditions: 1 [17:27:04.523] signalConditions() ... done [17:27:04.523] Future state: 'finished' [17:27:04.523] result() for ClusterFuture ... [17:27:04.523] - result already collected: FutureResult [17:27:04.523] result() for ClusterFuture ... done [17:27:04.523] signalConditions() ... [17:27:04.524] - include = 'condition' [17:27:04.524] - exclude = 'immediateCondition' [17:27:04.524] - resignal = TRUE [17:27:04.524] - Number of conditions: 1 [17:27:04.524] - Condition #1: 'simpleError', 'error', 'condition' [17:27:04.525] 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 "4.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "03" .. .. .. .. ..$ day : chr "25" .. .. .. .. ..$ svn rev : chr "86192" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-03-25 r86192 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-03-26 17:27:04" .. .. ..$ 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:27:04.545] 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:27:04.545] 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:27:04.547] - globals found: [3] '{', '<-', '*' [17:27:04.548] Searching for globals ... DONE [17:27:04.548] Resolving globals: TRUE [17:27:04.548] Resolving any globals that are futures ... [17:27:04.548] - globals: [3] '{', '<-', '*' [17:27:04.548] Resolving any globals that are futures ... DONE [17:27:04.549] [17:27:04.549] [17:27:04.549] getGlobalsAndPackages() ... DONE [17:27:04.550] run() for 'Future' ... [17:27:04.550] - state: 'created' [17:27:04.550] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.564] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.565] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.565] - Field: 'node' [17:27:04.565] - Field: 'label' [17:27:04.565] - Field: 'local' [17:27:04.565] - Field: 'owner' [17:27:04.566] - Field: 'envir' [17:27:04.566] - Field: 'workers' [17:27:04.566] - Field: 'packages' [17:27:04.566] - Field: 'gc' [17:27:04.566] - Field: 'conditions' [17:27:04.567] - Field: 'persistent' [17:27:04.567] - Field: 'expr' [17:27:04.567] - Field: 'uuid' [17:27:04.567] - Field: 'seed' [17:27:04.567] - Field: 'version' [17:27:04.568] - Field: 'result' [17:27:04.568] - Field: 'asynchronous' [17:27:04.568] - Field: 'calls' [17:27:04.568] - Field: 'globals' [17:27:04.569] - Field: 'stdout' [17:27:04.569] - Field: 'earlySignal' [17:27:04.569] - Field: 'lazy' [17:27:04.569] - Field: 'state' [17:27:04.569] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.572] - Launch lazy future ... [17:27:04.572] Packages needed by the future expression (n = 0): [17:27:04.573] Packages needed by future strategies (n = 0): [17:27:04.573] { [17:27:04.573] { [17:27:04.573] { [17:27:04.573] ...future.startTime <- base::Sys.time() [17:27:04.573] { [17:27:04.573] { [17:27:04.573] { [17:27:04.573] { [17:27:04.573] base::local({ [17:27:04.573] has_future <- base::requireNamespace("future", [17:27:04.573] quietly = TRUE) [17:27:04.573] if (has_future) { [17:27:04.573] ns <- base::getNamespace("future") [17:27:04.573] version <- ns[[".package"]][["version"]] [17:27:04.573] if (is.null(version)) [17:27:04.573] version <- utils::packageVersion("future") [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] version <- NULL [17:27:04.573] } [17:27:04.573] if (!has_future || version < "1.8.0") { [17:27:04.573] info <- base::c(r_version = base::gsub("R version ", [17:27:04.573] "", base::R.version$version.string), [17:27:04.573] platform = base::sprintf("%s (%s-bit)", [17:27:04.573] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.573] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.573] "release", "version")], collapse = " "), [17:27:04.573] hostname = base::Sys.info()[["nodename"]]) [17:27:04.573] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.573] info) [17:27:04.573] info <- base::paste(info, collapse = "; ") [17:27:04.573] if (!has_future) { [17:27:04.573] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.573] info) [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.573] info, version) [17:27:04.573] } [17:27:04.573] base::stop(msg) [17:27:04.573] } [17:27:04.573] }) [17:27:04.573] } [17:27:04.573] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.573] base::options(mc.cores = 1L) [17:27:04.573] } [17:27:04.573] ...future.strategy.old <- future::plan("list") [17:27:04.573] options(future.plan = NULL) [17:27:04.573] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.573] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.573] } [17:27:04.573] ...future.workdir <- getwd() [17:27:04.573] } [17:27:04.573] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.573] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.573] } [17:27:04.573] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.573] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.573] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.573] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.573] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.573] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.573] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.573] base::names(...future.oldOptions)) [17:27:04.573] } [17:27:04.573] if (FALSE) { [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] if (TRUE) { [17:27:04.573] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.573] open = "w") [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.573] windows = "NUL", "/dev/null"), open = "w") [17:27:04.573] } [17:27:04.573] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.573] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.573] base::sink(type = "output", split = FALSE) [17:27:04.573] base::close(...future.stdout) [17:27:04.573] }, add = TRUE) [17:27:04.573] } [17:27:04.573] ...future.frame <- base::sys.nframe() [17:27:04.573] ...future.conditions <- base::list() [17:27:04.573] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.573] if (FALSE) { [17:27:04.573] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.573] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.573] } [17:27:04.573] ...future.result <- base::tryCatch({ [17:27:04.573] base::withCallingHandlers({ [17:27:04.573] ...future.value <- base::withVisible(base::local({ [17:27:04.573] ...future.makeSendCondition <- base::local({ [17:27:04.573] sendCondition <- NULL [17:27:04.573] function(frame = 1L) { [17:27:04.573] if (is.function(sendCondition)) [17:27:04.573] return(sendCondition) [17:27:04.573] ns <- getNamespace("parallel") [17:27:04.573] if (exists("sendData", mode = "function", [17:27:04.573] envir = ns)) { [17:27:04.573] parallel_sendData <- get("sendData", mode = "function", [17:27:04.573] envir = ns) [17:27:04.573] envir <- sys.frame(frame) [17:27:04.573] master <- NULL [17:27:04.573] while (!identical(envir, .GlobalEnv) && [17:27:04.573] !identical(envir, emptyenv())) { [17:27:04.573] if (exists("master", mode = "list", envir = envir, [17:27:04.573] inherits = FALSE)) { [17:27:04.573] master <- get("master", mode = "list", [17:27:04.573] envir = envir, inherits = FALSE) [17:27:04.573] if (inherits(master, c("SOCKnode", [17:27:04.573] "SOCK0node"))) { [17:27:04.573] sendCondition <<- function(cond) { [17:27:04.573] data <- list(type = "VALUE", value = cond, [17:27:04.573] success = TRUE) [17:27:04.573] parallel_sendData(master, data) [17:27:04.573] } [17:27:04.573] return(sendCondition) [17:27:04.573] } [17:27:04.573] } [17:27:04.573] frame <- frame + 1L [17:27:04.573] envir <- sys.frame(frame) [17:27:04.573] } [17:27:04.573] } [17:27:04.573] sendCondition <<- function(cond) NULL [17:27:04.573] } [17:27:04.573] }) [17:27:04.573] withCallingHandlers({ [17:27:04.573] { [17:27:04.573] b <- a [17:27:04.573] a <- 2 [17:27:04.573] a * b [17:27:04.573] } [17:27:04.573] }, immediateCondition = function(cond) { [17:27:04.573] sendCondition <- ...future.makeSendCondition() [17:27:04.573] sendCondition(cond) [17:27:04.573] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.573] { [17:27:04.573] inherits <- base::inherits [17:27:04.573] invokeRestart <- base::invokeRestart [17:27:04.573] is.null <- base::is.null [17:27:04.573] muffled <- FALSE [17:27:04.573] if (inherits(cond, "message")) { [17:27:04.573] muffled <- grepl(pattern, "muffleMessage") [17:27:04.573] if (muffled) [17:27:04.573] invokeRestart("muffleMessage") [17:27:04.573] } [17:27:04.573] else if (inherits(cond, "warning")) { [17:27:04.573] muffled <- grepl(pattern, "muffleWarning") [17:27:04.573] if (muffled) [17:27:04.573] invokeRestart("muffleWarning") [17:27:04.573] } [17:27:04.573] else if (inherits(cond, "condition")) { [17:27:04.573] if (!is.null(pattern)) { [17:27:04.573] computeRestarts <- base::computeRestarts [17:27:04.573] grepl <- base::grepl [17:27:04.573] restarts <- computeRestarts(cond) [17:27:04.573] for (restart in restarts) { [17:27:04.573] name <- restart$name [17:27:04.573] if (is.null(name)) [17:27:04.573] next [17:27:04.573] if (!grepl(pattern, name)) [17:27:04.573] next [17:27:04.573] invokeRestart(restart) [17:27:04.573] muffled <- TRUE [17:27:04.573] break [17:27:04.573] } [17:27:04.573] } [17:27:04.573] } [17:27:04.573] invisible(muffled) [17:27:04.573] } [17:27:04.573] muffleCondition(cond) [17:27:04.573] }) [17:27:04.573] })) [17:27:04.573] future::FutureResult(value = ...future.value$value, [17:27:04.573] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.573] ...future.rng), globalenv = if (FALSE) [17:27:04.573] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.573] ...future.globalenv.names)) [17:27:04.573] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.573] }, condition = base::local({ [17:27:04.573] c <- base::c [17:27:04.573] inherits <- base::inherits [17:27:04.573] invokeRestart <- base::invokeRestart [17:27:04.573] length <- base::length [17:27:04.573] list <- base::list [17:27:04.573] seq.int <- base::seq.int [17:27:04.573] signalCondition <- base::signalCondition [17:27:04.573] sys.calls <- base::sys.calls [17:27:04.573] `[[` <- base::`[[` [17:27:04.573] `+` <- base::`+` [17:27:04.573] `<<-` <- base::`<<-` [17:27:04.573] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.573] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.573] 3L)] [17:27:04.573] } [17:27:04.573] function(cond) { [17:27:04.573] is_error <- inherits(cond, "error") [17:27:04.573] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.573] NULL) [17:27:04.573] if (is_error) { [17:27:04.573] sessionInformation <- function() { [17:27:04.573] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.573] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.573] search = base::search(), system = base::Sys.info()) [17:27:04.573] } [17:27:04.573] ...future.conditions[[length(...future.conditions) + [17:27:04.573] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.573] cond$call), session = sessionInformation(), [17:27:04.573] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.573] signalCondition(cond) [17:27:04.573] } [17:27:04.573] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.573] "immediateCondition"))) { [17:27:04.573] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.573] ...future.conditions[[length(...future.conditions) + [17:27:04.573] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.573] if (TRUE && !signal) { [17:27:04.573] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.573] { [17:27:04.573] inherits <- base::inherits [17:27:04.573] invokeRestart <- base::invokeRestart [17:27:04.573] is.null <- base::is.null [17:27:04.573] muffled <- FALSE [17:27:04.573] if (inherits(cond, "message")) { [17:27:04.573] muffled <- grepl(pattern, "muffleMessage") [17:27:04.573] if (muffled) [17:27:04.573] invokeRestart("muffleMessage") [17:27:04.573] } [17:27:04.573] else if (inherits(cond, "warning")) { [17:27:04.573] muffled <- grepl(pattern, "muffleWarning") [17:27:04.573] if (muffled) [17:27:04.573] invokeRestart("muffleWarning") [17:27:04.573] } [17:27:04.573] else if (inherits(cond, "condition")) { [17:27:04.573] if (!is.null(pattern)) { [17:27:04.573] computeRestarts <- base::computeRestarts [17:27:04.573] grepl <- base::grepl [17:27:04.573] restarts <- computeRestarts(cond) [17:27:04.573] for (restart in restarts) { [17:27:04.573] name <- restart$name [17:27:04.573] if (is.null(name)) [17:27:04.573] next [17:27:04.573] if (!grepl(pattern, name)) [17:27:04.573] next [17:27:04.573] invokeRestart(restart) [17:27:04.573] muffled <- TRUE [17:27:04.573] break [17:27:04.573] } [17:27:04.573] } [17:27:04.573] } [17:27:04.573] invisible(muffled) [17:27:04.573] } [17:27:04.573] muffleCondition(cond, pattern = "^muffle") [17:27:04.573] } [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] if (TRUE) { [17:27:04.573] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.573] { [17:27:04.573] inherits <- base::inherits [17:27:04.573] invokeRestart <- base::invokeRestart [17:27:04.573] is.null <- base::is.null [17:27:04.573] muffled <- FALSE [17:27:04.573] if (inherits(cond, "message")) { [17:27:04.573] muffled <- grepl(pattern, "muffleMessage") [17:27:04.573] if (muffled) [17:27:04.573] invokeRestart("muffleMessage") [17:27:04.573] } [17:27:04.573] else if (inherits(cond, "warning")) { [17:27:04.573] muffled <- grepl(pattern, "muffleWarning") [17:27:04.573] if (muffled) [17:27:04.573] invokeRestart("muffleWarning") [17:27:04.573] } [17:27:04.573] else if (inherits(cond, "condition")) { [17:27:04.573] if (!is.null(pattern)) { [17:27:04.573] computeRestarts <- base::computeRestarts [17:27:04.573] grepl <- base::grepl [17:27:04.573] restarts <- computeRestarts(cond) [17:27:04.573] for (restart in restarts) { [17:27:04.573] name <- restart$name [17:27:04.573] if (is.null(name)) [17:27:04.573] next [17:27:04.573] if (!grepl(pattern, name)) [17:27:04.573] next [17:27:04.573] invokeRestart(restart) [17:27:04.573] muffled <- TRUE [17:27:04.573] break [17:27:04.573] } [17:27:04.573] } [17:27:04.573] } [17:27:04.573] invisible(muffled) [17:27:04.573] } [17:27:04.573] muffleCondition(cond, pattern = "^muffle") [17:27:04.573] } [17:27:04.573] } [17:27:04.573] } [17:27:04.573] })) [17:27:04.573] }, error = function(ex) { [17:27:04.573] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.573] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.573] ...future.rng), started = ...future.startTime, [17:27:04.573] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.573] version = "1.8"), class = "FutureResult") [17:27:04.573] }, finally = { [17:27:04.573] if (!identical(...future.workdir, getwd())) [17:27:04.573] setwd(...future.workdir) [17:27:04.573] { [17:27:04.573] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.573] ...future.oldOptions$nwarnings <- NULL [17:27:04.573] } [17:27:04.573] base::options(...future.oldOptions) [17:27:04.573] if (.Platform$OS.type == "windows") { [17:27:04.573] old_names <- names(...future.oldEnvVars) [17:27:04.573] envs <- base::Sys.getenv() [17:27:04.573] names <- names(envs) [17:27:04.573] common <- intersect(names, old_names) [17:27:04.573] added <- setdiff(names, old_names) [17:27:04.573] removed <- setdiff(old_names, names) [17:27:04.573] changed <- common[...future.oldEnvVars[common] != [17:27:04.573] envs[common]] [17:27:04.573] NAMES <- toupper(changed) [17:27:04.573] args <- list() [17:27:04.573] for (kk in seq_along(NAMES)) { [17:27:04.573] name <- changed[[kk]] [17:27:04.573] NAME <- NAMES[[kk]] [17:27:04.573] if (name != NAME && is.element(NAME, old_names)) [17:27:04.573] next [17:27:04.573] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.573] } [17:27:04.573] NAMES <- toupper(added) [17:27:04.573] for (kk in seq_along(NAMES)) { [17:27:04.573] name <- added[[kk]] [17:27:04.573] NAME <- NAMES[[kk]] [17:27:04.573] if (name != NAME && is.element(NAME, old_names)) [17:27:04.573] next [17:27:04.573] args[[name]] <- "" [17:27:04.573] } [17:27:04.573] NAMES <- toupper(removed) [17:27:04.573] for (kk in seq_along(NAMES)) { [17:27:04.573] name <- removed[[kk]] [17:27:04.573] NAME <- NAMES[[kk]] [17:27:04.573] if (name != NAME && is.element(NAME, old_names)) [17:27:04.573] next [17:27:04.573] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.573] } [17:27:04.573] if (length(args) > 0) [17:27:04.573] base::do.call(base::Sys.setenv, args = args) [17:27:04.573] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.573] } [17:27:04.573] { [17:27:04.573] if (base::length(...future.futureOptionsAdded) > [17:27:04.573] 0L) { [17:27:04.573] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.573] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.573] base::options(opts) [17:27:04.573] } [17:27:04.573] { [17:27:04.573] { [17:27:04.573] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.573] NULL [17:27:04.573] } [17:27:04.573] options(future.plan = NULL) [17:27:04.573] if (is.na(NA_character_)) [17:27:04.573] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.573] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.573] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.573] .init = FALSE) [17:27:04.573] } [17:27:04.573] } [17:27:04.573] } [17:27:04.573] }) [17:27:04.573] if (TRUE) { [17:27:04.573] base::sink(type = "output", split = FALSE) [17:27:04.573] if (TRUE) { [17:27:04.573] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.573] } [17:27:04.573] else { [17:27:04.573] ...future.result["stdout"] <- base::list(NULL) [17:27:04.573] } [17:27:04.573] base::close(...future.stdout) [17:27:04.573] ...future.stdout <- NULL [17:27:04.573] } [17:27:04.573] ...future.result$conditions <- ...future.conditions [17:27:04.573] ...future.result$finished <- base::Sys.time() [17:27:04.573] ...future.result [17:27:04.573] } [17:27:04.579] MultisessionFuture started [17:27:04.579] - Launch lazy future ... done [17:27:04.579] run() for 'MultisessionFuture' ... done [17:27:04.579] result() for ClusterFuture ... [17:27:04.579] receiveMessageFromWorker() for ClusterFuture ... [17:27:04.580] - Validating connection of MultisessionFuture [17:27:04.593] - received message: FutureResult [17:27:04.593] - Received FutureResult [17:27:04.594] - Erased future from FutureRegistry [17:27:04.594] result() for ClusterFuture ... [17:27:04.594] - result already collected: FutureResult [17:27:04.594] result() for ClusterFuture ... done [17:27:04.594] signalConditions() ... [17:27:04.594] - include = 'immediateCondition' [17:27:04.595] - exclude = [17:27:04.595] - resignal = FALSE [17:27:04.595] - Number of conditions: 1 [17:27:04.595] signalConditions() ... done [17:27:04.595] receiveMessageFromWorker() for ClusterFuture ... done [17:27:04.595] result() for ClusterFuture ... done [17:27:04.596] result() for ClusterFuture ... [17:27:04.596] - result already collected: FutureResult [17:27:04.596] result() for ClusterFuture ... done [17:27:04.596] signalConditions() ... [17:27:04.596] - include = 'immediateCondition' [17:27:04.596] - exclude = [17:27:04.597] - resignal = FALSE [17:27:04.597] - Number of conditions: 1 [17:27:04.597] signalConditions() ... done [17:27:04.597] Future state: 'finished' [17:27:04.597] result() for ClusterFuture ... [17:27:04.597] - result already collected: FutureResult [17:27:04.598] result() for ClusterFuture ... done [17:27:04.598] signalConditions() ... [17:27:04.598] - include = 'condition' [17:27:04.598] - exclude = 'immediateCondition' [17:27:04.598] - resignal = TRUE [17:27:04.598] - Number of conditions: 1 [17:27:04.599] - Condition #1: 'simpleError', 'error', 'condition' [17:27:04.599] 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 "4.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "03" .. .. .. .. ..$ day : chr "25" .. .. .. .. ..$ svn rev : chr "86192" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-03-25 r86192 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-03-26 17:27:04" .. .. ..$ 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:27:04.617] 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:27:04.617] 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:27:04.619] - globals found: [4] '{', '<-', '*', 'ii' [17:27:04.619] Searching for globals ... DONE [17:27:04.619] Resolving globals: TRUE [17:27:04.620] Resolving any globals that are futures ... [17:27:04.620] - globals: [4] '{', '<-', '*', 'ii' [17:27:04.620] Resolving any globals that are futures ... DONE [17:27:04.620] Resolving futures part of globals (recursively) ... [17:27:04.621] resolve() on list ... [17:27:04.621] recursive: 99 [17:27:04.621] length: 1 [17:27:04.621] elements: 'ii' [17:27:04.621] length: 0 (resolved future 1) [17:27:04.622] resolve() on list ... DONE [17:27:04.622] - globals: [1] 'ii' [17:27:04.622] Resolving futures part of globals (recursively) ... DONE [17:27:04.622] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:04.623] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:04.623] - globals: [1] 'ii' [17:27:04.623] [17:27:04.623] getGlobalsAndPackages() ... DONE [17:27:04.624] run() for 'Future' ... [17:27:04.624] - state: 'created' [17:27:04.624] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.638] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.638] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.638] - Field: 'node' [17:27:04.638] - Field: 'label' [17:27:04.638] - Field: 'local' [17:27:04.639] - Field: 'owner' [17:27:04.639] - Field: 'envir' [17:27:04.639] - Field: 'workers' [17:27:04.639] - Field: 'packages' [17:27:04.639] - Field: 'gc' [17:27:04.639] - Field: 'conditions' [17:27:04.640] - Field: 'persistent' [17:27:04.640] - Field: 'expr' [17:27:04.640] - Field: 'uuid' [17:27:04.640] - Field: 'seed' [17:27:04.640] - Field: 'version' [17:27:04.640] - Field: 'result' [17:27:04.641] - Field: 'asynchronous' [17:27:04.641] - Field: 'calls' [17:27:04.641] - Field: 'globals' [17:27:04.641] - Field: 'stdout' [17:27:04.641] - Field: 'earlySignal' [17:27:04.642] - Field: 'lazy' [17:27:04.642] - Field: 'state' [17:27:04.642] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.642] - Launch lazy future ... [17:27:04.642] Packages needed by the future expression (n = 0): [17:27:04.643] Packages needed by future strategies (n = 0): [17:27:04.643] { [17:27:04.643] { [17:27:04.643] { [17:27:04.643] ...future.startTime <- base::Sys.time() [17:27:04.643] { [17:27:04.643] { [17:27:04.643] { [17:27:04.643] { [17:27:04.643] base::local({ [17:27:04.643] has_future <- base::requireNamespace("future", [17:27:04.643] quietly = TRUE) [17:27:04.643] if (has_future) { [17:27:04.643] ns <- base::getNamespace("future") [17:27:04.643] version <- ns[[".package"]][["version"]] [17:27:04.643] if (is.null(version)) [17:27:04.643] version <- utils::packageVersion("future") [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] version <- NULL [17:27:04.643] } [17:27:04.643] if (!has_future || version < "1.8.0") { [17:27:04.643] info <- base::c(r_version = base::gsub("R version ", [17:27:04.643] "", base::R.version$version.string), [17:27:04.643] platform = base::sprintf("%s (%s-bit)", [17:27:04.643] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.643] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.643] "release", "version")], collapse = " "), [17:27:04.643] hostname = base::Sys.info()[["nodename"]]) [17:27:04.643] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.643] info) [17:27:04.643] info <- base::paste(info, collapse = "; ") [17:27:04.643] if (!has_future) { [17:27:04.643] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.643] info) [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.643] info, version) [17:27:04.643] } [17:27:04.643] base::stop(msg) [17:27:04.643] } [17:27:04.643] }) [17:27:04.643] } [17:27:04.643] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.643] base::options(mc.cores = 1L) [17:27:04.643] } [17:27:04.643] ...future.strategy.old <- future::plan("list") [17:27:04.643] options(future.plan = NULL) [17:27:04.643] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.643] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.643] } [17:27:04.643] ...future.workdir <- getwd() [17:27:04.643] } [17:27:04.643] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.643] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.643] } [17:27:04.643] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.643] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.643] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.643] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.643] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.643] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.643] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.643] base::names(...future.oldOptions)) [17:27:04.643] } [17:27:04.643] if (FALSE) { [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] if (TRUE) { [17:27:04.643] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.643] open = "w") [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.643] windows = "NUL", "/dev/null"), open = "w") [17:27:04.643] } [17:27:04.643] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.643] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.643] base::sink(type = "output", split = FALSE) [17:27:04.643] base::close(...future.stdout) [17:27:04.643] }, add = TRUE) [17:27:04.643] } [17:27:04.643] ...future.frame <- base::sys.nframe() [17:27:04.643] ...future.conditions <- base::list() [17:27:04.643] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.643] if (FALSE) { [17:27:04.643] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.643] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.643] } [17:27:04.643] ...future.result <- base::tryCatch({ [17:27:04.643] base::withCallingHandlers({ [17:27:04.643] ...future.value <- base::withVisible(base::local({ [17:27:04.643] ...future.makeSendCondition <- base::local({ [17:27:04.643] sendCondition <- NULL [17:27:04.643] function(frame = 1L) { [17:27:04.643] if (is.function(sendCondition)) [17:27:04.643] return(sendCondition) [17:27:04.643] ns <- getNamespace("parallel") [17:27:04.643] if (exists("sendData", mode = "function", [17:27:04.643] envir = ns)) { [17:27:04.643] parallel_sendData <- get("sendData", mode = "function", [17:27:04.643] envir = ns) [17:27:04.643] envir <- sys.frame(frame) [17:27:04.643] master <- NULL [17:27:04.643] while (!identical(envir, .GlobalEnv) && [17:27:04.643] !identical(envir, emptyenv())) { [17:27:04.643] if (exists("master", mode = "list", envir = envir, [17:27:04.643] inherits = FALSE)) { [17:27:04.643] master <- get("master", mode = "list", [17:27:04.643] envir = envir, inherits = FALSE) [17:27:04.643] if (inherits(master, c("SOCKnode", [17:27:04.643] "SOCK0node"))) { [17:27:04.643] sendCondition <<- function(cond) { [17:27:04.643] data <- list(type = "VALUE", value = cond, [17:27:04.643] success = TRUE) [17:27:04.643] parallel_sendData(master, data) [17:27:04.643] } [17:27:04.643] return(sendCondition) [17:27:04.643] } [17:27:04.643] } [17:27:04.643] frame <- frame + 1L [17:27:04.643] envir <- sys.frame(frame) [17:27:04.643] } [17:27:04.643] } [17:27:04.643] sendCondition <<- function(cond) NULL [17:27:04.643] } [17:27:04.643] }) [17:27:04.643] withCallingHandlers({ [17:27:04.643] { [17:27:04.643] b <- a * ii [17:27:04.643] a <- 0 [17:27:04.643] b [17:27:04.643] } [17:27:04.643] }, immediateCondition = function(cond) { [17:27:04.643] sendCondition <- ...future.makeSendCondition() [17:27:04.643] sendCondition(cond) [17:27:04.643] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.643] { [17:27:04.643] inherits <- base::inherits [17:27:04.643] invokeRestart <- base::invokeRestart [17:27:04.643] is.null <- base::is.null [17:27:04.643] muffled <- FALSE [17:27:04.643] if (inherits(cond, "message")) { [17:27:04.643] muffled <- grepl(pattern, "muffleMessage") [17:27:04.643] if (muffled) [17:27:04.643] invokeRestart("muffleMessage") [17:27:04.643] } [17:27:04.643] else if (inherits(cond, "warning")) { [17:27:04.643] muffled <- grepl(pattern, "muffleWarning") [17:27:04.643] if (muffled) [17:27:04.643] invokeRestart("muffleWarning") [17:27:04.643] } [17:27:04.643] else if (inherits(cond, "condition")) { [17:27:04.643] if (!is.null(pattern)) { [17:27:04.643] computeRestarts <- base::computeRestarts [17:27:04.643] grepl <- base::grepl [17:27:04.643] restarts <- computeRestarts(cond) [17:27:04.643] for (restart in restarts) { [17:27:04.643] name <- restart$name [17:27:04.643] if (is.null(name)) [17:27:04.643] next [17:27:04.643] if (!grepl(pattern, name)) [17:27:04.643] next [17:27:04.643] invokeRestart(restart) [17:27:04.643] muffled <- TRUE [17:27:04.643] break [17:27:04.643] } [17:27:04.643] } [17:27:04.643] } [17:27:04.643] invisible(muffled) [17:27:04.643] } [17:27:04.643] muffleCondition(cond) [17:27:04.643] }) [17:27:04.643] })) [17:27:04.643] future::FutureResult(value = ...future.value$value, [17:27:04.643] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.643] ...future.rng), globalenv = if (FALSE) [17:27:04.643] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.643] ...future.globalenv.names)) [17:27:04.643] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.643] }, condition = base::local({ [17:27:04.643] c <- base::c [17:27:04.643] inherits <- base::inherits [17:27:04.643] invokeRestart <- base::invokeRestart [17:27:04.643] length <- base::length [17:27:04.643] list <- base::list [17:27:04.643] seq.int <- base::seq.int [17:27:04.643] signalCondition <- base::signalCondition [17:27:04.643] sys.calls <- base::sys.calls [17:27:04.643] `[[` <- base::`[[` [17:27:04.643] `+` <- base::`+` [17:27:04.643] `<<-` <- base::`<<-` [17:27:04.643] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.643] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.643] 3L)] [17:27:04.643] } [17:27:04.643] function(cond) { [17:27:04.643] is_error <- inherits(cond, "error") [17:27:04.643] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.643] NULL) [17:27:04.643] if (is_error) { [17:27:04.643] sessionInformation <- function() { [17:27:04.643] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.643] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.643] search = base::search(), system = base::Sys.info()) [17:27:04.643] } [17:27:04.643] ...future.conditions[[length(...future.conditions) + [17:27:04.643] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.643] cond$call), session = sessionInformation(), [17:27:04.643] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.643] signalCondition(cond) [17:27:04.643] } [17:27:04.643] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.643] "immediateCondition"))) { [17:27:04.643] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.643] ...future.conditions[[length(...future.conditions) + [17:27:04.643] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.643] if (TRUE && !signal) { [17:27:04.643] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.643] { [17:27:04.643] inherits <- base::inherits [17:27:04.643] invokeRestart <- base::invokeRestart [17:27:04.643] is.null <- base::is.null [17:27:04.643] muffled <- FALSE [17:27:04.643] if (inherits(cond, "message")) { [17:27:04.643] muffled <- grepl(pattern, "muffleMessage") [17:27:04.643] if (muffled) [17:27:04.643] invokeRestart("muffleMessage") [17:27:04.643] } [17:27:04.643] else if (inherits(cond, "warning")) { [17:27:04.643] muffled <- grepl(pattern, "muffleWarning") [17:27:04.643] if (muffled) [17:27:04.643] invokeRestart("muffleWarning") [17:27:04.643] } [17:27:04.643] else if (inherits(cond, "condition")) { [17:27:04.643] if (!is.null(pattern)) { [17:27:04.643] computeRestarts <- base::computeRestarts [17:27:04.643] grepl <- base::grepl [17:27:04.643] restarts <- computeRestarts(cond) [17:27:04.643] for (restart in restarts) { [17:27:04.643] name <- restart$name [17:27:04.643] if (is.null(name)) [17:27:04.643] next [17:27:04.643] if (!grepl(pattern, name)) [17:27:04.643] next [17:27:04.643] invokeRestart(restart) [17:27:04.643] muffled <- TRUE [17:27:04.643] break [17:27:04.643] } [17:27:04.643] } [17:27:04.643] } [17:27:04.643] invisible(muffled) [17:27:04.643] } [17:27:04.643] muffleCondition(cond, pattern = "^muffle") [17:27:04.643] } [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] if (TRUE) { [17:27:04.643] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.643] { [17:27:04.643] inherits <- base::inherits [17:27:04.643] invokeRestart <- base::invokeRestart [17:27:04.643] is.null <- base::is.null [17:27:04.643] muffled <- FALSE [17:27:04.643] if (inherits(cond, "message")) { [17:27:04.643] muffled <- grepl(pattern, "muffleMessage") [17:27:04.643] if (muffled) [17:27:04.643] invokeRestart("muffleMessage") [17:27:04.643] } [17:27:04.643] else if (inherits(cond, "warning")) { [17:27:04.643] muffled <- grepl(pattern, "muffleWarning") [17:27:04.643] if (muffled) [17:27:04.643] invokeRestart("muffleWarning") [17:27:04.643] } [17:27:04.643] else if (inherits(cond, "condition")) { [17:27:04.643] if (!is.null(pattern)) { [17:27:04.643] computeRestarts <- base::computeRestarts [17:27:04.643] grepl <- base::grepl [17:27:04.643] restarts <- computeRestarts(cond) [17:27:04.643] for (restart in restarts) { [17:27:04.643] name <- restart$name [17:27:04.643] if (is.null(name)) [17:27:04.643] next [17:27:04.643] if (!grepl(pattern, name)) [17:27:04.643] next [17:27:04.643] invokeRestart(restart) [17:27:04.643] muffled <- TRUE [17:27:04.643] break [17:27:04.643] } [17:27:04.643] } [17:27:04.643] } [17:27:04.643] invisible(muffled) [17:27:04.643] } [17:27:04.643] muffleCondition(cond, pattern = "^muffle") [17:27:04.643] } [17:27:04.643] } [17:27:04.643] } [17:27:04.643] })) [17:27:04.643] }, error = function(ex) { [17:27:04.643] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.643] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.643] ...future.rng), started = ...future.startTime, [17:27:04.643] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.643] version = "1.8"), class = "FutureResult") [17:27:04.643] }, finally = { [17:27:04.643] if (!identical(...future.workdir, getwd())) [17:27:04.643] setwd(...future.workdir) [17:27:04.643] { [17:27:04.643] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.643] ...future.oldOptions$nwarnings <- NULL [17:27:04.643] } [17:27:04.643] base::options(...future.oldOptions) [17:27:04.643] if (.Platform$OS.type == "windows") { [17:27:04.643] old_names <- names(...future.oldEnvVars) [17:27:04.643] envs <- base::Sys.getenv() [17:27:04.643] names <- names(envs) [17:27:04.643] common <- intersect(names, old_names) [17:27:04.643] added <- setdiff(names, old_names) [17:27:04.643] removed <- setdiff(old_names, names) [17:27:04.643] changed <- common[...future.oldEnvVars[common] != [17:27:04.643] envs[common]] [17:27:04.643] NAMES <- toupper(changed) [17:27:04.643] args <- list() [17:27:04.643] for (kk in seq_along(NAMES)) { [17:27:04.643] name <- changed[[kk]] [17:27:04.643] NAME <- NAMES[[kk]] [17:27:04.643] if (name != NAME && is.element(NAME, old_names)) [17:27:04.643] next [17:27:04.643] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.643] } [17:27:04.643] NAMES <- toupper(added) [17:27:04.643] for (kk in seq_along(NAMES)) { [17:27:04.643] name <- added[[kk]] [17:27:04.643] NAME <- NAMES[[kk]] [17:27:04.643] if (name != NAME && is.element(NAME, old_names)) [17:27:04.643] next [17:27:04.643] args[[name]] <- "" [17:27:04.643] } [17:27:04.643] NAMES <- toupper(removed) [17:27:04.643] for (kk in seq_along(NAMES)) { [17:27:04.643] name <- removed[[kk]] [17:27:04.643] NAME <- NAMES[[kk]] [17:27:04.643] if (name != NAME && is.element(NAME, old_names)) [17:27:04.643] next [17:27:04.643] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.643] } [17:27:04.643] if (length(args) > 0) [17:27:04.643] base::do.call(base::Sys.setenv, args = args) [17:27:04.643] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.643] } [17:27:04.643] { [17:27:04.643] if (base::length(...future.futureOptionsAdded) > [17:27:04.643] 0L) { [17:27:04.643] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.643] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.643] base::options(opts) [17:27:04.643] } [17:27:04.643] { [17:27:04.643] { [17:27:04.643] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.643] NULL [17:27:04.643] } [17:27:04.643] options(future.plan = NULL) [17:27:04.643] if (is.na(NA_character_)) [17:27:04.643] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.643] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.643] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.643] .init = FALSE) [17:27:04.643] } [17:27:04.643] } [17:27:04.643] } [17:27:04.643] }) [17:27:04.643] if (TRUE) { [17:27:04.643] base::sink(type = "output", split = FALSE) [17:27:04.643] if (TRUE) { [17:27:04.643] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.643] } [17:27:04.643] else { [17:27:04.643] ...future.result["stdout"] <- base::list(NULL) [17:27:04.643] } [17:27:04.643] base::close(...future.stdout) [17:27:04.643] ...future.stdout <- NULL [17:27:04.643] } [17:27:04.643] ...future.result$conditions <- ...future.conditions [17:27:04.643] ...future.result$finished <- base::Sys.time() [17:27:04.643] ...future.result [17:27:04.643] } [17:27:04.648] Exporting 1 global objects (56 bytes) to cluster node #1 ... [17:27:04.648] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:04.649] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:04.649] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [17:27:04.650] MultisessionFuture started [17:27:04.650] - Launch lazy future ... done [17:27:04.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:27:04.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:27:04.651] 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:27:04.653] - globals found: [4] '{', '<-', '*', 'ii' [17:27:04.653] Searching for globals ... DONE [17:27:04.653] Resolving globals: TRUE [17:27:04.653] Resolving any globals that are futures ... [17:27:04.654] - globals: [4] '{', '<-', '*', 'ii' [17:27:04.654] Resolving any globals that are futures ... DONE [17:27:04.654] Resolving futures part of globals (recursively) ... [17:27:04.654] resolve() on list ... [17:27:04.655] recursive: 99 [17:27:04.655] length: 1 [17:27:04.655] elements: 'ii' [17:27:04.655] length: 0 (resolved future 1) [17:27:04.655] resolve() on list ... DONE [17:27:04.655] - globals: [1] 'ii' [17:27:04.656] Resolving futures part of globals (recursively) ... DONE [17:27:04.656] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:04.656] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:04.657] - globals: [1] 'ii' [17:27:04.657] [17:27:04.657] getGlobalsAndPackages() ... DONE [17:27:04.657] run() for 'Future' ... [17:27:04.657] - state: 'created' [17:27:04.658] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.671] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.671] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.671] - Field: 'node' [17:27:04.672] - Field: 'label' [17:27:04.672] - Field: 'local' [17:27:04.672] - Field: 'owner' [17:27:04.672] - Field: 'envir' [17:27:04.672] - Field: 'workers' [17:27:04.673] - Field: 'packages' [17:27:04.673] - Field: 'gc' [17:27:04.673] - Field: 'conditions' [17:27:04.673] - Field: 'persistent' [17:27:04.673] - Field: 'expr' [17:27:04.673] - Field: 'uuid' [17:27:04.674] - Field: 'seed' [17:27:04.674] - Field: 'version' [17:27:04.674] - Field: 'result' [17:27:04.674] - Field: 'asynchronous' [17:27:04.674] - Field: 'calls' [17:27:04.674] - Field: 'globals' [17:27:04.675] - Field: 'stdout' [17:27:04.675] - Field: 'earlySignal' [17:27:04.675] - Field: 'lazy' [17:27:04.675] - Field: 'state' [17:27:04.675] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.676] - Launch lazy future ... [17:27:04.676] Packages needed by the future expression (n = 0): [17:27:04.676] Packages needed by future strategies (n = 0): [17:27:04.677] { [17:27:04.677] { [17:27:04.677] { [17:27:04.677] ...future.startTime <- base::Sys.time() [17:27:04.677] { [17:27:04.677] { [17:27:04.677] { [17:27:04.677] { [17:27:04.677] base::local({ [17:27:04.677] has_future <- base::requireNamespace("future", [17:27:04.677] quietly = TRUE) [17:27:04.677] if (has_future) { [17:27:04.677] ns <- base::getNamespace("future") [17:27:04.677] version <- ns[[".package"]][["version"]] [17:27:04.677] if (is.null(version)) [17:27:04.677] version <- utils::packageVersion("future") [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] version <- NULL [17:27:04.677] } [17:27:04.677] if (!has_future || version < "1.8.0") { [17:27:04.677] info <- base::c(r_version = base::gsub("R version ", [17:27:04.677] "", base::R.version$version.string), [17:27:04.677] platform = base::sprintf("%s (%s-bit)", [17:27:04.677] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.677] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.677] "release", "version")], collapse = " "), [17:27:04.677] hostname = base::Sys.info()[["nodename"]]) [17:27:04.677] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.677] info) [17:27:04.677] info <- base::paste(info, collapse = "; ") [17:27:04.677] if (!has_future) { [17:27:04.677] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.677] info) [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.677] info, version) [17:27:04.677] } [17:27:04.677] base::stop(msg) [17:27:04.677] } [17:27:04.677] }) [17:27:04.677] } [17:27:04.677] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.677] base::options(mc.cores = 1L) [17:27:04.677] } [17:27:04.677] ...future.strategy.old <- future::plan("list") [17:27:04.677] options(future.plan = NULL) [17:27:04.677] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.677] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.677] } [17:27:04.677] ...future.workdir <- getwd() [17:27:04.677] } [17:27:04.677] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.677] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.677] } [17:27:04.677] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.677] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.677] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.677] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.677] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.677] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.677] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.677] base::names(...future.oldOptions)) [17:27:04.677] } [17:27:04.677] if (FALSE) { [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] if (TRUE) { [17:27:04.677] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.677] open = "w") [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.677] windows = "NUL", "/dev/null"), open = "w") [17:27:04.677] } [17:27:04.677] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.677] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.677] base::sink(type = "output", split = FALSE) [17:27:04.677] base::close(...future.stdout) [17:27:04.677] }, add = TRUE) [17:27:04.677] } [17:27:04.677] ...future.frame <- base::sys.nframe() [17:27:04.677] ...future.conditions <- base::list() [17:27:04.677] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.677] if (FALSE) { [17:27:04.677] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.677] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.677] } [17:27:04.677] ...future.result <- base::tryCatch({ [17:27:04.677] base::withCallingHandlers({ [17:27:04.677] ...future.value <- base::withVisible(base::local({ [17:27:04.677] ...future.makeSendCondition <- base::local({ [17:27:04.677] sendCondition <- NULL [17:27:04.677] function(frame = 1L) { [17:27:04.677] if (is.function(sendCondition)) [17:27:04.677] return(sendCondition) [17:27:04.677] ns <- getNamespace("parallel") [17:27:04.677] if (exists("sendData", mode = "function", [17:27:04.677] envir = ns)) { [17:27:04.677] parallel_sendData <- get("sendData", mode = "function", [17:27:04.677] envir = ns) [17:27:04.677] envir <- sys.frame(frame) [17:27:04.677] master <- NULL [17:27:04.677] while (!identical(envir, .GlobalEnv) && [17:27:04.677] !identical(envir, emptyenv())) { [17:27:04.677] if (exists("master", mode = "list", envir = envir, [17:27:04.677] inherits = FALSE)) { [17:27:04.677] master <- get("master", mode = "list", [17:27:04.677] envir = envir, inherits = FALSE) [17:27:04.677] if (inherits(master, c("SOCKnode", [17:27:04.677] "SOCK0node"))) { [17:27:04.677] sendCondition <<- function(cond) { [17:27:04.677] data <- list(type = "VALUE", value = cond, [17:27:04.677] success = TRUE) [17:27:04.677] parallel_sendData(master, data) [17:27:04.677] } [17:27:04.677] return(sendCondition) [17:27:04.677] } [17:27:04.677] } [17:27:04.677] frame <- frame + 1L [17:27:04.677] envir <- sys.frame(frame) [17:27:04.677] } [17:27:04.677] } [17:27:04.677] sendCondition <<- function(cond) NULL [17:27:04.677] } [17:27:04.677] }) [17:27:04.677] withCallingHandlers({ [17:27:04.677] { [17:27:04.677] b <- a * ii [17:27:04.677] a <- 0 [17:27:04.677] b [17:27:04.677] } [17:27:04.677] }, immediateCondition = function(cond) { [17:27:04.677] sendCondition <- ...future.makeSendCondition() [17:27:04.677] sendCondition(cond) [17:27:04.677] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.677] { [17:27:04.677] inherits <- base::inherits [17:27:04.677] invokeRestart <- base::invokeRestart [17:27:04.677] is.null <- base::is.null [17:27:04.677] muffled <- FALSE [17:27:04.677] if (inherits(cond, "message")) { [17:27:04.677] muffled <- grepl(pattern, "muffleMessage") [17:27:04.677] if (muffled) [17:27:04.677] invokeRestart("muffleMessage") [17:27:04.677] } [17:27:04.677] else if (inherits(cond, "warning")) { [17:27:04.677] muffled <- grepl(pattern, "muffleWarning") [17:27:04.677] if (muffled) [17:27:04.677] invokeRestart("muffleWarning") [17:27:04.677] } [17:27:04.677] else if (inherits(cond, "condition")) { [17:27:04.677] if (!is.null(pattern)) { [17:27:04.677] computeRestarts <- base::computeRestarts [17:27:04.677] grepl <- base::grepl [17:27:04.677] restarts <- computeRestarts(cond) [17:27:04.677] for (restart in restarts) { [17:27:04.677] name <- restart$name [17:27:04.677] if (is.null(name)) [17:27:04.677] next [17:27:04.677] if (!grepl(pattern, name)) [17:27:04.677] next [17:27:04.677] invokeRestart(restart) [17:27:04.677] muffled <- TRUE [17:27:04.677] break [17:27:04.677] } [17:27:04.677] } [17:27:04.677] } [17:27:04.677] invisible(muffled) [17:27:04.677] } [17:27:04.677] muffleCondition(cond) [17:27:04.677] }) [17:27:04.677] })) [17:27:04.677] future::FutureResult(value = ...future.value$value, [17:27:04.677] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.677] ...future.rng), globalenv = if (FALSE) [17:27:04.677] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.677] ...future.globalenv.names)) [17:27:04.677] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.677] }, condition = base::local({ [17:27:04.677] c <- base::c [17:27:04.677] inherits <- base::inherits [17:27:04.677] invokeRestart <- base::invokeRestart [17:27:04.677] length <- base::length [17:27:04.677] list <- base::list [17:27:04.677] seq.int <- base::seq.int [17:27:04.677] signalCondition <- base::signalCondition [17:27:04.677] sys.calls <- base::sys.calls [17:27:04.677] `[[` <- base::`[[` [17:27:04.677] `+` <- base::`+` [17:27:04.677] `<<-` <- base::`<<-` [17:27:04.677] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.677] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.677] 3L)] [17:27:04.677] } [17:27:04.677] function(cond) { [17:27:04.677] is_error <- inherits(cond, "error") [17:27:04.677] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.677] NULL) [17:27:04.677] if (is_error) { [17:27:04.677] sessionInformation <- function() { [17:27:04.677] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.677] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.677] search = base::search(), system = base::Sys.info()) [17:27:04.677] } [17:27:04.677] ...future.conditions[[length(...future.conditions) + [17:27:04.677] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.677] cond$call), session = sessionInformation(), [17:27:04.677] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.677] signalCondition(cond) [17:27:04.677] } [17:27:04.677] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.677] "immediateCondition"))) { [17:27:04.677] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.677] ...future.conditions[[length(...future.conditions) + [17:27:04.677] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.677] if (TRUE && !signal) { [17:27:04.677] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.677] { [17:27:04.677] inherits <- base::inherits [17:27:04.677] invokeRestart <- base::invokeRestart [17:27:04.677] is.null <- base::is.null [17:27:04.677] muffled <- FALSE [17:27:04.677] if (inherits(cond, "message")) { [17:27:04.677] muffled <- grepl(pattern, "muffleMessage") [17:27:04.677] if (muffled) [17:27:04.677] invokeRestart("muffleMessage") [17:27:04.677] } [17:27:04.677] else if (inherits(cond, "warning")) { [17:27:04.677] muffled <- grepl(pattern, "muffleWarning") [17:27:04.677] if (muffled) [17:27:04.677] invokeRestart("muffleWarning") [17:27:04.677] } [17:27:04.677] else if (inherits(cond, "condition")) { [17:27:04.677] if (!is.null(pattern)) { [17:27:04.677] computeRestarts <- base::computeRestarts [17:27:04.677] grepl <- base::grepl [17:27:04.677] restarts <- computeRestarts(cond) [17:27:04.677] for (restart in restarts) { [17:27:04.677] name <- restart$name [17:27:04.677] if (is.null(name)) [17:27:04.677] next [17:27:04.677] if (!grepl(pattern, name)) [17:27:04.677] next [17:27:04.677] invokeRestart(restart) [17:27:04.677] muffled <- TRUE [17:27:04.677] break [17:27:04.677] } [17:27:04.677] } [17:27:04.677] } [17:27:04.677] invisible(muffled) [17:27:04.677] } [17:27:04.677] muffleCondition(cond, pattern = "^muffle") [17:27:04.677] } [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] if (TRUE) { [17:27:04.677] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.677] { [17:27:04.677] inherits <- base::inherits [17:27:04.677] invokeRestart <- base::invokeRestart [17:27:04.677] is.null <- base::is.null [17:27:04.677] muffled <- FALSE [17:27:04.677] if (inherits(cond, "message")) { [17:27:04.677] muffled <- grepl(pattern, "muffleMessage") [17:27:04.677] if (muffled) [17:27:04.677] invokeRestart("muffleMessage") [17:27:04.677] } [17:27:04.677] else if (inherits(cond, "warning")) { [17:27:04.677] muffled <- grepl(pattern, "muffleWarning") [17:27:04.677] if (muffled) [17:27:04.677] invokeRestart("muffleWarning") [17:27:04.677] } [17:27:04.677] else if (inherits(cond, "condition")) { [17:27:04.677] if (!is.null(pattern)) { [17:27:04.677] computeRestarts <- base::computeRestarts [17:27:04.677] grepl <- base::grepl [17:27:04.677] restarts <- computeRestarts(cond) [17:27:04.677] for (restart in restarts) { [17:27:04.677] name <- restart$name [17:27:04.677] if (is.null(name)) [17:27:04.677] next [17:27:04.677] if (!grepl(pattern, name)) [17:27:04.677] next [17:27:04.677] invokeRestart(restart) [17:27:04.677] muffled <- TRUE [17:27:04.677] break [17:27:04.677] } [17:27:04.677] } [17:27:04.677] } [17:27:04.677] invisible(muffled) [17:27:04.677] } [17:27:04.677] muffleCondition(cond, pattern = "^muffle") [17:27:04.677] } [17:27:04.677] } [17:27:04.677] } [17:27:04.677] })) [17:27:04.677] }, error = function(ex) { [17:27:04.677] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.677] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.677] ...future.rng), started = ...future.startTime, [17:27:04.677] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.677] version = "1.8"), class = "FutureResult") [17:27:04.677] }, finally = { [17:27:04.677] if (!identical(...future.workdir, getwd())) [17:27:04.677] setwd(...future.workdir) [17:27:04.677] { [17:27:04.677] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.677] ...future.oldOptions$nwarnings <- NULL [17:27:04.677] } [17:27:04.677] base::options(...future.oldOptions) [17:27:04.677] if (.Platform$OS.type == "windows") { [17:27:04.677] old_names <- names(...future.oldEnvVars) [17:27:04.677] envs <- base::Sys.getenv() [17:27:04.677] names <- names(envs) [17:27:04.677] common <- intersect(names, old_names) [17:27:04.677] added <- setdiff(names, old_names) [17:27:04.677] removed <- setdiff(old_names, names) [17:27:04.677] changed <- common[...future.oldEnvVars[common] != [17:27:04.677] envs[common]] [17:27:04.677] NAMES <- toupper(changed) [17:27:04.677] args <- list() [17:27:04.677] for (kk in seq_along(NAMES)) { [17:27:04.677] name <- changed[[kk]] [17:27:04.677] NAME <- NAMES[[kk]] [17:27:04.677] if (name != NAME && is.element(NAME, old_names)) [17:27:04.677] next [17:27:04.677] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.677] } [17:27:04.677] NAMES <- toupper(added) [17:27:04.677] for (kk in seq_along(NAMES)) { [17:27:04.677] name <- added[[kk]] [17:27:04.677] NAME <- NAMES[[kk]] [17:27:04.677] if (name != NAME && is.element(NAME, old_names)) [17:27:04.677] next [17:27:04.677] args[[name]] <- "" [17:27:04.677] } [17:27:04.677] NAMES <- toupper(removed) [17:27:04.677] for (kk in seq_along(NAMES)) { [17:27:04.677] name <- removed[[kk]] [17:27:04.677] NAME <- NAMES[[kk]] [17:27:04.677] if (name != NAME && is.element(NAME, old_names)) [17:27:04.677] next [17:27:04.677] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.677] } [17:27:04.677] if (length(args) > 0) [17:27:04.677] base::do.call(base::Sys.setenv, args = args) [17:27:04.677] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.677] } [17:27:04.677] { [17:27:04.677] if (base::length(...future.futureOptionsAdded) > [17:27:04.677] 0L) { [17:27:04.677] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.677] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.677] base::options(opts) [17:27:04.677] } [17:27:04.677] { [17:27:04.677] { [17:27:04.677] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.677] NULL [17:27:04.677] } [17:27:04.677] options(future.plan = NULL) [17:27:04.677] if (is.na(NA_character_)) [17:27:04.677] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.677] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.677] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.677] .init = FALSE) [17:27:04.677] } [17:27:04.677] } [17:27:04.677] } [17:27:04.677] }) [17:27:04.677] if (TRUE) { [17:27:04.677] base::sink(type = "output", split = FALSE) [17:27:04.677] if (TRUE) { [17:27:04.677] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.677] } [17:27:04.677] else { [17:27:04.677] ...future.result["stdout"] <- base::list(NULL) [17:27:04.677] } [17:27:04.677] base::close(...future.stdout) [17:27:04.677] ...future.stdout <- NULL [17:27:04.677] } [17:27:04.677] ...future.result$conditions <- ...future.conditions [17:27:04.677] ...future.result$finished <- base::Sys.time() [17:27:04.677] ...future.result [17:27:04.677] } [17:27:04.759] Exporting 1 global objects (56 bytes) to cluster node #2 ... [17:27:04.759] Exporting 'ii' (56 bytes) to cluster node #2 ... [17:27:04.759] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [17:27:04.760] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [17:27:04.760] MultisessionFuture started [17:27:04.760] - Launch lazy future ... done [17:27:04.761] 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:27:04.761] 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:27:04.762] 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:27:04.763] - globals found: [4] '{', '<-', '*', 'ii' [17:27:04.764] Searching for globals ... DONE [17:27:04.764] Resolving globals: TRUE [17:27:04.764] Resolving any globals that are futures ... [17:27:04.764] - globals: [4] '{', '<-', '*', 'ii' [17:27:04.764] Resolving any globals that are futures ... DONE [17:27:04.765] Resolving futures part of globals (recursively) ... [17:27:04.765] resolve() on list ... [17:27:04.765] recursive: 99 [17:27:04.765] length: 1 [17:27:04.765] elements: 'ii' [17:27:04.766] length: 0 (resolved future 1) [17:27:04.766] resolve() on list ... DONE [17:27:04.766] - globals: [1] 'ii' [17:27:04.766] Resolving futures part of globals (recursively) ... DONE [17:27:04.766] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:04.767] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:04.767] - globals: [1] 'ii' [17:27:04.767] [17:27:04.767] getGlobalsAndPackages() ... DONE [17:27:04.768] run() for 'Future' ... [17:27:04.768] - state: 'created' [17:27:04.768] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.782] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.782] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.782] - Field: 'node' [17:27:04.782] - Field: 'label' [17:27:04.783] - Field: 'local' [17:27:04.783] - Field: 'owner' [17:27:04.783] - Field: 'envir' [17:27:04.783] - Field: 'workers' [17:27:04.783] - Field: 'packages' [17:27:04.783] - Field: 'gc' [17:27:04.784] - Field: 'conditions' [17:27:04.784] - Field: 'persistent' [17:27:04.784] - Field: 'expr' [17:27:04.784] - Field: 'uuid' [17:27:04.784] - Field: 'seed' [17:27:04.784] - Field: 'version' [17:27:04.785] - Field: 'result' [17:27:04.785] - Field: 'asynchronous' [17:27:04.785] - Field: 'calls' [17:27:04.785] - Field: 'globals' [17:27:04.786] - Field: 'stdout' [17:27:04.786] - Field: 'earlySignal' [17:27:04.786] - Field: 'lazy' [17:27:04.786] - Field: 'state' [17:27:04.786] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.786] - Launch lazy future ... [17:27:04.787] Packages needed by the future expression (n = 0): [17:27:04.787] Packages needed by future strategies (n = 0): [17:27:04.787] { [17:27:04.787] { [17:27:04.787] { [17:27:04.787] ...future.startTime <- base::Sys.time() [17:27:04.787] { [17:27:04.787] { [17:27:04.787] { [17:27:04.787] { [17:27:04.787] base::local({ [17:27:04.787] has_future <- base::requireNamespace("future", [17:27:04.787] quietly = TRUE) [17:27:04.787] if (has_future) { [17:27:04.787] ns <- base::getNamespace("future") [17:27:04.787] version <- ns[[".package"]][["version"]] [17:27:04.787] if (is.null(version)) [17:27:04.787] version <- utils::packageVersion("future") [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] version <- NULL [17:27:04.787] } [17:27:04.787] if (!has_future || version < "1.8.0") { [17:27:04.787] info <- base::c(r_version = base::gsub("R version ", [17:27:04.787] "", base::R.version$version.string), [17:27:04.787] platform = base::sprintf("%s (%s-bit)", [17:27:04.787] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.787] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.787] "release", "version")], collapse = " "), [17:27:04.787] hostname = base::Sys.info()[["nodename"]]) [17:27:04.787] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.787] info) [17:27:04.787] info <- base::paste(info, collapse = "; ") [17:27:04.787] if (!has_future) { [17:27:04.787] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.787] info) [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.787] info, version) [17:27:04.787] } [17:27:04.787] base::stop(msg) [17:27:04.787] } [17:27:04.787] }) [17:27:04.787] } [17:27:04.787] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.787] base::options(mc.cores = 1L) [17:27:04.787] } [17:27:04.787] ...future.strategy.old <- future::plan("list") [17:27:04.787] options(future.plan = NULL) [17:27:04.787] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.787] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.787] } [17:27:04.787] ...future.workdir <- getwd() [17:27:04.787] } [17:27:04.787] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.787] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.787] } [17:27:04.787] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.787] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.787] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.787] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.787] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.787] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.787] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.787] base::names(...future.oldOptions)) [17:27:04.787] } [17:27:04.787] if (FALSE) { [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] if (TRUE) { [17:27:04.787] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.787] open = "w") [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.787] windows = "NUL", "/dev/null"), open = "w") [17:27:04.787] } [17:27:04.787] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.787] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.787] base::sink(type = "output", split = FALSE) [17:27:04.787] base::close(...future.stdout) [17:27:04.787] }, add = TRUE) [17:27:04.787] } [17:27:04.787] ...future.frame <- base::sys.nframe() [17:27:04.787] ...future.conditions <- base::list() [17:27:04.787] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.787] if (FALSE) { [17:27:04.787] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.787] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.787] } [17:27:04.787] ...future.result <- base::tryCatch({ [17:27:04.787] base::withCallingHandlers({ [17:27:04.787] ...future.value <- base::withVisible(base::local({ [17:27:04.787] ...future.makeSendCondition <- base::local({ [17:27:04.787] sendCondition <- NULL [17:27:04.787] function(frame = 1L) { [17:27:04.787] if (is.function(sendCondition)) [17:27:04.787] return(sendCondition) [17:27:04.787] ns <- getNamespace("parallel") [17:27:04.787] if (exists("sendData", mode = "function", [17:27:04.787] envir = ns)) { [17:27:04.787] parallel_sendData <- get("sendData", mode = "function", [17:27:04.787] envir = ns) [17:27:04.787] envir <- sys.frame(frame) [17:27:04.787] master <- NULL [17:27:04.787] while (!identical(envir, .GlobalEnv) && [17:27:04.787] !identical(envir, emptyenv())) { [17:27:04.787] if (exists("master", mode = "list", envir = envir, [17:27:04.787] inherits = FALSE)) { [17:27:04.787] master <- get("master", mode = "list", [17:27:04.787] envir = envir, inherits = FALSE) [17:27:04.787] if (inherits(master, c("SOCKnode", [17:27:04.787] "SOCK0node"))) { [17:27:04.787] sendCondition <<- function(cond) { [17:27:04.787] data <- list(type = "VALUE", value = cond, [17:27:04.787] success = TRUE) [17:27:04.787] parallel_sendData(master, data) [17:27:04.787] } [17:27:04.787] return(sendCondition) [17:27:04.787] } [17:27:04.787] } [17:27:04.787] frame <- frame + 1L [17:27:04.787] envir <- sys.frame(frame) [17:27:04.787] } [17:27:04.787] } [17:27:04.787] sendCondition <<- function(cond) NULL [17:27:04.787] } [17:27:04.787] }) [17:27:04.787] withCallingHandlers({ [17:27:04.787] { [17:27:04.787] b <- a * ii [17:27:04.787] a <- 0 [17:27:04.787] b [17:27:04.787] } [17:27:04.787] }, immediateCondition = function(cond) { [17:27:04.787] sendCondition <- ...future.makeSendCondition() [17:27:04.787] sendCondition(cond) [17:27:04.787] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.787] { [17:27:04.787] inherits <- base::inherits [17:27:04.787] invokeRestart <- base::invokeRestart [17:27:04.787] is.null <- base::is.null [17:27:04.787] muffled <- FALSE [17:27:04.787] if (inherits(cond, "message")) { [17:27:04.787] muffled <- grepl(pattern, "muffleMessage") [17:27:04.787] if (muffled) [17:27:04.787] invokeRestart("muffleMessage") [17:27:04.787] } [17:27:04.787] else if (inherits(cond, "warning")) { [17:27:04.787] muffled <- grepl(pattern, "muffleWarning") [17:27:04.787] if (muffled) [17:27:04.787] invokeRestart("muffleWarning") [17:27:04.787] } [17:27:04.787] else if (inherits(cond, "condition")) { [17:27:04.787] if (!is.null(pattern)) { [17:27:04.787] computeRestarts <- base::computeRestarts [17:27:04.787] grepl <- base::grepl [17:27:04.787] restarts <- computeRestarts(cond) [17:27:04.787] for (restart in restarts) { [17:27:04.787] name <- restart$name [17:27:04.787] if (is.null(name)) [17:27:04.787] next [17:27:04.787] if (!grepl(pattern, name)) [17:27:04.787] next [17:27:04.787] invokeRestart(restart) [17:27:04.787] muffled <- TRUE [17:27:04.787] break [17:27:04.787] } [17:27:04.787] } [17:27:04.787] } [17:27:04.787] invisible(muffled) [17:27:04.787] } [17:27:04.787] muffleCondition(cond) [17:27:04.787] }) [17:27:04.787] })) [17:27:04.787] future::FutureResult(value = ...future.value$value, [17:27:04.787] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.787] ...future.rng), globalenv = if (FALSE) [17:27:04.787] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.787] ...future.globalenv.names)) [17:27:04.787] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.787] }, condition = base::local({ [17:27:04.787] c <- base::c [17:27:04.787] inherits <- base::inherits [17:27:04.787] invokeRestart <- base::invokeRestart [17:27:04.787] length <- base::length [17:27:04.787] list <- base::list [17:27:04.787] seq.int <- base::seq.int [17:27:04.787] signalCondition <- base::signalCondition [17:27:04.787] sys.calls <- base::sys.calls [17:27:04.787] `[[` <- base::`[[` [17:27:04.787] `+` <- base::`+` [17:27:04.787] `<<-` <- base::`<<-` [17:27:04.787] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.787] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.787] 3L)] [17:27:04.787] } [17:27:04.787] function(cond) { [17:27:04.787] is_error <- inherits(cond, "error") [17:27:04.787] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.787] NULL) [17:27:04.787] if (is_error) { [17:27:04.787] sessionInformation <- function() { [17:27:04.787] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.787] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.787] search = base::search(), system = base::Sys.info()) [17:27:04.787] } [17:27:04.787] ...future.conditions[[length(...future.conditions) + [17:27:04.787] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.787] cond$call), session = sessionInformation(), [17:27:04.787] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.787] signalCondition(cond) [17:27:04.787] } [17:27:04.787] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.787] "immediateCondition"))) { [17:27:04.787] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.787] ...future.conditions[[length(...future.conditions) + [17:27:04.787] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.787] if (TRUE && !signal) { [17:27:04.787] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.787] { [17:27:04.787] inherits <- base::inherits [17:27:04.787] invokeRestart <- base::invokeRestart [17:27:04.787] is.null <- base::is.null [17:27:04.787] muffled <- FALSE [17:27:04.787] if (inherits(cond, "message")) { [17:27:04.787] muffled <- grepl(pattern, "muffleMessage") [17:27:04.787] if (muffled) [17:27:04.787] invokeRestart("muffleMessage") [17:27:04.787] } [17:27:04.787] else if (inherits(cond, "warning")) { [17:27:04.787] muffled <- grepl(pattern, "muffleWarning") [17:27:04.787] if (muffled) [17:27:04.787] invokeRestart("muffleWarning") [17:27:04.787] } [17:27:04.787] else if (inherits(cond, "condition")) { [17:27:04.787] if (!is.null(pattern)) { [17:27:04.787] computeRestarts <- base::computeRestarts [17:27:04.787] grepl <- base::grepl [17:27:04.787] restarts <- computeRestarts(cond) [17:27:04.787] for (restart in restarts) { [17:27:04.787] name <- restart$name [17:27:04.787] if (is.null(name)) [17:27:04.787] next [17:27:04.787] if (!grepl(pattern, name)) [17:27:04.787] next [17:27:04.787] invokeRestart(restart) [17:27:04.787] muffled <- TRUE [17:27:04.787] break [17:27:04.787] } [17:27:04.787] } [17:27:04.787] } [17:27:04.787] invisible(muffled) [17:27:04.787] } [17:27:04.787] muffleCondition(cond, pattern = "^muffle") [17:27:04.787] } [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] if (TRUE) { [17:27:04.787] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.787] { [17:27:04.787] inherits <- base::inherits [17:27:04.787] invokeRestart <- base::invokeRestart [17:27:04.787] is.null <- base::is.null [17:27:04.787] muffled <- FALSE [17:27:04.787] if (inherits(cond, "message")) { [17:27:04.787] muffled <- grepl(pattern, "muffleMessage") [17:27:04.787] if (muffled) [17:27:04.787] invokeRestart("muffleMessage") [17:27:04.787] } [17:27:04.787] else if (inherits(cond, "warning")) { [17:27:04.787] muffled <- grepl(pattern, "muffleWarning") [17:27:04.787] if (muffled) [17:27:04.787] invokeRestart("muffleWarning") [17:27:04.787] } [17:27:04.787] else if (inherits(cond, "condition")) { [17:27:04.787] if (!is.null(pattern)) { [17:27:04.787] computeRestarts <- base::computeRestarts [17:27:04.787] grepl <- base::grepl [17:27:04.787] restarts <- computeRestarts(cond) [17:27:04.787] for (restart in restarts) { [17:27:04.787] name <- restart$name [17:27:04.787] if (is.null(name)) [17:27:04.787] next [17:27:04.787] if (!grepl(pattern, name)) [17:27:04.787] next [17:27:04.787] invokeRestart(restart) [17:27:04.787] muffled <- TRUE [17:27:04.787] break [17:27:04.787] } [17:27:04.787] } [17:27:04.787] } [17:27:04.787] invisible(muffled) [17:27:04.787] } [17:27:04.787] muffleCondition(cond, pattern = "^muffle") [17:27:04.787] } [17:27:04.787] } [17:27:04.787] } [17:27:04.787] })) [17:27:04.787] }, error = function(ex) { [17:27:04.787] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.787] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.787] ...future.rng), started = ...future.startTime, [17:27:04.787] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.787] version = "1.8"), class = "FutureResult") [17:27:04.787] }, finally = { [17:27:04.787] if (!identical(...future.workdir, getwd())) [17:27:04.787] setwd(...future.workdir) [17:27:04.787] { [17:27:04.787] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.787] ...future.oldOptions$nwarnings <- NULL [17:27:04.787] } [17:27:04.787] base::options(...future.oldOptions) [17:27:04.787] if (.Platform$OS.type == "windows") { [17:27:04.787] old_names <- names(...future.oldEnvVars) [17:27:04.787] envs <- base::Sys.getenv() [17:27:04.787] names <- names(envs) [17:27:04.787] common <- intersect(names, old_names) [17:27:04.787] added <- setdiff(names, old_names) [17:27:04.787] removed <- setdiff(old_names, names) [17:27:04.787] changed <- common[...future.oldEnvVars[common] != [17:27:04.787] envs[common]] [17:27:04.787] NAMES <- toupper(changed) [17:27:04.787] args <- list() [17:27:04.787] for (kk in seq_along(NAMES)) { [17:27:04.787] name <- changed[[kk]] [17:27:04.787] NAME <- NAMES[[kk]] [17:27:04.787] if (name != NAME && is.element(NAME, old_names)) [17:27:04.787] next [17:27:04.787] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.787] } [17:27:04.787] NAMES <- toupper(added) [17:27:04.787] for (kk in seq_along(NAMES)) { [17:27:04.787] name <- added[[kk]] [17:27:04.787] NAME <- NAMES[[kk]] [17:27:04.787] if (name != NAME && is.element(NAME, old_names)) [17:27:04.787] next [17:27:04.787] args[[name]] <- "" [17:27:04.787] } [17:27:04.787] NAMES <- toupper(removed) [17:27:04.787] for (kk in seq_along(NAMES)) { [17:27:04.787] name <- removed[[kk]] [17:27:04.787] NAME <- NAMES[[kk]] [17:27:04.787] if (name != NAME && is.element(NAME, old_names)) [17:27:04.787] next [17:27:04.787] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.787] } [17:27:04.787] if (length(args) > 0) [17:27:04.787] base::do.call(base::Sys.setenv, args = args) [17:27:04.787] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.787] } [17:27:04.787] { [17:27:04.787] if (base::length(...future.futureOptionsAdded) > [17:27:04.787] 0L) { [17:27:04.787] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.787] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.787] base::options(opts) [17:27:04.787] } [17:27:04.787] { [17:27:04.787] { [17:27:04.787] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.787] NULL [17:27:04.787] } [17:27:04.787] options(future.plan = NULL) [17:27:04.787] if (is.na(NA_character_)) [17:27:04.787] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.787] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.787] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.787] .init = FALSE) [17:27:04.787] } [17:27:04.787] } [17:27:04.787] } [17:27:04.787] }) [17:27:04.787] if (TRUE) { [17:27:04.787] base::sink(type = "output", split = FALSE) [17:27:04.787] if (TRUE) { [17:27:04.787] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.787] } [17:27:04.787] else { [17:27:04.787] ...future.result["stdout"] <- base::list(NULL) [17:27:04.787] } [17:27:04.787] base::close(...future.stdout) [17:27:04.787] ...future.stdout <- NULL [17:27:04.787] } [17:27:04.787] ...future.result$conditions <- ...future.conditions [17:27:04.787] ...future.result$finished <- base::Sys.time() [17:27:04.787] ...future.result [17:27:04.787] } [17:27:04.792] Poll #1 (0): usedNodes() = 2, workers = 2 [17:27:04.816] receiveMessageFromWorker() for ClusterFuture ... [17:27:04.817] - Validating connection of MultisessionFuture [17:27:04.817] - received message: FutureResult [17:27:04.817] - Received FutureResult [17:27:04.818] - Erased future from FutureRegistry [17:27:04.818] result() for ClusterFuture ... [17:27:04.818] - result already collected: FutureResult [17:27:04.818] result() for ClusterFuture ... done [17:27:04.818] signalConditions() ... [17:27:04.818] - include = 'immediateCondition' [17:27:04.819] - exclude = [17:27:04.819] - resignal = FALSE [17:27:04.819] - Number of conditions: 1 [17:27:04.819] signalConditions() ... done [17:27:04.819] receiveMessageFromWorker() for ClusterFuture ... done [17:27:04.820] result() for ClusterFuture ... [17:27:04.820] - result already collected: FutureResult [17:27:04.820] result() for ClusterFuture ... done [17:27:04.820] result() for ClusterFuture ... [17:27:04.820] - result already collected: FutureResult [17:27:04.820] result() for ClusterFuture ... done [17:27:04.820] signalConditions() ... [17:27:04.821] - include = 'immediateCondition' [17:27:04.821] - exclude = [17:27:04.821] - resignal = FALSE [17:27:04.821] - Number of conditions: 1 [17:27:04.821] signalConditions() ... done [17:27:04.822] Exporting 1 global objects (56 bytes) to cluster node #1 ... [17:27:04.822] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:04.823] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:04.823] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [17:27:04.824] MultisessionFuture started [17:27:04.824] - Launch lazy future ... done [17:27:04.824] run() for 'MultisessionFuture' ... done [17:27:04.824] result() for ClusterFuture ... [17:27:04.824] - result already collected: FutureResult [17:27:04.824] result() for ClusterFuture ... done [17:27:04.825] result() for ClusterFuture ... [17:27:04.825] - result already collected: FutureResult [17:27:04.825] result() for ClusterFuture ... done [17:27:04.825] signalConditions() ... [17:27:04.825] - include = 'immediateCondition' [17:27:04.825] - exclude = [17:27:04.826] - resignal = FALSE [17:27:04.826] - Number of conditions: 1 [17:27:04.826] signalConditions() ... done [17:27:04.826] Future state: 'finished' [17:27:04.826] result() for ClusterFuture ... [17:27:04.826] - result already collected: FutureResult [17:27:04.827] result() for ClusterFuture ... done [17:27:04.827] signalConditions() ... [17:27:04.827] - include = 'condition' [17:27:04.827] - exclude = 'immediateCondition' [17:27:04.827] - resignal = TRUE [17:27:04.827] - Number of conditions: 1 [17:27:04.828] - Condition #1: 'simpleError', 'error', 'condition' [17:27:04.828] 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 "4.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "03" .. .. .. .. ..$ day : chr "25" .. .. .. .. ..$ svn rev : chr "86192" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-03-25 r86192 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-03-26 17:27:04" .. .. ..$ 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:27:04.848] 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:27:04.848] 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:27:04.850] - globals found: [4] '{', '<-', '*', 'ii' [17:27:04.850] Searching for globals ... DONE [17:27:04.850] Resolving globals: TRUE [17:27:04.850] Resolving any globals that are futures ... [17:27:04.850] - globals: [4] '{', '<-', '*', 'ii' [17:27:04.851] Resolving any globals that are futures ... DONE [17:27:04.851] Resolving futures part of globals (recursively) ... [17:27:04.851] resolve() on list ... [17:27:04.852] recursive: 99 [17:27:04.852] length: 1 [17:27:04.852] elements: 'ii' [17:27:04.852] length: 0 (resolved future 1) [17:27:04.852] resolve() on list ... DONE [17:27:04.852] - globals: [1] 'ii' [17:27:04.853] Resolving futures part of globals (recursively) ... DONE [17:27:04.853] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:04.853] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:04.853] - globals: [1] 'ii' [17:27:04.854] [17:27:04.854] 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:27:04.855] 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:27:04.855] 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:27:04.857] - globals found: [4] '{', '<-', '*', 'ii' [17:27:04.857] Searching for globals ... DONE [17:27:04.857] Resolving globals: TRUE [17:27:04.857] Resolving any globals that are futures ... [17:27:04.857] - globals: [4] '{', '<-', '*', 'ii' [17:27:04.857] Resolving any globals that are futures ... DONE [17:27:04.858] Resolving futures part of globals (recursively) ... [17:27:04.858] resolve() on list ... [17:27:04.858] recursive: 99 [17:27:04.859] length: 1 [17:27:04.859] elements: 'ii' [17:27:04.859] length: 0 (resolved future 1) [17:27:04.859] resolve() on list ... DONE [17:27:04.859] - globals: [1] 'ii' [17:27:04.859] Resolving futures part of globals (recursively) ... DONE [17:27:04.860] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:04.860] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:04.860] - globals: [1] 'ii' [17:27:04.860] [17:27:04.861] 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:27:04.861] 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:27:04.862] 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:27:04.863] - globals found: [4] '{', '<-', '*', 'ii' [17:27:04.864] Searching for globals ... DONE [17:27:04.864] Resolving globals: TRUE [17:27:04.864] Resolving any globals that are futures ... [17:27:04.864] - globals: [4] '{', '<-', '*', 'ii' [17:27:04.864] Resolving any globals that are futures ... DONE [17:27:04.865] Resolving futures part of globals (recursively) ... [17:27:04.865] resolve() on list ... [17:27:04.865] recursive: 99 [17:27:04.865] length: 1 [17:27:04.865] elements: 'ii' [17:27:04.866] length: 0 (resolved future 1) [17:27:04.866] resolve() on list ... DONE [17:27:04.866] - globals: [1] 'ii' [17:27:04.866] Resolving futures part of globals (recursively) ... DONE [17:27:04.866] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:04.867] The total size of the 1 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'ii' (56 bytes of class 'numeric') [17:27:04.867] - globals: [1] 'ii' [17:27:04.867] [17:27:04.867] getGlobalsAndPackages() ... DONE [17:27:04.868] run() for 'Future' ... [17:27:04.868] - state: 'created' [17:27:04.868] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.882] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.882] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.882] - Field: 'node' [17:27:04.883] - Field: 'label' [17:27:04.883] - Field: 'local' [17:27:04.883] - Field: 'owner' [17:27:04.883] - Field: 'envir' [17:27:04.883] - Field: 'workers' [17:27:04.883] - Field: 'packages' [17:27:04.884] - Field: 'gc' [17:27:04.884] - Field: 'conditions' [17:27:04.884] - Field: 'persistent' [17:27:04.884] - Field: 'expr' [17:27:04.884] - Field: 'uuid' [17:27:04.885] - Field: 'seed' [17:27:04.885] - Field: 'version' [17:27:04.885] - Field: 'result' [17:27:04.885] - Field: 'asynchronous' [17:27:04.885] - Field: 'calls' [17:27:04.885] - Field: 'globals' [17:27:04.886] - Field: 'stdout' [17:27:04.886] - Field: 'earlySignal' [17:27:04.886] - Field: 'lazy' [17:27:04.886] - Field: 'state' [17:27:04.886] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.886] - Launch lazy future ... [17:27:04.887] Packages needed by the future expression (n = 0): [17:27:04.887] Packages needed by future strategies (n = 0): [17:27:04.888] { [17:27:04.888] { [17:27:04.888] { [17:27:04.888] ...future.startTime <- base::Sys.time() [17:27:04.888] { [17:27:04.888] { [17:27:04.888] { [17:27:04.888] { [17:27:04.888] base::local({ [17:27:04.888] has_future <- base::requireNamespace("future", [17:27:04.888] quietly = TRUE) [17:27:04.888] if (has_future) { [17:27:04.888] ns <- base::getNamespace("future") [17:27:04.888] version <- ns[[".package"]][["version"]] [17:27:04.888] if (is.null(version)) [17:27:04.888] version <- utils::packageVersion("future") [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] version <- NULL [17:27:04.888] } [17:27:04.888] if (!has_future || version < "1.8.0") { [17:27:04.888] info <- base::c(r_version = base::gsub("R version ", [17:27:04.888] "", base::R.version$version.string), [17:27:04.888] platform = base::sprintf("%s (%s-bit)", [17:27:04.888] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.888] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.888] "release", "version")], collapse = " "), [17:27:04.888] hostname = base::Sys.info()[["nodename"]]) [17:27:04.888] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.888] info) [17:27:04.888] info <- base::paste(info, collapse = "; ") [17:27:04.888] if (!has_future) { [17:27:04.888] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.888] info) [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.888] info, version) [17:27:04.888] } [17:27:04.888] base::stop(msg) [17:27:04.888] } [17:27:04.888] }) [17:27:04.888] } [17:27:04.888] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.888] base::options(mc.cores = 1L) [17:27:04.888] } [17:27:04.888] ...future.strategy.old <- future::plan("list") [17:27:04.888] options(future.plan = NULL) [17:27:04.888] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.888] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.888] } [17:27:04.888] ...future.workdir <- getwd() [17:27:04.888] } [17:27:04.888] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.888] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.888] } [17:27:04.888] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.888] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.888] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.888] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.888] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.888] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.888] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.888] base::names(...future.oldOptions)) [17:27:04.888] } [17:27:04.888] if (FALSE) { [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] if (TRUE) { [17:27:04.888] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.888] open = "w") [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.888] windows = "NUL", "/dev/null"), open = "w") [17:27:04.888] } [17:27:04.888] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.888] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.888] base::sink(type = "output", split = FALSE) [17:27:04.888] base::close(...future.stdout) [17:27:04.888] }, add = TRUE) [17:27:04.888] } [17:27:04.888] ...future.frame <- base::sys.nframe() [17:27:04.888] ...future.conditions <- base::list() [17:27:04.888] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.888] if (FALSE) { [17:27:04.888] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.888] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.888] } [17:27:04.888] ...future.result <- base::tryCatch({ [17:27:04.888] base::withCallingHandlers({ [17:27:04.888] ...future.value <- base::withVisible(base::local({ [17:27:04.888] ...future.makeSendCondition <- base::local({ [17:27:04.888] sendCondition <- NULL [17:27:04.888] function(frame = 1L) { [17:27:04.888] if (is.function(sendCondition)) [17:27:04.888] return(sendCondition) [17:27:04.888] ns <- getNamespace("parallel") [17:27:04.888] if (exists("sendData", mode = "function", [17:27:04.888] envir = ns)) { [17:27:04.888] parallel_sendData <- get("sendData", mode = "function", [17:27:04.888] envir = ns) [17:27:04.888] envir <- sys.frame(frame) [17:27:04.888] master <- NULL [17:27:04.888] while (!identical(envir, .GlobalEnv) && [17:27:04.888] !identical(envir, emptyenv())) { [17:27:04.888] if (exists("master", mode = "list", envir = envir, [17:27:04.888] inherits = FALSE)) { [17:27:04.888] master <- get("master", mode = "list", [17:27:04.888] envir = envir, inherits = FALSE) [17:27:04.888] if (inherits(master, c("SOCKnode", [17:27:04.888] "SOCK0node"))) { [17:27:04.888] sendCondition <<- function(cond) { [17:27:04.888] data <- list(type = "VALUE", value = cond, [17:27:04.888] success = TRUE) [17:27:04.888] parallel_sendData(master, data) [17:27:04.888] } [17:27:04.888] return(sendCondition) [17:27:04.888] } [17:27:04.888] } [17:27:04.888] frame <- frame + 1L [17:27:04.888] envir <- sys.frame(frame) [17:27:04.888] } [17:27:04.888] } [17:27:04.888] sendCondition <<- function(cond) NULL [17:27:04.888] } [17:27:04.888] }) [17:27:04.888] withCallingHandlers({ [17:27:04.888] { [17:27:04.888] b <- a * ii [17:27:04.888] a <- 0 [17:27:04.888] b [17:27:04.888] } [17:27:04.888] }, immediateCondition = function(cond) { [17:27:04.888] sendCondition <- ...future.makeSendCondition() [17:27:04.888] sendCondition(cond) [17:27:04.888] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.888] { [17:27:04.888] inherits <- base::inherits [17:27:04.888] invokeRestart <- base::invokeRestart [17:27:04.888] is.null <- base::is.null [17:27:04.888] muffled <- FALSE [17:27:04.888] if (inherits(cond, "message")) { [17:27:04.888] muffled <- grepl(pattern, "muffleMessage") [17:27:04.888] if (muffled) [17:27:04.888] invokeRestart("muffleMessage") [17:27:04.888] } [17:27:04.888] else if (inherits(cond, "warning")) { [17:27:04.888] muffled <- grepl(pattern, "muffleWarning") [17:27:04.888] if (muffled) [17:27:04.888] invokeRestart("muffleWarning") [17:27:04.888] } [17:27:04.888] else if (inherits(cond, "condition")) { [17:27:04.888] if (!is.null(pattern)) { [17:27:04.888] computeRestarts <- base::computeRestarts [17:27:04.888] grepl <- base::grepl [17:27:04.888] restarts <- computeRestarts(cond) [17:27:04.888] for (restart in restarts) { [17:27:04.888] name <- restart$name [17:27:04.888] if (is.null(name)) [17:27:04.888] next [17:27:04.888] if (!grepl(pattern, name)) [17:27:04.888] next [17:27:04.888] invokeRestart(restart) [17:27:04.888] muffled <- TRUE [17:27:04.888] break [17:27:04.888] } [17:27:04.888] } [17:27:04.888] } [17:27:04.888] invisible(muffled) [17:27:04.888] } [17:27:04.888] muffleCondition(cond) [17:27:04.888] }) [17:27:04.888] })) [17:27:04.888] future::FutureResult(value = ...future.value$value, [17:27:04.888] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.888] ...future.rng), globalenv = if (FALSE) [17:27:04.888] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.888] ...future.globalenv.names)) [17:27:04.888] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.888] }, condition = base::local({ [17:27:04.888] c <- base::c [17:27:04.888] inherits <- base::inherits [17:27:04.888] invokeRestart <- base::invokeRestart [17:27:04.888] length <- base::length [17:27:04.888] list <- base::list [17:27:04.888] seq.int <- base::seq.int [17:27:04.888] signalCondition <- base::signalCondition [17:27:04.888] sys.calls <- base::sys.calls [17:27:04.888] `[[` <- base::`[[` [17:27:04.888] `+` <- base::`+` [17:27:04.888] `<<-` <- base::`<<-` [17:27:04.888] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.888] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.888] 3L)] [17:27:04.888] } [17:27:04.888] function(cond) { [17:27:04.888] is_error <- inherits(cond, "error") [17:27:04.888] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.888] NULL) [17:27:04.888] if (is_error) { [17:27:04.888] sessionInformation <- function() { [17:27:04.888] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.888] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.888] search = base::search(), system = base::Sys.info()) [17:27:04.888] } [17:27:04.888] ...future.conditions[[length(...future.conditions) + [17:27:04.888] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.888] cond$call), session = sessionInformation(), [17:27:04.888] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.888] signalCondition(cond) [17:27:04.888] } [17:27:04.888] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.888] "immediateCondition"))) { [17:27:04.888] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.888] ...future.conditions[[length(...future.conditions) + [17:27:04.888] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.888] if (TRUE && !signal) { [17:27:04.888] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.888] { [17:27:04.888] inherits <- base::inherits [17:27:04.888] invokeRestart <- base::invokeRestart [17:27:04.888] is.null <- base::is.null [17:27:04.888] muffled <- FALSE [17:27:04.888] if (inherits(cond, "message")) { [17:27:04.888] muffled <- grepl(pattern, "muffleMessage") [17:27:04.888] if (muffled) [17:27:04.888] invokeRestart("muffleMessage") [17:27:04.888] } [17:27:04.888] else if (inherits(cond, "warning")) { [17:27:04.888] muffled <- grepl(pattern, "muffleWarning") [17:27:04.888] if (muffled) [17:27:04.888] invokeRestart("muffleWarning") [17:27:04.888] } [17:27:04.888] else if (inherits(cond, "condition")) { [17:27:04.888] if (!is.null(pattern)) { [17:27:04.888] computeRestarts <- base::computeRestarts [17:27:04.888] grepl <- base::grepl [17:27:04.888] restarts <- computeRestarts(cond) [17:27:04.888] for (restart in restarts) { [17:27:04.888] name <- restart$name [17:27:04.888] if (is.null(name)) [17:27:04.888] next [17:27:04.888] if (!grepl(pattern, name)) [17:27:04.888] next [17:27:04.888] invokeRestart(restart) [17:27:04.888] muffled <- TRUE [17:27:04.888] break [17:27:04.888] } [17:27:04.888] } [17:27:04.888] } [17:27:04.888] invisible(muffled) [17:27:04.888] } [17:27:04.888] muffleCondition(cond, pattern = "^muffle") [17:27:04.888] } [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] if (TRUE) { [17:27:04.888] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.888] { [17:27:04.888] inherits <- base::inherits [17:27:04.888] invokeRestart <- base::invokeRestart [17:27:04.888] is.null <- base::is.null [17:27:04.888] muffled <- FALSE [17:27:04.888] if (inherits(cond, "message")) { [17:27:04.888] muffled <- grepl(pattern, "muffleMessage") [17:27:04.888] if (muffled) [17:27:04.888] invokeRestart("muffleMessage") [17:27:04.888] } [17:27:04.888] else if (inherits(cond, "warning")) { [17:27:04.888] muffled <- grepl(pattern, "muffleWarning") [17:27:04.888] if (muffled) [17:27:04.888] invokeRestart("muffleWarning") [17:27:04.888] } [17:27:04.888] else if (inherits(cond, "condition")) { [17:27:04.888] if (!is.null(pattern)) { [17:27:04.888] computeRestarts <- base::computeRestarts [17:27:04.888] grepl <- base::grepl [17:27:04.888] restarts <- computeRestarts(cond) [17:27:04.888] for (restart in restarts) { [17:27:04.888] name <- restart$name [17:27:04.888] if (is.null(name)) [17:27:04.888] next [17:27:04.888] if (!grepl(pattern, name)) [17:27:04.888] next [17:27:04.888] invokeRestart(restart) [17:27:04.888] muffled <- TRUE [17:27:04.888] break [17:27:04.888] } [17:27:04.888] } [17:27:04.888] } [17:27:04.888] invisible(muffled) [17:27:04.888] } [17:27:04.888] muffleCondition(cond, pattern = "^muffle") [17:27:04.888] } [17:27:04.888] } [17:27:04.888] } [17:27:04.888] })) [17:27:04.888] }, error = function(ex) { [17:27:04.888] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.888] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.888] ...future.rng), started = ...future.startTime, [17:27:04.888] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.888] version = "1.8"), class = "FutureResult") [17:27:04.888] }, finally = { [17:27:04.888] if (!identical(...future.workdir, getwd())) [17:27:04.888] setwd(...future.workdir) [17:27:04.888] { [17:27:04.888] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.888] ...future.oldOptions$nwarnings <- NULL [17:27:04.888] } [17:27:04.888] base::options(...future.oldOptions) [17:27:04.888] if (.Platform$OS.type == "windows") { [17:27:04.888] old_names <- names(...future.oldEnvVars) [17:27:04.888] envs <- base::Sys.getenv() [17:27:04.888] names <- names(envs) [17:27:04.888] common <- intersect(names, old_names) [17:27:04.888] added <- setdiff(names, old_names) [17:27:04.888] removed <- setdiff(old_names, names) [17:27:04.888] changed <- common[...future.oldEnvVars[common] != [17:27:04.888] envs[common]] [17:27:04.888] NAMES <- toupper(changed) [17:27:04.888] args <- list() [17:27:04.888] for (kk in seq_along(NAMES)) { [17:27:04.888] name <- changed[[kk]] [17:27:04.888] NAME <- NAMES[[kk]] [17:27:04.888] if (name != NAME && is.element(NAME, old_names)) [17:27:04.888] next [17:27:04.888] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.888] } [17:27:04.888] NAMES <- toupper(added) [17:27:04.888] for (kk in seq_along(NAMES)) { [17:27:04.888] name <- added[[kk]] [17:27:04.888] NAME <- NAMES[[kk]] [17:27:04.888] if (name != NAME && is.element(NAME, old_names)) [17:27:04.888] next [17:27:04.888] args[[name]] <- "" [17:27:04.888] } [17:27:04.888] NAMES <- toupper(removed) [17:27:04.888] for (kk in seq_along(NAMES)) { [17:27:04.888] name <- removed[[kk]] [17:27:04.888] NAME <- NAMES[[kk]] [17:27:04.888] if (name != NAME && is.element(NAME, old_names)) [17:27:04.888] next [17:27:04.888] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.888] } [17:27:04.888] if (length(args) > 0) [17:27:04.888] base::do.call(base::Sys.setenv, args = args) [17:27:04.888] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.888] } [17:27:04.888] { [17:27:04.888] if (base::length(...future.futureOptionsAdded) > [17:27:04.888] 0L) { [17:27:04.888] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.888] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.888] base::options(opts) [17:27:04.888] } [17:27:04.888] { [17:27:04.888] { [17:27:04.888] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.888] NULL [17:27:04.888] } [17:27:04.888] options(future.plan = NULL) [17:27:04.888] if (is.na(NA_character_)) [17:27:04.888] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.888] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.888] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.888] .init = FALSE) [17:27:04.888] } [17:27:04.888] } [17:27:04.888] } [17:27:04.888] }) [17:27:04.888] if (TRUE) { [17:27:04.888] base::sink(type = "output", split = FALSE) [17:27:04.888] if (TRUE) { [17:27:04.888] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.888] } [17:27:04.888] else { [17:27:04.888] ...future.result["stdout"] <- base::list(NULL) [17:27:04.888] } [17:27:04.888] base::close(...future.stdout) [17:27:04.888] ...future.stdout <- NULL [17:27:04.888] } [17:27:04.888] ...future.result$conditions <- ...future.conditions [17:27:04.888] ...future.result$finished <- base::Sys.time() [17:27:04.888] ...future.result [17:27:04.888] } [17:27:04.892] Poll #1 (0): usedNodes() = 2, workers = 2 [17:27:04.920] receiveMessageFromWorker() for ClusterFuture ... [17:27:04.920] - Validating connection of MultisessionFuture [17:27:04.921] - received message: FutureResult [17:27:04.921] - Received FutureResult [17:27:04.921] - Erased future from FutureRegistry [17:27:04.921] result() for ClusterFuture ... [17:27:04.921] - result already collected: FutureResult [17:27:04.921] result() for ClusterFuture ... done [17:27:04.922] signalConditions() ... [17:27:04.922] - include = 'immediateCondition' [17:27:04.922] - exclude = [17:27:04.922] - resignal = FALSE [17:27:04.922] - Number of conditions: 1 [17:27:04.922] signalConditions() ... done [17:27:04.923] receiveMessageFromWorker() for ClusterFuture ... done [17:27:04.923] result() for ClusterFuture ... [17:27:04.923] - result already collected: FutureResult [17:27:04.923] result() for ClusterFuture ... done [17:27:04.923] result() for ClusterFuture ... [17:27:04.923] - result already collected: FutureResult [17:27:04.924] result() for ClusterFuture ... done [17:27:04.924] signalConditions() ... [17:27:04.924] - include = 'immediateCondition' [17:27:04.924] - exclude = [17:27:04.924] - resignal = FALSE [17:27:04.924] - Number of conditions: 1 [17:27:04.925] signalConditions() ... done [17:27:04.925] Exporting 1 global objects (56 bytes) to cluster node #2 ... [17:27:04.926] Exporting 'ii' (56 bytes) to cluster node #2 ... [17:27:04.926] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [17:27:04.926] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [17:27:04.927] MultisessionFuture started [17:27:04.927] - Launch lazy future ... done [17:27:04.927] run() for 'MultisessionFuture' ... done [17:27:04.927] result() for ClusterFuture ... [17:27:04.928] receiveMessageFromWorker() for ClusterFuture ... [17:27:04.928] - Validating connection of MultisessionFuture [17:27:04.942] - received message: FutureResult [17:27:04.943] - Received FutureResult [17:27:04.943] - Erased future from FutureRegistry [17:27:04.943] result() for ClusterFuture ... [17:27:04.943] - result already collected: FutureResult [17:27:04.943] result() for ClusterFuture ... done [17:27:04.943] signalConditions() ... [17:27:04.943] - include = 'immediateCondition' [17:27:04.944] - exclude = [17:27:04.944] - resignal = FALSE [17:27:04.944] - Number of conditions: 1 [17:27:04.944] signalConditions() ... done [17:27:04.944] receiveMessageFromWorker() for ClusterFuture ... done [17:27:04.944] result() for ClusterFuture ... done [17:27:04.945] result() for ClusterFuture ... [17:27:04.945] - result already collected: FutureResult [17:27:04.945] result() for ClusterFuture ... done [17:27:04.945] signalConditions() ... [17:27:04.945] - include = 'immediateCondition' [17:27:04.945] - exclude = [17:27:04.946] - resignal = FALSE [17:27:04.946] - Number of conditions: 1 [17:27:04.946] signalConditions() ... done [17:27:04.946] Future state: 'finished' [17:27:04.946] result() for ClusterFuture ... [17:27:04.946] - result already collected: FutureResult [17:27:04.947] result() for ClusterFuture ... done [17:27:04.947] signalConditions() ... [17:27:04.947] - include = 'condition' [17:27:04.947] - exclude = 'immediateCondition' [17:27:04.947] - resignal = TRUE [17:27:04.947] - Number of conditions: 1 [17:27:04.948] - Condition #1: 'simpleError', 'error', 'condition' [17:27:04.948] 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 "4.0" .. .. .. .. ..$ year : chr "2024" .. .. .. .. ..$ month : chr "03" .. .. .. .. ..$ day : chr "25" .. .. .. .. ..$ svn rev : chr "86192" .. .. .. .. ..$ language : chr "R" .. .. .. .. ..$ version.string: chr "R Under development (unstable) (2024-03-25 r86192 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-03-26 17:27:04" .. .. ..$ 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:27:04.966] 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:27:04.966] 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:27:04.967] [17:27:04.967] Searching for globals ... DONE [17:27:04.967] - globals: [0] [17:27:04.967] getGlobalsAndPackages() ... DONE [17:27:04.968] run() for 'Future' ... [17:27:04.968] - state: 'created' [17:27:04.968] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:04.981] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:04.982] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:04.982] - Field: 'node' [17:27:04.982] - Field: 'label' [17:27:04.982] - Field: 'local' [17:27:04.982] - Field: 'owner' [17:27:04.982] - Field: 'envir' [17:27:04.983] - Field: 'workers' [17:27:04.983] - Field: 'packages' [17:27:04.983] - Field: 'gc' [17:27:04.983] - Field: 'conditions' [17:27:04.983] - Field: 'persistent' [17:27:04.984] - Field: 'expr' [17:27:04.984] - Field: 'uuid' [17:27:04.984] - Field: 'seed' [17:27:04.984] - Field: 'version' [17:27:04.984] - Field: 'result' [17:27:04.984] - Field: 'asynchronous' [17:27:04.985] - Field: 'calls' [17:27:04.985] - Field: 'globals' [17:27:04.985] - Field: 'stdout' [17:27:04.985] - Field: 'earlySignal' [17:27:04.985] - Field: 'lazy' [17:27:04.985] - Field: 'state' [17:27:04.986] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:04.986] - Launch lazy future ... [17:27:04.986] Packages needed by the future expression (n = 0): [17:27:04.986] Packages needed by future strategies (n = 0): [17:27:04.987] { [17:27:04.987] { [17:27:04.987] { [17:27:04.987] ...future.startTime <- base::Sys.time() [17:27:04.987] { [17:27:04.987] { [17:27:04.987] { [17:27:04.987] { [17:27:04.987] base::local({ [17:27:04.987] has_future <- base::requireNamespace("future", [17:27:04.987] quietly = TRUE) [17:27:04.987] if (has_future) { [17:27:04.987] ns <- base::getNamespace("future") [17:27:04.987] version <- ns[[".package"]][["version"]] [17:27:04.987] if (is.null(version)) [17:27:04.987] version <- utils::packageVersion("future") [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] version <- NULL [17:27:04.987] } [17:27:04.987] if (!has_future || version < "1.8.0") { [17:27:04.987] info <- base::c(r_version = base::gsub("R version ", [17:27:04.987] "", base::R.version$version.string), [17:27:04.987] platform = base::sprintf("%s (%s-bit)", [17:27:04.987] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:04.987] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:04.987] "release", "version")], collapse = " "), [17:27:04.987] hostname = base::Sys.info()[["nodename"]]) [17:27:04.987] info <- base::sprintf("%s: %s", base::names(info), [17:27:04.987] info) [17:27:04.987] info <- base::paste(info, collapse = "; ") [17:27:04.987] if (!has_future) { [17:27:04.987] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:04.987] info) [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:04.987] info, version) [17:27:04.987] } [17:27:04.987] base::stop(msg) [17:27:04.987] } [17:27:04.987] }) [17:27:04.987] } [17:27:04.987] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:04.987] base::options(mc.cores = 1L) [17:27:04.987] } [17:27:04.987] ...future.strategy.old <- future::plan("list") [17:27:04.987] options(future.plan = NULL) [17:27:04.987] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.987] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:04.987] } [17:27:04.987] ...future.workdir <- getwd() [17:27:04.987] } [17:27:04.987] ...future.oldOptions <- base::as.list(base::.Options) [17:27:04.987] ...future.oldEnvVars <- base::Sys.getenv() [17:27:04.987] } [17:27:04.987] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:04.987] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:04.987] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:04.987] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:04.987] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:04.987] future.stdout.windows.reencode = NULL, width = 80L) [17:27:04.987] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:04.987] base::names(...future.oldOptions)) [17:27:04.987] } [17:27:04.987] if (FALSE) { [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] if (TRUE) { [17:27:04.987] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:04.987] open = "w") [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:04.987] windows = "NUL", "/dev/null"), open = "w") [17:27:04.987] } [17:27:04.987] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:04.987] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:04.987] base::sink(type = "output", split = FALSE) [17:27:04.987] base::close(...future.stdout) [17:27:04.987] }, add = TRUE) [17:27:04.987] } [17:27:04.987] ...future.frame <- base::sys.nframe() [17:27:04.987] ...future.conditions <- base::list() [17:27:04.987] ...future.rng <- base::globalenv()$.Random.seed [17:27:04.987] if (FALSE) { [17:27:04.987] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:04.987] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:04.987] } [17:27:04.987] ...future.result <- base::tryCatch({ [17:27:04.987] base::withCallingHandlers({ [17:27:04.987] ...future.value <- base::withVisible(base::local({ [17:27:04.987] ...future.makeSendCondition <- base::local({ [17:27:04.987] sendCondition <- NULL [17:27:04.987] function(frame = 1L) { [17:27:04.987] if (is.function(sendCondition)) [17:27:04.987] return(sendCondition) [17:27:04.987] ns <- getNamespace("parallel") [17:27:04.987] if (exists("sendData", mode = "function", [17:27:04.987] envir = ns)) { [17:27:04.987] parallel_sendData <- get("sendData", mode = "function", [17:27:04.987] envir = ns) [17:27:04.987] envir <- sys.frame(frame) [17:27:04.987] master <- NULL [17:27:04.987] while (!identical(envir, .GlobalEnv) && [17:27:04.987] !identical(envir, emptyenv())) { [17:27:04.987] if (exists("master", mode = "list", envir = envir, [17:27:04.987] inherits = FALSE)) { [17:27:04.987] master <- get("master", mode = "list", [17:27:04.987] envir = envir, inherits = FALSE) [17:27:04.987] if (inherits(master, c("SOCKnode", [17:27:04.987] "SOCK0node"))) { [17:27:04.987] sendCondition <<- function(cond) { [17:27:04.987] data <- list(type = "VALUE", value = cond, [17:27:04.987] success = TRUE) [17:27:04.987] parallel_sendData(master, data) [17:27:04.987] } [17:27:04.987] return(sendCondition) [17:27:04.987] } [17:27:04.987] } [17:27:04.987] frame <- frame + 1L [17:27:04.987] envir <- sys.frame(frame) [17:27:04.987] } [17:27:04.987] } [17:27:04.987] sendCondition <<- function(cond) NULL [17:27:04.987] } [17:27:04.987] }) [17:27:04.987] withCallingHandlers({ [17:27:04.987] 1 [17:27:04.987] }, immediateCondition = function(cond) { [17:27:04.987] sendCondition <- ...future.makeSendCondition() [17:27:04.987] sendCondition(cond) [17:27:04.987] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.987] { [17:27:04.987] inherits <- base::inherits [17:27:04.987] invokeRestart <- base::invokeRestart [17:27:04.987] is.null <- base::is.null [17:27:04.987] muffled <- FALSE [17:27:04.987] if (inherits(cond, "message")) { [17:27:04.987] muffled <- grepl(pattern, "muffleMessage") [17:27:04.987] if (muffled) [17:27:04.987] invokeRestart("muffleMessage") [17:27:04.987] } [17:27:04.987] else if (inherits(cond, "warning")) { [17:27:04.987] muffled <- grepl(pattern, "muffleWarning") [17:27:04.987] if (muffled) [17:27:04.987] invokeRestart("muffleWarning") [17:27:04.987] } [17:27:04.987] else if (inherits(cond, "condition")) { [17:27:04.987] if (!is.null(pattern)) { [17:27:04.987] computeRestarts <- base::computeRestarts [17:27:04.987] grepl <- base::grepl [17:27:04.987] restarts <- computeRestarts(cond) [17:27:04.987] for (restart in restarts) { [17:27:04.987] name <- restart$name [17:27:04.987] if (is.null(name)) [17:27:04.987] next [17:27:04.987] if (!grepl(pattern, name)) [17:27:04.987] next [17:27:04.987] invokeRestart(restart) [17:27:04.987] muffled <- TRUE [17:27:04.987] break [17:27:04.987] } [17:27:04.987] } [17:27:04.987] } [17:27:04.987] invisible(muffled) [17:27:04.987] } [17:27:04.987] muffleCondition(cond) [17:27:04.987] }) [17:27:04.987] })) [17:27:04.987] future::FutureResult(value = ...future.value$value, [17:27:04.987] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.987] ...future.rng), globalenv = if (FALSE) [17:27:04.987] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:04.987] ...future.globalenv.names)) [17:27:04.987] else NULL, started = ...future.startTime, version = "1.8") [17:27:04.987] }, condition = base::local({ [17:27:04.987] c <- base::c [17:27:04.987] inherits <- base::inherits [17:27:04.987] invokeRestart <- base::invokeRestart [17:27:04.987] length <- base::length [17:27:04.987] list <- base::list [17:27:04.987] seq.int <- base::seq.int [17:27:04.987] signalCondition <- base::signalCondition [17:27:04.987] sys.calls <- base::sys.calls [17:27:04.987] `[[` <- base::`[[` [17:27:04.987] `+` <- base::`+` [17:27:04.987] `<<-` <- base::`<<-` [17:27:04.987] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:04.987] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:04.987] 3L)] [17:27:04.987] } [17:27:04.987] function(cond) { [17:27:04.987] is_error <- inherits(cond, "error") [17:27:04.987] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:04.987] NULL) [17:27:04.987] if (is_error) { [17:27:04.987] sessionInformation <- function() { [17:27:04.987] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:04.987] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:04.987] search = base::search(), system = base::Sys.info()) [17:27:04.987] } [17:27:04.987] ...future.conditions[[length(...future.conditions) + [17:27:04.987] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:04.987] cond$call), session = sessionInformation(), [17:27:04.987] timestamp = base::Sys.time(), signaled = 0L) [17:27:04.987] signalCondition(cond) [17:27:04.987] } [17:27:04.987] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:04.987] "immediateCondition"))) { [17:27:04.987] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:04.987] ...future.conditions[[length(...future.conditions) + [17:27:04.987] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:04.987] if (TRUE && !signal) { [17:27:04.987] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.987] { [17:27:04.987] inherits <- base::inherits [17:27:04.987] invokeRestart <- base::invokeRestart [17:27:04.987] is.null <- base::is.null [17:27:04.987] muffled <- FALSE [17:27:04.987] if (inherits(cond, "message")) { [17:27:04.987] muffled <- grepl(pattern, "muffleMessage") [17:27:04.987] if (muffled) [17:27:04.987] invokeRestart("muffleMessage") [17:27:04.987] } [17:27:04.987] else if (inherits(cond, "warning")) { [17:27:04.987] muffled <- grepl(pattern, "muffleWarning") [17:27:04.987] if (muffled) [17:27:04.987] invokeRestart("muffleWarning") [17:27:04.987] } [17:27:04.987] else if (inherits(cond, "condition")) { [17:27:04.987] if (!is.null(pattern)) { [17:27:04.987] computeRestarts <- base::computeRestarts [17:27:04.987] grepl <- base::grepl [17:27:04.987] restarts <- computeRestarts(cond) [17:27:04.987] for (restart in restarts) { [17:27:04.987] name <- restart$name [17:27:04.987] if (is.null(name)) [17:27:04.987] next [17:27:04.987] if (!grepl(pattern, name)) [17:27:04.987] next [17:27:04.987] invokeRestart(restart) [17:27:04.987] muffled <- TRUE [17:27:04.987] break [17:27:04.987] } [17:27:04.987] } [17:27:04.987] } [17:27:04.987] invisible(muffled) [17:27:04.987] } [17:27:04.987] muffleCondition(cond, pattern = "^muffle") [17:27:04.987] } [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] if (TRUE) { [17:27:04.987] muffleCondition <- function (cond, pattern = "^muffle") [17:27:04.987] { [17:27:04.987] inherits <- base::inherits [17:27:04.987] invokeRestart <- base::invokeRestart [17:27:04.987] is.null <- base::is.null [17:27:04.987] muffled <- FALSE [17:27:04.987] if (inherits(cond, "message")) { [17:27:04.987] muffled <- grepl(pattern, "muffleMessage") [17:27:04.987] if (muffled) [17:27:04.987] invokeRestart("muffleMessage") [17:27:04.987] } [17:27:04.987] else if (inherits(cond, "warning")) { [17:27:04.987] muffled <- grepl(pattern, "muffleWarning") [17:27:04.987] if (muffled) [17:27:04.987] invokeRestart("muffleWarning") [17:27:04.987] } [17:27:04.987] else if (inherits(cond, "condition")) { [17:27:04.987] if (!is.null(pattern)) { [17:27:04.987] computeRestarts <- base::computeRestarts [17:27:04.987] grepl <- base::grepl [17:27:04.987] restarts <- computeRestarts(cond) [17:27:04.987] for (restart in restarts) { [17:27:04.987] name <- restart$name [17:27:04.987] if (is.null(name)) [17:27:04.987] next [17:27:04.987] if (!grepl(pattern, name)) [17:27:04.987] next [17:27:04.987] invokeRestart(restart) [17:27:04.987] muffled <- TRUE [17:27:04.987] break [17:27:04.987] } [17:27:04.987] } [17:27:04.987] } [17:27:04.987] invisible(muffled) [17:27:04.987] } [17:27:04.987] muffleCondition(cond, pattern = "^muffle") [17:27:04.987] } [17:27:04.987] } [17:27:04.987] } [17:27:04.987] })) [17:27:04.987] }, error = function(ex) { [17:27:04.987] base::structure(base::list(value = NULL, visible = NULL, [17:27:04.987] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:04.987] ...future.rng), started = ...future.startTime, [17:27:04.987] finished = Sys.time(), session_uuid = NA_character_, [17:27:04.987] version = "1.8"), class = "FutureResult") [17:27:04.987] }, finally = { [17:27:04.987] if (!identical(...future.workdir, getwd())) [17:27:04.987] setwd(...future.workdir) [17:27:04.987] { [17:27:04.987] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:04.987] ...future.oldOptions$nwarnings <- NULL [17:27:04.987] } [17:27:04.987] base::options(...future.oldOptions) [17:27:04.987] if (.Platform$OS.type == "windows") { [17:27:04.987] old_names <- names(...future.oldEnvVars) [17:27:04.987] envs <- base::Sys.getenv() [17:27:04.987] names <- names(envs) [17:27:04.987] common <- intersect(names, old_names) [17:27:04.987] added <- setdiff(names, old_names) [17:27:04.987] removed <- setdiff(old_names, names) [17:27:04.987] changed <- common[...future.oldEnvVars[common] != [17:27:04.987] envs[common]] [17:27:04.987] NAMES <- toupper(changed) [17:27:04.987] args <- list() [17:27:04.987] for (kk in seq_along(NAMES)) { [17:27:04.987] name <- changed[[kk]] [17:27:04.987] NAME <- NAMES[[kk]] [17:27:04.987] if (name != NAME && is.element(NAME, old_names)) [17:27:04.987] next [17:27:04.987] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.987] } [17:27:04.987] NAMES <- toupper(added) [17:27:04.987] for (kk in seq_along(NAMES)) { [17:27:04.987] name <- added[[kk]] [17:27:04.987] NAME <- NAMES[[kk]] [17:27:04.987] if (name != NAME && is.element(NAME, old_names)) [17:27:04.987] next [17:27:04.987] args[[name]] <- "" [17:27:04.987] } [17:27:04.987] NAMES <- toupper(removed) [17:27:04.987] for (kk in seq_along(NAMES)) { [17:27:04.987] name <- removed[[kk]] [17:27:04.987] NAME <- NAMES[[kk]] [17:27:04.987] if (name != NAME && is.element(NAME, old_names)) [17:27:04.987] next [17:27:04.987] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:04.987] } [17:27:04.987] if (length(args) > 0) [17:27:04.987] base::do.call(base::Sys.setenv, args = args) [17:27:04.987] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:04.987] } [17:27:04.987] { [17:27:04.987] if (base::length(...future.futureOptionsAdded) > [17:27:04.987] 0L) { [17:27:04.987] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:04.987] base::names(opts) <- ...future.futureOptionsAdded [17:27:04.987] base::options(opts) [17:27:04.987] } [17:27:04.987] { [17:27:04.987] { [17:27:04.987] base::options(mc.cores = ...future.mc.cores.old) [17:27:04.987] NULL [17:27:04.987] } [17:27:04.987] options(future.plan = NULL) [17:27:04.987] if (is.na(NA_character_)) [17:27:04.987] Sys.unsetenv("R_FUTURE_PLAN") [17:27:04.987] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:04.987] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:04.987] .init = FALSE) [17:27:04.987] } [17:27:04.987] } [17:27:04.987] } [17:27:04.987] }) [17:27:04.987] if (TRUE) { [17:27:04.987] base::sink(type = "output", split = FALSE) [17:27:04.987] if (TRUE) { [17:27:04.987] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:04.987] } [17:27:04.987] else { [17:27:04.987] ...future.result["stdout"] <- base::list(NULL) [17:27:04.987] } [17:27:04.987] base::close(...future.stdout) [17:27:04.987] ...future.stdout <- NULL [17:27:04.987] } [17:27:04.987] ...future.result$conditions <- ...future.conditions [17:27:04.987] ...future.result$finished <- base::Sys.time() [17:27:04.987] ...future.result [17:27:04.987] } [17:27:04.992] MultisessionFuture started [17:27:04.993] - Launch lazy future ... done [17:27:04.993] 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:27:04.993] 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:27:04.993] 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:27:04.995] - globals found: [3] '+', 'value', 'a' [17:27:04.995] Searching for globals ... DONE [17:27:04.995] Resolving globals: TRUE [17:27:04.995] Resolving any globals that are futures ... [17:27:04.995] - globals: [3] '+', 'value', 'a' [17:27:04.996] Resolving any globals that are futures ... DONE [17:27:04.996] Resolving futures part of globals (recursively) ... [17:27:04.998] resolve() on list ... [17:27:04.998] recursive: 99 [17:27:04.998] length: 1 [17:27:04.998] elements: 'a' [17:27:05.006] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.006] - Validating connection of MultisessionFuture [17:27:05.007] - received message: FutureResult [17:27:05.007] - Received FutureResult [17:27:05.007] - Erased future from FutureRegistry [17:27:05.007] result() for ClusterFuture ... [17:27:05.007] - result already collected: FutureResult [17:27:05.008] result() for ClusterFuture ... done [17:27:05.008] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.008] Future #1 [17:27:05.008] result() for ClusterFuture ... [17:27:05.008] - result already collected: FutureResult [17:27:05.008] result() for ClusterFuture ... done [17:27:05.008] result() for ClusterFuture ... [17:27:05.009] - result already collected: FutureResult [17:27:05.009] result() for ClusterFuture ... done [17:27:05.009] A MultisessionFuture was resolved [17:27:05.009] length: 0 (resolved future 1) [17:27:05.009] resolve() on list ... DONE [17:27:05.009] - globals: [1] 'a' [17:27:05.010] Resolving futures part of globals (recursively) ... DONE [17:27:05.011] The total size of the 1 globals is 10.05 KiB (10296 bytes) [17:27:05.011] The total size of the 1 globals exported for future expression ('value(a) + 1') is 10.05 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (10.05 KiB of class 'environment') [17:27:05.011] - globals: [1] 'a' [17:27:05.012] - packages: [1] 'future' [17:27:05.012] getGlobalsAndPackages() ... DONE [17:27:05.012] run() for 'Future' ... [17:27:05.012] - state: 'created' [17:27:05.013] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.026] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.026] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.026] - Field: 'node' [17:27:05.027] - Field: 'label' [17:27:05.027] - Field: 'local' [17:27:05.027] - Field: 'owner' [17:27:05.027] - Field: 'envir' [17:27:05.027] - Field: 'workers' [17:27:05.027] - Field: 'packages' [17:27:05.028] - Field: 'gc' [17:27:05.028] - Field: 'conditions' [17:27:05.028] - Field: 'persistent' [17:27:05.028] - Field: 'expr' [17:27:05.028] - Field: 'uuid' [17:27:05.028] - Field: 'seed' [17:27:05.029] - Field: 'version' [17:27:05.029] - Field: 'result' [17:27:05.029] - Field: 'asynchronous' [17:27:05.029] - Field: 'calls' [17:27:05.029] - Field: 'globals' [17:27:05.029] - Field: 'stdout' [17:27:05.030] - Field: 'earlySignal' [17:27:05.030] - Field: 'lazy' [17:27:05.030] - Field: 'state' [17:27:05.030] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.030] - Launch lazy future ... [17:27:05.031] Packages needed by the future expression (n = 1): 'future' [17:27:05.031] Packages needed by future strategies (n = 0): [17:27:05.031] { [17:27:05.031] { [17:27:05.031] { [17:27:05.031] ...future.startTime <- base::Sys.time() [17:27:05.031] { [17:27:05.031] { [17:27:05.031] { [17:27:05.031] { [17:27:05.031] { [17:27:05.031] base::local({ [17:27:05.031] has_future <- base::requireNamespace("future", [17:27:05.031] quietly = TRUE) [17:27:05.031] if (has_future) { [17:27:05.031] ns <- base::getNamespace("future") [17:27:05.031] version <- ns[[".package"]][["version"]] [17:27:05.031] if (is.null(version)) [17:27:05.031] version <- utils::packageVersion("future") [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] version <- NULL [17:27:05.031] } [17:27:05.031] if (!has_future || version < "1.8.0") { [17:27:05.031] info <- base::c(r_version = base::gsub("R version ", [17:27:05.031] "", base::R.version$version.string), [17:27:05.031] platform = base::sprintf("%s (%s-bit)", [17:27:05.031] base::R.version$platform, 8 * [17:27:05.031] base::.Machine$sizeof.pointer), [17:27:05.031] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.031] "release", "version")], collapse = " "), [17:27:05.031] hostname = base::Sys.info()[["nodename"]]) [17:27:05.031] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.031] info) [17:27:05.031] info <- base::paste(info, collapse = "; ") [17:27:05.031] if (!has_future) { [17:27:05.031] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.031] info) [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.031] info, version) [17:27:05.031] } [17:27:05.031] base::stop(msg) [17:27:05.031] } [17:27:05.031] }) [17:27:05.031] } [17:27:05.031] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.031] base::options(mc.cores = 1L) [17:27:05.031] } [17:27:05.031] base::local({ [17:27:05.031] for (pkg in "future") { [17:27:05.031] base::loadNamespace(pkg) [17:27:05.031] base::library(pkg, character.only = TRUE) [17:27:05.031] } [17:27:05.031] }) [17:27:05.031] } [17:27:05.031] ...future.strategy.old <- future::plan("list") [17:27:05.031] options(future.plan = NULL) [17:27:05.031] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.031] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.031] } [17:27:05.031] ...future.workdir <- getwd() [17:27:05.031] } [17:27:05.031] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.031] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.031] } [17:27:05.031] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.031] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.031] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.031] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.031] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.031] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.031] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.031] base::names(...future.oldOptions)) [17:27:05.031] } [17:27:05.031] if (FALSE) { [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] if (TRUE) { [17:27:05.031] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.031] open = "w") [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.031] windows = "NUL", "/dev/null"), open = "w") [17:27:05.031] } [17:27:05.031] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.031] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.031] base::sink(type = "output", split = FALSE) [17:27:05.031] base::close(...future.stdout) [17:27:05.031] }, add = TRUE) [17:27:05.031] } [17:27:05.031] ...future.frame <- base::sys.nframe() [17:27:05.031] ...future.conditions <- base::list() [17:27:05.031] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.031] if (FALSE) { [17:27:05.031] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.031] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.031] } [17:27:05.031] ...future.result <- base::tryCatch({ [17:27:05.031] base::withCallingHandlers({ [17:27:05.031] ...future.value <- base::withVisible(base::local({ [17:27:05.031] ...future.makeSendCondition <- base::local({ [17:27:05.031] sendCondition <- NULL [17:27:05.031] function(frame = 1L) { [17:27:05.031] if (is.function(sendCondition)) [17:27:05.031] return(sendCondition) [17:27:05.031] ns <- getNamespace("parallel") [17:27:05.031] if (exists("sendData", mode = "function", [17:27:05.031] envir = ns)) { [17:27:05.031] parallel_sendData <- get("sendData", mode = "function", [17:27:05.031] envir = ns) [17:27:05.031] envir <- sys.frame(frame) [17:27:05.031] master <- NULL [17:27:05.031] while (!identical(envir, .GlobalEnv) && [17:27:05.031] !identical(envir, emptyenv())) { [17:27:05.031] if (exists("master", mode = "list", envir = envir, [17:27:05.031] inherits = FALSE)) { [17:27:05.031] master <- get("master", mode = "list", [17:27:05.031] envir = envir, inherits = FALSE) [17:27:05.031] if (inherits(master, c("SOCKnode", [17:27:05.031] "SOCK0node"))) { [17:27:05.031] sendCondition <<- function(cond) { [17:27:05.031] data <- list(type = "VALUE", value = cond, [17:27:05.031] success = TRUE) [17:27:05.031] parallel_sendData(master, data) [17:27:05.031] } [17:27:05.031] return(sendCondition) [17:27:05.031] } [17:27:05.031] } [17:27:05.031] frame <- frame + 1L [17:27:05.031] envir <- sys.frame(frame) [17:27:05.031] } [17:27:05.031] } [17:27:05.031] sendCondition <<- function(cond) NULL [17:27:05.031] } [17:27:05.031] }) [17:27:05.031] withCallingHandlers({ [17:27:05.031] value(a) + 1 [17:27:05.031] }, immediateCondition = function(cond) { [17:27:05.031] sendCondition <- ...future.makeSendCondition() [17:27:05.031] sendCondition(cond) [17:27:05.031] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.031] { [17:27:05.031] inherits <- base::inherits [17:27:05.031] invokeRestart <- base::invokeRestart [17:27:05.031] is.null <- base::is.null [17:27:05.031] muffled <- FALSE [17:27:05.031] if (inherits(cond, "message")) { [17:27:05.031] muffled <- grepl(pattern, "muffleMessage") [17:27:05.031] if (muffled) [17:27:05.031] invokeRestart("muffleMessage") [17:27:05.031] } [17:27:05.031] else if (inherits(cond, "warning")) { [17:27:05.031] muffled <- grepl(pattern, "muffleWarning") [17:27:05.031] if (muffled) [17:27:05.031] invokeRestart("muffleWarning") [17:27:05.031] } [17:27:05.031] else if (inherits(cond, "condition")) { [17:27:05.031] if (!is.null(pattern)) { [17:27:05.031] computeRestarts <- base::computeRestarts [17:27:05.031] grepl <- base::grepl [17:27:05.031] restarts <- computeRestarts(cond) [17:27:05.031] for (restart in restarts) { [17:27:05.031] name <- restart$name [17:27:05.031] if (is.null(name)) [17:27:05.031] next [17:27:05.031] if (!grepl(pattern, name)) [17:27:05.031] next [17:27:05.031] invokeRestart(restart) [17:27:05.031] muffled <- TRUE [17:27:05.031] break [17:27:05.031] } [17:27:05.031] } [17:27:05.031] } [17:27:05.031] invisible(muffled) [17:27:05.031] } [17:27:05.031] muffleCondition(cond) [17:27:05.031] }) [17:27:05.031] })) [17:27:05.031] future::FutureResult(value = ...future.value$value, [17:27:05.031] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.031] ...future.rng), globalenv = if (FALSE) [17:27:05.031] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.031] ...future.globalenv.names)) [17:27:05.031] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.031] }, condition = base::local({ [17:27:05.031] c <- base::c [17:27:05.031] inherits <- base::inherits [17:27:05.031] invokeRestart <- base::invokeRestart [17:27:05.031] length <- base::length [17:27:05.031] list <- base::list [17:27:05.031] seq.int <- base::seq.int [17:27:05.031] signalCondition <- base::signalCondition [17:27:05.031] sys.calls <- base::sys.calls [17:27:05.031] `[[` <- base::`[[` [17:27:05.031] `+` <- base::`+` [17:27:05.031] `<<-` <- base::`<<-` [17:27:05.031] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.031] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.031] 3L)] [17:27:05.031] } [17:27:05.031] function(cond) { [17:27:05.031] is_error <- inherits(cond, "error") [17:27:05.031] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.031] NULL) [17:27:05.031] if (is_error) { [17:27:05.031] sessionInformation <- function() { [17:27:05.031] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.031] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.031] search = base::search(), system = base::Sys.info()) [17:27:05.031] } [17:27:05.031] ...future.conditions[[length(...future.conditions) + [17:27:05.031] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.031] cond$call), session = sessionInformation(), [17:27:05.031] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.031] signalCondition(cond) [17:27:05.031] } [17:27:05.031] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.031] "immediateCondition"))) { [17:27:05.031] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.031] ...future.conditions[[length(...future.conditions) + [17:27:05.031] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.031] if (TRUE && !signal) { [17:27:05.031] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.031] { [17:27:05.031] inherits <- base::inherits [17:27:05.031] invokeRestart <- base::invokeRestart [17:27:05.031] is.null <- base::is.null [17:27:05.031] muffled <- FALSE [17:27:05.031] if (inherits(cond, "message")) { [17:27:05.031] muffled <- grepl(pattern, "muffleMessage") [17:27:05.031] if (muffled) [17:27:05.031] invokeRestart("muffleMessage") [17:27:05.031] } [17:27:05.031] else if (inherits(cond, "warning")) { [17:27:05.031] muffled <- grepl(pattern, "muffleWarning") [17:27:05.031] if (muffled) [17:27:05.031] invokeRestart("muffleWarning") [17:27:05.031] } [17:27:05.031] else if (inherits(cond, "condition")) { [17:27:05.031] if (!is.null(pattern)) { [17:27:05.031] computeRestarts <- base::computeRestarts [17:27:05.031] grepl <- base::grepl [17:27:05.031] restarts <- computeRestarts(cond) [17:27:05.031] for (restart in restarts) { [17:27:05.031] name <- restart$name [17:27:05.031] if (is.null(name)) [17:27:05.031] next [17:27:05.031] if (!grepl(pattern, name)) [17:27:05.031] next [17:27:05.031] invokeRestart(restart) [17:27:05.031] muffled <- TRUE [17:27:05.031] break [17:27:05.031] } [17:27:05.031] } [17:27:05.031] } [17:27:05.031] invisible(muffled) [17:27:05.031] } [17:27:05.031] muffleCondition(cond, pattern = "^muffle") [17:27:05.031] } [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] if (TRUE) { [17:27:05.031] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.031] { [17:27:05.031] inherits <- base::inherits [17:27:05.031] invokeRestart <- base::invokeRestart [17:27:05.031] is.null <- base::is.null [17:27:05.031] muffled <- FALSE [17:27:05.031] if (inherits(cond, "message")) { [17:27:05.031] muffled <- grepl(pattern, "muffleMessage") [17:27:05.031] if (muffled) [17:27:05.031] invokeRestart("muffleMessage") [17:27:05.031] } [17:27:05.031] else if (inherits(cond, "warning")) { [17:27:05.031] muffled <- grepl(pattern, "muffleWarning") [17:27:05.031] if (muffled) [17:27:05.031] invokeRestart("muffleWarning") [17:27:05.031] } [17:27:05.031] else if (inherits(cond, "condition")) { [17:27:05.031] if (!is.null(pattern)) { [17:27:05.031] computeRestarts <- base::computeRestarts [17:27:05.031] grepl <- base::grepl [17:27:05.031] restarts <- computeRestarts(cond) [17:27:05.031] for (restart in restarts) { [17:27:05.031] name <- restart$name [17:27:05.031] if (is.null(name)) [17:27:05.031] next [17:27:05.031] if (!grepl(pattern, name)) [17:27:05.031] next [17:27:05.031] invokeRestart(restart) [17:27:05.031] muffled <- TRUE [17:27:05.031] break [17:27:05.031] } [17:27:05.031] } [17:27:05.031] } [17:27:05.031] invisible(muffled) [17:27:05.031] } [17:27:05.031] muffleCondition(cond, pattern = "^muffle") [17:27:05.031] } [17:27:05.031] } [17:27:05.031] } [17:27:05.031] })) [17:27:05.031] }, error = function(ex) { [17:27:05.031] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.031] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.031] ...future.rng), started = ...future.startTime, [17:27:05.031] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.031] version = "1.8"), class = "FutureResult") [17:27:05.031] }, finally = { [17:27:05.031] if (!identical(...future.workdir, getwd())) [17:27:05.031] setwd(...future.workdir) [17:27:05.031] { [17:27:05.031] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.031] ...future.oldOptions$nwarnings <- NULL [17:27:05.031] } [17:27:05.031] base::options(...future.oldOptions) [17:27:05.031] if (.Platform$OS.type == "windows") { [17:27:05.031] old_names <- names(...future.oldEnvVars) [17:27:05.031] envs <- base::Sys.getenv() [17:27:05.031] names <- names(envs) [17:27:05.031] common <- intersect(names, old_names) [17:27:05.031] added <- setdiff(names, old_names) [17:27:05.031] removed <- setdiff(old_names, names) [17:27:05.031] changed <- common[...future.oldEnvVars[common] != [17:27:05.031] envs[common]] [17:27:05.031] NAMES <- toupper(changed) [17:27:05.031] args <- list() [17:27:05.031] for (kk in seq_along(NAMES)) { [17:27:05.031] name <- changed[[kk]] [17:27:05.031] NAME <- NAMES[[kk]] [17:27:05.031] if (name != NAME && is.element(NAME, old_names)) [17:27:05.031] next [17:27:05.031] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.031] } [17:27:05.031] NAMES <- toupper(added) [17:27:05.031] for (kk in seq_along(NAMES)) { [17:27:05.031] name <- added[[kk]] [17:27:05.031] NAME <- NAMES[[kk]] [17:27:05.031] if (name != NAME && is.element(NAME, old_names)) [17:27:05.031] next [17:27:05.031] args[[name]] <- "" [17:27:05.031] } [17:27:05.031] NAMES <- toupper(removed) [17:27:05.031] for (kk in seq_along(NAMES)) { [17:27:05.031] name <- removed[[kk]] [17:27:05.031] NAME <- NAMES[[kk]] [17:27:05.031] if (name != NAME && is.element(NAME, old_names)) [17:27:05.031] next [17:27:05.031] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.031] } [17:27:05.031] if (length(args) > 0) [17:27:05.031] base::do.call(base::Sys.setenv, args = args) [17:27:05.031] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.031] } [17:27:05.031] { [17:27:05.031] if (base::length(...future.futureOptionsAdded) > [17:27:05.031] 0L) { [17:27:05.031] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.031] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.031] base::options(opts) [17:27:05.031] } [17:27:05.031] { [17:27:05.031] { [17:27:05.031] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.031] NULL [17:27:05.031] } [17:27:05.031] options(future.plan = NULL) [17:27:05.031] if (is.na(NA_character_)) [17:27:05.031] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.031] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.031] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.031] .init = FALSE) [17:27:05.031] } [17:27:05.031] } [17:27:05.031] } [17:27:05.031] }) [17:27:05.031] if (TRUE) { [17:27:05.031] base::sink(type = "output", split = FALSE) [17:27:05.031] if (TRUE) { [17:27:05.031] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.031] } [17:27:05.031] else { [17:27:05.031] ...future.result["stdout"] <- base::list(NULL) [17:27:05.031] } [17:27:05.031] base::close(...future.stdout) [17:27:05.031] ...future.stdout <- NULL [17:27:05.031] } [17:27:05.031] ...future.result$conditions <- ...future.conditions [17:27:05.031] ...future.result$finished <- base::Sys.time() [17:27:05.031] ...future.result [17:27:05.031] } [17:27:05.037] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... [17:27:05.038] Exporting 'a' (10.05 KiB) to cluster node #2 ... [17:27:05.049] Exporting 'a' (10.05 KiB) to cluster node #2 ... DONE [17:27:05.050] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... DONE [17:27:05.050] MultisessionFuture started [17:27:05.050] - Launch lazy future ... done [17:27:05.051] run() for 'MultisessionFuture' ... done [17:27:05.051] result() for ClusterFuture ... [17:27:05.051] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.051] - Validating connection of MultisessionFuture [17:27:05.069] - received message: FutureResult [17:27:05.070] - Received FutureResult [17:27:05.070] - Erased future from FutureRegistry [17:27:05.070] result() for ClusterFuture ... [17:27:05.070] - result already collected: FutureResult [17:27:05.070] result() for ClusterFuture ... done [17:27:05.070] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.071] result() for ClusterFuture ... done [17:27:05.071] result() for ClusterFuture ... [17:27:05.071] - result already collected: FutureResult [17:27:05.071] result() for ClusterFuture ... done value(b) = 2 [17:27:05.071] result() for ClusterFuture ... [17:27:05.071] - result already collected: FutureResult [17:27:05.072] result() for ClusterFuture ... done [17:27:05.072] result() for ClusterFuture ... [17:27:05.072] - result already collected: FutureResult [17:27:05.072] 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:27:05.072] 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:27:05.073] 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:27:05.073] [17:27:05.074] Searching for globals ... DONE [17:27:05.074] - globals: [0] [17:27:05.074] getGlobalsAndPackages() ... DONE [17:27:05.074] run() for 'Future' ... [17:27:05.074] - state: 'created' [17:27:05.075] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.089] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.089] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.089] - Field: 'node' [17:27:05.089] - Field: 'label' [17:27:05.089] - Field: 'local' [17:27:05.090] - Field: 'owner' [17:27:05.090] - Field: 'envir' [17:27:05.090] - Field: 'workers' [17:27:05.090] - Field: 'packages' [17:27:05.090] - Field: 'gc' [17:27:05.091] - Field: 'conditions' [17:27:05.091] - Field: 'persistent' [17:27:05.091] - Field: 'expr' [17:27:05.091] - Field: 'uuid' [17:27:05.091] - Field: 'seed' [17:27:05.091] - Field: 'version' [17:27:05.092] - Field: 'result' [17:27:05.092] - Field: 'asynchronous' [17:27:05.092] - Field: 'calls' [17:27:05.092] - Field: 'globals' [17:27:05.092] - Field: 'stdout' [17:27:05.092] - Field: 'earlySignal' [17:27:05.093] - Field: 'lazy' [17:27:05.093] - Field: 'state' [17:27:05.093] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.093] - Launch lazy future ... [17:27:05.094] Packages needed by the future expression (n = 0): [17:27:05.094] Packages needed by future strategies (n = 0): [17:27:05.094] { [17:27:05.094] { [17:27:05.094] { [17:27:05.094] ...future.startTime <- base::Sys.time() [17:27:05.094] { [17:27:05.094] { [17:27:05.094] { [17:27:05.094] { [17:27:05.094] base::local({ [17:27:05.094] has_future <- base::requireNamespace("future", [17:27:05.094] quietly = TRUE) [17:27:05.094] if (has_future) { [17:27:05.094] ns <- base::getNamespace("future") [17:27:05.094] version <- ns[[".package"]][["version"]] [17:27:05.094] if (is.null(version)) [17:27:05.094] version <- utils::packageVersion("future") [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] version <- NULL [17:27:05.094] } [17:27:05.094] if (!has_future || version < "1.8.0") { [17:27:05.094] info <- base::c(r_version = base::gsub("R version ", [17:27:05.094] "", base::R.version$version.string), [17:27:05.094] platform = base::sprintf("%s (%s-bit)", [17:27:05.094] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.094] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.094] "release", "version")], collapse = " "), [17:27:05.094] hostname = base::Sys.info()[["nodename"]]) [17:27:05.094] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.094] info) [17:27:05.094] info <- base::paste(info, collapse = "; ") [17:27:05.094] if (!has_future) { [17:27:05.094] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.094] info) [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.094] info, version) [17:27:05.094] } [17:27:05.094] base::stop(msg) [17:27:05.094] } [17:27:05.094] }) [17:27:05.094] } [17:27:05.094] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.094] base::options(mc.cores = 1L) [17:27:05.094] } [17:27:05.094] ...future.strategy.old <- future::plan("list") [17:27:05.094] options(future.plan = NULL) [17:27:05.094] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.094] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.094] } [17:27:05.094] ...future.workdir <- getwd() [17:27:05.094] } [17:27:05.094] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.094] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.094] } [17:27:05.094] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.094] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.094] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.094] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.094] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.094] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.094] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.094] base::names(...future.oldOptions)) [17:27:05.094] } [17:27:05.094] if (FALSE) { [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] if (TRUE) { [17:27:05.094] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.094] open = "w") [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.094] windows = "NUL", "/dev/null"), open = "w") [17:27:05.094] } [17:27:05.094] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.094] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.094] base::sink(type = "output", split = FALSE) [17:27:05.094] base::close(...future.stdout) [17:27:05.094] }, add = TRUE) [17:27:05.094] } [17:27:05.094] ...future.frame <- base::sys.nframe() [17:27:05.094] ...future.conditions <- base::list() [17:27:05.094] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.094] if (FALSE) { [17:27:05.094] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.094] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.094] } [17:27:05.094] ...future.result <- base::tryCatch({ [17:27:05.094] base::withCallingHandlers({ [17:27:05.094] ...future.value <- base::withVisible(base::local({ [17:27:05.094] ...future.makeSendCondition <- base::local({ [17:27:05.094] sendCondition <- NULL [17:27:05.094] function(frame = 1L) { [17:27:05.094] if (is.function(sendCondition)) [17:27:05.094] return(sendCondition) [17:27:05.094] ns <- getNamespace("parallel") [17:27:05.094] if (exists("sendData", mode = "function", [17:27:05.094] envir = ns)) { [17:27:05.094] parallel_sendData <- get("sendData", mode = "function", [17:27:05.094] envir = ns) [17:27:05.094] envir <- sys.frame(frame) [17:27:05.094] master <- NULL [17:27:05.094] while (!identical(envir, .GlobalEnv) && [17:27:05.094] !identical(envir, emptyenv())) { [17:27:05.094] if (exists("master", mode = "list", envir = envir, [17:27:05.094] inherits = FALSE)) { [17:27:05.094] master <- get("master", mode = "list", [17:27:05.094] envir = envir, inherits = FALSE) [17:27:05.094] if (inherits(master, c("SOCKnode", [17:27:05.094] "SOCK0node"))) { [17:27:05.094] sendCondition <<- function(cond) { [17:27:05.094] data <- list(type = "VALUE", value = cond, [17:27:05.094] success = TRUE) [17:27:05.094] parallel_sendData(master, data) [17:27:05.094] } [17:27:05.094] return(sendCondition) [17:27:05.094] } [17:27:05.094] } [17:27:05.094] frame <- frame + 1L [17:27:05.094] envir <- sys.frame(frame) [17:27:05.094] } [17:27:05.094] } [17:27:05.094] sendCondition <<- function(cond) NULL [17:27:05.094] } [17:27:05.094] }) [17:27:05.094] withCallingHandlers({ [17:27:05.094] 1 [17:27:05.094] }, immediateCondition = function(cond) { [17:27:05.094] sendCondition <- ...future.makeSendCondition() [17:27:05.094] sendCondition(cond) [17:27:05.094] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.094] { [17:27:05.094] inherits <- base::inherits [17:27:05.094] invokeRestart <- base::invokeRestart [17:27:05.094] is.null <- base::is.null [17:27:05.094] muffled <- FALSE [17:27:05.094] if (inherits(cond, "message")) { [17:27:05.094] muffled <- grepl(pattern, "muffleMessage") [17:27:05.094] if (muffled) [17:27:05.094] invokeRestart("muffleMessage") [17:27:05.094] } [17:27:05.094] else if (inherits(cond, "warning")) { [17:27:05.094] muffled <- grepl(pattern, "muffleWarning") [17:27:05.094] if (muffled) [17:27:05.094] invokeRestart("muffleWarning") [17:27:05.094] } [17:27:05.094] else if (inherits(cond, "condition")) { [17:27:05.094] if (!is.null(pattern)) { [17:27:05.094] computeRestarts <- base::computeRestarts [17:27:05.094] grepl <- base::grepl [17:27:05.094] restarts <- computeRestarts(cond) [17:27:05.094] for (restart in restarts) { [17:27:05.094] name <- restart$name [17:27:05.094] if (is.null(name)) [17:27:05.094] next [17:27:05.094] if (!grepl(pattern, name)) [17:27:05.094] next [17:27:05.094] invokeRestart(restart) [17:27:05.094] muffled <- TRUE [17:27:05.094] break [17:27:05.094] } [17:27:05.094] } [17:27:05.094] } [17:27:05.094] invisible(muffled) [17:27:05.094] } [17:27:05.094] muffleCondition(cond) [17:27:05.094] }) [17:27:05.094] })) [17:27:05.094] future::FutureResult(value = ...future.value$value, [17:27:05.094] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.094] ...future.rng), globalenv = if (FALSE) [17:27:05.094] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.094] ...future.globalenv.names)) [17:27:05.094] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.094] }, condition = base::local({ [17:27:05.094] c <- base::c [17:27:05.094] inherits <- base::inherits [17:27:05.094] invokeRestart <- base::invokeRestart [17:27:05.094] length <- base::length [17:27:05.094] list <- base::list [17:27:05.094] seq.int <- base::seq.int [17:27:05.094] signalCondition <- base::signalCondition [17:27:05.094] sys.calls <- base::sys.calls [17:27:05.094] `[[` <- base::`[[` [17:27:05.094] `+` <- base::`+` [17:27:05.094] `<<-` <- base::`<<-` [17:27:05.094] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.094] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.094] 3L)] [17:27:05.094] } [17:27:05.094] function(cond) { [17:27:05.094] is_error <- inherits(cond, "error") [17:27:05.094] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.094] NULL) [17:27:05.094] if (is_error) { [17:27:05.094] sessionInformation <- function() { [17:27:05.094] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.094] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.094] search = base::search(), system = base::Sys.info()) [17:27:05.094] } [17:27:05.094] ...future.conditions[[length(...future.conditions) + [17:27:05.094] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.094] cond$call), session = sessionInformation(), [17:27:05.094] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.094] signalCondition(cond) [17:27:05.094] } [17:27:05.094] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.094] "immediateCondition"))) { [17:27:05.094] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.094] ...future.conditions[[length(...future.conditions) + [17:27:05.094] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.094] if (TRUE && !signal) { [17:27:05.094] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.094] { [17:27:05.094] inherits <- base::inherits [17:27:05.094] invokeRestart <- base::invokeRestart [17:27:05.094] is.null <- base::is.null [17:27:05.094] muffled <- FALSE [17:27:05.094] if (inherits(cond, "message")) { [17:27:05.094] muffled <- grepl(pattern, "muffleMessage") [17:27:05.094] if (muffled) [17:27:05.094] invokeRestart("muffleMessage") [17:27:05.094] } [17:27:05.094] else if (inherits(cond, "warning")) { [17:27:05.094] muffled <- grepl(pattern, "muffleWarning") [17:27:05.094] if (muffled) [17:27:05.094] invokeRestart("muffleWarning") [17:27:05.094] } [17:27:05.094] else if (inherits(cond, "condition")) { [17:27:05.094] if (!is.null(pattern)) { [17:27:05.094] computeRestarts <- base::computeRestarts [17:27:05.094] grepl <- base::grepl [17:27:05.094] restarts <- computeRestarts(cond) [17:27:05.094] for (restart in restarts) { [17:27:05.094] name <- restart$name [17:27:05.094] if (is.null(name)) [17:27:05.094] next [17:27:05.094] if (!grepl(pattern, name)) [17:27:05.094] next [17:27:05.094] invokeRestart(restart) [17:27:05.094] muffled <- TRUE [17:27:05.094] break [17:27:05.094] } [17:27:05.094] } [17:27:05.094] } [17:27:05.094] invisible(muffled) [17:27:05.094] } [17:27:05.094] muffleCondition(cond, pattern = "^muffle") [17:27:05.094] } [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] if (TRUE) { [17:27:05.094] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.094] { [17:27:05.094] inherits <- base::inherits [17:27:05.094] invokeRestart <- base::invokeRestart [17:27:05.094] is.null <- base::is.null [17:27:05.094] muffled <- FALSE [17:27:05.094] if (inherits(cond, "message")) { [17:27:05.094] muffled <- grepl(pattern, "muffleMessage") [17:27:05.094] if (muffled) [17:27:05.094] invokeRestart("muffleMessage") [17:27:05.094] } [17:27:05.094] else if (inherits(cond, "warning")) { [17:27:05.094] muffled <- grepl(pattern, "muffleWarning") [17:27:05.094] if (muffled) [17:27:05.094] invokeRestart("muffleWarning") [17:27:05.094] } [17:27:05.094] else if (inherits(cond, "condition")) { [17:27:05.094] if (!is.null(pattern)) { [17:27:05.094] computeRestarts <- base::computeRestarts [17:27:05.094] grepl <- base::grepl [17:27:05.094] restarts <- computeRestarts(cond) [17:27:05.094] for (restart in restarts) { [17:27:05.094] name <- restart$name [17:27:05.094] if (is.null(name)) [17:27:05.094] next [17:27:05.094] if (!grepl(pattern, name)) [17:27:05.094] next [17:27:05.094] invokeRestart(restart) [17:27:05.094] muffled <- TRUE [17:27:05.094] break [17:27:05.094] } [17:27:05.094] } [17:27:05.094] } [17:27:05.094] invisible(muffled) [17:27:05.094] } [17:27:05.094] muffleCondition(cond, pattern = "^muffle") [17:27:05.094] } [17:27:05.094] } [17:27:05.094] } [17:27:05.094] })) [17:27:05.094] }, error = function(ex) { [17:27:05.094] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.094] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.094] ...future.rng), started = ...future.startTime, [17:27:05.094] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.094] version = "1.8"), class = "FutureResult") [17:27:05.094] }, finally = { [17:27:05.094] if (!identical(...future.workdir, getwd())) [17:27:05.094] setwd(...future.workdir) [17:27:05.094] { [17:27:05.094] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.094] ...future.oldOptions$nwarnings <- NULL [17:27:05.094] } [17:27:05.094] base::options(...future.oldOptions) [17:27:05.094] if (.Platform$OS.type == "windows") { [17:27:05.094] old_names <- names(...future.oldEnvVars) [17:27:05.094] envs <- base::Sys.getenv() [17:27:05.094] names <- names(envs) [17:27:05.094] common <- intersect(names, old_names) [17:27:05.094] added <- setdiff(names, old_names) [17:27:05.094] removed <- setdiff(old_names, names) [17:27:05.094] changed <- common[...future.oldEnvVars[common] != [17:27:05.094] envs[common]] [17:27:05.094] NAMES <- toupper(changed) [17:27:05.094] args <- list() [17:27:05.094] for (kk in seq_along(NAMES)) { [17:27:05.094] name <- changed[[kk]] [17:27:05.094] NAME <- NAMES[[kk]] [17:27:05.094] if (name != NAME && is.element(NAME, old_names)) [17:27:05.094] next [17:27:05.094] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.094] } [17:27:05.094] NAMES <- toupper(added) [17:27:05.094] for (kk in seq_along(NAMES)) { [17:27:05.094] name <- added[[kk]] [17:27:05.094] NAME <- NAMES[[kk]] [17:27:05.094] if (name != NAME && is.element(NAME, old_names)) [17:27:05.094] next [17:27:05.094] args[[name]] <- "" [17:27:05.094] } [17:27:05.094] NAMES <- toupper(removed) [17:27:05.094] for (kk in seq_along(NAMES)) { [17:27:05.094] name <- removed[[kk]] [17:27:05.094] NAME <- NAMES[[kk]] [17:27:05.094] if (name != NAME && is.element(NAME, old_names)) [17:27:05.094] next [17:27:05.094] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.094] } [17:27:05.094] if (length(args) > 0) [17:27:05.094] base::do.call(base::Sys.setenv, args = args) [17:27:05.094] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.094] } [17:27:05.094] { [17:27:05.094] if (base::length(...future.futureOptionsAdded) > [17:27:05.094] 0L) { [17:27:05.094] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.094] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.094] base::options(opts) [17:27:05.094] } [17:27:05.094] { [17:27:05.094] { [17:27:05.094] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.094] NULL [17:27:05.094] } [17:27:05.094] options(future.plan = NULL) [17:27:05.094] if (is.na(NA_character_)) [17:27:05.094] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.094] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.094] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.094] .init = FALSE) [17:27:05.094] } [17:27:05.094] } [17:27:05.094] } [17:27:05.094] }) [17:27:05.094] if (TRUE) { [17:27:05.094] base::sink(type = "output", split = FALSE) [17:27:05.094] if (TRUE) { [17:27:05.094] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.094] } [17:27:05.094] else { [17:27:05.094] ...future.result["stdout"] <- base::list(NULL) [17:27:05.094] } [17:27:05.094] base::close(...future.stdout) [17:27:05.094] ...future.stdout <- NULL [17:27:05.094] } [17:27:05.094] ...future.result$conditions <- ...future.conditions [17:27:05.094] ...future.result$finished <- base::Sys.time() [17:27:05.094] ...future.result [17:27:05.094] } [17:27:05.100] MultisessionFuture started [17:27:05.100] - Launch lazy future ... done [17:27:05.100] 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:27:05.100] 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:27:05.101] 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:27:05.102] - globals found: [3] '+', 'value', 'a' [17:27:05.102] Searching for globals ... DONE [17:27:05.102] Resolving globals: TRUE [17:27:05.102] Resolving any globals that are futures ... [17:27:05.103] - globals: [3] '+', 'value', 'a' [17:27:05.103] Resolving any globals that are futures ... DONE [17:27:05.103] Resolving futures part of globals (recursively) ... [17:27:05.104] resolve() on list ... [17:27:05.104] recursive: 99 [17:27:05.104] length: 1 [17:27:05.104] elements: 'a' [17:27:05.114] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.115] - Validating connection of MultisessionFuture [17:27:05.115] - received message: FutureResult [17:27:05.115] - Received FutureResult [17:27:05.115] - Erased future from FutureRegistry [17:27:05.115] result() for ClusterFuture ... [17:27:05.115] - result already collected: FutureResult [17:27:05.116] result() for ClusterFuture ... done [17:27:05.116] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.116] Future #1 [17:27:05.116] result() for ClusterFuture ... [17:27:05.116] - result already collected: FutureResult [17:27:05.116] result() for ClusterFuture ... done [17:27:05.117] result() for ClusterFuture ... [17:27:05.117] - result already collected: FutureResult [17:27:05.117] result() for ClusterFuture ... done [17:27:05.117] A MultisessionFuture was resolved [17:27:05.117] length: 0 (resolved future 1) [17:27:05.117] resolve() on list ... DONE [17:27:05.118] - globals: [1] 'a' [17:27:05.118] Resolving futures part of globals (recursively) ... DONE [17:27:05.119] The total size of the 1 globals is 10.05 KiB (10296 bytes) [17:27:05.119] The total size of the 1 globals exported for future expression ('value(a) + 1') is 10.05 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (10.05 KiB of class 'environment') [17:27:05.120] - globals: [1] 'a' [17:27:05.120] - packages: [1] 'future' [17:27:05.120] getGlobalsAndPackages() ... DONE [17:27:05.120] run() for 'Future' ... [17:27:05.120] - state: 'created' [17:27:05.121] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.134] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.134] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.135] - Field: 'node' [17:27:05.135] - Field: 'label' [17:27:05.135] - Field: 'local' [17:27:05.135] - Field: 'owner' [17:27:05.135] - Field: 'envir' [17:27:05.135] - Field: 'workers' [17:27:05.136] - Field: 'packages' [17:27:05.136] - Field: 'gc' [17:27:05.136] - Field: 'conditions' [17:27:05.136] - Field: 'persistent' [17:27:05.136] - Field: 'expr' [17:27:05.137] - Field: 'uuid' [17:27:05.137] - Field: 'seed' [17:27:05.137] - Field: 'version' [17:27:05.137] - Field: 'result' [17:27:05.137] - Field: 'asynchronous' [17:27:05.137] - Field: 'calls' [17:27:05.138] - Field: 'globals' [17:27:05.138] - Field: 'stdout' [17:27:05.138] - Field: 'earlySignal' [17:27:05.138] - Field: 'lazy' [17:27:05.138] - Field: 'state' [17:27:05.138] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.139] - Launch lazy future ... [17:27:05.139] Packages needed by the future expression (n = 1): 'future' [17:27:05.139] Packages needed by future strategies (n = 0): [17:27:05.140] { [17:27:05.140] { [17:27:05.140] { [17:27:05.140] ...future.startTime <- base::Sys.time() [17:27:05.140] { [17:27:05.140] { [17:27:05.140] { [17:27:05.140] { [17:27:05.140] { [17:27:05.140] base::local({ [17:27:05.140] has_future <- base::requireNamespace("future", [17:27:05.140] quietly = TRUE) [17:27:05.140] if (has_future) { [17:27:05.140] ns <- base::getNamespace("future") [17:27:05.140] version <- ns[[".package"]][["version"]] [17:27:05.140] if (is.null(version)) [17:27:05.140] version <- utils::packageVersion("future") [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] version <- NULL [17:27:05.140] } [17:27:05.140] if (!has_future || version < "1.8.0") { [17:27:05.140] info <- base::c(r_version = base::gsub("R version ", [17:27:05.140] "", base::R.version$version.string), [17:27:05.140] platform = base::sprintf("%s (%s-bit)", [17:27:05.140] base::R.version$platform, 8 * [17:27:05.140] base::.Machine$sizeof.pointer), [17:27:05.140] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.140] "release", "version")], collapse = " "), [17:27:05.140] hostname = base::Sys.info()[["nodename"]]) [17:27:05.140] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.140] info) [17:27:05.140] info <- base::paste(info, collapse = "; ") [17:27:05.140] if (!has_future) { [17:27:05.140] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.140] info) [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.140] info, version) [17:27:05.140] } [17:27:05.140] base::stop(msg) [17:27:05.140] } [17:27:05.140] }) [17:27:05.140] } [17:27:05.140] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.140] base::options(mc.cores = 1L) [17:27:05.140] } [17:27:05.140] base::local({ [17:27:05.140] for (pkg in "future") { [17:27:05.140] base::loadNamespace(pkg) [17:27:05.140] base::library(pkg, character.only = TRUE) [17:27:05.140] } [17:27:05.140] }) [17:27:05.140] } [17:27:05.140] ...future.strategy.old <- future::plan("list") [17:27:05.140] options(future.plan = NULL) [17:27:05.140] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.140] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.140] } [17:27:05.140] ...future.workdir <- getwd() [17:27:05.140] } [17:27:05.140] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.140] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.140] } [17:27:05.140] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.140] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.140] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.140] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.140] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.140] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.140] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.140] base::names(...future.oldOptions)) [17:27:05.140] } [17:27:05.140] if (FALSE) { [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] if (TRUE) { [17:27:05.140] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.140] open = "w") [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.140] windows = "NUL", "/dev/null"), open = "w") [17:27:05.140] } [17:27:05.140] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.140] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.140] base::sink(type = "output", split = FALSE) [17:27:05.140] base::close(...future.stdout) [17:27:05.140] }, add = TRUE) [17:27:05.140] } [17:27:05.140] ...future.frame <- base::sys.nframe() [17:27:05.140] ...future.conditions <- base::list() [17:27:05.140] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.140] if (FALSE) { [17:27:05.140] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.140] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.140] } [17:27:05.140] ...future.result <- base::tryCatch({ [17:27:05.140] base::withCallingHandlers({ [17:27:05.140] ...future.value <- base::withVisible(base::local({ [17:27:05.140] ...future.makeSendCondition <- base::local({ [17:27:05.140] sendCondition <- NULL [17:27:05.140] function(frame = 1L) { [17:27:05.140] if (is.function(sendCondition)) [17:27:05.140] return(sendCondition) [17:27:05.140] ns <- getNamespace("parallel") [17:27:05.140] if (exists("sendData", mode = "function", [17:27:05.140] envir = ns)) { [17:27:05.140] parallel_sendData <- get("sendData", mode = "function", [17:27:05.140] envir = ns) [17:27:05.140] envir <- sys.frame(frame) [17:27:05.140] master <- NULL [17:27:05.140] while (!identical(envir, .GlobalEnv) && [17:27:05.140] !identical(envir, emptyenv())) { [17:27:05.140] if (exists("master", mode = "list", envir = envir, [17:27:05.140] inherits = FALSE)) { [17:27:05.140] master <- get("master", mode = "list", [17:27:05.140] envir = envir, inherits = FALSE) [17:27:05.140] if (inherits(master, c("SOCKnode", [17:27:05.140] "SOCK0node"))) { [17:27:05.140] sendCondition <<- function(cond) { [17:27:05.140] data <- list(type = "VALUE", value = cond, [17:27:05.140] success = TRUE) [17:27:05.140] parallel_sendData(master, data) [17:27:05.140] } [17:27:05.140] return(sendCondition) [17:27:05.140] } [17:27:05.140] } [17:27:05.140] frame <- frame + 1L [17:27:05.140] envir <- sys.frame(frame) [17:27:05.140] } [17:27:05.140] } [17:27:05.140] sendCondition <<- function(cond) NULL [17:27:05.140] } [17:27:05.140] }) [17:27:05.140] withCallingHandlers({ [17:27:05.140] value(a) + 1 [17:27:05.140] }, immediateCondition = function(cond) { [17:27:05.140] sendCondition <- ...future.makeSendCondition() [17:27:05.140] sendCondition(cond) [17:27:05.140] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.140] { [17:27:05.140] inherits <- base::inherits [17:27:05.140] invokeRestart <- base::invokeRestart [17:27:05.140] is.null <- base::is.null [17:27:05.140] muffled <- FALSE [17:27:05.140] if (inherits(cond, "message")) { [17:27:05.140] muffled <- grepl(pattern, "muffleMessage") [17:27:05.140] if (muffled) [17:27:05.140] invokeRestart("muffleMessage") [17:27:05.140] } [17:27:05.140] else if (inherits(cond, "warning")) { [17:27:05.140] muffled <- grepl(pattern, "muffleWarning") [17:27:05.140] if (muffled) [17:27:05.140] invokeRestart("muffleWarning") [17:27:05.140] } [17:27:05.140] else if (inherits(cond, "condition")) { [17:27:05.140] if (!is.null(pattern)) { [17:27:05.140] computeRestarts <- base::computeRestarts [17:27:05.140] grepl <- base::grepl [17:27:05.140] restarts <- computeRestarts(cond) [17:27:05.140] for (restart in restarts) { [17:27:05.140] name <- restart$name [17:27:05.140] if (is.null(name)) [17:27:05.140] next [17:27:05.140] if (!grepl(pattern, name)) [17:27:05.140] next [17:27:05.140] invokeRestart(restart) [17:27:05.140] muffled <- TRUE [17:27:05.140] break [17:27:05.140] } [17:27:05.140] } [17:27:05.140] } [17:27:05.140] invisible(muffled) [17:27:05.140] } [17:27:05.140] muffleCondition(cond) [17:27:05.140] }) [17:27:05.140] })) [17:27:05.140] future::FutureResult(value = ...future.value$value, [17:27:05.140] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.140] ...future.rng), globalenv = if (FALSE) [17:27:05.140] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.140] ...future.globalenv.names)) [17:27:05.140] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.140] }, condition = base::local({ [17:27:05.140] c <- base::c [17:27:05.140] inherits <- base::inherits [17:27:05.140] invokeRestart <- base::invokeRestart [17:27:05.140] length <- base::length [17:27:05.140] list <- base::list [17:27:05.140] seq.int <- base::seq.int [17:27:05.140] signalCondition <- base::signalCondition [17:27:05.140] sys.calls <- base::sys.calls [17:27:05.140] `[[` <- base::`[[` [17:27:05.140] `+` <- base::`+` [17:27:05.140] `<<-` <- base::`<<-` [17:27:05.140] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.140] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.140] 3L)] [17:27:05.140] } [17:27:05.140] function(cond) { [17:27:05.140] is_error <- inherits(cond, "error") [17:27:05.140] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.140] NULL) [17:27:05.140] if (is_error) { [17:27:05.140] sessionInformation <- function() { [17:27:05.140] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.140] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.140] search = base::search(), system = base::Sys.info()) [17:27:05.140] } [17:27:05.140] ...future.conditions[[length(...future.conditions) + [17:27:05.140] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.140] cond$call), session = sessionInformation(), [17:27:05.140] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.140] signalCondition(cond) [17:27:05.140] } [17:27:05.140] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.140] "immediateCondition"))) { [17:27:05.140] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.140] ...future.conditions[[length(...future.conditions) + [17:27:05.140] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.140] if (TRUE && !signal) { [17:27:05.140] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.140] { [17:27:05.140] inherits <- base::inherits [17:27:05.140] invokeRestart <- base::invokeRestart [17:27:05.140] is.null <- base::is.null [17:27:05.140] muffled <- FALSE [17:27:05.140] if (inherits(cond, "message")) { [17:27:05.140] muffled <- grepl(pattern, "muffleMessage") [17:27:05.140] if (muffled) [17:27:05.140] invokeRestart("muffleMessage") [17:27:05.140] } [17:27:05.140] else if (inherits(cond, "warning")) { [17:27:05.140] muffled <- grepl(pattern, "muffleWarning") [17:27:05.140] if (muffled) [17:27:05.140] invokeRestart("muffleWarning") [17:27:05.140] } [17:27:05.140] else if (inherits(cond, "condition")) { [17:27:05.140] if (!is.null(pattern)) { [17:27:05.140] computeRestarts <- base::computeRestarts [17:27:05.140] grepl <- base::grepl [17:27:05.140] restarts <- computeRestarts(cond) [17:27:05.140] for (restart in restarts) { [17:27:05.140] name <- restart$name [17:27:05.140] if (is.null(name)) [17:27:05.140] next [17:27:05.140] if (!grepl(pattern, name)) [17:27:05.140] next [17:27:05.140] invokeRestart(restart) [17:27:05.140] muffled <- TRUE [17:27:05.140] break [17:27:05.140] } [17:27:05.140] } [17:27:05.140] } [17:27:05.140] invisible(muffled) [17:27:05.140] } [17:27:05.140] muffleCondition(cond, pattern = "^muffle") [17:27:05.140] } [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] if (TRUE) { [17:27:05.140] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.140] { [17:27:05.140] inherits <- base::inherits [17:27:05.140] invokeRestart <- base::invokeRestart [17:27:05.140] is.null <- base::is.null [17:27:05.140] muffled <- FALSE [17:27:05.140] if (inherits(cond, "message")) { [17:27:05.140] muffled <- grepl(pattern, "muffleMessage") [17:27:05.140] if (muffled) [17:27:05.140] invokeRestart("muffleMessage") [17:27:05.140] } [17:27:05.140] else if (inherits(cond, "warning")) { [17:27:05.140] muffled <- grepl(pattern, "muffleWarning") [17:27:05.140] if (muffled) [17:27:05.140] invokeRestart("muffleWarning") [17:27:05.140] } [17:27:05.140] else if (inherits(cond, "condition")) { [17:27:05.140] if (!is.null(pattern)) { [17:27:05.140] computeRestarts <- base::computeRestarts [17:27:05.140] grepl <- base::grepl [17:27:05.140] restarts <- computeRestarts(cond) [17:27:05.140] for (restart in restarts) { [17:27:05.140] name <- restart$name [17:27:05.140] if (is.null(name)) [17:27:05.140] next [17:27:05.140] if (!grepl(pattern, name)) [17:27:05.140] next [17:27:05.140] invokeRestart(restart) [17:27:05.140] muffled <- TRUE [17:27:05.140] break [17:27:05.140] } [17:27:05.140] } [17:27:05.140] } [17:27:05.140] invisible(muffled) [17:27:05.140] } [17:27:05.140] muffleCondition(cond, pattern = "^muffle") [17:27:05.140] } [17:27:05.140] } [17:27:05.140] } [17:27:05.140] })) [17:27:05.140] }, error = function(ex) { [17:27:05.140] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.140] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.140] ...future.rng), started = ...future.startTime, [17:27:05.140] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.140] version = "1.8"), class = "FutureResult") [17:27:05.140] }, finally = { [17:27:05.140] if (!identical(...future.workdir, getwd())) [17:27:05.140] setwd(...future.workdir) [17:27:05.140] { [17:27:05.140] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.140] ...future.oldOptions$nwarnings <- NULL [17:27:05.140] } [17:27:05.140] base::options(...future.oldOptions) [17:27:05.140] if (.Platform$OS.type == "windows") { [17:27:05.140] old_names <- names(...future.oldEnvVars) [17:27:05.140] envs <- base::Sys.getenv() [17:27:05.140] names <- names(envs) [17:27:05.140] common <- intersect(names, old_names) [17:27:05.140] added <- setdiff(names, old_names) [17:27:05.140] removed <- setdiff(old_names, names) [17:27:05.140] changed <- common[...future.oldEnvVars[common] != [17:27:05.140] envs[common]] [17:27:05.140] NAMES <- toupper(changed) [17:27:05.140] args <- list() [17:27:05.140] for (kk in seq_along(NAMES)) { [17:27:05.140] name <- changed[[kk]] [17:27:05.140] NAME <- NAMES[[kk]] [17:27:05.140] if (name != NAME && is.element(NAME, old_names)) [17:27:05.140] next [17:27:05.140] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.140] } [17:27:05.140] NAMES <- toupper(added) [17:27:05.140] for (kk in seq_along(NAMES)) { [17:27:05.140] name <- added[[kk]] [17:27:05.140] NAME <- NAMES[[kk]] [17:27:05.140] if (name != NAME && is.element(NAME, old_names)) [17:27:05.140] next [17:27:05.140] args[[name]] <- "" [17:27:05.140] } [17:27:05.140] NAMES <- toupper(removed) [17:27:05.140] for (kk in seq_along(NAMES)) { [17:27:05.140] name <- removed[[kk]] [17:27:05.140] NAME <- NAMES[[kk]] [17:27:05.140] if (name != NAME && is.element(NAME, old_names)) [17:27:05.140] next [17:27:05.140] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.140] } [17:27:05.140] if (length(args) > 0) [17:27:05.140] base::do.call(base::Sys.setenv, args = args) [17:27:05.140] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.140] } [17:27:05.140] { [17:27:05.140] if (base::length(...future.futureOptionsAdded) > [17:27:05.140] 0L) { [17:27:05.140] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.140] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.140] base::options(opts) [17:27:05.140] } [17:27:05.140] { [17:27:05.140] { [17:27:05.140] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.140] NULL [17:27:05.140] } [17:27:05.140] options(future.plan = NULL) [17:27:05.140] if (is.na(NA_character_)) [17:27:05.140] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.140] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.140] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.140] .init = FALSE) [17:27:05.140] } [17:27:05.140] } [17:27:05.140] } [17:27:05.140] }) [17:27:05.140] if (TRUE) { [17:27:05.140] base::sink(type = "output", split = FALSE) [17:27:05.140] if (TRUE) { [17:27:05.140] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.140] } [17:27:05.140] else { [17:27:05.140] ...future.result["stdout"] <- base::list(NULL) [17:27:05.140] } [17:27:05.140] base::close(...future.stdout) [17:27:05.140] ...future.stdout <- NULL [17:27:05.140] } [17:27:05.140] ...future.result$conditions <- ...future.conditions [17:27:05.140] ...future.result$finished <- base::Sys.time() [17:27:05.140] ...future.result [17:27:05.140] } [17:27:05.145] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... [17:27:05.146] Exporting 'a' (10.05 KiB) to cluster node #2 ... [17:27:05.157] Exporting 'a' (10.05 KiB) to cluster node #2 ... DONE [17:27:05.157] Exporting 1 global objects (10.05 KiB) to cluster node #2 ... DONE [17:27:05.158] MultisessionFuture started [17:27:05.158] - Launch lazy future ... done [17:27:05.158] run() for 'MultisessionFuture' ... done [17:27:05.159] result() for ClusterFuture ... [17:27:05.159] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.159] - Validating connection of MultisessionFuture [17:27:05.173] - received message: FutureResult [17:27:05.173] - Received FutureResult [17:27:05.173] - Erased future from FutureRegistry [17:27:05.173] result() for ClusterFuture ... [17:27:05.174] - result already collected: FutureResult [17:27:05.174] result() for ClusterFuture ... done [17:27:05.174] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.174] result() for ClusterFuture ... done [17:27:05.174] result() for ClusterFuture ... [17:27:05.174] - result already collected: FutureResult [17:27:05.174] result() for ClusterFuture ... done value(b) = 2 [17:27:05.175] result() for ClusterFuture ... [17:27:05.175] - result already collected: FutureResult [17:27:05.175] result() for ClusterFuture ... done [17:27:05.175] result() for ClusterFuture ... [17:27:05.175] - result already collected: FutureResult [17:27:05.176] 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:27:05.176] 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:27:05.176] 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:27:05.177] [17:27:05.177] Searching for globals ... DONE [17:27:05.177] - globals: [0] [17:27:05.177] 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:27:05.178] 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:27:05.178] 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:27:05.179] - globals found: [3] '+', 'value', 'a' [17:27:05.180] Searching for globals ... DONE [17:27:05.180] Resolving globals: TRUE [17:27:05.180] Resolving any globals that are futures ... [17:27:05.180] - globals: [3] '+', 'value', 'a' [17:27:05.180] Resolving any globals that are futures ... DONE [17:27:05.181] Resolving futures part of globals (recursively) ... [17:27:05.181] resolve() on list ... [17:27:05.181] recursive: 99 [17:27:05.181] length: 1 [17:27:05.182] elements: 'a' [17:27:05.182] run() for 'Future' ... [17:27:05.182] - state: 'created' [17:27:05.182] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.196] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.196] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.196] - Field: 'node' [17:27:05.196] - Field: 'label' [17:27:05.197] - Field: 'local' [17:27:05.197] - Field: 'owner' [17:27:05.197] - Field: 'envir' [17:27:05.197] - Field: 'workers' [17:27:05.197] - Field: 'packages' [17:27:05.197] - Field: 'gc' [17:27:05.198] - Field: 'conditions' [17:27:05.198] - Field: 'persistent' [17:27:05.198] - Field: 'expr' [17:27:05.198] - Field: 'uuid' [17:27:05.198] - Field: 'seed' [17:27:05.198] - Field: 'version' [17:27:05.199] - Field: 'result' [17:27:05.199] - Field: 'asynchronous' [17:27:05.199] - Field: 'calls' [17:27:05.199] - Field: 'globals' [17:27:05.199] - Field: 'stdout' [17:27:05.199] - Field: 'earlySignal' [17:27:05.200] - Field: 'lazy' [17:27:05.200] - Field: 'state' [17:27:05.200] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.200] - Launch lazy future ... [17:27:05.200] Packages needed by the future expression (n = 0): [17:27:05.201] Packages needed by future strategies (n = 0): [17:27:05.201] { [17:27:05.201] { [17:27:05.201] { [17:27:05.201] ...future.startTime <- base::Sys.time() [17:27:05.201] { [17:27:05.201] { [17:27:05.201] { [17:27:05.201] { [17:27:05.201] base::local({ [17:27:05.201] has_future <- base::requireNamespace("future", [17:27:05.201] quietly = TRUE) [17:27:05.201] if (has_future) { [17:27:05.201] ns <- base::getNamespace("future") [17:27:05.201] version <- ns[[".package"]][["version"]] [17:27:05.201] if (is.null(version)) [17:27:05.201] version <- utils::packageVersion("future") [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] version <- NULL [17:27:05.201] } [17:27:05.201] if (!has_future || version < "1.8.0") { [17:27:05.201] info <- base::c(r_version = base::gsub("R version ", [17:27:05.201] "", base::R.version$version.string), [17:27:05.201] platform = base::sprintf("%s (%s-bit)", [17:27:05.201] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.201] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.201] "release", "version")], collapse = " "), [17:27:05.201] hostname = base::Sys.info()[["nodename"]]) [17:27:05.201] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.201] info) [17:27:05.201] info <- base::paste(info, collapse = "; ") [17:27:05.201] if (!has_future) { [17:27:05.201] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.201] info) [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.201] info, version) [17:27:05.201] } [17:27:05.201] base::stop(msg) [17:27:05.201] } [17:27:05.201] }) [17:27:05.201] } [17:27:05.201] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.201] base::options(mc.cores = 1L) [17:27:05.201] } [17:27:05.201] ...future.strategy.old <- future::plan("list") [17:27:05.201] options(future.plan = NULL) [17:27:05.201] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.201] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.201] } [17:27:05.201] ...future.workdir <- getwd() [17:27:05.201] } [17:27:05.201] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.201] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.201] } [17:27:05.201] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.201] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.201] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.201] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.201] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.201] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.201] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.201] base::names(...future.oldOptions)) [17:27:05.201] } [17:27:05.201] if (FALSE) { [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] if (TRUE) { [17:27:05.201] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.201] open = "w") [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.201] windows = "NUL", "/dev/null"), open = "w") [17:27:05.201] } [17:27:05.201] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.201] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.201] base::sink(type = "output", split = FALSE) [17:27:05.201] base::close(...future.stdout) [17:27:05.201] }, add = TRUE) [17:27:05.201] } [17:27:05.201] ...future.frame <- base::sys.nframe() [17:27:05.201] ...future.conditions <- base::list() [17:27:05.201] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.201] if (FALSE) { [17:27:05.201] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.201] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.201] } [17:27:05.201] ...future.result <- base::tryCatch({ [17:27:05.201] base::withCallingHandlers({ [17:27:05.201] ...future.value <- base::withVisible(base::local({ [17:27:05.201] ...future.makeSendCondition <- base::local({ [17:27:05.201] sendCondition <- NULL [17:27:05.201] function(frame = 1L) { [17:27:05.201] if (is.function(sendCondition)) [17:27:05.201] return(sendCondition) [17:27:05.201] ns <- getNamespace("parallel") [17:27:05.201] if (exists("sendData", mode = "function", [17:27:05.201] envir = ns)) { [17:27:05.201] parallel_sendData <- get("sendData", mode = "function", [17:27:05.201] envir = ns) [17:27:05.201] envir <- sys.frame(frame) [17:27:05.201] master <- NULL [17:27:05.201] while (!identical(envir, .GlobalEnv) && [17:27:05.201] !identical(envir, emptyenv())) { [17:27:05.201] if (exists("master", mode = "list", envir = envir, [17:27:05.201] inherits = FALSE)) { [17:27:05.201] master <- get("master", mode = "list", [17:27:05.201] envir = envir, inherits = FALSE) [17:27:05.201] if (inherits(master, c("SOCKnode", [17:27:05.201] "SOCK0node"))) { [17:27:05.201] sendCondition <<- function(cond) { [17:27:05.201] data <- list(type = "VALUE", value = cond, [17:27:05.201] success = TRUE) [17:27:05.201] parallel_sendData(master, data) [17:27:05.201] } [17:27:05.201] return(sendCondition) [17:27:05.201] } [17:27:05.201] } [17:27:05.201] frame <- frame + 1L [17:27:05.201] envir <- sys.frame(frame) [17:27:05.201] } [17:27:05.201] } [17:27:05.201] sendCondition <<- function(cond) NULL [17:27:05.201] } [17:27:05.201] }) [17:27:05.201] withCallingHandlers({ [17:27:05.201] 1 [17:27:05.201] }, immediateCondition = function(cond) { [17:27:05.201] sendCondition <- ...future.makeSendCondition() [17:27:05.201] sendCondition(cond) [17:27:05.201] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.201] { [17:27:05.201] inherits <- base::inherits [17:27:05.201] invokeRestart <- base::invokeRestart [17:27:05.201] is.null <- base::is.null [17:27:05.201] muffled <- FALSE [17:27:05.201] if (inherits(cond, "message")) { [17:27:05.201] muffled <- grepl(pattern, "muffleMessage") [17:27:05.201] if (muffled) [17:27:05.201] invokeRestart("muffleMessage") [17:27:05.201] } [17:27:05.201] else if (inherits(cond, "warning")) { [17:27:05.201] muffled <- grepl(pattern, "muffleWarning") [17:27:05.201] if (muffled) [17:27:05.201] invokeRestart("muffleWarning") [17:27:05.201] } [17:27:05.201] else if (inherits(cond, "condition")) { [17:27:05.201] if (!is.null(pattern)) { [17:27:05.201] computeRestarts <- base::computeRestarts [17:27:05.201] grepl <- base::grepl [17:27:05.201] restarts <- computeRestarts(cond) [17:27:05.201] for (restart in restarts) { [17:27:05.201] name <- restart$name [17:27:05.201] if (is.null(name)) [17:27:05.201] next [17:27:05.201] if (!grepl(pattern, name)) [17:27:05.201] next [17:27:05.201] invokeRestart(restart) [17:27:05.201] muffled <- TRUE [17:27:05.201] break [17:27:05.201] } [17:27:05.201] } [17:27:05.201] } [17:27:05.201] invisible(muffled) [17:27:05.201] } [17:27:05.201] muffleCondition(cond) [17:27:05.201] }) [17:27:05.201] })) [17:27:05.201] future::FutureResult(value = ...future.value$value, [17:27:05.201] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.201] ...future.rng), globalenv = if (FALSE) [17:27:05.201] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.201] ...future.globalenv.names)) [17:27:05.201] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.201] }, condition = base::local({ [17:27:05.201] c <- base::c [17:27:05.201] inherits <- base::inherits [17:27:05.201] invokeRestart <- base::invokeRestart [17:27:05.201] length <- base::length [17:27:05.201] list <- base::list [17:27:05.201] seq.int <- base::seq.int [17:27:05.201] signalCondition <- base::signalCondition [17:27:05.201] sys.calls <- base::sys.calls [17:27:05.201] `[[` <- base::`[[` [17:27:05.201] `+` <- base::`+` [17:27:05.201] `<<-` <- base::`<<-` [17:27:05.201] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.201] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.201] 3L)] [17:27:05.201] } [17:27:05.201] function(cond) { [17:27:05.201] is_error <- inherits(cond, "error") [17:27:05.201] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.201] NULL) [17:27:05.201] if (is_error) { [17:27:05.201] sessionInformation <- function() { [17:27:05.201] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.201] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.201] search = base::search(), system = base::Sys.info()) [17:27:05.201] } [17:27:05.201] ...future.conditions[[length(...future.conditions) + [17:27:05.201] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.201] cond$call), session = sessionInformation(), [17:27:05.201] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.201] signalCondition(cond) [17:27:05.201] } [17:27:05.201] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.201] "immediateCondition"))) { [17:27:05.201] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.201] ...future.conditions[[length(...future.conditions) + [17:27:05.201] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.201] if (TRUE && !signal) { [17:27:05.201] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.201] { [17:27:05.201] inherits <- base::inherits [17:27:05.201] invokeRestart <- base::invokeRestart [17:27:05.201] is.null <- base::is.null [17:27:05.201] muffled <- FALSE [17:27:05.201] if (inherits(cond, "message")) { [17:27:05.201] muffled <- grepl(pattern, "muffleMessage") [17:27:05.201] if (muffled) [17:27:05.201] invokeRestart("muffleMessage") [17:27:05.201] } [17:27:05.201] else if (inherits(cond, "warning")) { [17:27:05.201] muffled <- grepl(pattern, "muffleWarning") [17:27:05.201] if (muffled) [17:27:05.201] invokeRestart("muffleWarning") [17:27:05.201] } [17:27:05.201] else if (inherits(cond, "condition")) { [17:27:05.201] if (!is.null(pattern)) { [17:27:05.201] computeRestarts <- base::computeRestarts [17:27:05.201] grepl <- base::grepl [17:27:05.201] restarts <- computeRestarts(cond) [17:27:05.201] for (restart in restarts) { [17:27:05.201] name <- restart$name [17:27:05.201] if (is.null(name)) [17:27:05.201] next [17:27:05.201] if (!grepl(pattern, name)) [17:27:05.201] next [17:27:05.201] invokeRestart(restart) [17:27:05.201] muffled <- TRUE [17:27:05.201] break [17:27:05.201] } [17:27:05.201] } [17:27:05.201] } [17:27:05.201] invisible(muffled) [17:27:05.201] } [17:27:05.201] muffleCondition(cond, pattern = "^muffle") [17:27:05.201] } [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] if (TRUE) { [17:27:05.201] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.201] { [17:27:05.201] inherits <- base::inherits [17:27:05.201] invokeRestart <- base::invokeRestart [17:27:05.201] is.null <- base::is.null [17:27:05.201] muffled <- FALSE [17:27:05.201] if (inherits(cond, "message")) { [17:27:05.201] muffled <- grepl(pattern, "muffleMessage") [17:27:05.201] if (muffled) [17:27:05.201] invokeRestart("muffleMessage") [17:27:05.201] } [17:27:05.201] else if (inherits(cond, "warning")) { [17:27:05.201] muffled <- grepl(pattern, "muffleWarning") [17:27:05.201] if (muffled) [17:27:05.201] invokeRestart("muffleWarning") [17:27:05.201] } [17:27:05.201] else if (inherits(cond, "condition")) { [17:27:05.201] if (!is.null(pattern)) { [17:27:05.201] computeRestarts <- base::computeRestarts [17:27:05.201] grepl <- base::grepl [17:27:05.201] restarts <- computeRestarts(cond) [17:27:05.201] for (restart in restarts) { [17:27:05.201] name <- restart$name [17:27:05.201] if (is.null(name)) [17:27:05.201] next [17:27:05.201] if (!grepl(pattern, name)) [17:27:05.201] next [17:27:05.201] invokeRestart(restart) [17:27:05.201] muffled <- TRUE [17:27:05.201] break [17:27:05.201] } [17:27:05.201] } [17:27:05.201] } [17:27:05.201] invisible(muffled) [17:27:05.201] } [17:27:05.201] muffleCondition(cond, pattern = "^muffle") [17:27:05.201] } [17:27:05.201] } [17:27:05.201] } [17:27:05.201] })) [17:27:05.201] }, error = function(ex) { [17:27:05.201] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.201] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.201] ...future.rng), started = ...future.startTime, [17:27:05.201] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.201] version = "1.8"), class = "FutureResult") [17:27:05.201] }, finally = { [17:27:05.201] if (!identical(...future.workdir, getwd())) [17:27:05.201] setwd(...future.workdir) [17:27:05.201] { [17:27:05.201] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.201] ...future.oldOptions$nwarnings <- NULL [17:27:05.201] } [17:27:05.201] base::options(...future.oldOptions) [17:27:05.201] if (.Platform$OS.type == "windows") { [17:27:05.201] old_names <- names(...future.oldEnvVars) [17:27:05.201] envs <- base::Sys.getenv() [17:27:05.201] names <- names(envs) [17:27:05.201] common <- intersect(names, old_names) [17:27:05.201] added <- setdiff(names, old_names) [17:27:05.201] removed <- setdiff(old_names, names) [17:27:05.201] changed <- common[...future.oldEnvVars[common] != [17:27:05.201] envs[common]] [17:27:05.201] NAMES <- toupper(changed) [17:27:05.201] args <- list() [17:27:05.201] for (kk in seq_along(NAMES)) { [17:27:05.201] name <- changed[[kk]] [17:27:05.201] NAME <- NAMES[[kk]] [17:27:05.201] if (name != NAME && is.element(NAME, old_names)) [17:27:05.201] next [17:27:05.201] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.201] } [17:27:05.201] NAMES <- toupper(added) [17:27:05.201] for (kk in seq_along(NAMES)) { [17:27:05.201] name <- added[[kk]] [17:27:05.201] NAME <- NAMES[[kk]] [17:27:05.201] if (name != NAME && is.element(NAME, old_names)) [17:27:05.201] next [17:27:05.201] args[[name]] <- "" [17:27:05.201] } [17:27:05.201] NAMES <- toupper(removed) [17:27:05.201] for (kk in seq_along(NAMES)) { [17:27:05.201] name <- removed[[kk]] [17:27:05.201] NAME <- NAMES[[kk]] [17:27:05.201] if (name != NAME && is.element(NAME, old_names)) [17:27:05.201] next [17:27:05.201] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.201] } [17:27:05.201] if (length(args) > 0) [17:27:05.201] base::do.call(base::Sys.setenv, args = args) [17:27:05.201] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.201] } [17:27:05.201] { [17:27:05.201] if (base::length(...future.futureOptionsAdded) > [17:27:05.201] 0L) { [17:27:05.201] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.201] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.201] base::options(opts) [17:27:05.201] } [17:27:05.201] { [17:27:05.201] { [17:27:05.201] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.201] NULL [17:27:05.201] } [17:27:05.201] options(future.plan = NULL) [17:27:05.201] if (is.na(NA_character_)) [17:27:05.201] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.201] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.201] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.201] .init = FALSE) [17:27:05.201] } [17:27:05.201] } [17:27:05.201] } [17:27:05.201] }) [17:27:05.201] if (TRUE) { [17:27:05.201] base::sink(type = "output", split = FALSE) [17:27:05.201] if (TRUE) { [17:27:05.201] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.201] } [17:27:05.201] else { [17:27:05.201] ...future.result["stdout"] <- base::list(NULL) [17:27:05.201] } [17:27:05.201] base::close(...future.stdout) [17:27:05.201] ...future.stdout <- NULL [17:27:05.201] } [17:27:05.201] ...future.result$conditions <- ...future.conditions [17:27:05.201] ...future.result$finished <- base::Sys.time() [17:27:05.201] ...future.result [17:27:05.201] } [17:27:05.207] MultisessionFuture started [17:27:05.207] - Launch lazy future ... done [17:27:05.207] run() for 'MultisessionFuture' ... done [17:27:05.220] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.220] - Validating connection of MultisessionFuture [17:27:05.221] - received message: FutureResult [17:27:05.221] - Received FutureResult [17:27:05.221] - Erased future from FutureRegistry [17:27:05.221] result() for ClusterFuture ... [17:27:05.221] - result already collected: FutureResult [17:27:05.221] result() for ClusterFuture ... done [17:27:05.222] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.222] Future #1 [17:27:05.222] result() for ClusterFuture ... [17:27:05.222] - result already collected: FutureResult [17:27:05.222] result() for ClusterFuture ... done [17:27:05.222] result() for ClusterFuture ... [17:27:05.222] - result already collected: FutureResult [17:27:05.223] result() for ClusterFuture ... done [17:27:05.223] A MultisessionFuture was resolved [17:27:05.223] length: 0 (resolved future 1) [17:27:05.223] resolve() on list ... DONE [17:27:05.223] - globals: [1] 'a' [17:27:05.223] Resolving futures part of globals (recursively) ... DONE [17:27:05.225] The total size of the 1 globals is 10.22 KiB (10464 bytes) [17:27:05.225] The total size of the 1 globals exported for future expression ('value(a) + 1') is 10.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (10.22 KiB of class 'environment') [17:27:05.225] - globals: [1] 'a' [17:27:05.225] - packages: [1] 'future' [17:27:05.226] getGlobalsAndPackages() ... DONE [17:27:05.226] run() for 'Future' ... [17:27:05.226] - state: 'created' [17:27:05.226] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.240] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.240] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.240] - Field: 'node' [17:27:05.240] - Field: 'label' [17:27:05.241] - Field: 'local' [17:27:05.241] - Field: 'owner' [17:27:05.241] - Field: 'envir' [17:27:05.241] - Field: 'workers' [17:27:05.241] - Field: 'packages' [17:27:05.242] - Field: 'gc' [17:27:05.242] - Field: 'conditions' [17:27:05.242] - Field: 'persistent' [17:27:05.242] - Field: 'expr' [17:27:05.242] - Field: 'uuid' [17:27:05.243] - Field: 'seed' [17:27:05.243] - Field: 'version' [17:27:05.243] - Field: 'result' [17:27:05.243] - Field: 'asynchronous' [17:27:05.243] - Field: 'calls' [17:27:05.243] - Field: 'globals' [17:27:05.244] - Field: 'stdout' [17:27:05.244] - Field: 'earlySignal' [17:27:05.244] - Field: 'lazy' [17:27:05.244] - Field: 'state' [17:27:05.244] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.245] - Launch lazy future ... [17:27:05.245] Packages needed by the future expression (n = 1): 'future' [17:27:05.245] Packages needed by future strategies (n = 0): [17:27:05.246] { [17:27:05.246] { [17:27:05.246] { [17:27:05.246] ...future.startTime <- base::Sys.time() [17:27:05.246] { [17:27:05.246] { [17:27:05.246] { [17:27:05.246] { [17:27:05.246] { [17:27:05.246] base::local({ [17:27:05.246] has_future <- base::requireNamespace("future", [17:27:05.246] quietly = TRUE) [17:27:05.246] if (has_future) { [17:27:05.246] ns <- base::getNamespace("future") [17:27:05.246] version <- ns[[".package"]][["version"]] [17:27:05.246] if (is.null(version)) [17:27:05.246] version <- utils::packageVersion("future") [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] version <- NULL [17:27:05.246] } [17:27:05.246] if (!has_future || version < "1.8.0") { [17:27:05.246] info <- base::c(r_version = base::gsub("R version ", [17:27:05.246] "", base::R.version$version.string), [17:27:05.246] platform = base::sprintf("%s (%s-bit)", [17:27:05.246] base::R.version$platform, 8 * [17:27:05.246] base::.Machine$sizeof.pointer), [17:27:05.246] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.246] "release", "version")], collapse = " "), [17:27:05.246] hostname = base::Sys.info()[["nodename"]]) [17:27:05.246] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.246] info) [17:27:05.246] info <- base::paste(info, collapse = "; ") [17:27:05.246] if (!has_future) { [17:27:05.246] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.246] info) [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.246] info, version) [17:27:05.246] } [17:27:05.246] base::stop(msg) [17:27:05.246] } [17:27:05.246] }) [17:27:05.246] } [17:27:05.246] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.246] base::options(mc.cores = 1L) [17:27:05.246] } [17:27:05.246] base::local({ [17:27:05.246] for (pkg in "future") { [17:27:05.246] base::loadNamespace(pkg) [17:27:05.246] base::library(pkg, character.only = TRUE) [17:27:05.246] } [17:27:05.246] }) [17:27:05.246] } [17:27:05.246] ...future.strategy.old <- future::plan("list") [17:27:05.246] options(future.plan = NULL) [17:27:05.246] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.246] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.246] } [17:27:05.246] ...future.workdir <- getwd() [17:27:05.246] } [17:27:05.246] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.246] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.246] } [17:27:05.246] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.246] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.246] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.246] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.246] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.246] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.246] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.246] base::names(...future.oldOptions)) [17:27:05.246] } [17:27:05.246] if (FALSE) { [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] if (TRUE) { [17:27:05.246] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.246] open = "w") [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.246] windows = "NUL", "/dev/null"), open = "w") [17:27:05.246] } [17:27:05.246] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.246] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.246] base::sink(type = "output", split = FALSE) [17:27:05.246] base::close(...future.stdout) [17:27:05.246] }, add = TRUE) [17:27:05.246] } [17:27:05.246] ...future.frame <- base::sys.nframe() [17:27:05.246] ...future.conditions <- base::list() [17:27:05.246] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.246] if (FALSE) { [17:27:05.246] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.246] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.246] } [17:27:05.246] ...future.result <- base::tryCatch({ [17:27:05.246] base::withCallingHandlers({ [17:27:05.246] ...future.value <- base::withVisible(base::local({ [17:27:05.246] ...future.makeSendCondition <- base::local({ [17:27:05.246] sendCondition <- NULL [17:27:05.246] function(frame = 1L) { [17:27:05.246] if (is.function(sendCondition)) [17:27:05.246] return(sendCondition) [17:27:05.246] ns <- getNamespace("parallel") [17:27:05.246] if (exists("sendData", mode = "function", [17:27:05.246] envir = ns)) { [17:27:05.246] parallel_sendData <- get("sendData", mode = "function", [17:27:05.246] envir = ns) [17:27:05.246] envir <- sys.frame(frame) [17:27:05.246] master <- NULL [17:27:05.246] while (!identical(envir, .GlobalEnv) && [17:27:05.246] !identical(envir, emptyenv())) { [17:27:05.246] if (exists("master", mode = "list", envir = envir, [17:27:05.246] inherits = FALSE)) { [17:27:05.246] master <- get("master", mode = "list", [17:27:05.246] envir = envir, inherits = FALSE) [17:27:05.246] if (inherits(master, c("SOCKnode", [17:27:05.246] "SOCK0node"))) { [17:27:05.246] sendCondition <<- function(cond) { [17:27:05.246] data <- list(type = "VALUE", value = cond, [17:27:05.246] success = TRUE) [17:27:05.246] parallel_sendData(master, data) [17:27:05.246] } [17:27:05.246] return(sendCondition) [17:27:05.246] } [17:27:05.246] } [17:27:05.246] frame <- frame + 1L [17:27:05.246] envir <- sys.frame(frame) [17:27:05.246] } [17:27:05.246] } [17:27:05.246] sendCondition <<- function(cond) NULL [17:27:05.246] } [17:27:05.246] }) [17:27:05.246] withCallingHandlers({ [17:27:05.246] value(a) + 1 [17:27:05.246] }, immediateCondition = function(cond) { [17:27:05.246] sendCondition <- ...future.makeSendCondition() [17:27:05.246] sendCondition(cond) [17:27:05.246] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.246] { [17:27:05.246] inherits <- base::inherits [17:27:05.246] invokeRestart <- base::invokeRestart [17:27:05.246] is.null <- base::is.null [17:27:05.246] muffled <- FALSE [17:27:05.246] if (inherits(cond, "message")) { [17:27:05.246] muffled <- grepl(pattern, "muffleMessage") [17:27:05.246] if (muffled) [17:27:05.246] invokeRestart("muffleMessage") [17:27:05.246] } [17:27:05.246] else if (inherits(cond, "warning")) { [17:27:05.246] muffled <- grepl(pattern, "muffleWarning") [17:27:05.246] if (muffled) [17:27:05.246] invokeRestart("muffleWarning") [17:27:05.246] } [17:27:05.246] else if (inherits(cond, "condition")) { [17:27:05.246] if (!is.null(pattern)) { [17:27:05.246] computeRestarts <- base::computeRestarts [17:27:05.246] grepl <- base::grepl [17:27:05.246] restarts <- computeRestarts(cond) [17:27:05.246] for (restart in restarts) { [17:27:05.246] name <- restart$name [17:27:05.246] if (is.null(name)) [17:27:05.246] next [17:27:05.246] if (!grepl(pattern, name)) [17:27:05.246] next [17:27:05.246] invokeRestart(restart) [17:27:05.246] muffled <- TRUE [17:27:05.246] break [17:27:05.246] } [17:27:05.246] } [17:27:05.246] } [17:27:05.246] invisible(muffled) [17:27:05.246] } [17:27:05.246] muffleCondition(cond) [17:27:05.246] }) [17:27:05.246] })) [17:27:05.246] future::FutureResult(value = ...future.value$value, [17:27:05.246] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.246] ...future.rng), globalenv = if (FALSE) [17:27:05.246] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.246] ...future.globalenv.names)) [17:27:05.246] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.246] }, condition = base::local({ [17:27:05.246] c <- base::c [17:27:05.246] inherits <- base::inherits [17:27:05.246] invokeRestart <- base::invokeRestart [17:27:05.246] length <- base::length [17:27:05.246] list <- base::list [17:27:05.246] seq.int <- base::seq.int [17:27:05.246] signalCondition <- base::signalCondition [17:27:05.246] sys.calls <- base::sys.calls [17:27:05.246] `[[` <- base::`[[` [17:27:05.246] `+` <- base::`+` [17:27:05.246] `<<-` <- base::`<<-` [17:27:05.246] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.246] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.246] 3L)] [17:27:05.246] } [17:27:05.246] function(cond) { [17:27:05.246] is_error <- inherits(cond, "error") [17:27:05.246] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.246] NULL) [17:27:05.246] if (is_error) { [17:27:05.246] sessionInformation <- function() { [17:27:05.246] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.246] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.246] search = base::search(), system = base::Sys.info()) [17:27:05.246] } [17:27:05.246] ...future.conditions[[length(...future.conditions) + [17:27:05.246] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.246] cond$call), session = sessionInformation(), [17:27:05.246] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.246] signalCondition(cond) [17:27:05.246] } [17:27:05.246] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.246] "immediateCondition"))) { [17:27:05.246] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.246] ...future.conditions[[length(...future.conditions) + [17:27:05.246] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.246] if (TRUE && !signal) { [17:27:05.246] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.246] { [17:27:05.246] inherits <- base::inherits [17:27:05.246] invokeRestart <- base::invokeRestart [17:27:05.246] is.null <- base::is.null [17:27:05.246] muffled <- FALSE [17:27:05.246] if (inherits(cond, "message")) { [17:27:05.246] muffled <- grepl(pattern, "muffleMessage") [17:27:05.246] if (muffled) [17:27:05.246] invokeRestart("muffleMessage") [17:27:05.246] } [17:27:05.246] else if (inherits(cond, "warning")) { [17:27:05.246] muffled <- grepl(pattern, "muffleWarning") [17:27:05.246] if (muffled) [17:27:05.246] invokeRestart("muffleWarning") [17:27:05.246] } [17:27:05.246] else if (inherits(cond, "condition")) { [17:27:05.246] if (!is.null(pattern)) { [17:27:05.246] computeRestarts <- base::computeRestarts [17:27:05.246] grepl <- base::grepl [17:27:05.246] restarts <- computeRestarts(cond) [17:27:05.246] for (restart in restarts) { [17:27:05.246] name <- restart$name [17:27:05.246] if (is.null(name)) [17:27:05.246] next [17:27:05.246] if (!grepl(pattern, name)) [17:27:05.246] next [17:27:05.246] invokeRestart(restart) [17:27:05.246] muffled <- TRUE [17:27:05.246] break [17:27:05.246] } [17:27:05.246] } [17:27:05.246] } [17:27:05.246] invisible(muffled) [17:27:05.246] } [17:27:05.246] muffleCondition(cond, pattern = "^muffle") [17:27:05.246] } [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] if (TRUE) { [17:27:05.246] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.246] { [17:27:05.246] inherits <- base::inherits [17:27:05.246] invokeRestart <- base::invokeRestart [17:27:05.246] is.null <- base::is.null [17:27:05.246] muffled <- FALSE [17:27:05.246] if (inherits(cond, "message")) { [17:27:05.246] muffled <- grepl(pattern, "muffleMessage") [17:27:05.246] if (muffled) [17:27:05.246] invokeRestart("muffleMessage") [17:27:05.246] } [17:27:05.246] else if (inherits(cond, "warning")) { [17:27:05.246] muffled <- grepl(pattern, "muffleWarning") [17:27:05.246] if (muffled) [17:27:05.246] invokeRestart("muffleWarning") [17:27:05.246] } [17:27:05.246] else if (inherits(cond, "condition")) { [17:27:05.246] if (!is.null(pattern)) { [17:27:05.246] computeRestarts <- base::computeRestarts [17:27:05.246] grepl <- base::grepl [17:27:05.246] restarts <- computeRestarts(cond) [17:27:05.246] for (restart in restarts) { [17:27:05.246] name <- restart$name [17:27:05.246] if (is.null(name)) [17:27:05.246] next [17:27:05.246] if (!grepl(pattern, name)) [17:27:05.246] next [17:27:05.246] invokeRestart(restart) [17:27:05.246] muffled <- TRUE [17:27:05.246] break [17:27:05.246] } [17:27:05.246] } [17:27:05.246] } [17:27:05.246] invisible(muffled) [17:27:05.246] } [17:27:05.246] muffleCondition(cond, pattern = "^muffle") [17:27:05.246] } [17:27:05.246] } [17:27:05.246] } [17:27:05.246] })) [17:27:05.246] }, error = function(ex) { [17:27:05.246] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.246] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.246] ...future.rng), started = ...future.startTime, [17:27:05.246] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.246] version = "1.8"), class = "FutureResult") [17:27:05.246] }, finally = { [17:27:05.246] if (!identical(...future.workdir, getwd())) [17:27:05.246] setwd(...future.workdir) [17:27:05.246] { [17:27:05.246] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.246] ...future.oldOptions$nwarnings <- NULL [17:27:05.246] } [17:27:05.246] base::options(...future.oldOptions) [17:27:05.246] if (.Platform$OS.type == "windows") { [17:27:05.246] old_names <- names(...future.oldEnvVars) [17:27:05.246] envs <- base::Sys.getenv() [17:27:05.246] names <- names(envs) [17:27:05.246] common <- intersect(names, old_names) [17:27:05.246] added <- setdiff(names, old_names) [17:27:05.246] removed <- setdiff(old_names, names) [17:27:05.246] changed <- common[...future.oldEnvVars[common] != [17:27:05.246] envs[common]] [17:27:05.246] NAMES <- toupper(changed) [17:27:05.246] args <- list() [17:27:05.246] for (kk in seq_along(NAMES)) { [17:27:05.246] name <- changed[[kk]] [17:27:05.246] NAME <- NAMES[[kk]] [17:27:05.246] if (name != NAME && is.element(NAME, old_names)) [17:27:05.246] next [17:27:05.246] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.246] } [17:27:05.246] NAMES <- toupper(added) [17:27:05.246] for (kk in seq_along(NAMES)) { [17:27:05.246] name <- added[[kk]] [17:27:05.246] NAME <- NAMES[[kk]] [17:27:05.246] if (name != NAME && is.element(NAME, old_names)) [17:27:05.246] next [17:27:05.246] args[[name]] <- "" [17:27:05.246] } [17:27:05.246] NAMES <- toupper(removed) [17:27:05.246] for (kk in seq_along(NAMES)) { [17:27:05.246] name <- removed[[kk]] [17:27:05.246] NAME <- NAMES[[kk]] [17:27:05.246] if (name != NAME && is.element(NAME, old_names)) [17:27:05.246] next [17:27:05.246] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.246] } [17:27:05.246] if (length(args) > 0) [17:27:05.246] base::do.call(base::Sys.setenv, args = args) [17:27:05.246] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.246] } [17:27:05.246] { [17:27:05.246] if (base::length(...future.futureOptionsAdded) > [17:27:05.246] 0L) { [17:27:05.246] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.246] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.246] base::options(opts) [17:27:05.246] } [17:27:05.246] { [17:27:05.246] { [17:27:05.246] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.246] NULL [17:27:05.246] } [17:27:05.246] options(future.plan = NULL) [17:27:05.246] if (is.na(NA_character_)) [17:27:05.246] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.246] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.246] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.246] .init = FALSE) [17:27:05.246] } [17:27:05.246] } [17:27:05.246] } [17:27:05.246] }) [17:27:05.246] if (TRUE) { [17:27:05.246] base::sink(type = "output", split = FALSE) [17:27:05.246] if (TRUE) { [17:27:05.246] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.246] } [17:27:05.246] else { [17:27:05.246] ...future.result["stdout"] <- base::list(NULL) [17:27:05.246] } [17:27:05.246] base::close(...future.stdout) [17:27:05.246] ...future.stdout <- NULL [17:27:05.246] } [17:27:05.246] ...future.result$conditions <- ...future.conditions [17:27:05.246] ...future.result$finished <- base::Sys.time() [17:27:05.246] ...future.result [17:27:05.246] } [17:27:05.251] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... [17:27:05.252] Exporting 'a' (10.22 KiB) to cluster node #2 ... [17:27:05.264] Exporting 'a' (10.22 KiB) to cluster node #2 ... DONE [17:27:05.265] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... DONE [17:27:05.265] MultisessionFuture started [17:27:05.265] - Launch lazy future ... done [17:27:05.266] run() for 'MultisessionFuture' ... done [17:27:05.266] result() for ClusterFuture ... [17:27:05.266] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.266] - Validating connection of MultisessionFuture [17:27:05.281] - received message: FutureResult [17:27:05.281] - Received FutureResult [17:27:05.281] - Erased future from FutureRegistry [17:27:05.281] result() for ClusterFuture ... [17:27:05.281] - result already collected: FutureResult [17:27:05.282] result() for ClusterFuture ... done [17:27:05.282] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.282] result() for ClusterFuture ... done [17:27:05.282] result() for ClusterFuture ... [17:27:05.282] - result already collected: FutureResult [17:27:05.282] result() for ClusterFuture ... done value(b) = 2 [17:27:05.285] result() for ClusterFuture ... [17:27:05.285] - result already collected: FutureResult [17:27:05.285] result() for ClusterFuture ... done [17:27:05.285] result() for ClusterFuture ... [17:27:05.285] - result already collected: FutureResult [17:27:05.286] 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:27:05.286] 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:27:05.286] 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:27:05.287] [17:27:05.287] Searching for globals ... DONE [17:27:05.287] - globals: [0] [17:27:05.287] 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:27:05.288] 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:27:05.288] 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:27:05.289] - globals found: [3] '+', 'value', 'a' [17:27:05.289] Searching for globals ... DONE [17:27:05.290] Resolving globals: TRUE [17:27:05.290] Resolving any globals that are futures ... [17:27:05.290] - globals: [3] '+', 'value', 'a' [17:27:05.290] Resolving any globals that are futures ... DONE [17:27:05.291] Resolving futures part of globals (recursively) ... [17:27:05.291] resolve() on list ... [17:27:05.291] recursive: 99 [17:27:05.291] length: 1 [17:27:05.291] elements: 'a' [17:27:05.291] run() for 'Future' ... [17:27:05.292] - state: 'created' [17:27:05.292] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.306] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.306] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.306] - Field: 'node' [17:27:05.306] - Field: 'label' [17:27:05.307] - Field: 'local' [17:27:05.307] - Field: 'owner' [17:27:05.307] - Field: 'envir' [17:27:05.307] - Field: 'workers' [17:27:05.307] - Field: 'packages' [17:27:05.307] - Field: 'gc' [17:27:05.308] - Field: 'conditions' [17:27:05.308] - Field: 'persistent' [17:27:05.308] - Field: 'expr' [17:27:05.308] - Field: 'uuid' [17:27:05.308] - Field: 'seed' [17:27:05.309] - Field: 'version' [17:27:05.309] - Field: 'result' [17:27:05.309] - Field: 'asynchronous' [17:27:05.309] - Field: 'calls' [17:27:05.309] - Field: 'globals' [17:27:05.309] - Field: 'stdout' [17:27:05.310] - Field: 'earlySignal' [17:27:05.310] - Field: 'lazy' [17:27:05.310] - Field: 'state' [17:27:05.310] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.310] - Launch lazy future ... [17:27:05.311] Packages needed by the future expression (n = 0): [17:27:05.311] Packages needed by future strategies (n = 0): [17:27:05.311] { [17:27:05.311] { [17:27:05.311] { [17:27:05.311] ...future.startTime <- base::Sys.time() [17:27:05.311] { [17:27:05.311] { [17:27:05.311] { [17:27:05.311] { [17:27:05.311] base::local({ [17:27:05.311] has_future <- base::requireNamespace("future", [17:27:05.311] quietly = TRUE) [17:27:05.311] if (has_future) { [17:27:05.311] ns <- base::getNamespace("future") [17:27:05.311] version <- ns[[".package"]][["version"]] [17:27:05.311] if (is.null(version)) [17:27:05.311] version <- utils::packageVersion("future") [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] version <- NULL [17:27:05.311] } [17:27:05.311] if (!has_future || version < "1.8.0") { [17:27:05.311] info <- base::c(r_version = base::gsub("R version ", [17:27:05.311] "", base::R.version$version.string), [17:27:05.311] platform = base::sprintf("%s (%s-bit)", [17:27:05.311] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.311] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.311] "release", "version")], collapse = " "), [17:27:05.311] hostname = base::Sys.info()[["nodename"]]) [17:27:05.311] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.311] info) [17:27:05.311] info <- base::paste(info, collapse = "; ") [17:27:05.311] if (!has_future) { [17:27:05.311] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.311] info) [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.311] info, version) [17:27:05.311] } [17:27:05.311] base::stop(msg) [17:27:05.311] } [17:27:05.311] }) [17:27:05.311] } [17:27:05.311] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.311] base::options(mc.cores = 1L) [17:27:05.311] } [17:27:05.311] ...future.strategy.old <- future::plan("list") [17:27:05.311] options(future.plan = NULL) [17:27:05.311] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.311] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.311] } [17:27:05.311] ...future.workdir <- getwd() [17:27:05.311] } [17:27:05.311] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.311] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.311] } [17:27:05.311] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.311] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.311] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.311] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.311] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.311] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.311] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.311] base::names(...future.oldOptions)) [17:27:05.311] } [17:27:05.311] if (FALSE) { [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] if (TRUE) { [17:27:05.311] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.311] open = "w") [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.311] windows = "NUL", "/dev/null"), open = "w") [17:27:05.311] } [17:27:05.311] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.311] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.311] base::sink(type = "output", split = FALSE) [17:27:05.311] base::close(...future.stdout) [17:27:05.311] }, add = TRUE) [17:27:05.311] } [17:27:05.311] ...future.frame <- base::sys.nframe() [17:27:05.311] ...future.conditions <- base::list() [17:27:05.311] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.311] if (FALSE) { [17:27:05.311] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.311] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.311] } [17:27:05.311] ...future.result <- base::tryCatch({ [17:27:05.311] base::withCallingHandlers({ [17:27:05.311] ...future.value <- base::withVisible(base::local({ [17:27:05.311] ...future.makeSendCondition <- base::local({ [17:27:05.311] sendCondition <- NULL [17:27:05.311] function(frame = 1L) { [17:27:05.311] if (is.function(sendCondition)) [17:27:05.311] return(sendCondition) [17:27:05.311] ns <- getNamespace("parallel") [17:27:05.311] if (exists("sendData", mode = "function", [17:27:05.311] envir = ns)) { [17:27:05.311] parallel_sendData <- get("sendData", mode = "function", [17:27:05.311] envir = ns) [17:27:05.311] envir <- sys.frame(frame) [17:27:05.311] master <- NULL [17:27:05.311] while (!identical(envir, .GlobalEnv) && [17:27:05.311] !identical(envir, emptyenv())) { [17:27:05.311] if (exists("master", mode = "list", envir = envir, [17:27:05.311] inherits = FALSE)) { [17:27:05.311] master <- get("master", mode = "list", [17:27:05.311] envir = envir, inherits = FALSE) [17:27:05.311] if (inherits(master, c("SOCKnode", [17:27:05.311] "SOCK0node"))) { [17:27:05.311] sendCondition <<- function(cond) { [17:27:05.311] data <- list(type = "VALUE", value = cond, [17:27:05.311] success = TRUE) [17:27:05.311] parallel_sendData(master, data) [17:27:05.311] } [17:27:05.311] return(sendCondition) [17:27:05.311] } [17:27:05.311] } [17:27:05.311] frame <- frame + 1L [17:27:05.311] envir <- sys.frame(frame) [17:27:05.311] } [17:27:05.311] } [17:27:05.311] sendCondition <<- function(cond) NULL [17:27:05.311] } [17:27:05.311] }) [17:27:05.311] withCallingHandlers({ [17:27:05.311] 1 [17:27:05.311] }, immediateCondition = function(cond) { [17:27:05.311] sendCondition <- ...future.makeSendCondition() [17:27:05.311] sendCondition(cond) [17:27:05.311] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.311] { [17:27:05.311] inherits <- base::inherits [17:27:05.311] invokeRestart <- base::invokeRestart [17:27:05.311] is.null <- base::is.null [17:27:05.311] muffled <- FALSE [17:27:05.311] if (inherits(cond, "message")) { [17:27:05.311] muffled <- grepl(pattern, "muffleMessage") [17:27:05.311] if (muffled) [17:27:05.311] invokeRestart("muffleMessage") [17:27:05.311] } [17:27:05.311] else if (inherits(cond, "warning")) { [17:27:05.311] muffled <- grepl(pattern, "muffleWarning") [17:27:05.311] if (muffled) [17:27:05.311] invokeRestart("muffleWarning") [17:27:05.311] } [17:27:05.311] else if (inherits(cond, "condition")) { [17:27:05.311] if (!is.null(pattern)) { [17:27:05.311] computeRestarts <- base::computeRestarts [17:27:05.311] grepl <- base::grepl [17:27:05.311] restarts <- computeRestarts(cond) [17:27:05.311] for (restart in restarts) { [17:27:05.311] name <- restart$name [17:27:05.311] if (is.null(name)) [17:27:05.311] next [17:27:05.311] if (!grepl(pattern, name)) [17:27:05.311] next [17:27:05.311] invokeRestart(restart) [17:27:05.311] muffled <- TRUE [17:27:05.311] break [17:27:05.311] } [17:27:05.311] } [17:27:05.311] } [17:27:05.311] invisible(muffled) [17:27:05.311] } [17:27:05.311] muffleCondition(cond) [17:27:05.311] }) [17:27:05.311] })) [17:27:05.311] future::FutureResult(value = ...future.value$value, [17:27:05.311] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.311] ...future.rng), globalenv = if (FALSE) [17:27:05.311] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.311] ...future.globalenv.names)) [17:27:05.311] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.311] }, condition = base::local({ [17:27:05.311] c <- base::c [17:27:05.311] inherits <- base::inherits [17:27:05.311] invokeRestart <- base::invokeRestart [17:27:05.311] length <- base::length [17:27:05.311] list <- base::list [17:27:05.311] seq.int <- base::seq.int [17:27:05.311] signalCondition <- base::signalCondition [17:27:05.311] sys.calls <- base::sys.calls [17:27:05.311] `[[` <- base::`[[` [17:27:05.311] `+` <- base::`+` [17:27:05.311] `<<-` <- base::`<<-` [17:27:05.311] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.311] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.311] 3L)] [17:27:05.311] } [17:27:05.311] function(cond) { [17:27:05.311] is_error <- inherits(cond, "error") [17:27:05.311] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.311] NULL) [17:27:05.311] if (is_error) { [17:27:05.311] sessionInformation <- function() { [17:27:05.311] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.311] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.311] search = base::search(), system = base::Sys.info()) [17:27:05.311] } [17:27:05.311] ...future.conditions[[length(...future.conditions) + [17:27:05.311] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.311] cond$call), session = sessionInformation(), [17:27:05.311] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.311] signalCondition(cond) [17:27:05.311] } [17:27:05.311] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.311] "immediateCondition"))) { [17:27:05.311] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.311] ...future.conditions[[length(...future.conditions) + [17:27:05.311] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.311] if (TRUE && !signal) { [17:27:05.311] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.311] { [17:27:05.311] inherits <- base::inherits [17:27:05.311] invokeRestart <- base::invokeRestart [17:27:05.311] is.null <- base::is.null [17:27:05.311] muffled <- FALSE [17:27:05.311] if (inherits(cond, "message")) { [17:27:05.311] muffled <- grepl(pattern, "muffleMessage") [17:27:05.311] if (muffled) [17:27:05.311] invokeRestart("muffleMessage") [17:27:05.311] } [17:27:05.311] else if (inherits(cond, "warning")) { [17:27:05.311] muffled <- grepl(pattern, "muffleWarning") [17:27:05.311] if (muffled) [17:27:05.311] invokeRestart("muffleWarning") [17:27:05.311] } [17:27:05.311] else if (inherits(cond, "condition")) { [17:27:05.311] if (!is.null(pattern)) { [17:27:05.311] computeRestarts <- base::computeRestarts [17:27:05.311] grepl <- base::grepl [17:27:05.311] restarts <- computeRestarts(cond) [17:27:05.311] for (restart in restarts) { [17:27:05.311] name <- restart$name [17:27:05.311] if (is.null(name)) [17:27:05.311] next [17:27:05.311] if (!grepl(pattern, name)) [17:27:05.311] next [17:27:05.311] invokeRestart(restart) [17:27:05.311] muffled <- TRUE [17:27:05.311] break [17:27:05.311] } [17:27:05.311] } [17:27:05.311] } [17:27:05.311] invisible(muffled) [17:27:05.311] } [17:27:05.311] muffleCondition(cond, pattern = "^muffle") [17:27:05.311] } [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] if (TRUE) { [17:27:05.311] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.311] { [17:27:05.311] inherits <- base::inherits [17:27:05.311] invokeRestart <- base::invokeRestart [17:27:05.311] is.null <- base::is.null [17:27:05.311] muffled <- FALSE [17:27:05.311] if (inherits(cond, "message")) { [17:27:05.311] muffled <- grepl(pattern, "muffleMessage") [17:27:05.311] if (muffled) [17:27:05.311] invokeRestart("muffleMessage") [17:27:05.311] } [17:27:05.311] else if (inherits(cond, "warning")) { [17:27:05.311] muffled <- grepl(pattern, "muffleWarning") [17:27:05.311] if (muffled) [17:27:05.311] invokeRestart("muffleWarning") [17:27:05.311] } [17:27:05.311] else if (inherits(cond, "condition")) { [17:27:05.311] if (!is.null(pattern)) { [17:27:05.311] computeRestarts <- base::computeRestarts [17:27:05.311] grepl <- base::grepl [17:27:05.311] restarts <- computeRestarts(cond) [17:27:05.311] for (restart in restarts) { [17:27:05.311] name <- restart$name [17:27:05.311] if (is.null(name)) [17:27:05.311] next [17:27:05.311] if (!grepl(pattern, name)) [17:27:05.311] next [17:27:05.311] invokeRestart(restart) [17:27:05.311] muffled <- TRUE [17:27:05.311] break [17:27:05.311] } [17:27:05.311] } [17:27:05.311] } [17:27:05.311] invisible(muffled) [17:27:05.311] } [17:27:05.311] muffleCondition(cond, pattern = "^muffle") [17:27:05.311] } [17:27:05.311] } [17:27:05.311] } [17:27:05.311] })) [17:27:05.311] }, error = function(ex) { [17:27:05.311] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.311] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.311] ...future.rng), started = ...future.startTime, [17:27:05.311] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.311] version = "1.8"), class = "FutureResult") [17:27:05.311] }, finally = { [17:27:05.311] if (!identical(...future.workdir, getwd())) [17:27:05.311] setwd(...future.workdir) [17:27:05.311] { [17:27:05.311] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.311] ...future.oldOptions$nwarnings <- NULL [17:27:05.311] } [17:27:05.311] base::options(...future.oldOptions) [17:27:05.311] if (.Platform$OS.type == "windows") { [17:27:05.311] old_names <- names(...future.oldEnvVars) [17:27:05.311] envs <- base::Sys.getenv() [17:27:05.311] names <- names(envs) [17:27:05.311] common <- intersect(names, old_names) [17:27:05.311] added <- setdiff(names, old_names) [17:27:05.311] removed <- setdiff(old_names, names) [17:27:05.311] changed <- common[...future.oldEnvVars[common] != [17:27:05.311] envs[common]] [17:27:05.311] NAMES <- toupper(changed) [17:27:05.311] args <- list() [17:27:05.311] for (kk in seq_along(NAMES)) { [17:27:05.311] name <- changed[[kk]] [17:27:05.311] NAME <- NAMES[[kk]] [17:27:05.311] if (name != NAME && is.element(NAME, old_names)) [17:27:05.311] next [17:27:05.311] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.311] } [17:27:05.311] NAMES <- toupper(added) [17:27:05.311] for (kk in seq_along(NAMES)) { [17:27:05.311] name <- added[[kk]] [17:27:05.311] NAME <- NAMES[[kk]] [17:27:05.311] if (name != NAME && is.element(NAME, old_names)) [17:27:05.311] next [17:27:05.311] args[[name]] <- "" [17:27:05.311] } [17:27:05.311] NAMES <- toupper(removed) [17:27:05.311] for (kk in seq_along(NAMES)) { [17:27:05.311] name <- removed[[kk]] [17:27:05.311] NAME <- NAMES[[kk]] [17:27:05.311] if (name != NAME && is.element(NAME, old_names)) [17:27:05.311] next [17:27:05.311] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.311] } [17:27:05.311] if (length(args) > 0) [17:27:05.311] base::do.call(base::Sys.setenv, args = args) [17:27:05.311] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.311] } [17:27:05.311] { [17:27:05.311] if (base::length(...future.futureOptionsAdded) > [17:27:05.311] 0L) { [17:27:05.311] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.311] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.311] base::options(opts) [17:27:05.311] } [17:27:05.311] { [17:27:05.311] { [17:27:05.311] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.311] NULL [17:27:05.311] } [17:27:05.311] options(future.plan = NULL) [17:27:05.311] if (is.na(NA_character_)) [17:27:05.311] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.311] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.311] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.311] .init = FALSE) [17:27:05.311] } [17:27:05.311] } [17:27:05.311] } [17:27:05.311] }) [17:27:05.311] if (TRUE) { [17:27:05.311] base::sink(type = "output", split = FALSE) [17:27:05.311] if (TRUE) { [17:27:05.311] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.311] } [17:27:05.311] else { [17:27:05.311] ...future.result["stdout"] <- base::list(NULL) [17:27:05.311] } [17:27:05.311] base::close(...future.stdout) [17:27:05.311] ...future.stdout <- NULL [17:27:05.311] } [17:27:05.311] ...future.result$conditions <- ...future.conditions [17:27:05.311] ...future.result$finished <- base::Sys.time() [17:27:05.311] ...future.result [17:27:05.311] } [17:27:05.317] MultisessionFuture started [17:27:05.317] - Launch lazy future ... done [17:27:05.317] run() for 'MultisessionFuture' ... done [17:27:05.331] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.331] - Validating connection of MultisessionFuture [17:27:05.332] - received message: FutureResult [17:27:05.332] - Received FutureResult [17:27:05.332] - Erased future from FutureRegistry [17:27:05.332] result() for ClusterFuture ... [17:27:05.332] - result already collected: FutureResult [17:27:05.332] result() for ClusterFuture ... done [17:27:05.333] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.333] Future #1 [17:27:05.333] result() for ClusterFuture ... [17:27:05.333] - result already collected: FutureResult [17:27:05.333] result() for ClusterFuture ... done [17:27:05.333] result() for ClusterFuture ... [17:27:05.334] - result already collected: FutureResult [17:27:05.334] result() for ClusterFuture ... done [17:27:05.334] A MultisessionFuture was resolved [17:27:05.334] length: 0 (resolved future 1) [17:27:05.334] resolve() on list ... DONE [17:27:05.334] - globals: [1] 'a' [17:27:05.335] Resolving futures part of globals (recursively) ... DONE [17:27:05.336] The total size of the 1 globals is 10.22 KiB (10464 bytes) [17:27:05.336] The total size of the 1 globals exported for future expression ('value(a) + 1') is 10.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (10.22 KiB of class 'environment') [17:27:05.336] - globals: [1] 'a' [17:27:05.337] - packages: [1] 'future' [17:27:05.337] getGlobalsAndPackages() ... DONE [17:27:05.337] run() for 'Future' ... [17:27:05.337] - state: 'created' [17:27:05.337] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.351] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.352] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.352] - Field: 'node' [17:27:05.352] - Field: 'label' [17:27:05.352] - Field: 'local' [17:27:05.352] - Field: 'owner' [17:27:05.353] - Field: 'envir' [17:27:05.353] - Field: 'workers' [17:27:05.353] - Field: 'packages' [17:27:05.353] - Field: 'gc' [17:27:05.353] - Field: 'conditions' [17:27:05.353] - Field: 'persistent' [17:27:05.354] - Field: 'expr' [17:27:05.354] - Field: 'uuid' [17:27:05.354] - Field: 'seed' [17:27:05.354] - Field: 'version' [17:27:05.354] - Field: 'result' [17:27:05.354] - Field: 'asynchronous' [17:27:05.355] - Field: 'calls' [17:27:05.355] - Field: 'globals' [17:27:05.355] - Field: 'stdout' [17:27:05.355] - Field: 'earlySignal' [17:27:05.355] - Field: 'lazy' [17:27:05.356] - Field: 'state' [17:27:05.356] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.356] - Launch lazy future ... [17:27:05.356] Packages needed by the future expression (n = 1): 'future' [17:27:05.356] Packages needed by future strategies (n = 0): [17:27:05.357] { [17:27:05.357] { [17:27:05.357] { [17:27:05.357] ...future.startTime <- base::Sys.time() [17:27:05.357] { [17:27:05.357] { [17:27:05.357] { [17:27:05.357] { [17:27:05.357] { [17:27:05.357] base::local({ [17:27:05.357] has_future <- base::requireNamespace("future", [17:27:05.357] quietly = TRUE) [17:27:05.357] if (has_future) { [17:27:05.357] ns <- base::getNamespace("future") [17:27:05.357] version <- ns[[".package"]][["version"]] [17:27:05.357] if (is.null(version)) [17:27:05.357] version <- utils::packageVersion("future") [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] version <- NULL [17:27:05.357] } [17:27:05.357] if (!has_future || version < "1.8.0") { [17:27:05.357] info <- base::c(r_version = base::gsub("R version ", [17:27:05.357] "", base::R.version$version.string), [17:27:05.357] platform = base::sprintf("%s (%s-bit)", [17:27:05.357] base::R.version$platform, 8 * [17:27:05.357] base::.Machine$sizeof.pointer), [17:27:05.357] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.357] "release", "version")], collapse = " "), [17:27:05.357] hostname = base::Sys.info()[["nodename"]]) [17:27:05.357] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.357] info) [17:27:05.357] info <- base::paste(info, collapse = "; ") [17:27:05.357] if (!has_future) { [17:27:05.357] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.357] info) [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.357] info, version) [17:27:05.357] } [17:27:05.357] base::stop(msg) [17:27:05.357] } [17:27:05.357] }) [17:27:05.357] } [17:27:05.357] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.357] base::options(mc.cores = 1L) [17:27:05.357] } [17:27:05.357] base::local({ [17:27:05.357] for (pkg in "future") { [17:27:05.357] base::loadNamespace(pkg) [17:27:05.357] base::library(pkg, character.only = TRUE) [17:27:05.357] } [17:27:05.357] }) [17:27:05.357] } [17:27:05.357] ...future.strategy.old <- future::plan("list") [17:27:05.357] options(future.plan = NULL) [17:27:05.357] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.357] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.357] } [17:27:05.357] ...future.workdir <- getwd() [17:27:05.357] } [17:27:05.357] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.357] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.357] } [17:27:05.357] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.357] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.357] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.357] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.357] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.357] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.357] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.357] base::names(...future.oldOptions)) [17:27:05.357] } [17:27:05.357] if (FALSE) { [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] if (TRUE) { [17:27:05.357] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.357] open = "w") [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.357] windows = "NUL", "/dev/null"), open = "w") [17:27:05.357] } [17:27:05.357] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.357] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.357] base::sink(type = "output", split = FALSE) [17:27:05.357] base::close(...future.stdout) [17:27:05.357] }, add = TRUE) [17:27:05.357] } [17:27:05.357] ...future.frame <- base::sys.nframe() [17:27:05.357] ...future.conditions <- base::list() [17:27:05.357] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.357] if (FALSE) { [17:27:05.357] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.357] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.357] } [17:27:05.357] ...future.result <- base::tryCatch({ [17:27:05.357] base::withCallingHandlers({ [17:27:05.357] ...future.value <- base::withVisible(base::local({ [17:27:05.357] ...future.makeSendCondition <- base::local({ [17:27:05.357] sendCondition <- NULL [17:27:05.357] function(frame = 1L) { [17:27:05.357] if (is.function(sendCondition)) [17:27:05.357] return(sendCondition) [17:27:05.357] ns <- getNamespace("parallel") [17:27:05.357] if (exists("sendData", mode = "function", [17:27:05.357] envir = ns)) { [17:27:05.357] parallel_sendData <- get("sendData", mode = "function", [17:27:05.357] envir = ns) [17:27:05.357] envir <- sys.frame(frame) [17:27:05.357] master <- NULL [17:27:05.357] while (!identical(envir, .GlobalEnv) && [17:27:05.357] !identical(envir, emptyenv())) { [17:27:05.357] if (exists("master", mode = "list", envir = envir, [17:27:05.357] inherits = FALSE)) { [17:27:05.357] master <- get("master", mode = "list", [17:27:05.357] envir = envir, inherits = FALSE) [17:27:05.357] if (inherits(master, c("SOCKnode", [17:27:05.357] "SOCK0node"))) { [17:27:05.357] sendCondition <<- function(cond) { [17:27:05.357] data <- list(type = "VALUE", value = cond, [17:27:05.357] success = TRUE) [17:27:05.357] parallel_sendData(master, data) [17:27:05.357] } [17:27:05.357] return(sendCondition) [17:27:05.357] } [17:27:05.357] } [17:27:05.357] frame <- frame + 1L [17:27:05.357] envir <- sys.frame(frame) [17:27:05.357] } [17:27:05.357] } [17:27:05.357] sendCondition <<- function(cond) NULL [17:27:05.357] } [17:27:05.357] }) [17:27:05.357] withCallingHandlers({ [17:27:05.357] value(a) + 1 [17:27:05.357] }, immediateCondition = function(cond) { [17:27:05.357] sendCondition <- ...future.makeSendCondition() [17:27:05.357] sendCondition(cond) [17:27:05.357] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.357] { [17:27:05.357] inherits <- base::inherits [17:27:05.357] invokeRestart <- base::invokeRestart [17:27:05.357] is.null <- base::is.null [17:27:05.357] muffled <- FALSE [17:27:05.357] if (inherits(cond, "message")) { [17:27:05.357] muffled <- grepl(pattern, "muffleMessage") [17:27:05.357] if (muffled) [17:27:05.357] invokeRestart("muffleMessage") [17:27:05.357] } [17:27:05.357] else if (inherits(cond, "warning")) { [17:27:05.357] muffled <- grepl(pattern, "muffleWarning") [17:27:05.357] if (muffled) [17:27:05.357] invokeRestart("muffleWarning") [17:27:05.357] } [17:27:05.357] else if (inherits(cond, "condition")) { [17:27:05.357] if (!is.null(pattern)) { [17:27:05.357] computeRestarts <- base::computeRestarts [17:27:05.357] grepl <- base::grepl [17:27:05.357] restarts <- computeRestarts(cond) [17:27:05.357] for (restart in restarts) { [17:27:05.357] name <- restart$name [17:27:05.357] if (is.null(name)) [17:27:05.357] next [17:27:05.357] if (!grepl(pattern, name)) [17:27:05.357] next [17:27:05.357] invokeRestart(restart) [17:27:05.357] muffled <- TRUE [17:27:05.357] break [17:27:05.357] } [17:27:05.357] } [17:27:05.357] } [17:27:05.357] invisible(muffled) [17:27:05.357] } [17:27:05.357] muffleCondition(cond) [17:27:05.357] }) [17:27:05.357] })) [17:27:05.357] future::FutureResult(value = ...future.value$value, [17:27:05.357] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.357] ...future.rng), globalenv = if (FALSE) [17:27:05.357] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.357] ...future.globalenv.names)) [17:27:05.357] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.357] }, condition = base::local({ [17:27:05.357] c <- base::c [17:27:05.357] inherits <- base::inherits [17:27:05.357] invokeRestart <- base::invokeRestart [17:27:05.357] length <- base::length [17:27:05.357] list <- base::list [17:27:05.357] seq.int <- base::seq.int [17:27:05.357] signalCondition <- base::signalCondition [17:27:05.357] sys.calls <- base::sys.calls [17:27:05.357] `[[` <- base::`[[` [17:27:05.357] `+` <- base::`+` [17:27:05.357] `<<-` <- base::`<<-` [17:27:05.357] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.357] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.357] 3L)] [17:27:05.357] } [17:27:05.357] function(cond) { [17:27:05.357] is_error <- inherits(cond, "error") [17:27:05.357] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.357] NULL) [17:27:05.357] if (is_error) { [17:27:05.357] sessionInformation <- function() { [17:27:05.357] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.357] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.357] search = base::search(), system = base::Sys.info()) [17:27:05.357] } [17:27:05.357] ...future.conditions[[length(...future.conditions) + [17:27:05.357] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.357] cond$call), session = sessionInformation(), [17:27:05.357] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.357] signalCondition(cond) [17:27:05.357] } [17:27:05.357] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.357] "immediateCondition"))) { [17:27:05.357] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.357] ...future.conditions[[length(...future.conditions) + [17:27:05.357] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.357] if (TRUE && !signal) { [17:27:05.357] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.357] { [17:27:05.357] inherits <- base::inherits [17:27:05.357] invokeRestart <- base::invokeRestart [17:27:05.357] is.null <- base::is.null [17:27:05.357] muffled <- FALSE [17:27:05.357] if (inherits(cond, "message")) { [17:27:05.357] muffled <- grepl(pattern, "muffleMessage") [17:27:05.357] if (muffled) [17:27:05.357] invokeRestart("muffleMessage") [17:27:05.357] } [17:27:05.357] else if (inherits(cond, "warning")) { [17:27:05.357] muffled <- grepl(pattern, "muffleWarning") [17:27:05.357] if (muffled) [17:27:05.357] invokeRestart("muffleWarning") [17:27:05.357] } [17:27:05.357] else if (inherits(cond, "condition")) { [17:27:05.357] if (!is.null(pattern)) { [17:27:05.357] computeRestarts <- base::computeRestarts [17:27:05.357] grepl <- base::grepl [17:27:05.357] restarts <- computeRestarts(cond) [17:27:05.357] for (restart in restarts) { [17:27:05.357] name <- restart$name [17:27:05.357] if (is.null(name)) [17:27:05.357] next [17:27:05.357] if (!grepl(pattern, name)) [17:27:05.357] next [17:27:05.357] invokeRestart(restart) [17:27:05.357] muffled <- TRUE [17:27:05.357] break [17:27:05.357] } [17:27:05.357] } [17:27:05.357] } [17:27:05.357] invisible(muffled) [17:27:05.357] } [17:27:05.357] muffleCondition(cond, pattern = "^muffle") [17:27:05.357] } [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] if (TRUE) { [17:27:05.357] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.357] { [17:27:05.357] inherits <- base::inherits [17:27:05.357] invokeRestart <- base::invokeRestart [17:27:05.357] is.null <- base::is.null [17:27:05.357] muffled <- FALSE [17:27:05.357] if (inherits(cond, "message")) { [17:27:05.357] muffled <- grepl(pattern, "muffleMessage") [17:27:05.357] if (muffled) [17:27:05.357] invokeRestart("muffleMessage") [17:27:05.357] } [17:27:05.357] else if (inherits(cond, "warning")) { [17:27:05.357] muffled <- grepl(pattern, "muffleWarning") [17:27:05.357] if (muffled) [17:27:05.357] invokeRestart("muffleWarning") [17:27:05.357] } [17:27:05.357] else if (inherits(cond, "condition")) { [17:27:05.357] if (!is.null(pattern)) { [17:27:05.357] computeRestarts <- base::computeRestarts [17:27:05.357] grepl <- base::grepl [17:27:05.357] restarts <- computeRestarts(cond) [17:27:05.357] for (restart in restarts) { [17:27:05.357] name <- restart$name [17:27:05.357] if (is.null(name)) [17:27:05.357] next [17:27:05.357] if (!grepl(pattern, name)) [17:27:05.357] next [17:27:05.357] invokeRestart(restart) [17:27:05.357] muffled <- TRUE [17:27:05.357] break [17:27:05.357] } [17:27:05.357] } [17:27:05.357] } [17:27:05.357] invisible(muffled) [17:27:05.357] } [17:27:05.357] muffleCondition(cond, pattern = "^muffle") [17:27:05.357] } [17:27:05.357] } [17:27:05.357] } [17:27:05.357] })) [17:27:05.357] }, error = function(ex) { [17:27:05.357] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.357] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.357] ...future.rng), started = ...future.startTime, [17:27:05.357] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.357] version = "1.8"), class = "FutureResult") [17:27:05.357] }, finally = { [17:27:05.357] if (!identical(...future.workdir, getwd())) [17:27:05.357] setwd(...future.workdir) [17:27:05.357] { [17:27:05.357] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.357] ...future.oldOptions$nwarnings <- NULL [17:27:05.357] } [17:27:05.357] base::options(...future.oldOptions) [17:27:05.357] if (.Platform$OS.type == "windows") { [17:27:05.357] old_names <- names(...future.oldEnvVars) [17:27:05.357] envs <- base::Sys.getenv() [17:27:05.357] names <- names(envs) [17:27:05.357] common <- intersect(names, old_names) [17:27:05.357] added <- setdiff(names, old_names) [17:27:05.357] removed <- setdiff(old_names, names) [17:27:05.357] changed <- common[...future.oldEnvVars[common] != [17:27:05.357] envs[common]] [17:27:05.357] NAMES <- toupper(changed) [17:27:05.357] args <- list() [17:27:05.357] for (kk in seq_along(NAMES)) { [17:27:05.357] name <- changed[[kk]] [17:27:05.357] NAME <- NAMES[[kk]] [17:27:05.357] if (name != NAME && is.element(NAME, old_names)) [17:27:05.357] next [17:27:05.357] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.357] } [17:27:05.357] NAMES <- toupper(added) [17:27:05.357] for (kk in seq_along(NAMES)) { [17:27:05.357] name <- added[[kk]] [17:27:05.357] NAME <- NAMES[[kk]] [17:27:05.357] if (name != NAME && is.element(NAME, old_names)) [17:27:05.357] next [17:27:05.357] args[[name]] <- "" [17:27:05.357] } [17:27:05.357] NAMES <- toupper(removed) [17:27:05.357] for (kk in seq_along(NAMES)) { [17:27:05.357] name <- removed[[kk]] [17:27:05.357] NAME <- NAMES[[kk]] [17:27:05.357] if (name != NAME && is.element(NAME, old_names)) [17:27:05.357] next [17:27:05.357] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.357] } [17:27:05.357] if (length(args) > 0) [17:27:05.357] base::do.call(base::Sys.setenv, args = args) [17:27:05.357] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.357] } [17:27:05.357] { [17:27:05.357] if (base::length(...future.futureOptionsAdded) > [17:27:05.357] 0L) { [17:27:05.357] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.357] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.357] base::options(opts) [17:27:05.357] } [17:27:05.357] { [17:27:05.357] { [17:27:05.357] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.357] NULL [17:27:05.357] } [17:27:05.357] options(future.plan = NULL) [17:27:05.357] if (is.na(NA_character_)) [17:27:05.357] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.357] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.357] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.357] .init = FALSE) [17:27:05.357] } [17:27:05.357] } [17:27:05.357] } [17:27:05.357] }) [17:27:05.357] if (TRUE) { [17:27:05.357] base::sink(type = "output", split = FALSE) [17:27:05.357] if (TRUE) { [17:27:05.357] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.357] } [17:27:05.357] else { [17:27:05.357] ...future.result["stdout"] <- base::list(NULL) [17:27:05.357] } [17:27:05.357] base::close(...future.stdout) [17:27:05.357] ...future.stdout <- NULL [17:27:05.357] } [17:27:05.357] ...future.result$conditions <- ...future.conditions [17:27:05.357] ...future.result$finished <- base::Sys.time() [17:27:05.357] ...future.result [17:27:05.357] } [17:27:05.362] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... [17:27:05.364] Exporting 'a' (10.22 KiB) to cluster node #2 ... [17:27:05.377] Exporting 'a' (10.22 KiB) to cluster node #2 ... DONE [17:27:05.377] Exporting 1 global objects (10.22 KiB) to cluster node #2 ... DONE [17:27:05.378] MultisessionFuture started [17:27:05.378] - Launch lazy future ... done [17:27:05.378] run() for 'MultisessionFuture' ... done [17:27:05.378] result() for ClusterFuture ... [17:27:05.379] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.379] - Validating connection of MultisessionFuture [17:27:05.393] - received message: FutureResult [17:27:05.393] - Received FutureResult [17:27:05.393] - Erased future from FutureRegistry [17:27:05.393] result() for ClusterFuture ... [17:27:05.394] - result already collected: FutureResult [17:27:05.394] result() for ClusterFuture ... done [17:27:05.394] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.394] result() for ClusterFuture ... done [17:27:05.394] result() for ClusterFuture ... [17:27:05.394] - result already collected: FutureResult [17:27:05.395] result() for ClusterFuture ... done value(b) = 2 [17:27:05.395] result() for ClusterFuture ... [17:27:05.395] - result already collected: FutureResult [17:27:05.395] result() for ClusterFuture ... done [17:27:05.395] result() for ClusterFuture ... [17:27:05.396] - result already collected: FutureResult [17:27:05.396] 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:27:05.396] 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:27:05.396] 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:27:05.398] - globals found: [2] '{', 'pkg' [17:27:05.398] Searching for globals ... DONE [17:27:05.398] Resolving globals: TRUE [17:27:05.398] Resolving any globals that are futures ... [17:27:05.398] - globals: [2] '{', 'pkg' [17:27:05.398] Resolving any globals that are futures ... DONE [17:27:05.399] Resolving futures part of globals (recursively) ... [17:27:05.399] resolve() on list ... [17:27:05.399] recursive: 99 [17:27:05.399] length: 1 [17:27:05.400] elements: 'pkg' [17:27:05.400] length: 0 (resolved future 1) [17:27:05.400] resolve() on list ... DONE [17:27:05.400] - globals: [1] 'pkg' [17:27:05.400] Resolving futures part of globals (recursively) ... DONE [17:27:05.401] The total size of the 1 globals is 112 bytes (112 bytes) [17:27:05.401] The total size of the 1 globals exported for future expression ('{; pkg; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (112 bytes of class 'character') [17:27:05.401] - globals: [1] 'pkg' [17:27:05.401] [17:27:05.402] getGlobalsAndPackages() ... DONE [17:27:05.402] Packages needed by the future expression (n = 0): [17:27:05.402] Packages needed by future strategies (n = 0): [17:27:05.403] { [17:27:05.403] { [17:27:05.403] { [17:27:05.403] ...future.startTime <- base::Sys.time() [17:27:05.403] { [17:27:05.403] { [17:27:05.403] { [17:27:05.403] base::local({ [17:27:05.403] has_future <- base::requireNamespace("future", [17:27:05.403] quietly = TRUE) [17:27:05.403] if (has_future) { [17:27:05.403] ns <- base::getNamespace("future") [17:27:05.403] version <- ns[[".package"]][["version"]] [17:27:05.403] if (is.null(version)) [17:27:05.403] version <- utils::packageVersion("future") [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] version <- NULL [17:27:05.403] } [17:27:05.403] if (!has_future || version < "1.8.0") { [17:27:05.403] info <- base::c(r_version = base::gsub("R version ", [17:27:05.403] "", base::R.version$version.string), [17:27:05.403] platform = base::sprintf("%s (%s-bit)", [17:27:05.403] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.403] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.403] "release", "version")], collapse = " "), [17:27:05.403] hostname = base::Sys.info()[["nodename"]]) [17:27:05.403] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.403] info) [17:27:05.403] info <- base::paste(info, collapse = "; ") [17:27:05.403] if (!has_future) { [17:27:05.403] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.403] info) [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.403] info, version) [17:27:05.403] } [17:27:05.403] base::stop(msg) [17:27:05.403] } [17:27:05.403] }) [17:27:05.403] } [17:27:05.403] ...future.strategy.old <- future::plan("list") [17:27:05.403] options(future.plan = NULL) [17:27:05.403] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.403] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.403] } [17:27:05.403] ...future.workdir <- getwd() [17:27:05.403] } [17:27:05.403] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.403] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.403] } [17:27:05.403] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.403] future.globals.maxSize = NULL, future.globals.method = "conservative", [17:27:05.403] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.403] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.403] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.403] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.403] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.403] base::names(...future.oldOptions)) [17:27:05.403] } [17:27:05.403] if (FALSE) { [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] if (TRUE) { [17:27:05.403] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.403] open = "w") [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.403] windows = "NUL", "/dev/null"), open = "w") [17:27:05.403] } [17:27:05.403] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.403] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.403] base::sink(type = "output", split = FALSE) [17:27:05.403] base::close(...future.stdout) [17:27:05.403] }, add = TRUE) [17:27:05.403] } [17:27:05.403] ...future.frame <- base::sys.nframe() [17:27:05.403] ...future.conditions <- base::list() [17:27:05.403] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.403] if (FALSE) { [17:27:05.403] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.403] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.403] } [17:27:05.403] ...future.result <- base::tryCatch({ [17:27:05.403] base::withCallingHandlers({ [17:27:05.403] ...future.value <- base::withVisible(base::local({ [17:27:05.403] pkg [17:27:05.403] })) [17:27:05.403] future::FutureResult(value = ...future.value$value, [17:27:05.403] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.403] ...future.rng), globalenv = if (FALSE) [17:27:05.403] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.403] ...future.globalenv.names)) [17:27:05.403] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.403] }, condition = base::local({ [17:27:05.403] c <- base::c [17:27:05.403] inherits <- base::inherits [17:27:05.403] invokeRestart <- base::invokeRestart [17:27:05.403] length <- base::length [17:27:05.403] list <- base::list [17:27:05.403] seq.int <- base::seq.int [17:27:05.403] signalCondition <- base::signalCondition [17:27:05.403] sys.calls <- base::sys.calls [17:27:05.403] `[[` <- base::`[[` [17:27:05.403] `+` <- base::`+` [17:27:05.403] `<<-` <- base::`<<-` [17:27:05.403] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.403] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.403] 3L)] [17:27:05.403] } [17:27:05.403] function(cond) { [17:27:05.403] is_error <- inherits(cond, "error") [17:27:05.403] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.403] NULL) [17:27:05.403] if (is_error) { [17:27:05.403] sessionInformation <- function() { [17:27:05.403] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.403] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.403] search = base::search(), system = base::Sys.info()) [17:27:05.403] } [17:27:05.403] ...future.conditions[[length(...future.conditions) + [17:27:05.403] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.403] cond$call), session = sessionInformation(), [17:27:05.403] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.403] signalCondition(cond) [17:27:05.403] } [17:27:05.403] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.403] "immediateCondition"))) { [17:27:05.403] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.403] ...future.conditions[[length(...future.conditions) + [17:27:05.403] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.403] if (TRUE && !signal) { [17:27:05.403] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.403] { [17:27:05.403] inherits <- base::inherits [17:27:05.403] invokeRestart <- base::invokeRestart [17:27:05.403] is.null <- base::is.null [17:27:05.403] muffled <- FALSE [17:27:05.403] if (inherits(cond, "message")) { [17:27:05.403] muffled <- grepl(pattern, "muffleMessage") [17:27:05.403] if (muffled) [17:27:05.403] invokeRestart("muffleMessage") [17:27:05.403] } [17:27:05.403] else if (inherits(cond, "warning")) { [17:27:05.403] muffled <- grepl(pattern, "muffleWarning") [17:27:05.403] if (muffled) [17:27:05.403] invokeRestart("muffleWarning") [17:27:05.403] } [17:27:05.403] else if (inherits(cond, "condition")) { [17:27:05.403] if (!is.null(pattern)) { [17:27:05.403] computeRestarts <- base::computeRestarts [17:27:05.403] grepl <- base::grepl [17:27:05.403] restarts <- computeRestarts(cond) [17:27:05.403] for (restart in restarts) { [17:27:05.403] name <- restart$name [17:27:05.403] if (is.null(name)) [17:27:05.403] next [17:27:05.403] if (!grepl(pattern, name)) [17:27:05.403] next [17:27:05.403] invokeRestart(restart) [17:27:05.403] muffled <- TRUE [17:27:05.403] break [17:27:05.403] } [17:27:05.403] } [17:27:05.403] } [17:27:05.403] invisible(muffled) [17:27:05.403] } [17:27:05.403] muffleCondition(cond, pattern = "^muffle") [17:27:05.403] } [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] if (TRUE) { [17:27:05.403] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.403] { [17:27:05.403] inherits <- base::inherits [17:27:05.403] invokeRestart <- base::invokeRestart [17:27:05.403] is.null <- base::is.null [17:27:05.403] muffled <- FALSE [17:27:05.403] if (inherits(cond, "message")) { [17:27:05.403] muffled <- grepl(pattern, "muffleMessage") [17:27:05.403] if (muffled) [17:27:05.403] invokeRestart("muffleMessage") [17:27:05.403] } [17:27:05.403] else if (inherits(cond, "warning")) { [17:27:05.403] muffled <- grepl(pattern, "muffleWarning") [17:27:05.403] if (muffled) [17:27:05.403] invokeRestart("muffleWarning") [17:27:05.403] } [17:27:05.403] else if (inherits(cond, "condition")) { [17:27:05.403] if (!is.null(pattern)) { [17:27:05.403] computeRestarts <- base::computeRestarts [17:27:05.403] grepl <- base::grepl [17:27:05.403] restarts <- computeRestarts(cond) [17:27:05.403] for (restart in restarts) { [17:27:05.403] name <- restart$name [17:27:05.403] if (is.null(name)) [17:27:05.403] next [17:27:05.403] if (!grepl(pattern, name)) [17:27:05.403] next [17:27:05.403] invokeRestart(restart) [17:27:05.403] muffled <- TRUE [17:27:05.403] break [17:27:05.403] } [17:27:05.403] } [17:27:05.403] } [17:27:05.403] invisible(muffled) [17:27:05.403] } [17:27:05.403] muffleCondition(cond, pattern = "^muffle") [17:27:05.403] } [17:27:05.403] } [17:27:05.403] } [17:27:05.403] })) [17:27:05.403] }, error = function(ex) { [17:27:05.403] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.403] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.403] ...future.rng), started = ...future.startTime, [17:27:05.403] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.403] version = "1.8"), class = "FutureResult") [17:27:05.403] }, finally = { [17:27:05.403] if (!identical(...future.workdir, getwd())) [17:27:05.403] setwd(...future.workdir) [17:27:05.403] { [17:27:05.403] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.403] ...future.oldOptions$nwarnings <- NULL [17:27:05.403] } [17:27:05.403] base::options(...future.oldOptions) [17:27:05.403] if (.Platform$OS.type == "windows") { [17:27:05.403] old_names <- names(...future.oldEnvVars) [17:27:05.403] envs <- base::Sys.getenv() [17:27:05.403] names <- names(envs) [17:27:05.403] common <- intersect(names, old_names) [17:27:05.403] added <- setdiff(names, old_names) [17:27:05.403] removed <- setdiff(old_names, names) [17:27:05.403] changed <- common[...future.oldEnvVars[common] != [17:27:05.403] envs[common]] [17:27:05.403] NAMES <- toupper(changed) [17:27:05.403] args <- list() [17:27:05.403] for (kk in seq_along(NAMES)) { [17:27:05.403] name <- changed[[kk]] [17:27:05.403] NAME <- NAMES[[kk]] [17:27:05.403] if (name != NAME && is.element(NAME, old_names)) [17:27:05.403] next [17:27:05.403] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.403] } [17:27:05.403] NAMES <- toupper(added) [17:27:05.403] for (kk in seq_along(NAMES)) { [17:27:05.403] name <- added[[kk]] [17:27:05.403] NAME <- NAMES[[kk]] [17:27:05.403] if (name != NAME && is.element(NAME, old_names)) [17:27:05.403] next [17:27:05.403] args[[name]] <- "" [17:27:05.403] } [17:27:05.403] NAMES <- toupper(removed) [17:27:05.403] for (kk in seq_along(NAMES)) { [17:27:05.403] name <- removed[[kk]] [17:27:05.403] NAME <- NAMES[[kk]] [17:27:05.403] if (name != NAME && is.element(NAME, old_names)) [17:27:05.403] next [17:27:05.403] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.403] } [17:27:05.403] if (length(args) > 0) [17:27:05.403] base::do.call(base::Sys.setenv, args = args) [17:27:05.403] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.403] } [17:27:05.403] { [17:27:05.403] if (base::length(...future.futureOptionsAdded) > [17:27:05.403] 0L) { [17:27:05.403] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.403] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.403] base::options(opts) [17:27:05.403] } [17:27:05.403] { [17:27:05.403] { [17:27:05.403] NULL [17:27:05.403] RNGkind("Mersenne-Twister") [17:27:05.403] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:05.403] inherits = FALSE) [17:27:05.403] } [17:27:05.403] options(future.plan = NULL) [17:27:05.403] if (is.na(NA_character_)) [17:27:05.403] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.403] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.403] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.403] .init = FALSE) [17:27:05.403] } [17:27:05.403] } [17:27:05.403] } [17:27:05.403] }) [17:27:05.403] if (TRUE) { [17:27:05.403] base::sink(type = "output", split = FALSE) [17:27:05.403] if (TRUE) { [17:27:05.403] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.403] } [17:27:05.403] else { [17:27:05.403] ...future.result["stdout"] <- base::list(NULL) [17:27:05.403] } [17:27:05.403] base::close(...future.stdout) [17:27:05.403] ...future.stdout <- NULL [17:27:05.403] } [17:27:05.403] ...future.result$conditions <- ...future.conditions [17:27:05.403] ...future.result$finished <- base::Sys.time() [17:27:05.403] ...future.result [17:27:05.403] } [17:27:05.406] assign_globals() ... [17:27:05.407] List of 1 [17:27:05.407] $ pkg: chr "foo" [17:27:05.407] - attr(*, "where")=List of 1 [17:27:05.407] ..$ pkg: [17:27:05.407] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:05.407] - attr(*, "resolved")= logi TRUE [17:27:05.407] - attr(*, "total_size")= num 112 [17:27:05.409] - copied 'pkg' to environment [17:27:05.410] assign_globals() ... done [17:27:05.410] plan(): Setting new future strategy stack: [17:27:05.410] List of future strategies: [17:27:05.410] 1. sequential: [17:27:05.410] - args: function (..., envir = parent.frame(), workers = "") [17:27:05.410] - tweaked: FALSE [17:27:05.410] - call: NULL [17:27:05.411] plan(): nbrOfWorkers() = 1 [17:27:05.412] plan(): Setting new future strategy stack: [17:27:05.412] List of future strategies: [17:27:05.412] 1. multisession: [17:27:05.412] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:05.412] - tweaked: FALSE [17:27:05.412] - call: plan(strategy) [17:27:05.415] plan(): nbrOfWorkers() = 2 [17:27:05.415] 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:27:05.416] 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:27:05.416] 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:27:05.418] - globals found: [4] '{', '<-', 'a', '*' [17:27:05.419] Searching for globals ... DONE [17:27:05.419] Resolving globals: TRUE [17:27:05.419] Resolving any globals that are futures ... [17:27:05.419] - globals: [4] '{', '<-', 'a', '*' [17:27:05.419] Resolving any globals that are futures ... DONE [17:27:05.420] Resolving futures part of globals (recursively) ... [17:27:05.420] resolve() on list ... [17:27:05.420] recursive: 99 [17:27:05.420] length: 1 [17:27:05.421] elements: 'a' [17:27:05.421] length: 0 (resolved future 1) [17:27:05.421] resolve() on list ... DONE [17:27:05.421] - globals: [1] 'a' [17:27:05.421] Resolving futures part of globals (recursively) ... DONE [17:27:05.422] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:05.422] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [17:27:05.422] - globals: [1] 'a' [17:27:05.422] [17:27:05.422] getGlobalsAndPackages() ... DONE [17:27:05.423] run() for 'Future' ... [17:27:05.423] - state: 'created' [17:27:05.423] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.437] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.437] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.437] - Field: 'node' [17:27:05.438] - Field: 'label' [17:27:05.438] - Field: 'local' [17:27:05.438] - Field: 'owner' [17:27:05.438] - Field: 'envir' [17:27:05.438] - Field: 'workers' [17:27:05.438] - Field: 'packages' [17:27:05.439] - Field: 'gc' [17:27:05.439] - Field: 'conditions' [17:27:05.439] - Field: 'persistent' [17:27:05.439] - Field: 'expr' [17:27:05.439] - Field: 'uuid' [17:27:05.439] - Field: 'seed' [17:27:05.440] - Field: 'version' [17:27:05.440] - Field: 'result' [17:27:05.440] - Field: 'asynchronous' [17:27:05.440] - Field: 'calls' [17:27:05.440] - Field: 'globals' [17:27:05.441] - Field: 'stdout' [17:27:05.441] - Field: 'earlySignal' [17:27:05.441] - Field: 'lazy' [17:27:05.441] - Field: 'state' [17:27:05.441] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.442] - Launch lazy future ... [17:27:05.442] Packages needed by the future expression (n = 0): [17:27:05.442] Packages needed by future strategies (n = 0): [17:27:05.443] { [17:27:05.443] { [17:27:05.443] { [17:27:05.443] ...future.startTime <- base::Sys.time() [17:27:05.443] { [17:27:05.443] { [17:27:05.443] { [17:27:05.443] { [17:27:05.443] base::local({ [17:27:05.443] has_future <- base::requireNamespace("future", [17:27:05.443] quietly = TRUE) [17:27:05.443] if (has_future) { [17:27:05.443] ns <- base::getNamespace("future") [17:27:05.443] version <- ns[[".package"]][["version"]] [17:27:05.443] if (is.null(version)) [17:27:05.443] version <- utils::packageVersion("future") [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] version <- NULL [17:27:05.443] } [17:27:05.443] if (!has_future || version < "1.8.0") { [17:27:05.443] info <- base::c(r_version = base::gsub("R version ", [17:27:05.443] "", base::R.version$version.string), [17:27:05.443] platform = base::sprintf("%s (%s-bit)", [17:27:05.443] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.443] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.443] "release", "version")], collapse = " "), [17:27:05.443] hostname = base::Sys.info()[["nodename"]]) [17:27:05.443] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.443] info) [17:27:05.443] info <- base::paste(info, collapse = "; ") [17:27:05.443] if (!has_future) { [17:27:05.443] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.443] info) [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.443] info, version) [17:27:05.443] } [17:27:05.443] base::stop(msg) [17:27:05.443] } [17:27:05.443] }) [17:27:05.443] } [17:27:05.443] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.443] base::options(mc.cores = 1L) [17:27:05.443] } [17:27:05.443] ...future.strategy.old <- future::plan("list") [17:27:05.443] options(future.plan = NULL) [17:27:05.443] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.443] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.443] } [17:27:05.443] ...future.workdir <- getwd() [17:27:05.443] } [17:27:05.443] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.443] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.443] } [17:27:05.443] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.443] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.443] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.443] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.443] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.443] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.443] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.443] base::names(...future.oldOptions)) [17:27:05.443] } [17:27:05.443] if (FALSE) { [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] if (TRUE) { [17:27:05.443] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.443] open = "w") [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.443] windows = "NUL", "/dev/null"), open = "w") [17:27:05.443] } [17:27:05.443] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.443] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.443] base::sink(type = "output", split = FALSE) [17:27:05.443] base::close(...future.stdout) [17:27:05.443] }, add = TRUE) [17:27:05.443] } [17:27:05.443] ...future.frame <- base::sys.nframe() [17:27:05.443] ...future.conditions <- base::list() [17:27:05.443] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.443] if (FALSE) { [17:27:05.443] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.443] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.443] } [17:27:05.443] ...future.result <- base::tryCatch({ [17:27:05.443] base::withCallingHandlers({ [17:27:05.443] ...future.value <- base::withVisible(base::local({ [17:27:05.443] ...future.makeSendCondition <- base::local({ [17:27:05.443] sendCondition <- NULL [17:27:05.443] function(frame = 1L) { [17:27:05.443] if (is.function(sendCondition)) [17:27:05.443] return(sendCondition) [17:27:05.443] ns <- getNamespace("parallel") [17:27:05.443] if (exists("sendData", mode = "function", [17:27:05.443] envir = ns)) { [17:27:05.443] parallel_sendData <- get("sendData", mode = "function", [17:27:05.443] envir = ns) [17:27:05.443] envir <- sys.frame(frame) [17:27:05.443] master <- NULL [17:27:05.443] while (!identical(envir, .GlobalEnv) && [17:27:05.443] !identical(envir, emptyenv())) { [17:27:05.443] if (exists("master", mode = "list", envir = envir, [17:27:05.443] inherits = FALSE)) { [17:27:05.443] master <- get("master", mode = "list", [17:27:05.443] envir = envir, inherits = FALSE) [17:27:05.443] if (inherits(master, c("SOCKnode", [17:27:05.443] "SOCK0node"))) { [17:27:05.443] sendCondition <<- function(cond) { [17:27:05.443] data <- list(type = "VALUE", value = cond, [17:27:05.443] success = TRUE) [17:27:05.443] parallel_sendData(master, data) [17:27:05.443] } [17:27:05.443] return(sendCondition) [17:27:05.443] } [17:27:05.443] } [17:27:05.443] frame <- frame + 1L [17:27:05.443] envir <- sys.frame(frame) [17:27:05.443] } [17:27:05.443] } [17:27:05.443] sendCondition <<- function(cond) NULL [17:27:05.443] } [17:27:05.443] }) [17:27:05.443] withCallingHandlers({ [17:27:05.443] { [17:27:05.443] b <- a [17:27:05.443] a <- 2 [17:27:05.443] a * b [17:27:05.443] } [17:27:05.443] }, immediateCondition = function(cond) { [17:27:05.443] sendCondition <- ...future.makeSendCondition() [17:27:05.443] sendCondition(cond) [17:27:05.443] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.443] { [17:27:05.443] inherits <- base::inherits [17:27:05.443] invokeRestart <- base::invokeRestart [17:27:05.443] is.null <- base::is.null [17:27:05.443] muffled <- FALSE [17:27:05.443] if (inherits(cond, "message")) { [17:27:05.443] muffled <- grepl(pattern, "muffleMessage") [17:27:05.443] if (muffled) [17:27:05.443] invokeRestart("muffleMessage") [17:27:05.443] } [17:27:05.443] else if (inherits(cond, "warning")) { [17:27:05.443] muffled <- grepl(pattern, "muffleWarning") [17:27:05.443] if (muffled) [17:27:05.443] invokeRestart("muffleWarning") [17:27:05.443] } [17:27:05.443] else if (inherits(cond, "condition")) { [17:27:05.443] if (!is.null(pattern)) { [17:27:05.443] computeRestarts <- base::computeRestarts [17:27:05.443] grepl <- base::grepl [17:27:05.443] restarts <- computeRestarts(cond) [17:27:05.443] for (restart in restarts) { [17:27:05.443] name <- restart$name [17:27:05.443] if (is.null(name)) [17:27:05.443] next [17:27:05.443] if (!grepl(pattern, name)) [17:27:05.443] next [17:27:05.443] invokeRestart(restart) [17:27:05.443] muffled <- TRUE [17:27:05.443] break [17:27:05.443] } [17:27:05.443] } [17:27:05.443] } [17:27:05.443] invisible(muffled) [17:27:05.443] } [17:27:05.443] muffleCondition(cond) [17:27:05.443] }) [17:27:05.443] })) [17:27:05.443] future::FutureResult(value = ...future.value$value, [17:27:05.443] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.443] ...future.rng), globalenv = if (FALSE) [17:27:05.443] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.443] ...future.globalenv.names)) [17:27:05.443] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.443] }, condition = base::local({ [17:27:05.443] c <- base::c [17:27:05.443] inherits <- base::inherits [17:27:05.443] invokeRestart <- base::invokeRestart [17:27:05.443] length <- base::length [17:27:05.443] list <- base::list [17:27:05.443] seq.int <- base::seq.int [17:27:05.443] signalCondition <- base::signalCondition [17:27:05.443] sys.calls <- base::sys.calls [17:27:05.443] `[[` <- base::`[[` [17:27:05.443] `+` <- base::`+` [17:27:05.443] `<<-` <- base::`<<-` [17:27:05.443] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.443] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.443] 3L)] [17:27:05.443] } [17:27:05.443] function(cond) { [17:27:05.443] is_error <- inherits(cond, "error") [17:27:05.443] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.443] NULL) [17:27:05.443] if (is_error) { [17:27:05.443] sessionInformation <- function() { [17:27:05.443] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.443] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.443] search = base::search(), system = base::Sys.info()) [17:27:05.443] } [17:27:05.443] ...future.conditions[[length(...future.conditions) + [17:27:05.443] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.443] cond$call), session = sessionInformation(), [17:27:05.443] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.443] signalCondition(cond) [17:27:05.443] } [17:27:05.443] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.443] "immediateCondition"))) { [17:27:05.443] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.443] ...future.conditions[[length(...future.conditions) + [17:27:05.443] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.443] if (TRUE && !signal) { [17:27:05.443] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.443] { [17:27:05.443] inherits <- base::inherits [17:27:05.443] invokeRestart <- base::invokeRestart [17:27:05.443] is.null <- base::is.null [17:27:05.443] muffled <- FALSE [17:27:05.443] if (inherits(cond, "message")) { [17:27:05.443] muffled <- grepl(pattern, "muffleMessage") [17:27:05.443] if (muffled) [17:27:05.443] invokeRestart("muffleMessage") [17:27:05.443] } [17:27:05.443] else if (inherits(cond, "warning")) { [17:27:05.443] muffled <- grepl(pattern, "muffleWarning") [17:27:05.443] if (muffled) [17:27:05.443] invokeRestart("muffleWarning") [17:27:05.443] } [17:27:05.443] else if (inherits(cond, "condition")) { [17:27:05.443] if (!is.null(pattern)) { [17:27:05.443] computeRestarts <- base::computeRestarts [17:27:05.443] grepl <- base::grepl [17:27:05.443] restarts <- computeRestarts(cond) [17:27:05.443] for (restart in restarts) { [17:27:05.443] name <- restart$name [17:27:05.443] if (is.null(name)) [17:27:05.443] next [17:27:05.443] if (!grepl(pattern, name)) [17:27:05.443] next [17:27:05.443] invokeRestart(restart) [17:27:05.443] muffled <- TRUE [17:27:05.443] break [17:27:05.443] } [17:27:05.443] } [17:27:05.443] } [17:27:05.443] invisible(muffled) [17:27:05.443] } [17:27:05.443] muffleCondition(cond, pattern = "^muffle") [17:27:05.443] } [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] if (TRUE) { [17:27:05.443] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.443] { [17:27:05.443] inherits <- base::inherits [17:27:05.443] invokeRestart <- base::invokeRestart [17:27:05.443] is.null <- base::is.null [17:27:05.443] muffled <- FALSE [17:27:05.443] if (inherits(cond, "message")) { [17:27:05.443] muffled <- grepl(pattern, "muffleMessage") [17:27:05.443] if (muffled) [17:27:05.443] invokeRestart("muffleMessage") [17:27:05.443] } [17:27:05.443] else if (inherits(cond, "warning")) { [17:27:05.443] muffled <- grepl(pattern, "muffleWarning") [17:27:05.443] if (muffled) [17:27:05.443] invokeRestart("muffleWarning") [17:27:05.443] } [17:27:05.443] else if (inherits(cond, "condition")) { [17:27:05.443] if (!is.null(pattern)) { [17:27:05.443] computeRestarts <- base::computeRestarts [17:27:05.443] grepl <- base::grepl [17:27:05.443] restarts <- computeRestarts(cond) [17:27:05.443] for (restart in restarts) { [17:27:05.443] name <- restart$name [17:27:05.443] if (is.null(name)) [17:27:05.443] next [17:27:05.443] if (!grepl(pattern, name)) [17:27:05.443] next [17:27:05.443] invokeRestart(restart) [17:27:05.443] muffled <- TRUE [17:27:05.443] break [17:27:05.443] } [17:27:05.443] } [17:27:05.443] } [17:27:05.443] invisible(muffled) [17:27:05.443] } [17:27:05.443] muffleCondition(cond, pattern = "^muffle") [17:27:05.443] } [17:27:05.443] } [17:27:05.443] } [17:27:05.443] })) [17:27:05.443] }, error = function(ex) { [17:27:05.443] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.443] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.443] ...future.rng), started = ...future.startTime, [17:27:05.443] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.443] version = "1.8"), class = "FutureResult") [17:27:05.443] }, finally = { [17:27:05.443] if (!identical(...future.workdir, getwd())) [17:27:05.443] setwd(...future.workdir) [17:27:05.443] { [17:27:05.443] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.443] ...future.oldOptions$nwarnings <- NULL [17:27:05.443] } [17:27:05.443] base::options(...future.oldOptions) [17:27:05.443] if (.Platform$OS.type == "windows") { [17:27:05.443] old_names <- names(...future.oldEnvVars) [17:27:05.443] envs <- base::Sys.getenv() [17:27:05.443] names <- names(envs) [17:27:05.443] common <- intersect(names, old_names) [17:27:05.443] added <- setdiff(names, old_names) [17:27:05.443] removed <- setdiff(old_names, names) [17:27:05.443] changed <- common[...future.oldEnvVars[common] != [17:27:05.443] envs[common]] [17:27:05.443] NAMES <- toupper(changed) [17:27:05.443] args <- list() [17:27:05.443] for (kk in seq_along(NAMES)) { [17:27:05.443] name <- changed[[kk]] [17:27:05.443] NAME <- NAMES[[kk]] [17:27:05.443] if (name != NAME && is.element(NAME, old_names)) [17:27:05.443] next [17:27:05.443] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.443] } [17:27:05.443] NAMES <- toupper(added) [17:27:05.443] for (kk in seq_along(NAMES)) { [17:27:05.443] name <- added[[kk]] [17:27:05.443] NAME <- NAMES[[kk]] [17:27:05.443] if (name != NAME && is.element(NAME, old_names)) [17:27:05.443] next [17:27:05.443] args[[name]] <- "" [17:27:05.443] } [17:27:05.443] NAMES <- toupper(removed) [17:27:05.443] for (kk in seq_along(NAMES)) { [17:27:05.443] name <- removed[[kk]] [17:27:05.443] NAME <- NAMES[[kk]] [17:27:05.443] if (name != NAME && is.element(NAME, old_names)) [17:27:05.443] next [17:27:05.443] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.443] } [17:27:05.443] if (length(args) > 0) [17:27:05.443] base::do.call(base::Sys.setenv, args = args) [17:27:05.443] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.443] } [17:27:05.443] { [17:27:05.443] if (base::length(...future.futureOptionsAdded) > [17:27:05.443] 0L) { [17:27:05.443] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.443] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.443] base::options(opts) [17:27:05.443] } [17:27:05.443] { [17:27:05.443] { [17:27:05.443] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.443] NULL [17:27:05.443] } [17:27:05.443] options(future.plan = NULL) [17:27:05.443] if (is.na(NA_character_)) [17:27:05.443] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.443] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.443] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.443] .init = FALSE) [17:27:05.443] } [17:27:05.443] } [17:27:05.443] } [17:27:05.443] }) [17:27:05.443] if (TRUE) { [17:27:05.443] base::sink(type = "output", split = FALSE) [17:27:05.443] if (TRUE) { [17:27:05.443] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.443] } [17:27:05.443] else { [17:27:05.443] ...future.result["stdout"] <- base::list(NULL) [17:27:05.443] } [17:27:05.443] base::close(...future.stdout) [17:27:05.443] ...future.stdout <- NULL [17:27:05.443] } [17:27:05.443] ...future.result$conditions <- ...future.conditions [17:27:05.443] ...future.result$finished <- base::Sys.time() [17:27:05.443] ...future.result [17:27:05.443] } [17:27:05.448] Exporting 1 global objects (56 bytes) to cluster node #2 ... [17:27:05.448] Exporting 'a' (56 bytes) to cluster node #2 ... [17:27:05.448] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [17:27:05.449] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [17:27:05.449] MultisessionFuture started [17:27:05.449] - Launch lazy future ... done [17:27:05.450] run() for 'MultisessionFuture' ... done [17:27:05.450] result() for ClusterFuture ... [17:27:05.450] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.450] - Validating connection of MultisessionFuture [17:27:05.463] - received message: FutureResult [17:27:05.463] - Received FutureResult [17:27:05.463] - Erased future from FutureRegistry [17:27:05.463] result() for ClusterFuture ... [17:27:05.463] - result already collected: FutureResult [17:27:05.464] result() for ClusterFuture ... done [17:27:05.464] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.464] result() for ClusterFuture ... done [17:27:05.464] result() for ClusterFuture ... [17:27:05.464] - result already collected: FutureResult [17:27:05.464] 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:27:05.465] 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:27:05.465] 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:27:05.468] - globals found: [4] '{', '<-', 'a', '*' [17:27:05.468] Searching for globals ... DONE [17:27:05.468] Resolving globals: TRUE [17:27:05.468] Resolving any globals that are futures ... [17:27:05.468] - globals: [4] '{', '<-', 'a', '*' [17:27:05.468] Resolving any globals that are futures ... DONE [17:27:05.469] Resolving futures part of globals (recursively) ... [17:27:05.469] resolve() on list ... [17:27:05.469] recursive: 99 [17:27:05.470] length: 1 [17:27:05.470] elements: 'a' [17:27:05.470] length: 0 (resolved future 1) [17:27:05.470] resolve() on list ... DONE [17:27:05.470] - globals: [1] 'a' [17:27:05.470] Resolving futures part of globals (recursively) ... DONE [17:27:05.471] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:05.471] The total size of the 1 globals exported for future expression ('{; b <- a; a <- 2; a * b; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [17:27:05.471] - globals: [1] 'a' [17:27:05.471] [17:27:05.472] getGlobalsAndPackages() ... DONE [17:27:05.472] run() for 'Future' ... [17:27:05.472] - state: 'created' [17:27:05.472] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.486] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.486] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.486] - Field: 'node' [17:27:05.486] - Field: 'label' [17:27:05.486] - Field: 'local' [17:27:05.487] - Field: 'owner' [17:27:05.487] - Field: 'envir' [17:27:05.487] - Field: 'workers' [17:27:05.487] - Field: 'packages' [17:27:05.487] - Field: 'gc' [17:27:05.488] - Field: 'conditions' [17:27:05.488] - Field: 'persistent' [17:27:05.488] - Field: 'expr' [17:27:05.488] - Field: 'uuid' [17:27:05.488] - Field: 'seed' [17:27:05.488] - Field: 'version' [17:27:05.489] - Field: 'result' [17:27:05.489] - Field: 'asynchronous' [17:27:05.489] - Field: 'calls' [17:27:05.489] - Field: 'globals' [17:27:05.489] - Field: 'stdout' [17:27:05.489] - Field: 'earlySignal' [17:27:05.490] - Field: 'lazy' [17:27:05.490] - Field: 'state' [17:27:05.490] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.490] - Launch lazy future ... [17:27:05.491] Packages needed by the future expression (n = 0): [17:27:05.491] Packages needed by future strategies (n = 0): [17:27:05.491] { [17:27:05.491] { [17:27:05.491] { [17:27:05.491] ...future.startTime <- base::Sys.time() [17:27:05.491] { [17:27:05.491] { [17:27:05.491] { [17:27:05.491] { [17:27:05.491] base::local({ [17:27:05.491] has_future <- base::requireNamespace("future", [17:27:05.491] quietly = TRUE) [17:27:05.491] if (has_future) { [17:27:05.491] ns <- base::getNamespace("future") [17:27:05.491] version <- ns[[".package"]][["version"]] [17:27:05.491] if (is.null(version)) [17:27:05.491] version <- utils::packageVersion("future") [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] version <- NULL [17:27:05.491] } [17:27:05.491] if (!has_future || version < "1.8.0") { [17:27:05.491] info <- base::c(r_version = base::gsub("R version ", [17:27:05.491] "", base::R.version$version.string), [17:27:05.491] platform = base::sprintf("%s (%s-bit)", [17:27:05.491] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.491] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.491] "release", "version")], collapse = " "), [17:27:05.491] hostname = base::Sys.info()[["nodename"]]) [17:27:05.491] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.491] info) [17:27:05.491] info <- base::paste(info, collapse = "; ") [17:27:05.491] if (!has_future) { [17:27:05.491] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.491] info) [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.491] info, version) [17:27:05.491] } [17:27:05.491] base::stop(msg) [17:27:05.491] } [17:27:05.491] }) [17:27:05.491] } [17:27:05.491] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.491] base::options(mc.cores = 1L) [17:27:05.491] } [17:27:05.491] ...future.strategy.old <- future::plan("list") [17:27:05.491] options(future.plan = NULL) [17:27:05.491] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.491] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.491] } [17:27:05.491] ...future.workdir <- getwd() [17:27:05.491] } [17:27:05.491] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.491] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.491] } [17:27:05.491] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.491] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.491] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.491] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.491] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.491] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.491] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.491] base::names(...future.oldOptions)) [17:27:05.491] } [17:27:05.491] if (FALSE) { [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] if (TRUE) { [17:27:05.491] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.491] open = "w") [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.491] windows = "NUL", "/dev/null"), open = "w") [17:27:05.491] } [17:27:05.491] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.491] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.491] base::sink(type = "output", split = FALSE) [17:27:05.491] base::close(...future.stdout) [17:27:05.491] }, add = TRUE) [17:27:05.491] } [17:27:05.491] ...future.frame <- base::sys.nframe() [17:27:05.491] ...future.conditions <- base::list() [17:27:05.491] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.491] if (FALSE) { [17:27:05.491] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.491] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.491] } [17:27:05.491] ...future.result <- base::tryCatch({ [17:27:05.491] base::withCallingHandlers({ [17:27:05.491] ...future.value <- base::withVisible(base::local({ [17:27:05.491] ...future.makeSendCondition <- base::local({ [17:27:05.491] sendCondition <- NULL [17:27:05.491] function(frame = 1L) { [17:27:05.491] if (is.function(sendCondition)) [17:27:05.491] return(sendCondition) [17:27:05.491] ns <- getNamespace("parallel") [17:27:05.491] if (exists("sendData", mode = "function", [17:27:05.491] envir = ns)) { [17:27:05.491] parallel_sendData <- get("sendData", mode = "function", [17:27:05.491] envir = ns) [17:27:05.491] envir <- sys.frame(frame) [17:27:05.491] master <- NULL [17:27:05.491] while (!identical(envir, .GlobalEnv) && [17:27:05.491] !identical(envir, emptyenv())) { [17:27:05.491] if (exists("master", mode = "list", envir = envir, [17:27:05.491] inherits = FALSE)) { [17:27:05.491] master <- get("master", mode = "list", [17:27:05.491] envir = envir, inherits = FALSE) [17:27:05.491] if (inherits(master, c("SOCKnode", [17:27:05.491] "SOCK0node"))) { [17:27:05.491] sendCondition <<- function(cond) { [17:27:05.491] data <- list(type = "VALUE", value = cond, [17:27:05.491] success = TRUE) [17:27:05.491] parallel_sendData(master, data) [17:27:05.491] } [17:27:05.491] return(sendCondition) [17:27:05.491] } [17:27:05.491] } [17:27:05.491] frame <- frame + 1L [17:27:05.491] envir <- sys.frame(frame) [17:27:05.491] } [17:27:05.491] } [17:27:05.491] sendCondition <<- function(cond) NULL [17:27:05.491] } [17:27:05.491] }) [17:27:05.491] withCallingHandlers({ [17:27:05.491] { [17:27:05.491] b <- a [17:27:05.491] a <- 2 [17:27:05.491] a * b [17:27:05.491] } [17:27:05.491] }, immediateCondition = function(cond) { [17:27:05.491] sendCondition <- ...future.makeSendCondition() [17:27:05.491] sendCondition(cond) [17:27:05.491] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.491] { [17:27:05.491] inherits <- base::inherits [17:27:05.491] invokeRestart <- base::invokeRestart [17:27:05.491] is.null <- base::is.null [17:27:05.491] muffled <- FALSE [17:27:05.491] if (inherits(cond, "message")) { [17:27:05.491] muffled <- grepl(pattern, "muffleMessage") [17:27:05.491] if (muffled) [17:27:05.491] invokeRestart("muffleMessage") [17:27:05.491] } [17:27:05.491] else if (inherits(cond, "warning")) { [17:27:05.491] muffled <- grepl(pattern, "muffleWarning") [17:27:05.491] if (muffled) [17:27:05.491] invokeRestart("muffleWarning") [17:27:05.491] } [17:27:05.491] else if (inherits(cond, "condition")) { [17:27:05.491] if (!is.null(pattern)) { [17:27:05.491] computeRestarts <- base::computeRestarts [17:27:05.491] grepl <- base::grepl [17:27:05.491] restarts <- computeRestarts(cond) [17:27:05.491] for (restart in restarts) { [17:27:05.491] name <- restart$name [17:27:05.491] if (is.null(name)) [17:27:05.491] next [17:27:05.491] if (!grepl(pattern, name)) [17:27:05.491] next [17:27:05.491] invokeRestart(restart) [17:27:05.491] muffled <- TRUE [17:27:05.491] break [17:27:05.491] } [17:27:05.491] } [17:27:05.491] } [17:27:05.491] invisible(muffled) [17:27:05.491] } [17:27:05.491] muffleCondition(cond) [17:27:05.491] }) [17:27:05.491] })) [17:27:05.491] future::FutureResult(value = ...future.value$value, [17:27:05.491] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.491] ...future.rng), globalenv = if (FALSE) [17:27:05.491] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.491] ...future.globalenv.names)) [17:27:05.491] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.491] }, condition = base::local({ [17:27:05.491] c <- base::c [17:27:05.491] inherits <- base::inherits [17:27:05.491] invokeRestart <- base::invokeRestart [17:27:05.491] length <- base::length [17:27:05.491] list <- base::list [17:27:05.491] seq.int <- base::seq.int [17:27:05.491] signalCondition <- base::signalCondition [17:27:05.491] sys.calls <- base::sys.calls [17:27:05.491] `[[` <- base::`[[` [17:27:05.491] `+` <- base::`+` [17:27:05.491] `<<-` <- base::`<<-` [17:27:05.491] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.491] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.491] 3L)] [17:27:05.491] } [17:27:05.491] function(cond) { [17:27:05.491] is_error <- inherits(cond, "error") [17:27:05.491] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.491] NULL) [17:27:05.491] if (is_error) { [17:27:05.491] sessionInformation <- function() { [17:27:05.491] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.491] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.491] search = base::search(), system = base::Sys.info()) [17:27:05.491] } [17:27:05.491] ...future.conditions[[length(...future.conditions) + [17:27:05.491] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.491] cond$call), session = sessionInformation(), [17:27:05.491] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.491] signalCondition(cond) [17:27:05.491] } [17:27:05.491] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.491] "immediateCondition"))) { [17:27:05.491] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.491] ...future.conditions[[length(...future.conditions) + [17:27:05.491] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.491] if (TRUE && !signal) { [17:27:05.491] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.491] { [17:27:05.491] inherits <- base::inherits [17:27:05.491] invokeRestart <- base::invokeRestart [17:27:05.491] is.null <- base::is.null [17:27:05.491] muffled <- FALSE [17:27:05.491] if (inherits(cond, "message")) { [17:27:05.491] muffled <- grepl(pattern, "muffleMessage") [17:27:05.491] if (muffled) [17:27:05.491] invokeRestart("muffleMessage") [17:27:05.491] } [17:27:05.491] else if (inherits(cond, "warning")) { [17:27:05.491] muffled <- grepl(pattern, "muffleWarning") [17:27:05.491] if (muffled) [17:27:05.491] invokeRestart("muffleWarning") [17:27:05.491] } [17:27:05.491] else if (inherits(cond, "condition")) { [17:27:05.491] if (!is.null(pattern)) { [17:27:05.491] computeRestarts <- base::computeRestarts [17:27:05.491] grepl <- base::grepl [17:27:05.491] restarts <- computeRestarts(cond) [17:27:05.491] for (restart in restarts) { [17:27:05.491] name <- restart$name [17:27:05.491] if (is.null(name)) [17:27:05.491] next [17:27:05.491] if (!grepl(pattern, name)) [17:27:05.491] next [17:27:05.491] invokeRestart(restart) [17:27:05.491] muffled <- TRUE [17:27:05.491] break [17:27:05.491] } [17:27:05.491] } [17:27:05.491] } [17:27:05.491] invisible(muffled) [17:27:05.491] } [17:27:05.491] muffleCondition(cond, pattern = "^muffle") [17:27:05.491] } [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] if (TRUE) { [17:27:05.491] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.491] { [17:27:05.491] inherits <- base::inherits [17:27:05.491] invokeRestart <- base::invokeRestart [17:27:05.491] is.null <- base::is.null [17:27:05.491] muffled <- FALSE [17:27:05.491] if (inherits(cond, "message")) { [17:27:05.491] muffled <- grepl(pattern, "muffleMessage") [17:27:05.491] if (muffled) [17:27:05.491] invokeRestart("muffleMessage") [17:27:05.491] } [17:27:05.491] else if (inherits(cond, "warning")) { [17:27:05.491] muffled <- grepl(pattern, "muffleWarning") [17:27:05.491] if (muffled) [17:27:05.491] invokeRestart("muffleWarning") [17:27:05.491] } [17:27:05.491] else if (inherits(cond, "condition")) { [17:27:05.491] if (!is.null(pattern)) { [17:27:05.491] computeRestarts <- base::computeRestarts [17:27:05.491] grepl <- base::grepl [17:27:05.491] restarts <- computeRestarts(cond) [17:27:05.491] for (restart in restarts) { [17:27:05.491] name <- restart$name [17:27:05.491] if (is.null(name)) [17:27:05.491] next [17:27:05.491] if (!grepl(pattern, name)) [17:27:05.491] next [17:27:05.491] invokeRestart(restart) [17:27:05.491] muffled <- TRUE [17:27:05.491] break [17:27:05.491] } [17:27:05.491] } [17:27:05.491] } [17:27:05.491] invisible(muffled) [17:27:05.491] } [17:27:05.491] muffleCondition(cond, pattern = "^muffle") [17:27:05.491] } [17:27:05.491] } [17:27:05.491] } [17:27:05.491] })) [17:27:05.491] }, error = function(ex) { [17:27:05.491] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.491] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.491] ...future.rng), started = ...future.startTime, [17:27:05.491] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.491] version = "1.8"), class = "FutureResult") [17:27:05.491] }, finally = { [17:27:05.491] if (!identical(...future.workdir, getwd())) [17:27:05.491] setwd(...future.workdir) [17:27:05.491] { [17:27:05.491] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.491] ...future.oldOptions$nwarnings <- NULL [17:27:05.491] } [17:27:05.491] base::options(...future.oldOptions) [17:27:05.491] if (.Platform$OS.type == "windows") { [17:27:05.491] old_names <- names(...future.oldEnvVars) [17:27:05.491] envs <- base::Sys.getenv() [17:27:05.491] names <- names(envs) [17:27:05.491] common <- intersect(names, old_names) [17:27:05.491] added <- setdiff(names, old_names) [17:27:05.491] removed <- setdiff(old_names, names) [17:27:05.491] changed <- common[...future.oldEnvVars[common] != [17:27:05.491] envs[common]] [17:27:05.491] NAMES <- toupper(changed) [17:27:05.491] args <- list() [17:27:05.491] for (kk in seq_along(NAMES)) { [17:27:05.491] name <- changed[[kk]] [17:27:05.491] NAME <- NAMES[[kk]] [17:27:05.491] if (name != NAME && is.element(NAME, old_names)) [17:27:05.491] next [17:27:05.491] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.491] } [17:27:05.491] NAMES <- toupper(added) [17:27:05.491] for (kk in seq_along(NAMES)) { [17:27:05.491] name <- added[[kk]] [17:27:05.491] NAME <- NAMES[[kk]] [17:27:05.491] if (name != NAME && is.element(NAME, old_names)) [17:27:05.491] next [17:27:05.491] args[[name]] <- "" [17:27:05.491] } [17:27:05.491] NAMES <- toupper(removed) [17:27:05.491] for (kk in seq_along(NAMES)) { [17:27:05.491] name <- removed[[kk]] [17:27:05.491] NAME <- NAMES[[kk]] [17:27:05.491] if (name != NAME && is.element(NAME, old_names)) [17:27:05.491] next [17:27:05.491] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.491] } [17:27:05.491] if (length(args) > 0) [17:27:05.491] base::do.call(base::Sys.setenv, args = args) [17:27:05.491] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.491] } [17:27:05.491] { [17:27:05.491] if (base::length(...future.futureOptionsAdded) > [17:27:05.491] 0L) { [17:27:05.491] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.491] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.491] base::options(opts) [17:27:05.491] } [17:27:05.491] { [17:27:05.491] { [17:27:05.491] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.491] NULL [17:27:05.491] } [17:27:05.491] options(future.plan = NULL) [17:27:05.491] if (is.na(NA_character_)) [17:27:05.491] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.491] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.491] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.491] .init = FALSE) [17:27:05.491] } [17:27:05.491] } [17:27:05.491] } [17:27:05.491] }) [17:27:05.491] if (TRUE) { [17:27:05.491] base::sink(type = "output", split = FALSE) [17:27:05.491] if (TRUE) { [17:27:05.491] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.491] } [17:27:05.491] else { [17:27:05.491] ...future.result["stdout"] <- base::list(NULL) [17:27:05.491] } [17:27:05.491] base::close(...future.stdout) [17:27:05.491] ...future.stdout <- NULL [17:27:05.491] } [17:27:05.491] ...future.result$conditions <- ...future.conditions [17:27:05.491] ...future.result$finished <- base::Sys.time() [17:27:05.491] ...future.result [17:27:05.491] } [17:27:05.496] Exporting 1 global objects (56 bytes) to cluster node #2 ... [17:27:05.497] Exporting 'a' (56 bytes) to cluster node #2 ... [17:27:05.497] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [17:27:05.497] Exporting 1 global objects (56 bytes) to cluster node #2 ... DONE [17:27:05.498] MultisessionFuture started [17:27:05.498] - Launch lazy future ... done [17:27:05.498] run() for 'MultisessionFuture' ... done [17:27:05.498] result() for ClusterFuture ... [17:27:05.499] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.499] - Validating connection of MultisessionFuture [17:27:05.512] - received message: FutureResult [17:27:05.512] - Received FutureResult [17:27:05.512] - Erased future from FutureRegistry [17:27:05.513] result() for ClusterFuture ... [17:27:05.513] - result already collected: FutureResult [17:27:05.513] result() for ClusterFuture ... done [17:27:05.513] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.513] result() for ClusterFuture ... done [17:27:05.513] result() for ClusterFuture ... [17:27:05.514] - result already collected: FutureResult [17:27:05.514] 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:27:05.515] 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:27:05.515] 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:27:05.520] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.520] Searching for globals ... DONE [17:27:05.520] Resolving globals: TRUE [17:27:05.520] Resolving any globals that are futures ... [17:27:05.520] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.521] Resolving any globals that are futures ... DONE [17:27:05.521] Resolving futures part of globals (recursively) ... [17:27:05.521] resolve() on list ... [17:27:05.522] recursive: 99 [17:27:05.522] length: 2 [17:27:05.522] elements: 'a', 'ii' [17:27:05.522] length: 1 (resolved future 1) [17:27:05.522] length: 0 (resolved future 2) [17:27:05.522] resolve() on list ... DONE [17:27:05.523] - globals: [2] 'a', 'ii' [17:27:05.523] Resolving futures part of globals (recursively) ... DONE [17:27:05.523] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:05.523] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:05.524] - globals: [2] 'a', 'ii' [17:27:05.524] [17:27:05.524] getGlobalsAndPackages() ... DONE [17:27:05.524] run() for 'Future' ... [17:27:05.524] - state: 'created' [17:27:05.525] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.538] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.539] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.539] - Field: 'node' [17:27:05.539] - Field: 'label' [17:27:05.539] - Field: 'local' [17:27:05.539] - Field: 'owner' [17:27:05.539] - Field: 'envir' [17:27:05.540] - Field: 'workers' [17:27:05.540] - Field: 'packages' [17:27:05.540] - Field: 'gc' [17:27:05.540] - Field: 'conditions' [17:27:05.540] - Field: 'persistent' [17:27:05.541] - Field: 'expr' [17:27:05.541] - Field: 'uuid' [17:27:05.541] - Field: 'seed' [17:27:05.541] - Field: 'version' [17:27:05.541] - Field: 'result' [17:27:05.541] - Field: 'asynchronous' [17:27:05.542] - Field: 'calls' [17:27:05.542] - Field: 'globals' [17:27:05.542] - Field: 'stdout' [17:27:05.542] - Field: 'earlySignal' [17:27:05.542] - Field: 'lazy' [17:27:05.542] - Field: 'state' [17:27:05.543] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.543] - Launch lazy future ... [17:27:05.543] Packages needed by the future expression (n = 0): [17:27:05.543] Packages needed by future strategies (n = 0): [17:27:05.544] { [17:27:05.544] { [17:27:05.544] { [17:27:05.544] ...future.startTime <- base::Sys.time() [17:27:05.544] { [17:27:05.544] { [17:27:05.544] { [17:27:05.544] { [17:27:05.544] base::local({ [17:27:05.544] has_future <- base::requireNamespace("future", [17:27:05.544] quietly = TRUE) [17:27:05.544] if (has_future) { [17:27:05.544] ns <- base::getNamespace("future") [17:27:05.544] version <- ns[[".package"]][["version"]] [17:27:05.544] if (is.null(version)) [17:27:05.544] version <- utils::packageVersion("future") [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] version <- NULL [17:27:05.544] } [17:27:05.544] if (!has_future || version < "1.8.0") { [17:27:05.544] info <- base::c(r_version = base::gsub("R version ", [17:27:05.544] "", base::R.version$version.string), [17:27:05.544] platform = base::sprintf("%s (%s-bit)", [17:27:05.544] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.544] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.544] "release", "version")], collapse = " "), [17:27:05.544] hostname = base::Sys.info()[["nodename"]]) [17:27:05.544] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.544] info) [17:27:05.544] info <- base::paste(info, collapse = "; ") [17:27:05.544] if (!has_future) { [17:27:05.544] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.544] info) [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.544] info, version) [17:27:05.544] } [17:27:05.544] base::stop(msg) [17:27:05.544] } [17:27:05.544] }) [17:27:05.544] } [17:27:05.544] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.544] base::options(mc.cores = 1L) [17:27:05.544] } [17:27:05.544] ...future.strategy.old <- future::plan("list") [17:27:05.544] options(future.plan = NULL) [17:27:05.544] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.544] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.544] } [17:27:05.544] ...future.workdir <- getwd() [17:27:05.544] } [17:27:05.544] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.544] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.544] } [17:27:05.544] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.544] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.544] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.544] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.544] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.544] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.544] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.544] base::names(...future.oldOptions)) [17:27:05.544] } [17:27:05.544] if (FALSE) { [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] if (TRUE) { [17:27:05.544] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.544] open = "w") [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.544] windows = "NUL", "/dev/null"), open = "w") [17:27:05.544] } [17:27:05.544] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.544] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.544] base::sink(type = "output", split = FALSE) [17:27:05.544] base::close(...future.stdout) [17:27:05.544] }, add = TRUE) [17:27:05.544] } [17:27:05.544] ...future.frame <- base::sys.nframe() [17:27:05.544] ...future.conditions <- base::list() [17:27:05.544] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.544] if (FALSE) { [17:27:05.544] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.544] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.544] } [17:27:05.544] ...future.result <- base::tryCatch({ [17:27:05.544] base::withCallingHandlers({ [17:27:05.544] ...future.value <- base::withVisible(base::local({ [17:27:05.544] ...future.makeSendCondition <- base::local({ [17:27:05.544] sendCondition <- NULL [17:27:05.544] function(frame = 1L) { [17:27:05.544] if (is.function(sendCondition)) [17:27:05.544] return(sendCondition) [17:27:05.544] ns <- getNamespace("parallel") [17:27:05.544] if (exists("sendData", mode = "function", [17:27:05.544] envir = ns)) { [17:27:05.544] parallel_sendData <- get("sendData", mode = "function", [17:27:05.544] envir = ns) [17:27:05.544] envir <- sys.frame(frame) [17:27:05.544] master <- NULL [17:27:05.544] while (!identical(envir, .GlobalEnv) && [17:27:05.544] !identical(envir, emptyenv())) { [17:27:05.544] if (exists("master", mode = "list", envir = envir, [17:27:05.544] inherits = FALSE)) { [17:27:05.544] master <- get("master", mode = "list", [17:27:05.544] envir = envir, inherits = FALSE) [17:27:05.544] if (inherits(master, c("SOCKnode", [17:27:05.544] "SOCK0node"))) { [17:27:05.544] sendCondition <<- function(cond) { [17:27:05.544] data <- list(type = "VALUE", value = cond, [17:27:05.544] success = TRUE) [17:27:05.544] parallel_sendData(master, data) [17:27:05.544] } [17:27:05.544] return(sendCondition) [17:27:05.544] } [17:27:05.544] } [17:27:05.544] frame <- frame + 1L [17:27:05.544] envir <- sys.frame(frame) [17:27:05.544] } [17:27:05.544] } [17:27:05.544] sendCondition <<- function(cond) NULL [17:27:05.544] } [17:27:05.544] }) [17:27:05.544] withCallingHandlers({ [17:27:05.544] { [17:27:05.544] b <- a * ii [17:27:05.544] a <- 0 [17:27:05.544] b [17:27:05.544] } [17:27:05.544] }, immediateCondition = function(cond) { [17:27:05.544] sendCondition <- ...future.makeSendCondition() [17:27:05.544] sendCondition(cond) [17:27:05.544] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.544] { [17:27:05.544] inherits <- base::inherits [17:27:05.544] invokeRestart <- base::invokeRestart [17:27:05.544] is.null <- base::is.null [17:27:05.544] muffled <- FALSE [17:27:05.544] if (inherits(cond, "message")) { [17:27:05.544] muffled <- grepl(pattern, "muffleMessage") [17:27:05.544] if (muffled) [17:27:05.544] invokeRestart("muffleMessage") [17:27:05.544] } [17:27:05.544] else if (inherits(cond, "warning")) { [17:27:05.544] muffled <- grepl(pattern, "muffleWarning") [17:27:05.544] if (muffled) [17:27:05.544] invokeRestart("muffleWarning") [17:27:05.544] } [17:27:05.544] else if (inherits(cond, "condition")) { [17:27:05.544] if (!is.null(pattern)) { [17:27:05.544] computeRestarts <- base::computeRestarts [17:27:05.544] grepl <- base::grepl [17:27:05.544] restarts <- computeRestarts(cond) [17:27:05.544] for (restart in restarts) { [17:27:05.544] name <- restart$name [17:27:05.544] if (is.null(name)) [17:27:05.544] next [17:27:05.544] if (!grepl(pattern, name)) [17:27:05.544] next [17:27:05.544] invokeRestart(restart) [17:27:05.544] muffled <- TRUE [17:27:05.544] break [17:27:05.544] } [17:27:05.544] } [17:27:05.544] } [17:27:05.544] invisible(muffled) [17:27:05.544] } [17:27:05.544] muffleCondition(cond) [17:27:05.544] }) [17:27:05.544] })) [17:27:05.544] future::FutureResult(value = ...future.value$value, [17:27:05.544] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.544] ...future.rng), globalenv = if (FALSE) [17:27:05.544] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.544] ...future.globalenv.names)) [17:27:05.544] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.544] }, condition = base::local({ [17:27:05.544] c <- base::c [17:27:05.544] inherits <- base::inherits [17:27:05.544] invokeRestart <- base::invokeRestart [17:27:05.544] length <- base::length [17:27:05.544] list <- base::list [17:27:05.544] seq.int <- base::seq.int [17:27:05.544] signalCondition <- base::signalCondition [17:27:05.544] sys.calls <- base::sys.calls [17:27:05.544] `[[` <- base::`[[` [17:27:05.544] `+` <- base::`+` [17:27:05.544] `<<-` <- base::`<<-` [17:27:05.544] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.544] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.544] 3L)] [17:27:05.544] } [17:27:05.544] function(cond) { [17:27:05.544] is_error <- inherits(cond, "error") [17:27:05.544] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.544] NULL) [17:27:05.544] if (is_error) { [17:27:05.544] sessionInformation <- function() { [17:27:05.544] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.544] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.544] search = base::search(), system = base::Sys.info()) [17:27:05.544] } [17:27:05.544] ...future.conditions[[length(...future.conditions) + [17:27:05.544] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.544] cond$call), session = sessionInformation(), [17:27:05.544] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.544] signalCondition(cond) [17:27:05.544] } [17:27:05.544] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.544] "immediateCondition"))) { [17:27:05.544] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.544] ...future.conditions[[length(...future.conditions) + [17:27:05.544] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.544] if (TRUE && !signal) { [17:27:05.544] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.544] { [17:27:05.544] inherits <- base::inherits [17:27:05.544] invokeRestart <- base::invokeRestart [17:27:05.544] is.null <- base::is.null [17:27:05.544] muffled <- FALSE [17:27:05.544] if (inherits(cond, "message")) { [17:27:05.544] muffled <- grepl(pattern, "muffleMessage") [17:27:05.544] if (muffled) [17:27:05.544] invokeRestart("muffleMessage") [17:27:05.544] } [17:27:05.544] else if (inherits(cond, "warning")) { [17:27:05.544] muffled <- grepl(pattern, "muffleWarning") [17:27:05.544] if (muffled) [17:27:05.544] invokeRestart("muffleWarning") [17:27:05.544] } [17:27:05.544] else if (inherits(cond, "condition")) { [17:27:05.544] if (!is.null(pattern)) { [17:27:05.544] computeRestarts <- base::computeRestarts [17:27:05.544] grepl <- base::grepl [17:27:05.544] restarts <- computeRestarts(cond) [17:27:05.544] for (restart in restarts) { [17:27:05.544] name <- restart$name [17:27:05.544] if (is.null(name)) [17:27:05.544] next [17:27:05.544] if (!grepl(pattern, name)) [17:27:05.544] next [17:27:05.544] invokeRestart(restart) [17:27:05.544] muffled <- TRUE [17:27:05.544] break [17:27:05.544] } [17:27:05.544] } [17:27:05.544] } [17:27:05.544] invisible(muffled) [17:27:05.544] } [17:27:05.544] muffleCondition(cond, pattern = "^muffle") [17:27:05.544] } [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] if (TRUE) { [17:27:05.544] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.544] { [17:27:05.544] inherits <- base::inherits [17:27:05.544] invokeRestart <- base::invokeRestart [17:27:05.544] is.null <- base::is.null [17:27:05.544] muffled <- FALSE [17:27:05.544] if (inherits(cond, "message")) { [17:27:05.544] muffled <- grepl(pattern, "muffleMessage") [17:27:05.544] if (muffled) [17:27:05.544] invokeRestart("muffleMessage") [17:27:05.544] } [17:27:05.544] else if (inherits(cond, "warning")) { [17:27:05.544] muffled <- grepl(pattern, "muffleWarning") [17:27:05.544] if (muffled) [17:27:05.544] invokeRestart("muffleWarning") [17:27:05.544] } [17:27:05.544] else if (inherits(cond, "condition")) { [17:27:05.544] if (!is.null(pattern)) { [17:27:05.544] computeRestarts <- base::computeRestarts [17:27:05.544] grepl <- base::grepl [17:27:05.544] restarts <- computeRestarts(cond) [17:27:05.544] for (restart in restarts) { [17:27:05.544] name <- restart$name [17:27:05.544] if (is.null(name)) [17:27:05.544] next [17:27:05.544] if (!grepl(pattern, name)) [17:27:05.544] next [17:27:05.544] invokeRestart(restart) [17:27:05.544] muffled <- TRUE [17:27:05.544] break [17:27:05.544] } [17:27:05.544] } [17:27:05.544] } [17:27:05.544] invisible(muffled) [17:27:05.544] } [17:27:05.544] muffleCondition(cond, pattern = "^muffle") [17:27:05.544] } [17:27:05.544] } [17:27:05.544] } [17:27:05.544] })) [17:27:05.544] }, error = function(ex) { [17:27:05.544] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.544] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.544] ...future.rng), started = ...future.startTime, [17:27:05.544] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.544] version = "1.8"), class = "FutureResult") [17:27:05.544] }, finally = { [17:27:05.544] if (!identical(...future.workdir, getwd())) [17:27:05.544] setwd(...future.workdir) [17:27:05.544] { [17:27:05.544] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.544] ...future.oldOptions$nwarnings <- NULL [17:27:05.544] } [17:27:05.544] base::options(...future.oldOptions) [17:27:05.544] if (.Platform$OS.type == "windows") { [17:27:05.544] old_names <- names(...future.oldEnvVars) [17:27:05.544] envs <- base::Sys.getenv() [17:27:05.544] names <- names(envs) [17:27:05.544] common <- intersect(names, old_names) [17:27:05.544] added <- setdiff(names, old_names) [17:27:05.544] removed <- setdiff(old_names, names) [17:27:05.544] changed <- common[...future.oldEnvVars[common] != [17:27:05.544] envs[common]] [17:27:05.544] NAMES <- toupper(changed) [17:27:05.544] args <- list() [17:27:05.544] for (kk in seq_along(NAMES)) { [17:27:05.544] name <- changed[[kk]] [17:27:05.544] NAME <- NAMES[[kk]] [17:27:05.544] if (name != NAME && is.element(NAME, old_names)) [17:27:05.544] next [17:27:05.544] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.544] } [17:27:05.544] NAMES <- toupper(added) [17:27:05.544] for (kk in seq_along(NAMES)) { [17:27:05.544] name <- added[[kk]] [17:27:05.544] NAME <- NAMES[[kk]] [17:27:05.544] if (name != NAME && is.element(NAME, old_names)) [17:27:05.544] next [17:27:05.544] args[[name]] <- "" [17:27:05.544] } [17:27:05.544] NAMES <- toupper(removed) [17:27:05.544] for (kk in seq_along(NAMES)) { [17:27:05.544] name <- removed[[kk]] [17:27:05.544] NAME <- NAMES[[kk]] [17:27:05.544] if (name != NAME && is.element(NAME, old_names)) [17:27:05.544] next [17:27:05.544] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.544] } [17:27:05.544] if (length(args) > 0) [17:27:05.544] base::do.call(base::Sys.setenv, args = args) [17:27:05.544] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.544] } [17:27:05.544] { [17:27:05.544] if (base::length(...future.futureOptionsAdded) > [17:27:05.544] 0L) { [17:27:05.544] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.544] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.544] base::options(opts) [17:27:05.544] } [17:27:05.544] { [17:27:05.544] { [17:27:05.544] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.544] NULL [17:27:05.544] } [17:27:05.544] options(future.plan = NULL) [17:27:05.544] if (is.na(NA_character_)) [17:27:05.544] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.544] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.544] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.544] .init = FALSE) [17:27:05.544] } [17:27:05.544] } [17:27:05.544] } [17:27:05.544] }) [17:27:05.544] if (TRUE) { [17:27:05.544] base::sink(type = "output", split = FALSE) [17:27:05.544] if (TRUE) { [17:27:05.544] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.544] } [17:27:05.544] else { [17:27:05.544] ...future.result["stdout"] <- base::list(NULL) [17:27:05.544] } [17:27:05.544] base::close(...future.stdout) [17:27:05.544] ...future.stdout <- NULL [17:27:05.544] } [17:27:05.544] ...future.result$conditions <- ...future.conditions [17:27:05.544] ...future.result$finished <- base::Sys.time() [17:27:05.544] ...future.result [17:27:05.544] } [17:27:05.549] Exporting 2 global objects (112 bytes) to cluster node #2 ... [17:27:05.549] Exporting 'a' (56 bytes) to cluster node #2 ... [17:27:05.549] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [17:27:05.550] Exporting 'ii' (56 bytes) to cluster node #2 ... [17:27:05.550] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [17:27:05.550] Exporting 2 global objects (112 bytes) to cluster node #2 ... DONE [17:27:05.551] MultisessionFuture started [17:27:05.551] - Launch lazy future ... done [17:27:05.551] 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:27:05.552] 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:27:05.552] 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:27:05.555] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.555] Searching for globals ... DONE [17:27:05.555] Resolving globals: TRUE [17:27:05.555] Resolving any globals that are futures ... [17:27:05.555] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.556] Resolving any globals that are futures ... DONE [17:27:05.556] Resolving futures part of globals (recursively) ... [17:27:05.556] resolve() on list ... [17:27:05.557] recursive: 99 [17:27:05.557] length: 2 [17:27:05.557] elements: 'a', 'ii' [17:27:05.557] length: 1 (resolved future 1) [17:27:05.557] length: 0 (resolved future 2) [17:27:05.557] resolve() on list ... DONE [17:27:05.558] - globals: [2] 'a', 'ii' [17:27:05.558] Resolving futures part of globals (recursively) ... DONE [17:27:05.558] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:05.558] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:05.559] - globals: [2] 'a', 'ii' [17:27:05.559] [17:27:05.559] getGlobalsAndPackages() ... DONE [17:27:05.559] run() for 'Future' ... [17:27:05.559] - state: 'created' [17:27:05.560] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.573] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.573] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.574] - Field: 'node' [17:27:05.574] - Field: 'label' [17:27:05.574] - Field: 'local' [17:27:05.574] - Field: 'owner' [17:27:05.574] - Field: 'envir' [17:27:05.574] - Field: 'workers' [17:27:05.575] - Field: 'packages' [17:27:05.575] - Field: 'gc' [17:27:05.575] - Field: 'conditions' [17:27:05.575] - Field: 'persistent' [17:27:05.575] - Field: 'expr' [17:27:05.576] - Field: 'uuid' [17:27:05.576] - Field: 'seed' [17:27:05.576] - Field: 'version' [17:27:05.576] - Field: 'result' [17:27:05.576] - Field: 'asynchronous' [17:27:05.576] - Field: 'calls' [17:27:05.577] - Field: 'globals' [17:27:05.577] - Field: 'stdout' [17:27:05.577] - Field: 'earlySignal' [17:27:05.577] - Field: 'lazy' [17:27:05.577] - Field: 'state' [17:27:05.578] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.578] - Launch lazy future ... [17:27:05.578] Packages needed by the future expression (n = 0): [17:27:05.578] Packages needed by future strategies (n = 0): [17:27:05.579] { [17:27:05.579] { [17:27:05.579] { [17:27:05.579] ...future.startTime <- base::Sys.time() [17:27:05.579] { [17:27:05.579] { [17:27:05.579] { [17:27:05.579] { [17:27:05.579] base::local({ [17:27:05.579] has_future <- base::requireNamespace("future", [17:27:05.579] quietly = TRUE) [17:27:05.579] if (has_future) { [17:27:05.579] ns <- base::getNamespace("future") [17:27:05.579] version <- ns[[".package"]][["version"]] [17:27:05.579] if (is.null(version)) [17:27:05.579] version <- utils::packageVersion("future") [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] version <- NULL [17:27:05.579] } [17:27:05.579] if (!has_future || version < "1.8.0") { [17:27:05.579] info <- base::c(r_version = base::gsub("R version ", [17:27:05.579] "", base::R.version$version.string), [17:27:05.579] platform = base::sprintf("%s (%s-bit)", [17:27:05.579] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.579] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.579] "release", "version")], collapse = " "), [17:27:05.579] hostname = base::Sys.info()[["nodename"]]) [17:27:05.579] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.579] info) [17:27:05.579] info <- base::paste(info, collapse = "; ") [17:27:05.579] if (!has_future) { [17:27:05.579] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.579] info) [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.579] info, version) [17:27:05.579] } [17:27:05.579] base::stop(msg) [17:27:05.579] } [17:27:05.579] }) [17:27:05.579] } [17:27:05.579] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.579] base::options(mc.cores = 1L) [17:27:05.579] } [17:27:05.579] ...future.strategy.old <- future::plan("list") [17:27:05.579] options(future.plan = NULL) [17:27:05.579] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.579] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.579] } [17:27:05.579] ...future.workdir <- getwd() [17:27:05.579] } [17:27:05.579] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.579] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.579] } [17:27:05.579] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.579] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.579] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.579] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.579] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.579] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.579] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.579] base::names(...future.oldOptions)) [17:27:05.579] } [17:27:05.579] if (FALSE) { [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] if (TRUE) { [17:27:05.579] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.579] open = "w") [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.579] windows = "NUL", "/dev/null"), open = "w") [17:27:05.579] } [17:27:05.579] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.579] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.579] base::sink(type = "output", split = FALSE) [17:27:05.579] base::close(...future.stdout) [17:27:05.579] }, add = TRUE) [17:27:05.579] } [17:27:05.579] ...future.frame <- base::sys.nframe() [17:27:05.579] ...future.conditions <- base::list() [17:27:05.579] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.579] if (FALSE) { [17:27:05.579] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.579] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.579] } [17:27:05.579] ...future.result <- base::tryCatch({ [17:27:05.579] base::withCallingHandlers({ [17:27:05.579] ...future.value <- base::withVisible(base::local({ [17:27:05.579] ...future.makeSendCondition <- base::local({ [17:27:05.579] sendCondition <- NULL [17:27:05.579] function(frame = 1L) { [17:27:05.579] if (is.function(sendCondition)) [17:27:05.579] return(sendCondition) [17:27:05.579] ns <- getNamespace("parallel") [17:27:05.579] if (exists("sendData", mode = "function", [17:27:05.579] envir = ns)) { [17:27:05.579] parallel_sendData <- get("sendData", mode = "function", [17:27:05.579] envir = ns) [17:27:05.579] envir <- sys.frame(frame) [17:27:05.579] master <- NULL [17:27:05.579] while (!identical(envir, .GlobalEnv) && [17:27:05.579] !identical(envir, emptyenv())) { [17:27:05.579] if (exists("master", mode = "list", envir = envir, [17:27:05.579] inherits = FALSE)) { [17:27:05.579] master <- get("master", mode = "list", [17:27:05.579] envir = envir, inherits = FALSE) [17:27:05.579] if (inherits(master, c("SOCKnode", [17:27:05.579] "SOCK0node"))) { [17:27:05.579] sendCondition <<- function(cond) { [17:27:05.579] data <- list(type = "VALUE", value = cond, [17:27:05.579] success = TRUE) [17:27:05.579] parallel_sendData(master, data) [17:27:05.579] } [17:27:05.579] return(sendCondition) [17:27:05.579] } [17:27:05.579] } [17:27:05.579] frame <- frame + 1L [17:27:05.579] envir <- sys.frame(frame) [17:27:05.579] } [17:27:05.579] } [17:27:05.579] sendCondition <<- function(cond) NULL [17:27:05.579] } [17:27:05.579] }) [17:27:05.579] withCallingHandlers({ [17:27:05.579] { [17:27:05.579] b <- a * ii [17:27:05.579] a <- 0 [17:27:05.579] b [17:27:05.579] } [17:27:05.579] }, immediateCondition = function(cond) { [17:27:05.579] sendCondition <- ...future.makeSendCondition() [17:27:05.579] sendCondition(cond) [17:27:05.579] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.579] { [17:27:05.579] inherits <- base::inherits [17:27:05.579] invokeRestart <- base::invokeRestart [17:27:05.579] is.null <- base::is.null [17:27:05.579] muffled <- FALSE [17:27:05.579] if (inherits(cond, "message")) { [17:27:05.579] muffled <- grepl(pattern, "muffleMessage") [17:27:05.579] if (muffled) [17:27:05.579] invokeRestart("muffleMessage") [17:27:05.579] } [17:27:05.579] else if (inherits(cond, "warning")) { [17:27:05.579] muffled <- grepl(pattern, "muffleWarning") [17:27:05.579] if (muffled) [17:27:05.579] invokeRestart("muffleWarning") [17:27:05.579] } [17:27:05.579] else if (inherits(cond, "condition")) { [17:27:05.579] if (!is.null(pattern)) { [17:27:05.579] computeRestarts <- base::computeRestarts [17:27:05.579] grepl <- base::grepl [17:27:05.579] restarts <- computeRestarts(cond) [17:27:05.579] for (restart in restarts) { [17:27:05.579] name <- restart$name [17:27:05.579] if (is.null(name)) [17:27:05.579] next [17:27:05.579] if (!grepl(pattern, name)) [17:27:05.579] next [17:27:05.579] invokeRestart(restart) [17:27:05.579] muffled <- TRUE [17:27:05.579] break [17:27:05.579] } [17:27:05.579] } [17:27:05.579] } [17:27:05.579] invisible(muffled) [17:27:05.579] } [17:27:05.579] muffleCondition(cond) [17:27:05.579] }) [17:27:05.579] })) [17:27:05.579] future::FutureResult(value = ...future.value$value, [17:27:05.579] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.579] ...future.rng), globalenv = if (FALSE) [17:27:05.579] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.579] ...future.globalenv.names)) [17:27:05.579] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.579] }, condition = base::local({ [17:27:05.579] c <- base::c [17:27:05.579] inherits <- base::inherits [17:27:05.579] invokeRestart <- base::invokeRestart [17:27:05.579] length <- base::length [17:27:05.579] list <- base::list [17:27:05.579] seq.int <- base::seq.int [17:27:05.579] signalCondition <- base::signalCondition [17:27:05.579] sys.calls <- base::sys.calls [17:27:05.579] `[[` <- base::`[[` [17:27:05.579] `+` <- base::`+` [17:27:05.579] `<<-` <- base::`<<-` [17:27:05.579] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.579] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.579] 3L)] [17:27:05.579] } [17:27:05.579] function(cond) { [17:27:05.579] is_error <- inherits(cond, "error") [17:27:05.579] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.579] NULL) [17:27:05.579] if (is_error) { [17:27:05.579] sessionInformation <- function() { [17:27:05.579] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.579] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.579] search = base::search(), system = base::Sys.info()) [17:27:05.579] } [17:27:05.579] ...future.conditions[[length(...future.conditions) + [17:27:05.579] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.579] cond$call), session = sessionInformation(), [17:27:05.579] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.579] signalCondition(cond) [17:27:05.579] } [17:27:05.579] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.579] "immediateCondition"))) { [17:27:05.579] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.579] ...future.conditions[[length(...future.conditions) + [17:27:05.579] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.579] if (TRUE && !signal) { [17:27:05.579] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.579] { [17:27:05.579] inherits <- base::inherits [17:27:05.579] invokeRestart <- base::invokeRestart [17:27:05.579] is.null <- base::is.null [17:27:05.579] muffled <- FALSE [17:27:05.579] if (inherits(cond, "message")) { [17:27:05.579] muffled <- grepl(pattern, "muffleMessage") [17:27:05.579] if (muffled) [17:27:05.579] invokeRestart("muffleMessage") [17:27:05.579] } [17:27:05.579] else if (inherits(cond, "warning")) { [17:27:05.579] muffled <- grepl(pattern, "muffleWarning") [17:27:05.579] if (muffled) [17:27:05.579] invokeRestart("muffleWarning") [17:27:05.579] } [17:27:05.579] else if (inherits(cond, "condition")) { [17:27:05.579] if (!is.null(pattern)) { [17:27:05.579] computeRestarts <- base::computeRestarts [17:27:05.579] grepl <- base::grepl [17:27:05.579] restarts <- computeRestarts(cond) [17:27:05.579] for (restart in restarts) { [17:27:05.579] name <- restart$name [17:27:05.579] if (is.null(name)) [17:27:05.579] next [17:27:05.579] if (!grepl(pattern, name)) [17:27:05.579] next [17:27:05.579] invokeRestart(restart) [17:27:05.579] muffled <- TRUE [17:27:05.579] break [17:27:05.579] } [17:27:05.579] } [17:27:05.579] } [17:27:05.579] invisible(muffled) [17:27:05.579] } [17:27:05.579] muffleCondition(cond, pattern = "^muffle") [17:27:05.579] } [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] if (TRUE) { [17:27:05.579] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.579] { [17:27:05.579] inherits <- base::inherits [17:27:05.579] invokeRestart <- base::invokeRestart [17:27:05.579] is.null <- base::is.null [17:27:05.579] muffled <- FALSE [17:27:05.579] if (inherits(cond, "message")) { [17:27:05.579] muffled <- grepl(pattern, "muffleMessage") [17:27:05.579] if (muffled) [17:27:05.579] invokeRestart("muffleMessage") [17:27:05.579] } [17:27:05.579] else if (inherits(cond, "warning")) { [17:27:05.579] muffled <- grepl(pattern, "muffleWarning") [17:27:05.579] if (muffled) [17:27:05.579] invokeRestart("muffleWarning") [17:27:05.579] } [17:27:05.579] else if (inherits(cond, "condition")) { [17:27:05.579] if (!is.null(pattern)) { [17:27:05.579] computeRestarts <- base::computeRestarts [17:27:05.579] grepl <- base::grepl [17:27:05.579] restarts <- computeRestarts(cond) [17:27:05.579] for (restart in restarts) { [17:27:05.579] name <- restart$name [17:27:05.579] if (is.null(name)) [17:27:05.579] next [17:27:05.579] if (!grepl(pattern, name)) [17:27:05.579] next [17:27:05.579] invokeRestart(restart) [17:27:05.579] muffled <- TRUE [17:27:05.579] break [17:27:05.579] } [17:27:05.579] } [17:27:05.579] } [17:27:05.579] invisible(muffled) [17:27:05.579] } [17:27:05.579] muffleCondition(cond, pattern = "^muffle") [17:27:05.579] } [17:27:05.579] } [17:27:05.579] } [17:27:05.579] })) [17:27:05.579] }, error = function(ex) { [17:27:05.579] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.579] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.579] ...future.rng), started = ...future.startTime, [17:27:05.579] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.579] version = "1.8"), class = "FutureResult") [17:27:05.579] }, finally = { [17:27:05.579] if (!identical(...future.workdir, getwd())) [17:27:05.579] setwd(...future.workdir) [17:27:05.579] { [17:27:05.579] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.579] ...future.oldOptions$nwarnings <- NULL [17:27:05.579] } [17:27:05.579] base::options(...future.oldOptions) [17:27:05.579] if (.Platform$OS.type == "windows") { [17:27:05.579] old_names <- names(...future.oldEnvVars) [17:27:05.579] envs <- base::Sys.getenv() [17:27:05.579] names <- names(envs) [17:27:05.579] common <- intersect(names, old_names) [17:27:05.579] added <- setdiff(names, old_names) [17:27:05.579] removed <- setdiff(old_names, names) [17:27:05.579] changed <- common[...future.oldEnvVars[common] != [17:27:05.579] envs[common]] [17:27:05.579] NAMES <- toupper(changed) [17:27:05.579] args <- list() [17:27:05.579] for (kk in seq_along(NAMES)) { [17:27:05.579] name <- changed[[kk]] [17:27:05.579] NAME <- NAMES[[kk]] [17:27:05.579] if (name != NAME && is.element(NAME, old_names)) [17:27:05.579] next [17:27:05.579] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.579] } [17:27:05.579] NAMES <- toupper(added) [17:27:05.579] for (kk in seq_along(NAMES)) { [17:27:05.579] name <- added[[kk]] [17:27:05.579] NAME <- NAMES[[kk]] [17:27:05.579] if (name != NAME && is.element(NAME, old_names)) [17:27:05.579] next [17:27:05.579] args[[name]] <- "" [17:27:05.579] } [17:27:05.579] NAMES <- toupper(removed) [17:27:05.579] for (kk in seq_along(NAMES)) { [17:27:05.579] name <- removed[[kk]] [17:27:05.579] NAME <- NAMES[[kk]] [17:27:05.579] if (name != NAME && is.element(NAME, old_names)) [17:27:05.579] next [17:27:05.579] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.579] } [17:27:05.579] if (length(args) > 0) [17:27:05.579] base::do.call(base::Sys.setenv, args = args) [17:27:05.579] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.579] } [17:27:05.579] { [17:27:05.579] if (base::length(...future.futureOptionsAdded) > [17:27:05.579] 0L) { [17:27:05.579] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.579] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.579] base::options(opts) [17:27:05.579] } [17:27:05.579] { [17:27:05.579] { [17:27:05.579] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.579] NULL [17:27:05.579] } [17:27:05.579] options(future.plan = NULL) [17:27:05.579] if (is.na(NA_character_)) [17:27:05.579] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.579] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.579] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.579] .init = FALSE) [17:27:05.579] } [17:27:05.579] } [17:27:05.579] } [17:27:05.579] }) [17:27:05.579] if (TRUE) { [17:27:05.579] base::sink(type = "output", split = FALSE) [17:27:05.579] if (TRUE) { [17:27:05.579] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.579] } [17:27:05.579] else { [17:27:05.579] ...future.result["stdout"] <- base::list(NULL) [17:27:05.579] } [17:27:05.579] base::close(...future.stdout) [17:27:05.579] ...future.stdout <- NULL [17:27:05.579] } [17:27:05.579] ...future.result$conditions <- ...future.conditions [17:27:05.579] ...future.result$finished <- base::Sys.time() [17:27:05.579] ...future.result [17:27:05.579] } [17:27:05.584] Poll #1 (0): usedNodes() = 2, workers = 2 [17:27:05.597] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.598] - Validating connection of MultisessionFuture [17:27:05.598] - received message: FutureResult [17:27:05.599] - Received FutureResult [17:27:05.599] - Erased future from FutureRegistry [17:27:05.599] result() for ClusterFuture ... [17:27:05.599] - result already collected: FutureResult [17:27:05.599] result() for ClusterFuture ... done [17:27:05.600] signalConditions() ... [17:27:05.600] - include = 'immediateCondition' [17:27:05.600] - exclude = [17:27:05.600] - resignal = FALSE [17:27:05.600] - Number of conditions: 1 [17:27:05.601] signalConditions() ... done [17:27:05.601] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.601] result() for ClusterFuture ... [17:27:05.601] - result already collected: FutureResult [17:27:05.601] result() for ClusterFuture ... done [17:27:05.601] result() for ClusterFuture ... [17:27:05.602] - result already collected: FutureResult [17:27:05.602] result() for ClusterFuture ... done [17:27:05.602] signalConditions() ... [17:27:05.602] - include = 'immediateCondition' [17:27:05.602] - exclude = [17:27:05.603] - resignal = FALSE [17:27:05.603] - Number of conditions: 1 [17:27:05.603] signalConditions() ... done [17:27:05.604] Exporting 2 global objects (112 bytes) to cluster node #1 ... [17:27:05.604] Exporting 'a' (56 bytes) to cluster node #1 ... [17:27:05.604] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [17:27:05.605] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:05.605] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:05.605] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [17:27:05.606] MultisessionFuture started [17:27:05.606] - Launch lazy future ... done [17:27:05.606] 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:27:05.607] 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:27:05.607] 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:27:05.609] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.610] Searching for globals ... DONE [17:27:05.610] Resolving globals: TRUE [17:27:05.610] Resolving any globals that are futures ... [17:27:05.610] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.610] Resolving any globals that are futures ... DONE [17:27:05.611] Resolving futures part of globals (recursively) ... [17:27:05.611] resolve() on list ... [17:27:05.611] recursive: 99 [17:27:05.611] length: 2 [17:27:05.612] elements: 'a', 'ii' [17:27:05.612] length: 1 (resolved future 1) [17:27:05.612] length: 0 (resolved future 2) [17:27:05.612] resolve() on list ... DONE [17:27:05.612] - globals: [2] 'a', 'ii' [17:27:05.613] Resolving futures part of globals (recursively) ... DONE [17:27:05.613] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:05.613] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:05.613] - globals: [2] 'a', 'ii' [17:27:05.614] [17:27:05.614] getGlobalsAndPackages() ... DONE [17:27:05.614] run() for 'Future' ... [17:27:05.614] - state: 'created' [17:27:05.615] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.628] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.628] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.628] - Field: 'node' [17:27:05.628] - Field: 'label' [17:27:05.629] - Field: 'local' [17:27:05.629] - Field: 'owner' [17:27:05.629] - Field: 'envir' [17:27:05.629] - Field: 'workers' [17:27:05.629] - Field: 'packages' [17:27:05.630] - Field: 'gc' [17:27:05.630] - Field: 'conditions' [17:27:05.630] - Field: 'persistent' [17:27:05.630] - Field: 'expr' [17:27:05.630] - Field: 'uuid' [17:27:05.630] - Field: 'seed' [17:27:05.631] - Field: 'version' [17:27:05.631] - Field: 'result' [17:27:05.631] - Field: 'asynchronous' [17:27:05.631] - Field: 'calls' [17:27:05.631] - Field: 'globals' [17:27:05.631] - Field: 'stdout' [17:27:05.632] - Field: 'earlySignal' [17:27:05.632] - Field: 'lazy' [17:27:05.632] - Field: 'state' [17:27:05.632] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.632] - Launch lazy future ... [17:27:05.633] Packages needed by the future expression (n = 0): [17:27:05.633] Packages needed by future strategies (n = 0): [17:27:05.633] { [17:27:05.633] { [17:27:05.633] { [17:27:05.633] ...future.startTime <- base::Sys.time() [17:27:05.633] { [17:27:05.633] { [17:27:05.633] { [17:27:05.633] { [17:27:05.633] base::local({ [17:27:05.633] has_future <- base::requireNamespace("future", [17:27:05.633] quietly = TRUE) [17:27:05.633] if (has_future) { [17:27:05.633] ns <- base::getNamespace("future") [17:27:05.633] version <- ns[[".package"]][["version"]] [17:27:05.633] if (is.null(version)) [17:27:05.633] version <- utils::packageVersion("future") [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] version <- NULL [17:27:05.633] } [17:27:05.633] if (!has_future || version < "1.8.0") { [17:27:05.633] info <- base::c(r_version = base::gsub("R version ", [17:27:05.633] "", base::R.version$version.string), [17:27:05.633] platform = base::sprintf("%s (%s-bit)", [17:27:05.633] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.633] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.633] "release", "version")], collapse = " "), [17:27:05.633] hostname = base::Sys.info()[["nodename"]]) [17:27:05.633] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.633] info) [17:27:05.633] info <- base::paste(info, collapse = "; ") [17:27:05.633] if (!has_future) { [17:27:05.633] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.633] info) [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.633] info, version) [17:27:05.633] } [17:27:05.633] base::stop(msg) [17:27:05.633] } [17:27:05.633] }) [17:27:05.633] } [17:27:05.633] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.633] base::options(mc.cores = 1L) [17:27:05.633] } [17:27:05.633] ...future.strategy.old <- future::plan("list") [17:27:05.633] options(future.plan = NULL) [17:27:05.633] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.633] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.633] } [17:27:05.633] ...future.workdir <- getwd() [17:27:05.633] } [17:27:05.633] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.633] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.633] } [17:27:05.633] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.633] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.633] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.633] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.633] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.633] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.633] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.633] base::names(...future.oldOptions)) [17:27:05.633] } [17:27:05.633] if (FALSE) { [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] if (TRUE) { [17:27:05.633] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.633] open = "w") [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.633] windows = "NUL", "/dev/null"), open = "w") [17:27:05.633] } [17:27:05.633] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.633] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.633] base::sink(type = "output", split = FALSE) [17:27:05.633] base::close(...future.stdout) [17:27:05.633] }, add = TRUE) [17:27:05.633] } [17:27:05.633] ...future.frame <- base::sys.nframe() [17:27:05.633] ...future.conditions <- base::list() [17:27:05.633] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.633] if (FALSE) { [17:27:05.633] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.633] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.633] } [17:27:05.633] ...future.result <- base::tryCatch({ [17:27:05.633] base::withCallingHandlers({ [17:27:05.633] ...future.value <- base::withVisible(base::local({ [17:27:05.633] ...future.makeSendCondition <- base::local({ [17:27:05.633] sendCondition <- NULL [17:27:05.633] function(frame = 1L) { [17:27:05.633] if (is.function(sendCondition)) [17:27:05.633] return(sendCondition) [17:27:05.633] ns <- getNamespace("parallel") [17:27:05.633] if (exists("sendData", mode = "function", [17:27:05.633] envir = ns)) { [17:27:05.633] parallel_sendData <- get("sendData", mode = "function", [17:27:05.633] envir = ns) [17:27:05.633] envir <- sys.frame(frame) [17:27:05.633] master <- NULL [17:27:05.633] while (!identical(envir, .GlobalEnv) && [17:27:05.633] !identical(envir, emptyenv())) { [17:27:05.633] if (exists("master", mode = "list", envir = envir, [17:27:05.633] inherits = FALSE)) { [17:27:05.633] master <- get("master", mode = "list", [17:27:05.633] envir = envir, inherits = FALSE) [17:27:05.633] if (inherits(master, c("SOCKnode", [17:27:05.633] "SOCK0node"))) { [17:27:05.633] sendCondition <<- function(cond) { [17:27:05.633] data <- list(type = "VALUE", value = cond, [17:27:05.633] success = TRUE) [17:27:05.633] parallel_sendData(master, data) [17:27:05.633] } [17:27:05.633] return(sendCondition) [17:27:05.633] } [17:27:05.633] } [17:27:05.633] frame <- frame + 1L [17:27:05.633] envir <- sys.frame(frame) [17:27:05.633] } [17:27:05.633] } [17:27:05.633] sendCondition <<- function(cond) NULL [17:27:05.633] } [17:27:05.633] }) [17:27:05.633] withCallingHandlers({ [17:27:05.633] { [17:27:05.633] b <- a * ii [17:27:05.633] a <- 0 [17:27:05.633] b [17:27:05.633] } [17:27:05.633] }, immediateCondition = function(cond) { [17:27:05.633] sendCondition <- ...future.makeSendCondition() [17:27:05.633] sendCondition(cond) [17:27:05.633] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.633] { [17:27:05.633] inherits <- base::inherits [17:27:05.633] invokeRestart <- base::invokeRestart [17:27:05.633] is.null <- base::is.null [17:27:05.633] muffled <- FALSE [17:27:05.633] if (inherits(cond, "message")) { [17:27:05.633] muffled <- grepl(pattern, "muffleMessage") [17:27:05.633] if (muffled) [17:27:05.633] invokeRestart("muffleMessage") [17:27:05.633] } [17:27:05.633] else if (inherits(cond, "warning")) { [17:27:05.633] muffled <- grepl(pattern, "muffleWarning") [17:27:05.633] if (muffled) [17:27:05.633] invokeRestart("muffleWarning") [17:27:05.633] } [17:27:05.633] else if (inherits(cond, "condition")) { [17:27:05.633] if (!is.null(pattern)) { [17:27:05.633] computeRestarts <- base::computeRestarts [17:27:05.633] grepl <- base::grepl [17:27:05.633] restarts <- computeRestarts(cond) [17:27:05.633] for (restart in restarts) { [17:27:05.633] name <- restart$name [17:27:05.633] if (is.null(name)) [17:27:05.633] next [17:27:05.633] if (!grepl(pattern, name)) [17:27:05.633] next [17:27:05.633] invokeRestart(restart) [17:27:05.633] muffled <- TRUE [17:27:05.633] break [17:27:05.633] } [17:27:05.633] } [17:27:05.633] } [17:27:05.633] invisible(muffled) [17:27:05.633] } [17:27:05.633] muffleCondition(cond) [17:27:05.633] }) [17:27:05.633] })) [17:27:05.633] future::FutureResult(value = ...future.value$value, [17:27:05.633] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.633] ...future.rng), globalenv = if (FALSE) [17:27:05.633] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.633] ...future.globalenv.names)) [17:27:05.633] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.633] }, condition = base::local({ [17:27:05.633] c <- base::c [17:27:05.633] inherits <- base::inherits [17:27:05.633] invokeRestart <- base::invokeRestart [17:27:05.633] length <- base::length [17:27:05.633] list <- base::list [17:27:05.633] seq.int <- base::seq.int [17:27:05.633] signalCondition <- base::signalCondition [17:27:05.633] sys.calls <- base::sys.calls [17:27:05.633] `[[` <- base::`[[` [17:27:05.633] `+` <- base::`+` [17:27:05.633] `<<-` <- base::`<<-` [17:27:05.633] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.633] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.633] 3L)] [17:27:05.633] } [17:27:05.633] function(cond) { [17:27:05.633] is_error <- inherits(cond, "error") [17:27:05.633] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.633] NULL) [17:27:05.633] if (is_error) { [17:27:05.633] sessionInformation <- function() { [17:27:05.633] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.633] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.633] search = base::search(), system = base::Sys.info()) [17:27:05.633] } [17:27:05.633] ...future.conditions[[length(...future.conditions) + [17:27:05.633] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.633] cond$call), session = sessionInformation(), [17:27:05.633] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.633] signalCondition(cond) [17:27:05.633] } [17:27:05.633] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.633] "immediateCondition"))) { [17:27:05.633] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.633] ...future.conditions[[length(...future.conditions) + [17:27:05.633] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.633] if (TRUE && !signal) { [17:27:05.633] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.633] { [17:27:05.633] inherits <- base::inherits [17:27:05.633] invokeRestart <- base::invokeRestart [17:27:05.633] is.null <- base::is.null [17:27:05.633] muffled <- FALSE [17:27:05.633] if (inherits(cond, "message")) { [17:27:05.633] muffled <- grepl(pattern, "muffleMessage") [17:27:05.633] if (muffled) [17:27:05.633] invokeRestart("muffleMessage") [17:27:05.633] } [17:27:05.633] else if (inherits(cond, "warning")) { [17:27:05.633] muffled <- grepl(pattern, "muffleWarning") [17:27:05.633] if (muffled) [17:27:05.633] invokeRestart("muffleWarning") [17:27:05.633] } [17:27:05.633] else if (inherits(cond, "condition")) { [17:27:05.633] if (!is.null(pattern)) { [17:27:05.633] computeRestarts <- base::computeRestarts [17:27:05.633] grepl <- base::grepl [17:27:05.633] restarts <- computeRestarts(cond) [17:27:05.633] for (restart in restarts) { [17:27:05.633] name <- restart$name [17:27:05.633] if (is.null(name)) [17:27:05.633] next [17:27:05.633] if (!grepl(pattern, name)) [17:27:05.633] next [17:27:05.633] invokeRestart(restart) [17:27:05.633] muffled <- TRUE [17:27:05.633] break [17:27:05.633] } [17:27:05.633] } [17:27:05.633] } [17:27:05.633] invisible(muffled) [17:27:05.633] } [17:27:05.633] muffleCondition(cond, pattern = "^muffle") [17:27:05.633] } [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] if (TRUE) { [17:27:05.633] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.633] { [17:27:05.633] inherits <- base::inherits [17:27:05.633] invokeRestart <- base::invokeRestart [17:27:05.633] is.null <- base::is.null [17:27:05.633] muffled <- FALSE [17:27:05.633] if (inherits(cond, "message")) { [17:27:05.633] muffled <- grepl(pattern, "muffleMessage") [17:27:05.633] if (muffled) [17:27:05.633] invokeRestart("muffleMessage") [17:27:05.633] } [17:27:05.633] else if (inherits(cond, "warning")) { [17:27:05.633] muffled <- grepl(pattern, "muffleWarning") [17:27:05.633] if (muffled) [17:27:05.633] invokeRestart("muffleWarning") [17:27:05.633] } [17:27:05.633] else if (inherits(cond, "condition")) { [17:27:05.633] if (!is.null(pattern)) { [17:27:05.633] computeRestarts <- base::computeRestarts [17:27:05.633] grepl <- base::grepl [17:27:05.633] restarts <- computeRestarts(cond) [17:27:05.633] for (restart in restarts) { [17:27:05.633] name <- restart$name [17:27:05.633] if (is.null(name)) [17:27:05.633] next [17:27:05.633] if (!grepl(pattern, name)) [17:27:05.633] next [17:27:05.633] invokeRestart(restart) [17:27:05.633] muffled <- TRUE [17:27:05.633] break [17:27:05.633] } [17:27:05.633] } [17:27:05.633] } [17:27:05.633] invisible(muffled) [17:27:05.633] } [17:27:05.633] muffleCondition(cond, pattern = "^muffle") [17:27:05.633] } [17:27:05.633] } [17:27:05.633] } [17:27:05.633] })) [17:27:05.633] }, error = function(ex) { [17:27:05.633] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.633] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.633] ...future.rng), started = ...future.startTime, [17:27:05.633] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.633] version = "1.8"), class = "FutureResult") [17:27:05.633] }, finally = { [17:27:05.633] if (!identical(...future.workdir, getwd())) [17:27:05.633] setwd(...future.workdir) [17:27:05.633] { [17:27:05.633] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.633] ...future.oldOptions$nwarnings <- NULL [17:27:05.633] } [17:27:05.633] base::options(...future.oldOptions) [17:27:05.633] if (.Platform$OS.type == "windows") { [17:27:05.633] old_names <- names(...future.oldEnvVars) [17:27:05.633] envs <- base::Sys.getenv() [17:27:05.633] names <- names(envs) [17:27:05.633] common <- intersect(names, old_names) [17:27:05.633] added <- setdiff(names, old_names) [17:27:05.633] removed <- setdiff(old_names, names) [17:27:05.633] changed <- common[...future.oldEnvVars[common] != [17:27:05.633] envs[common]] [17:27:05.633] NAMES <- toupper(changed) [17:27:05.633] args <- list() [17:27:05.633] for (kk in seq_along(NAMES)) { [17:27:05.633] name <- changed[[kk]] [17:27:05.633] NAME <- NAMES[[kk]] [17:27:05.633] if (name != NAME && is.element(NAME, old_names)) [17:27:05.633] next [17:27:05.633] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.633] } [17:27:05.633] NAMES <- toupper(added) [17:27:05.633] for (kk in seq_along(NAMES)) { [17:27:05.633] name <- added[[kk]] [17:27:05.633] NAME <- NAMES[[kk]] [17:27:05.633] if (name != NAME && is.element(NAME, old_names)) [17:27:05.633] next [17:27:05.633] args[[name]] <- "" [17:27:05.633] } [17:27:05.633] NAMES <- toupper(removed) [17:27:05.633] for (kk in seq_along(NAMES)) { [17:27:05.633] name <- removed[[kk]] [17:27:05.633] NAME <- NAMES[[kk]] [17:27:05.633] if (name != NAME && is.element(NAME, old_names)) [17:27:05.633] next [17:27:05.633] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.633] } [17:27:05.633] if (length(args) > 0) [17:27:05.633] base::do.call(base::Sys.setenv, args = args) [17:27:05.633] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.633] } [17:27:05.633] { [17:27:05.633] if (base::length(...future.futureOptionsAdded) > [17:27:05.633] 0L) { [17:27:05.633] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.633] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.633] base::options(opts) [17:27:05.633] } [17:27:05.633] { [17:27:05.633] { [17:27:05.633] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.633] NULL [17:27:05.633] } [17:27:05.633] options(future.plan = NULL) [17:27:05.633] if (is.na(NA_character_)) [17:27:05.633] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.633] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.633] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.633] .init = FALSE) [17:27:05.633] } [17:27:05.633] } [17:27:05.633] } [17:27:05.633] }) [17:27:05.633] if (TRUE) { [17:27:05.633] base::sink(type = "output", split = FALSE) [17:27:05.633] if (TRUE) { [17:27:05.633] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.633] } [17:27:05.633] else { [17:27:05.633] ...future.result["stdout"] <- base::list(NULL) [17:27:05.633] } [17:27:05.633] base::close(...future.stdout) [17:27:05.633] ...future.stdout <- NULL [17:27:05.633] } [17:27:05.633] ...future.result$conditions <- ...future.conditions [17:27:05.633] ...future.result$finished <- base::Sys.time() [17:27:05.633] ...future.result [17:27:05.633] } [17:27:05.638] Poll #1 (0): usedNodes() = 2, workers = 2 [17:27:05.660] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.660] - Validating connection of MultisessionFuture [17:27:05.660] - received message: FutureResult [17:27:05.661] - Received FutureResult [17:27:05.661] - Erased future from FutureRegistry [17:27:05.661] result() for ClusterFuture ... [17:27:05.661] - result already collected: FutureResult [17:27:05.661] result() for ClusterFuture ... done [17:27:05.661] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.662] result() for ClusterFuture ... [17:27:05.662] - result already collected: FutureResult [17:27:05.662] result() for ClusterFuture ... done [17:27:05.662] result() for ClusterFuture ... [17:27:05.662] - result already collected: FutureResult [17:27:05.662] result() for ClusterFuture ... done [17:27:05.663] Exporting 2 global objects (112 bytes) to cluster node #2 ... [17:27:05.663] Exporting 'a' (56 bytes) to cluster node #2 ... [17:27:05.664] Exporting 'a' (56 bytes) to cluster node #2 ... DONE [17:27:05.664] Exporting 'ii' (56 bytes) to cluster node #2 ... [17:27:05.664] Exporting 'ii' (56 bytes) to cluster node #2 ... DONE [17:27:05.665] Exporting 2 global objects (112 bytes) to cluster node #2 ... DONE [17:27:05.665] MultisessionFuture started [17:27:05.665] - Launch lazy future ... done [17:27:05.666] run() for 'MultisessionFuture' ... done [17:27:05.666] result() for ClusterFuture ... [17:27:05.666] - result already collected: FutureResult [17:27:05.666] result() for ClusterFuture ... done [17:27:05.666] result() for ClusterFuture ... [17:27:05.667] - result already collected: FutureResult [17:27:05.667] result() for ClusterFuture ... done [17:27:05.667] result() for ClusterFuture ... [17:27:05.667] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.667] - Validating connection of MultisessionFuture [17:27:05.667] - received message: FutureResult [17:27:05.668] - Received FutureResult [17:27:05.668] - Erased future from FutureRegistry [17:27:05.668] result() for ClusterFuture ... [17:27:05.668] - result already collected: FutureResult [17:27:05.668] result() for ClusterFuture ... done [17:27:05.668] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.669] result() for ClusterFuture ... done [17:27:05.669] result() for ClusterFuture ... [17:27:05.669] - result already collected: FutureResult [17:27:05.669] result() for ClusterFuture ... done [17:27:05.669] result() for ClusterFuture ... [17:27:05.669] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.670] - Validating connection of MultisessionFuture [17:27:05.679] - received message: FutureResult [17:27:05.680] - Received FutureResult [17:27:05.680] - Erased future from FutureRegistry [17:27:05.680] result() for ClusterFuture ... [17:27:05.680] - result already collected: FutureResult [17:27:05.680] result() for ClusterFuture ... done [17:27:05.680] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.680] result() for ClusterFuture ... done [17:27:05.681] result() for ClusterFuture ... [17:27:05.681] - result already collected: FutureResult [17:27:05.681] 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:27:05.682] 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:27:05.682] 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:27:05.684] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.685] Searching for globals ... DONE [17:27:05.685] Resolving globals: TRUE [17:27:05.685] Resolving any globals that are futures ... [17:27:05.685] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.685] Resolving any globals that are futures ... DONE [17:27:05.686] Resolving futures part of globals (recursively) ... [17:27:05.686] resolve() on list ... [17:27:05.686] recursive: 99 [17:27:05.686] length: 2 [17:27:05.687] elements: 'a', 'ii' [17:27:05.687] length: 1 (resolved future 1) [17:27:05.687] length: 0 (resolved future 2) [17:27:05.687] resolve() on list ... DONE [17:27:05.687] - globals: [2] 'a', 'ii' [17:27:05.687] Resolving futures part of globals (recursively) ... DONE [17:27:05.688] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:05.688] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:05.688] - globals: [2] 'a', 'ii' [17:27:05.689] [17:27:05.689] 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:27:05.689] 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:27: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: 'ordered' [17:27:05.692] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.692] Searching for globals ... DONE [17:27:05.693] Resolving globals: TRUE [17:27:05.693] Resolving any globals that are futures ... [17:27:05.693] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.693] Resolving any globals that are futures ... DONE [17:27:05.694] Resolving futures part of globals (recursively) ... [17:27:05.694] resolve() on list ... [17:27:05.694] recursive: 99 [17:27:05.694] length: 2 [17:27:05.694] elements: 'a', 'ii' [17:27:05.695] length: 1 (resolved future 1) [17:27:05.695] length: 0 (resolved future 2) [17:27:05.695] resolve() on list ... DONE [17:27:05.695] - globals: [2] 'a', 'ii' [17:27:05.695] Resolving futures part of globals (recursively) ... DONE [17:27:05.696] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:05.696] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:05.696] - globals: [2] 'a', 'ii' [17:27:05.696] [17:27:05.697] 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:27:05.697] 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:27:05.698] 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:27:05.700] - globals found: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.700] Searching for globals ... DONE [17:27:05.700] Resolving globals: TRUE [17:27:05.701] Resolving any globals that are futures ... [17:27:05.701] - globals: [5] '{', '<-', '*', 'a', 'ii' [17:27:05.701] Resolving any globals that are futures ... DONE [17:27:05.701] Resolving futures part of globals (recursively) ... [17:27:05.702] resolve() on list ... [17:27:05.702] recursive: 99 [17:27:05.702] length: 2 [17:27:05.702] elements: 'a', 'ii' [17:27:05.702] length: 1 (resolved future 1) [17:27:05.703] length: 0 (resolved future 2) [17:27:05.703] resolve() on list ... DONE [17:27:05.703] - globals: [2] 'a', 'ii' [17:27:05.703] Resolving futures part of globals (recursively) ... DONE [17:27:05.703] The total size of the 2 globals is 112 bytes (112 bytes) [17:27:05.704] The total size of the 2 globals exported for future expression ('{; b <- a * ii; a <- 0; b; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'a' (56 bytes of class 'numeric') and 'ii' (56 bytes of class 'numeric') [17:27:05.704] - globals: [2] 'a', 'ii' [17:27:05.704] [17:27:05.704] getGlobalsAndPackages() ... DONE [17:27:05.705] run() for 'Future' ... [17:27:05.705] - state: 'created' [17:27:05.705] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.718] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.718] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.719] - Field: 'node' [17:27:05.719] - Field: 'label' [17:27:05.719] - Field: 'local' [17:27:05.719] - Field: 'owner' [17:27:05.719] - Field: 'envir' [17:27:05.720] - Field: 'workers' [17:27:05.720] - Field: 'packages' [17:27:05.720] - Field: 'gc' [17:27:05.720] - Field: 'conditions' [17:27:05.720] - Field: 'persistent' [17:27:05.720] - Field: 'expr' [17:27:05.721] - Field: 'uuid' [17:27:05.721] - Field: 'seed' [17:27:05.721] - Field: 'version' [17:27:05.721] - Field: 'result' [17:27:05.721] - Field: 'asynchronous' [17:27:05.724] - Field: 'calls' [17:27:05.724] - Field: 'globals' [17:27:05.724] - Field: 'stdout' [17:27:05.725] - Field: 'earlySignal' [17:27:05.725] - Field: 'lazy' [17:27:05.725] - Field: 'state' [17:27:05.725] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.725] - Launch lazy future ... [17:27:05.726] Packages needed by the future expression (n = 0): [17:27:05.726] Packages needed by future strategies (n = 0): [17:27:05.726] { [17:27:05.726] { [17:27:05.726] { [17:27:05.726] ...future.startTime <- base::Sys.time() [17:27:05.726] { [17:27:05.726] { [17:27:05.726] { [17:27:05.726] { [17:27:05.726] base::local({ [17:27:05.726] has_future <- base::requireNamespace("future", [17:27:05.726] quietly = TRUE) [17:27:05.726] if (has_future) { [17:27:05.726] ns <- base::getNamespace("future") [17:27:05.726] version <- ns[[".package"]][["version"]] [17:27:05.726] if (is.null(version)) [17:27:05.726] version <- utils::packageVersion("future") [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] version <- NULL [17:27:05.726] } [17:27:05.726] if (!has_future || version < "1.8.0") { [17:27:05.726] info <- base::c(r_version = base::gsub("R version ", [17:27:05.726] "", base::R.version$version.string), [17:27:05.726] platform = base::sprintf("%s (%s-bit)", [17:27:05.726] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.726] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.726] "release", "version")], collapse = " "), [17:27:05.726] hostname = base::Sys.info()[["nodename"]]) [17:27:05.726] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.726] info) [17:27:05.726] info <- base::paste(info, collapse = "; ") [17:27:05.726] if (!has_future) { [17:27:05.726] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.726] info) [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.726] info, version) [17:27:05.726] } [17:27:05.726] base::stop(msg) [17:27:05.726] } [17:27:05.726] }) [17:27:05.726] } [17:27:05.726] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.726] base::options(mc.cores = 1L) [17:27:05.726] } [17:27:05.726] ...future.strategy.old <- future::plan("list") [17:27:05.726] options(future.plan = NULL) [17:27:05.726] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.726] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.726] } [17:27:05.726] ...future.workdir <- getwd() [17:27:05.726] } [17:27:05.726] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.726] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.726] } [17:27:05.726] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.726] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.726] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.726] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.726] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.726] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.726] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.726] base::names(...future.oldOptions)) [17:27:05.726] } [17:27:05.726] if (FALSE) { [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] if (TRUE) { [17:27:05.726] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.726] open = "w") [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.726] windows = "NUL", "/dev/null"), open = "w") [17:27:05.726] } [17:27:05.726] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.726] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.726] base::sink(type = "output", split = FALSE) [17:27:05.726] base::close(...future.stdout) [17:27:05.726] }, add = TRUE) [17:27:05.726] } [17:27:05.726] ...future.frame <- base::sys.nframe() [17:27:05.726] ...future.conditions <- base::list() [17:27:05.726] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.726] if (FALSE) { [17:27:05.726] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.726] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.726] } [17:27:05.726] ...future.result <- base::tryCatch({ [17:27:05.726] base::withCallingHandlers({ [17:27:05.726] ...future.value <- base::withVisible(base::local({ [17:27:05.726] ...future.makeSendCondition <- base::local({ [17:27:05.726] sendCondition <- NULL [17:27:05.726] function(frame = 1L) { [17:27:05.726] if (is.function(sendCondition)) [17:27:05.726] return(sendCondition) [17:27:05.726] ns <- getNamespace("parallel") [17:27:05.726] if (exists("sendData", mode = "function", [17:27:05.726] envir = ns)) { [17:27:05.726] parallel_sendData <- get("sendData", mode = "function", [17:27:05.726] envir = ns) [17:27:05.726] envir <- sys.frame(frame) [17:27:05.726] master <- NULL [17:27:05.726] while (!identical(envir, .GlobalEnv) && [17:27:05.726] !identical(envir, emptyenv())) { [17:27:05.726] if (exists("master", mode = "list", envir = envir, [17:27:05.726] inherits = FALSE)) { [17:27:05.726] master <- get("master", mode = "list", [17:27:05.726] envir = envir, inherits = FALSE) [17:27:05.726] if (inherits(master, c("SOCKnode", [17:27:05.726] "SOCK0node"))) { [17:27:05.726] sendCondition <<- function(cond) { [17:27:05.726] data <- list(type = "VALUE", value = cond, [17:27:05.726] success = TRUE) [17:27:05.726] parallel_sendData(master, data) [17:27:05.726] } [17:27:05.726] return(sendCondition) [17:27:05.726] } [17:27:05.726] } [17:27:05.726] frame <- frame + 1L [17:27:05.726] envir <- sys.frame(frame) [17:27:05.726] } [17:27:05.726] } [17:27:05.726] sendCondition <<- function(cond) NULL [17:27:05.726] } [17:27:05.726] }) [17:27:05.726] withCallingHandlers({ [17:27:05.726] { [17:27:05.726] b <- a * ii [17:27:05.726] a <- 0 [17:27:05.726] b [17:27:05.726] } [17:27:05.726] }, immediateCondition = function(cond) { [17:27:05.726] sendCondition <- ...future.makeSendCondition() [17:27:05.726] sendCondition(cond) [17:27:05.726] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.726] { [17:27:05.726] inherits <- base::inherits [17:27:05.726] invokeRestart <- base::invokeRestart [17:27:05.726] is.null <- base::is.null [17:27:05.726] muffled <- FALSE [17:27:05.726] if (inherits(cond, "message")) { [17:27:05.726] muffled <- grepl(pattern, "muffleMessage") [17:27:05.726] if (muffled) [17:27:05.726] invokeRestart("muffleMessage") [17:27:05.726] } [17:27:05.726] else if (inherits(cond, "warning")) { [17:27:05.726] muffled <- grepl(pattern, "muffleWarning") [17:27:05.726] if (muffled) [17:27:05.726] invokeRestart("muffleWarning") [17:27:05.726] } [17:27:05.726] else if (inherits(cond, "condition")) { [17:27:05.726] if (!is.null(pattern)) { [17:27:05.726] computeRestarts <- base::computeRestarts [17:27:05.726] grepl <- base::grepl [17:27:05.726] restarts <- computeRestarts(cond) [17:27:05.726] for (restart in restarts) { [17:27:05.726] name <- restart$name [17:27:05.726] if (is.null(name)) [17:27:05.726] next [17:27:05.726] if (!grepl(pattern, name)) [17:27:05.726] next [17:27:05.726] invokeRestart(restart) [17:27:05.726] muffled <- TRUE [17:27:05.726] break [17:27:05.726] } [17:27:05.726] } [17:27:05.726] } [17:27:05.726] invisible(muffled) [17:27:05.726] } [17:27:05.726] muffleCondition(cond) [17:27:05.726] }) [17:27:05.726] })) [17:27:05.726] future::FutureResult(value = ...future.value$value, [17:27:05.726] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.726] ...future.rng), globalenv = if (FALSE) [17:27:05.726] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.726] ...future.globalenv.names)) [17:27:05.726] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.726] }, condition = base::local({ [17:27:05.726] c <- base::c [17:27:05.726] inherits <- base::inherits [17:27:05.726] invokeRestart <- base::invokeRestart [17:27:05.726] length <- base::length [17:27:05.726] list <- base::list [17:27:05.726] seq.int <- base::seq.int [17:27:05.726] signalCondition <- base::signalCondition [17:27:05.726] sys.calls <- base::sys.calls [17:27:05.726] `[[` <- base::`[[` [17:27:05.726] `+` <- base::`+` [17:27:05.726] `<<-` <- base::`<<-` [17:27:05.726] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.726] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.726] 3L)] [17:27:05.726] } [17:27:05.726] function(cond) { [17:27:05.726] is_error <- inherits(cond, "error") [17:27:05.726] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.726] NULL) [17:27:05.726] if (is_error) { [17:27:05.726] sessionInformation <- function() { [17:27:05.726] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.726] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.726] search = base::search(), system = base::Sys.info()) [17:27:05.726] } [17:27:05.726] ...future.conditions[[length(...future.conditions) + [17:27:05.726] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.726] cond$call), session = sessionInformation(), [17:27:05.726] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.726] signalCondition(cond) [17:27:05.726] } [17:27:05.726] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.726] "immediateCondition"))) { [17:27:05.726] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.726] ...future.conditions[[length(...future.conditions) + [17:27:05.726] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.726] if (TRUE && !signal) { [17:27:05.726] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.726] { [17:27:05.726] inherits <- base::inherits [17:27:05.726] invokeRestart <- base::invokeRestart [17:27:05.726] is.null <- base::is.null [17:27:05.726] muffled <- FALSE [17:27:05.726] if (inherits(cond, "message")) { [17:27:05.726] muffled <- grepl(pattern, "muffleMessage") [17:27:05.726] if (muffled) [17:27:05.726] invokeRestart("muffleMessage") [17:27:05.726] } [17:27:05.726] else if (inherits(cond, "warning")) { [17:27:05.726] muffled <- grepl(pattern, "muffleWarning") [17:27:05.726] if (muffled) [17:27:05.726] invokeRestart("muffleWarning") [17:27:05.726] } [17:27:05.726] else if (inherits(cond, "condition")) { [17:27:05.726] if (!is.null(pattern)) { [17:27:05.726] computeRestarts <- base::computeRestarts [17:27:05.726] grepl <- base::grepl [17:27:05.726] restarts <- computeRestarts(cond) [17:27:05.726] for (restart in restarts) { [17:27:05.726] name <- restart$name [17:27:05.726] if (is.null(name)) [17:27:05.726] next [17:27:05.726] if (!grepl(pattern, name)) [17:27:05.726] next [17:27:05.726] invokeRestart(restart) [17:27:05.726] muffled <- TRUE [17:27:05.726] break [17:27:05.726] } [17:27:05.726] } [17:27:05.726] } [17:27:05.726] invisible(muffled) [17:27:05.726] } [17:27:05.726] muffleCondition(cond, pattern = "^muffle") [17:27:05.726] } [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] if (TRUE) { [17:27:05.726] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.726] { [17:27:05.726] inherits <- base::inherits [17:27:05.726] invokeRestart <- base::invokeRestart [17:27:05.726] is.null <- base::is.null [17:27:05.726] muffled <- FALSE [17:27:05.726] if (inherits(cond, "message")) { [17:27:05.726] muffled <- grepl(pattern, "muffleMessage") [17:27:05.726] if (muffled) [17:27:05.726] invokeRestart("muffleMessage") [17:27:05.726] } [17:27:05.726] else if (inherits(cond, "warning")) { [17:27:05.726] muffled <- grepl(pattern, "muffleWarning") [17:27:05.726] if (muffled) [17:27:05.726] invokeRestart("muffleWarning") [17:27:05.726] } [17:27:05.726] else if (inherits(cond, "condition")) { [17:27:05.726] if (!is.null(pattern)) { [17:27:05.726] computeRestarts <- base::computeRestarts [17:27:05.726] grepl <- base::grepl [17:27:05.726] restarts <- computeRestarts(cond) [17:27:05.726] for (restart in restarts) { [17:27:05.726] name <- restart$name [17:27:05.726] if (is.null(name)) [17:27:05.726] next [17:27:05.726] if (!grepl(pattern, name)) [17:27:05.726] next [17:27:05.726] invokeRestart(restart) [17:27:05.726] muffled <- TRUE [17:27:05.726] break [17:27:05.726] } [17:27:05.726] } [17:27:05.726] } [17:27:05.726] invisible(muffled) [17:27:05.726] } [17:27:05.726] muffleCondition(cond, pattern = "^muffle") [17:27:05.726] } [17:27:05.726] } [17:27:05.726] } [17:27:05.726] })) [17:27:05.726] }, error = function(ex) { [17:27:05.726] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.726] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.726] ...future.rng), started = ...future.startTime, [17:27:05.726] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.726] version = "1.8"), class = "FutureResult") [17:27:05.726] }, finally = { [17:27:05.726] if (!identical(...future.workdir, getwd())) [17:27:05.726] setwd(...future.workdir) [17:27:05.726] { [17:27:05.726] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.726] ...future.oldOptions$nwarnings <- NULL [17:27:05.726] } [17:27:05.726] base::options(...future.oldOptions) [17:27:05.726] if (.Platform$OS.type == "windows") { [17:27:05.726] old_names <- names(...future.oldEnvVars) [17:27:05.726] envs <- base::Sys.getenv() [17:27:05.726] names <- names(envs) [17:27:05.726] common <- intersect(names, old_names) [17:27:05.726] added <- setdiff(names, old_names) [17:27:05.726] removed <- setdiff(old_names, names) [17:27:05.726] changed <- common[...future.oldEnvVars[common] != [17:27:05.726] envs[common]] [17:27:05.726] NAMES <- toupper(changed) [17:27:05.726] args <- list() [17:27:05.726] for (kk in seq_along(NAMES)) { [17:27:05.726] name <- changed[[kk]] [17:27:05.726] NAME <- NAMES[[kk]] [17:27:05.726] if (name != NAME && is.element(NAME, old_names)) [17:27:05.726] next [17:27:05.726] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.726] } [17:27:05.726] NAMES <- toupper(added) [17:27:05.726] for (kk in seq_along(NAMES)) { [17:27:05.726] name <- added[[kk]] [17:27:05.726] NAME <- NAMES[[kk]] [17:27:05.726] if (name != NAME && is.element(NAME, old_names)) [17:27:05.726] next [17:27:05.726] args[[name]] <- "" [17:27:05.726] } [17:27:05.726] NAMES <- toupper(removed) [17:27:05.726] for (kk in seq_along(NAMES)) { [17:27:05.726] name <- removed[[kk]] [17:27:05.726] NAME <- NAMES[[kk]] [17:27:05.726] if (name != NAME && is.element(NAME, old_names)) [17:27:05.726] next [17:27:05.726] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.726] } [17:27:05.726] if (length(args) > 0) [17:27:05.726] base::do.call(base::Sys.setenv, args = args) [17:27:05.726] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.726] } [17:27:05.726] { [17:27:05.726] if (base::length(...future.futureOptionsAdded) > [17:27:05.726] 0L) { [17:27:05.726] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.726] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.726] base::options(opts) [17:27:05.726] } [17:27:05.726] { [17:27:05.726] { [17:27:05.726] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.726] NULL [17:27:05.726] } [17:27:05.726] options(future.plan = NULL) [17:27:05.726] if (is.na(NA_character_)) [17:27:05.726] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.726] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.726] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.726] .init = FALSE) [17:27:05.726] } [17:27:05.726] } [17:27:05.726] } [17:27:05.726] }) [17:27:05.726] if (TRUE) { [17:27:05.726] base::sink(type = "output", split = FALSE) [17:27:05.726] if (TRUE) { [17:27:05.726] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.726] } [17:27:05.726] else { [17:27:05.726] ...future.result["stdout"] <- base::list(NULL) [17:27:05.726] } [17:27:05.726] base::close(...future.stdout) [17:27:05.726] ...future.stdout <- NULL [17:27:05.726] } [17:27:05.726] ...future.result$conditions <- ...future.conditions [17:27:05.726] ...future.result$finished <- base::Sys.time() [17:27:05.726] ...future.result [17:27:05.726] } [17:27:05.731] Exporting 2 global objects (112 bytes) to cluster node #1 ... [17:27:05.732] Exporting 'a' (56 bytes) to cluster node #1 ... [17:27:05.732] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [17:27:05.732] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:05.733] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:05.733] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [17:27:05.733] MultisessionFuture started [17:27:05.734] - Launch lazy future ... done [17:27:05.734] run() for 'MultisessionFuture' ... done [17:27:05.734] result() for ClusterFuture ... [17:27:05.734] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.734] - Validating connection of MultisessionFuture [17:27:05.750] - received message: FutureResult [17:27:05.750] - Received FutureResult [17:27:05.750] - Erased future from FutureRegistry [17:27:05.750] result() for ClusterFuture ... [17:27:05.750] - result already collected: FutureResult [17:27:05.751] result() for ClusterFuture ... done [17:27:05.751] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.751] result() for ClusterFuture ... done [17:27:05.751] result() for ClusterFuture ... [17:27:05.751] - result already collected: FutureResult [17:27:05.751] result() for ClusterFuture ... done [17:27:05.752] run() for 'Future' ... [17:27:05.752] - state: 'created' [17:27:05.752] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.766] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.766] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.766] - Field: 'node' [17:27:05.766] - Field: 'label' [17:27:05.767] - Field: 'local' [17:27:05.767] - Field: 'owner' [17:27:05.767] - Field: 'envir' [17:27:05.767] - Field: 'workers' [17:27:05.767] - Field: 'packages' [17:27:05.768] - Field: 'gc' [17:27:05.768] - Field: 'conditions' [17:27:05.768] - Field: 'persistent' [17:27:05.768] - Field: 'expr' [17:27:05.768] - Field: 'uuid' [17:27:05.768] - Field: 'seed' [17:27:05.769] - Field: 'version' [17:27:05.769] - Field: 'result' [17:27:05.769] - Field: 'asynchronous' [17:27:05.769] - Field: 'calls' [17:27:05.769] - Field: 'globals' [17:27:05.769] - Field: 'stdout' [17:27:05.770] - Field: 'earlySignal' [17:27:05.770] - Field: 'lazy' [17:27:05.770] - Field: 'state' [17:27:05.770] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.770] - Launch lazy future ... [17:27:05.771] Packages needed by the future expression (n = 0): [17:27:05.771] Packages needed by future strategies (n = 0): [17:27:05.771] { [17:27:05.771] { [17:27:05.771] { [17:27:05.771] ...future.startTime <- base::Sys.time() [17:27:05.771] { [17:27:05.771] { [17:27:05.771] { [17:27:05.771] { [17:27:05.771] base::local({ [17:27:05.771] has_future <- base::requireNamespace("future", [17:27:05.771] quietly = TRUE) [17:27:05.771] if (has_future) { [17:27:05.771] ns <- base::getNamespace("future") [17:27:05.771] version <- ns[[".package"]][["version"]] [17:27:05.771] if (is.null(version)) [17:27:05.771] version <- utils::packageVersion("future") [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] version <- NULL [17:27:05.771] } [17:27:05.771] if (!has_future || version < "1.8.0") { [17:27:05.771] info <- base::c(r_version = base::gsub("R version ", [17:27:05.771] "", base::R.version$version.string), [17:27:05.771] platform = base::sprintf("%s (%s-bit)", [17:27:05.771] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.771] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.771] "release", "version")], collapse = " "), [17:27:05.771] hostname = base::Sys.info()[["nodename"]]) [17:27:05.771] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.771] info) [17:27:05.771] info <- base::paste(info, collapse = "; ") [17:27:05.771] if (!has_future) { [17:27:05.771] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.771] info) [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.771] info, version) [17:27:05.771] } [17:27:05.771] base::stop(msg) [17:27:05.771] } [17:27:05.771] }) [17:27:05.771] } [17:27:05.771] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.771] base::options(mc.cores = 1L) [17:27:05.771] } [17:27:05.771] ...future.strategy.old <- future::plan("list") [17:27:05.771] options(future.plan = NULL) [17:27:05.771] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.771] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.771] } [17:27:05.771] ...future.workdir <- getwd() [17:27:05.771] } [17:27:05.771] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.771] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.771] } [17:27:05.771] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.771] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.771] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.771] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.771] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.771] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.771] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.771] base::names(...future.oldOptions)) [17:27:05.771] } [17:27:05.771] if (FALSE) { [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] if (TRUE) { [17:27:05.771] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.771] open = "w") [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.771] windows = "NUL", "/dev/null"), open = "w") [17:27:05.771] } [17:27:05.771] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.771] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.771] base::sink(type = "output", split = FALSE) [17:27:05.771] base::close(...future.stdout) [17:27:05.771] }, add = TRUE) [17:27:05.771] } [17:27:05.771] ...future.frame <- base::sys.nframe() [17:27:05.771] ...future.conditions <- base::list() [17:27:05.771] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.771] if (FALSE) { [17:27:05.771] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.771] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.771] } [17:27:05.771] ...future.result <- base::tryCatch({ [17:27:05.771] base::withCallingHandlers({ [17:27:05.771] ...future.value <- base::withVisible(base::local({ [17:27:05.771] ...future.makeSendCondition <- base::local({ [17:27:05.771] sendCondition <- NULL [17:27:05.771] function(frame = 1L) { [17:27:05.771] if (is.function(sendCondition)) [17:27:05.771] return(sendCondition) [17:27:05.771] ns <- getNamespace("parallel") [17:27:05.771] if (exists("sendData", mode = "function", [17:27:05.771] envir = ns)) { [17:27:05.771] parallel_sendData <- get("sendData", mode = "function", [17:27:05.771] envir = ns) [17:27:05.771] envir <- sys.frame(frame) [17:27:05.771] master <- NULL [17:27:05.771] while (!identical(envir, .GlobalEnv) && [17:27:05.771] !identical(envir, emptyenv())) { [17:27:05.771] if (exists("master", mode = "list", envir = envir, [17:27:05.771] inherits = FALSE)) { [17:27:05.771] master <- get("master", mode = "list", [17:27:05.771] envir = envir, inherits = FALSE) [17:27:05.771] if (inherits(master, c("SOCKnode", [17:27:05.771] "SOCK0node"))) { [17:27:05.771] sendCondition <<- function(cond) { [17:27:05.771] data <- list(type = "VALUE", value = cond, [17:27:05.771] success = TRUE) [17:27:05.771] parallel_sendData(master, data) [17:27:05.771] } [17:27:05.771] return(sendCondition) [17:27:05.771] } [17:27:05.771] } [17:27:05.771] frame <- frame + 1L [17:27:05.771] envir <- sys.frame(frame) [17:27:05.771] } [17:27:05.771] } [17:27:05.771] sendCondition <<- function(cond) NULL [17:27:05.771] } [17:27:05.771] }) [17:27:05.771] withCallingHandlers({ [17:27:05.771] { [17:27:05.771] b <- a * ii [17:27:05.771] a <- 0 [17:27:05.771] b [17:27:05.771] } [17:27:05.771] }, immediateCondition = function(cond) { [17:27:05.771] sendCondition <- ...future.makeSendCondition() [17:27:05.771] sendCondition(cond) [17:27:05.771] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.771] { [17:27:05.771] inherits <- base::inherits [17:27:05.771] invokeRestart <- base::invokeRestart [17:27:05.771] is.null <- base::is.null [17:27:05.771] muffled <- FALSE [17:27:05.771] if (inherits(cond, "message")) { [17:27:05.771] muffled <- grepl(pattern, "muffleMessage") [17:27:05.771] if (muffled) [17:27:05.771] invokeRestart("muffleMessage") [17:27:05.771] } [17:27:05.771] else if (inherits(cond, "warning")) { [17:27:05.771] muffled <- grepl(pattern, "muffleWarning") [17:27:05.771] if (muffled) [17:27:05.771] invokeRestart("muffleWarning") [17:27:05.771] } [17:27:05.771] else if (inherits(cond, "condition")) { [17:27:05.771] if (!is.null(pattern)) { [17:27:05.771] computeRestarts <- base::computeRestarts [17:27:05.771] grepl <- base::grepl [17:27:05.771] restarts <- computeRestarts(cond) [17:27:05.771] for (restart in restarts) { [17:27:05.771] name <- restart$name [17:27:05.771] if (is.null(name)) [17:27:05.771] next [17:27:05.771] if (!grepl(pattern, name)) [17:27:05.771] next [17:27:05.771] invokeRestart(restart) [17:27:05.771] muffled <- TRUE [17:27:05.771] break [17:27:05.771] } [17:27:05.771] } [17:27:05.771] } [17:27:05.771] invisible(muffled) [17:27:05.771] } [17:27:05.771] muffleCondition(cond) [17:27:05.771] }) [17:27:05.771] })) [17:27:05.771] future::FutureResult(value = ...future.value$value, [17:27:05.771] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.771] ...future.rng), globalenv = if (FALSE) [17:27:05.771] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.771] ...future.globalenv.names)) [17:27:05.771] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.771] }, condition = base::local({ [17:27:05.771] c <- base::c [17:27:05.771] inherits <- base::inherits [17:27:05.771] invokeRestart <- base::invokeRestart [17:27:05.771] length <- base::length [17:27:05.771] list <- base::list [17:27:05.771] seq.int <- base::seq.int [17:27:05.771] signalCondition <- base::signalCondition [17:27:05.771] sys.calls <- base::sys.calls [17:27:05.771] `[[` <- base::`[[` [17:27:05.771] `+` <- base::`+` [17:27:05.771] `<<-` <- base::`<<-` [17:27:05.771] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.771] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.771] 3L)] [17:27:05.771] } [17:27:05.771] function(cond) { [17:27:05.771] is_error <- inherits(cond, "error") [17:27:05.771] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.771] NULL) [17:27:05.771] if (is_error) { [17:27:05.771] sessionInformation <- function() { [17:27:05.771] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.771] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.771] search = base::search(), system = base::Sys.info()) [17:27:05.771] } [17:27:05.771] ...future.conditions[[length(...future.conditions) + [17:27:05.771] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.771] cond$call), session = sessionInformation(), [17:27:05.771] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.771] signalCondition(cond) [17:27:05.771] } [17:27:05.771] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.771] "immediateCondition"))) { [17:27:05.771] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.771] ...future.conditions[[length(...future.conditions) + [17:27:05.771] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.771] if (TRUE && !signal) { [17:27:05.771] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.771] { [17:27:05.771] inherits <- base::inherits [17:27:05.771] invokeRestart <- base::invokeRestart [17:27:05.771] is.null <- base::is.null [17:27:05.771] muffled <- FALSE [17:27:05.771] if (inherits(cond, "message")) { [17:27:05.771] muffled <- grepl(pattern, "muffleMessage") [17:27:05.771] if (muffled) [17:27:05.771] invokeRestart("muffleMessage") [17:27:05.771] } [17:27:05.771] else if (inherits(cond, "warning")) { [17:27:05.771] muffled <- grepl(pattern, "muffleWarning") [17:27:05.771] if (muffled) [17:27:05.771] invokeRestart("muffleWarning") [17:27:05.771] } [17:27:05.771] else if (inherits(cond, "condition")) { [17:27:05.771] if (!is.null(pattern)) { [17:27:05.771] computeRestarts <- base::computeRestarts [17:27:05.771] grepl <- base::grepl [17:27:05.771] restarts <- computeRestarts(cond) [17:27:05.771] for (restart in restarts) { [17:27:05.771] name <- restart$name [17:27:05.771] if (is.null(name)) [17:27:05.771] next [17:27:05.771] if (!grepl(pattern, name)) [17:27:05.771] next [17:27:05.771] invokeRestart(restart) [17:27:05.771] muffled <- TRUE [17:27:05.771] break [17:27:05.771] } [17:27:05.771] } [17:27:05.771] } [17:27:05.771] invisible(muffled) [17:27:05.771] } [17:27:05.771] muffleCondition(cond, pattern = "^muffle") [17:27:05.771] } [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] if (TRUE) { [17:27:05.771] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.771] { [17:27:05.771] inherits <- base::inherits [17:27:05.771] invokeRestart <- base::invokeRestart [17:27:05.771] is.null <- base::is.null [17:27:05.771] muffled <- FALSE [17:27:05.771] if (inherits(cond, "message")) { [17:27:05.771] muffled <- grepl(pattern, "muffleMessage") [17:27:05.771] if (muffled) [17:27:05.771] invokeRestart("muffleMessage") [17:27:05.771] } [17:27:05.771] else if (inherits(cond, "warning")) { [17:27:05.771] muffled <- grepl(pattern, "muffleWarning") [17:27:05.771] if (muffled) [17:27:05.771] invokeRestart("muffleWarning") [17:27:05.771] } [17:27:05.771] else if (inherits(cond, "condition")) { [17:27:05.771] if (!is.null(pattern)) { [17:27:05.771] computeRestarts <- base::computeRestarts [17:27:05.771] grepl <- base::grepl [17:27:05.771] restarts <- computeRestarts(cond) [17:27:05.771] for (restart in restarts) { [17:27:05.771] name <- restart$name [17:27:05.771] if (is.null(name)) [17:27:05.771] next [17:27:05.771] if (!grepl(pattern, name)) [17:27:05.771] next [17:27:05.771] invokeRestart(restart) [17:27:05.771] muffled <- TRUE [17:27:05.771] break [17:27:05.771] } [17:27:05.771] } [17:27:05.771] } [17:27:05.771] invisible(muffled) [17:27:05.771] } [17:27:05.771] muffleCondition(cond, pattern = "^muffle") [17:27:05.771] } [17:27:05.771] } [17:27:05.771] } [17:27:05.771] })) [17:27:05.771] }, error = function(ex) { [17:27:05.771] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.771] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.771] ...future.rng), started = ...future.startTime, [17:27:05.771] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.771] version = "1.8"), class = "FutureResult") [17:27:05.771] }, finally = { [17:27:05.771] if (!identical(...future.workdir, getwd())) [17:27:05.771] setwd(...future.workdir) [17:27:05.771] { [17:27:05.771] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.771] ...future.oldOptions$nwarnings <- NULL [17:27:05.771] } [17:27:05.771] base::options(...future.oldOptions) [17:27:05.771] if (.Platform$OS.type == "windows") { [17:27:05.771] old_names <- names(...future.oldEnvVars) [17:27:05.771] envs <- base::Sys.getenv() [17:27:05.771] names <- names(envs) [17:27:05.771] common <- intersect(names, old_names) [17:27:05.771] added <- setdiff(names, old_names) [17:27:05.771] removed <- setdiff(old_names, names) [17:27:05.771] changed <- common[...future.oldEnvVars[common] != [17:27:05.771] envs[common]] [17:27:05.771] NAMES <- toupper(changed) [17:27:05.771] args <- list() [17:27:05.771] for (kk in seq_along(NAMES)) { [17:27:05.771] name <- changed[[kk]] [17:27:05.771] NAME <- NAMES[[kk]] [17:27:05.771] if (name != NAME && is.element(NAME, old_names)) [17:27:05.771] next [17:27:05.771] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.771] } [17:27:05.771] NAMES <- toupper(added) [17:27:05.771] for (kk in seq_along(NAMES)) { [17:27:05.771] name <- added[[kk]] [17:27:05.771] NAME <- NAMES[[kk]] [17:27:05.771] if (name != NAME && is.element(NAME, old_names)) [17:27:05.771] next [17:27:05.771] args[[name]] <- "" [17:27:05.771] } [17:27:05.771] NAMES <- toupper(removed) [17:27:05.771] for (kk in seq_along(NAMES)) { [17:27:05.771] name <- removed[[kk]] [17:27:05.771] NAME <- NAMES[[kk]] [17:27:05.771] if (name != NAME && is.element(NAME, old_names)) [17:27:05.771] next [17:27:05.771] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.771] } [17:27:05.771] if (length(args) > 0) [17:27:05.771] base::do.call(base::Sys.setenv, args = args) [17:27:05.771] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.771] } [17:27:05.771] { [17:27:05.771] if (base::length(...future.futureOptionsAdded) > [17:27:05.771] 0L) { [17:27:05.771] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.771] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.771] base::options(opts) [17:27:05.771] } [17:27:05.771] { [17:27:05.771] { [17:27:05.771] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.771] NULL [17:27:05.771] } [17:27:05.771] options(future.plan = NULL) [17:27:05.771] if (is.na(NA_character_)) [17:27:05.771] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.771] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.771] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.771] .init = FALSE) [17:27:05.771] } [17:27:05.771] } [17:27:05.771] } [17:27:05.771] }) [17:27:05.771] if (TRUE) { [17:27:05.771] base::sink(type = "output", split = FALSE) [17:27:05.771] if (TRUE) { [17:27:05.771] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.771] } [17:27:05.771] else { [17:27:05.771] ...future.result["stdout"] <- base::list(NULL) [17:27:05.771] } [17:27:05.771] base::close(...future.stdout) [17:27:05.771] ...future.stdout <- NULL [17:27:05.771] } [17:27:05.771] ...future.result$conditions <- ...future.conditions [17:27:05.771] ...future.result$finished <- base::Sys.time() [17:27:05.771] ...future.result [17:27:05.771] } [17:27:05.776] Exporting 2 global objects (112 bytes) to cluster node #1 ... [17:27:05.777] Exporting 'a' (56 bytes) to cluster node #1 ... [17:27:05.777] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [17:27:05.777] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:05.778] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:05.778] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [17:27:05.778] MultisessionFuture started [17:27:05.778] - Launch lazy future ... done [17:27:05.779] run() for 'MultisessionFuture' ... done [17:27:05.779] result() for ClusterFuture ... [17:27:05.779] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.779] - Validating connection of MultisessionFuture [17:27:05.792] - received message: FutureResult [17:27:05.793] - Received FutureResult [17:27:05.793] - Erased future from FutureRegistry [17:27:05.793] result() for ClusterFuture ... [17:27:05.793] - result already collected: FutureResult [17:27:05.793] result() for ClusterFuture ... done [17:27:05.794] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.794] result() for ClusterFuture ... done [17:27:05.794] result() for ClusterFuture ... [17:27:05.794] - result already collected: FutureResult [17:27:05.794] result() for ClusterFuture ... done [17:27:05.794] run() for 'Future' ... [17:27:05.795] - state: 'created' [17:27:05.795] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.811] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.811] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.811] - Field: 'node' [17:27:05.811] - Field: 'label' [17:27:05.811] - Field: 'local' [17:27:05.812] - Field: 'owner' [17:27:05.812] - Field: 'envir' [17:27:05.812] - Field: 'workers' [17:27:05.812] - Field: 'packages' [17:27:05.812] - Field: 'gc' [17:27:05.813] - Field: 'conditions' [17:27:05.813] - Field: 'persistent' [17:27:05.813] - Field: 'expr' [17:27:05.813] - Field: 'uuid' [17:27:05.813] - Field: 'seed' [17:27:05.813] - Field: 'version' [17:27:05.814] - Field: 'result' [17:27:05.814] - Field: 'asynchronous' [17:27:05.814] - Field: 'calls' [17:27:05.814] - Field: 'globals' [17:27:05.814] - Field: 'stdout' [17:27:05.815] - Field: 'earlySignal' [17:27:05.815] - Field: 'lazy' [17:27:05.815] - Field: 'state' [17:27:05.815] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.815] - Launch lazy future ... [17:27:05.816] Packages needed by the future expression (n = 0): [17:27:05.816] Packages needed by future strategies (n = 0): [17:27:05.816] { [17:27:05.816] { [17:27:05.816] { [17:27:05.816] ...future.startTime <- base::Sys.time() [17:27:05.816] { [17:27:05.816] { [17:27:05.816] { [17:27:05.816] { [17:27:05.816] base::local({ [17:27:05.816] has_future <- base::requireNamespace("future", [17:27:05.816] quietly = TRUE) [17:27:05.816] if (has_future) { [17:27:05.816] ns <- base::getNamespace("future") [17:27:05.816] version <- ns[[".package"]][["version"]] [17:27:05.816] if (is.null(version)) [17:27:05.816] version <- utils::packageVersion("future") [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] version <- NULL [17:27:05.816] } [17:27:05.816] if (!has_future || version < "1.8.0") { [17:27:05.816] info <- base::c(r_version = base::gsub("R version ", [17:27:05.816] "", base::R.version$version.string), [17:27:05.816] platform = base::sprintf("%s (%s-bit)", [17:27:05.816] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.816] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.816] "release", "version")], collapse = " "), [17:27:05.816] hostname = base::Sys.info()[["nodename"]]) [17:27:05.816] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.816] info) [17:27:05.816] info <- base::paste(info, collapse = "; ") [17:27:05.816] if (!has_future) { [17:27:05.816] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.816] info) [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.816] info, version) [17:27:05.816] } [17:27:05.816] base::stop(msg) [17:27:05.816] } [17:27:05.816] }) [17:27:05.816] } [17:27:05.816] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.816] base::options(mc.cores = 1L) [17:27:05.816] } [17:27:05.816] ...future.strategy.old <- future::plan("list") [17:27:05.816] options(future.plan = NULL) [17:27:05.816] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.816] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.816] } [17:27:05.816] ...future.workdir <- getwd() [17:27:05.816] } [17:27:05.816] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.816] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.816] } [17:27:05.816] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.816] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.816] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.816] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.816] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.816] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.816] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.816] base::names(...future.oldOptions)) [17:27:05.816] } [17:27:05.816] if (FALSE) { [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] if (TRUE) { [17:27:05.816] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.816] open = "w") [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.816] windows = "NUL", "/dev/null"), open = "w") [17:27:05.816] } [17:27:05.816] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.816] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.816] base::sink(type = "output", split = FALSE) [17:27:05.816] base::close(...future.stdout) [17:27:05.816] }, add = TRUE) [17:27:05.816] } [17:27:05.816] ...future.frame <- base::sys.nframe() [17:27:05.816] ...future.conditions <- base::list() [17:27:05.816] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.816] if (FALSE) { [17:27:05.816] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.816] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.816] } [17:27:05.816] ...future.result <- base::tryCatch({ [17:27:05.816] base::withCallingHandlers({ [17:27:05.816] ...future.value <- base::withVisible(base::local({ [17:27:05.816] ...future.makeSendCondition <- base::local({ [17:27:05.816] sendCondition <- NULL [17:27:05.816] function(frame = 1L) { [17:27:05.816] if (is.function(sendCondition)) [17:27:05.816] return(sendCondition) [17:27:05.816] ns <- getNamespace("parallel") [17:27:05.816] if (exists("sendData", mode = "function", [17:27:05.816] envir = ns)) { [17:27:05.816] parallel_sendData <- get("sendData", mode = "function", [17:27:05.816] envir = ns) [17:27:05.816] envir <- sys.frame(frame) [17:27:05.816] master <- NULL [17:27:05.816] while (!identical(envir, .GlobalEnv) && [17:27:05.816] !identical(envir, emptyenv())) { [17:27:05.816] if (exists("master", mode = "list", envir = envir, [17:27:05.816] inherits = FALSE)) { [17:27:05.816] master <- get("master", mode = "list", [17:27:05.816] envir = envir, inherits = FALSE) [17:27:05.816] if (inherits(master, c("SOCKnode", [17:27:05.816] "SOCK0node"))) { [17:27:05.816] sendCondition <<- function(cond) { [17:27:05.816] data <- list(type = "VALUE", value = cond, [17:27:05.816] success = TRUE) [17:27:05.816] parallel_sendData(master, data) [17:27:05.816] } [17:27:05.816] return(sendCondition) [17:27:05.816] } [17:27:05.816] } [17:27:05.816] frame <- frame + 1L [17:27:05.816] envir <- sys.frame(frame) [17:27:05.816] } [17:27:05.816] } [17:27:05.816] sendCondition <<- function(cond) NULL [17:27:05.816] } [17:27:05.816] }) [17:27:05.816] withCallingHandlers({ [17:27:05.816] { [17:27:05.816] b <- a * ii [17:27:05.816] a <- 0 [17:27:05.816] b [17:27:05.816] } [17:27:05.816] }, immediateCondition = function(cond) { [17:27:05.816] sendCondition <- ...future.makeSendCondition() [17:27:05.816] sendCondition(cond) [17:27:05.816] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.816] { [17:27:05.816] inherits <- base::inherits [17:27:05.816] invokeRestart <- base::invokeRestart [17:27:05.816] is.null <- base::is.null [17:27:05.816] muffled <- FALSE [17:27:05.816] if (inherits(cond, "message")) { [17:27:05.816] muffled <- grepl(pattern, "muffleMessage") [17:27:05.816] if (muffled) [17:27:05.816] invokeRestart("muffleMessage") [17:27:05.816] } [17:27:05.816] else if (inherits(cond, "warning")) { [17:27:05.816] muffled <- grepl(pattern, "muffleWarning") [17:27:05.816] if (muffled) [17:27:05.816] invokeRestart("muffleWarning") [17:27:05.816] } [17:27:05.816] else if (inherits(cond, "condition")) { [17:27:05.816] if (!is.null(pattern)) { [17:27:05.816] computeRestarts <- base::computeRestarts [17:27:05.816] grepl <- base::grepl [17:27:05.816] restarts <- computeRestarts(cond) [17:27:05.816] for (restart in restarts) { [17:27:05.816] name <- restart$name [17:27:05.816] if (is.null(name)) [17:27:05.816] next [17:27:05.816] if (!grepl(pattern, name)) [17:27:05.816] next [17:27:05.816] invokeRestart(restart) [17:27:05.816] muffled <- TRUE [17:27:05.816] break [17:27:05.816] } [17:27:05.816] } [17:27:05.816] } [17:27:05.816] invisible(muffled) [17:27:05.816] } [17:27:05.816] muffleCondition(cond) [17:27:05.816] }) [17:27:05.816] })) [17:27:05.816] future::FutureResult(value = ...future.value$value, [17:27:05.816] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.816] ...future.rng), globalenv = if (FALSE) [17:27:05.816] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.816] ...future.globalenv.names)) [17:27:05.816] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.816] }, condition = base::local({ [17:27:05.816] c <- base::c [17:27:05.816] inherits <- base::inherits [17:27:05.816] invokeRestart <- base::invokeRestart [17:27:05.816] length <- base::length [17:27:05.816] list <- base::list [17:27:05.816] seq.int <- base::seq.int [17:27:05.816] signalCondition <- base::signalCondition [17:27:05.816] sys.calls <- base::sys.calls [17:27:05.816] `[[` <- base::`[[` [17:27:05.816] `+` <- base::`+` [17:27:05.816] `<<-` <- base::`<<-` [17:27:05.816] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.816] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.816] 3L)] [17:27:05.816] } [17:27:05.816] function(cond) { [17:27:05.816] is_error <- inherits(cond, "error") [17:27:05.816] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.816] NULL) [17:27:05.816] if (is_error) { [17:27:05.816] sessionInformation <- function() { [17:27:05.816] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.816] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.816] search = base::search(), system = base::Sys.info()) [17:27:05.816] } [17:27:05.816] ...future.conditions[[length(...future.conditions) + [17:27:05.816] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.816] cond$call), session = sessionInformation(), [17:27:05.816] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.816] signalCondition(cond) [17:27:05.816] } [17:27:05.816] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.816] "immediateCondition"))) { [17:27:05.816] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.816] ...future.conditions[[length(...future.conditions) + [17:27:05.816] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.816] if (TRUE && !signal) { [17:27:05.816] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.816] { [17:27:05.816] inherits <- base::inherits [17:27:05.816] invokeRestart <- base::invokeRestart [17:27:05.816] is.null <- base::is.null [17:27:05.816] muffled <- FALSE [17:27:05.816] if (inherits(cond, "message")) { [17:27:05.816] muffled <- grepl(pattern, "muffleMessage") [17:27:05.816] if (muffled) [17:27:05.816] invokeRestart("muffleMessage") [17:27:05.816] } [17:27:05.816] else if (inherits(cond, "warning")) { [17:27:05.816] muffled <- grepl(pattern, "muffleWarning") [17:27:05.816] if (muffled) [17:27:05.816] invokeRestart("muffleWarning") [17:27:05.816] } [17:27:05.816] else if (inherits(cond, "condition")) { [17:27:05.816] if (!is.null(pattern)) { [17:27:05.816] computeRestarts <- base::computeRestarts [17:27:05.816] grepl <- base::grepl [17:27:05.816] restarts <- computeRestarts(cond) [17:27:05.816] for (restart in restarts) { [17:27:05.816] name <- restart$name [17:27:05.816] if (is.null(name)) [17:27:05.816] next [17:27:05.816] if (!grepl(pattern, name)) [17:27:05.816] next [17:27:05.816] invokeRestart(restart) [17:27:05.816] muffled <- TRUE [17:27:05.816] break [17:27:05.816] } [17:27:05.816] } [17:27:05.816] } [17:27:05.816] invisible(muffled) [17:27:05.816] } [17:27:05.816] muffleCondition(cond, pattern = "^muffle") [17:27:05.816] } [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] if (TRUE) { [17:27:05.816] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.816] { [17:27:05.816] inherits <- base::inherits [17:27:05.816] invokeRestart <- base::invokeRestart [17:27:05.816] is.null <- base::is.null [17:27:05.816] muffled <- FALSE [17:27:05.816] if (inherits(cond, "message")) { [17:27:05.816] muffled <- grepl(pattern, "muffleMessage") [17:27:05.816] if (muffled) [17:27:05.816] invokeRestart("muffleMessage") [17:27:05.816] } [17:27:05.816] else if (inherits(cond, "warning")) { [17:27:05.816] muffled <- grepl(pattern, "muffleWarning") [17:27:05.816] if (muffled) [17:27:05.816] invokeRestart("muffleWarning") [17:27:05.816] } [17:27:05.816] else if (inherits(cond, "condition")) { [17:27:05.816] if (!is.null(pattern)) { [17:27:05.816] computeRestarts <- base::computeRestarts [17:27:05.816] grepl <- base::grepl [17:27:05.816] restarts <- computeRestarts(cond) [17:27:05.816] for (restart in restarts) { [17:27:05.816] name <- restart$name [17:27:05.816] if (is.null(name)) [17:27:05.816] next [17:27:05.816] if (!grepl(pattern, name)) [17:27:05.816] next [17:27:05.816] invokeRestart(restart) [17:27:05.816] muffled <- TRUE [17:27:05.816] break [17:27:05.816] } [17:27:05.816] } [17:27:05.816] } [17:27:05.816] invisible(muffled) [17:27:05.816] } [17:27:05.816] muffleCondition(cond, pattern = "^muffle") [17:27:05.816] } [17:27:05.816] } [17:27:05.816] } [17:27:05.816] })) [17:27:05.816] }, error = function(ex) { [17:27:05.816] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.816] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.816] ...future.rng), started = ...future.startTime, [17:27:05.816] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.816] version = "1.8"), class = "FutureResult") [17:27:05.816] }, finally = { [17:27:05.816] if (!identical(...future.workdir, getwd())) [17:27:05.816] setwd(...future.workdir) [17:27:05.816] { [17:27:05.816] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.816] ...future.oldOptions$nwarnings <- NULL [17:27:05.816] } [17:27:05.816] base::options(...future.oldOptions) [17:27:05.816] if (.Platform$OS.type == "windows") { [17:27:05.816] old_names <- names(...future.oldEnvVars) [17:27:05.816] envs <- base::Sys.getenv() [17:27:05.816] names <- names(envs) [17:27:05.816] common <- intersect(names, old_names) [17:27:05.816] added <- setdiff(names, old_names) [17:27:05.816] removed <- setdiff(old_names, names) [17:27:05.816] changed <- common[...future.oldEnvVars[common] != [17:27:05.816] envs[common]] [17:27:05.816] NAMES <- toupper(changed) [17:27:05.816] args <- list() [17:27:05.816] for (kk in seq_along(NAMES)) { [17:27:05.816] name <- changed[[kk]] [17:27:05.816] NAME <- NAMES[[kk]] [17:27:05.816] if (name != NAME && is.element(NAME, old_names)) [17:27:05.816] next [17:27:05.816] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.816] } [17:27:05.816] NAMES <- toupper(added) [17:27:05.816] for (kk in seq_along(NAMES)) { [17:27:05.816] name <- added[[kk]] [17:27:05.816] NAME <- NAMES[[kk]] [17:27:05.816] if (name != NAME && is.element(NAME, old_names)) [17:27:05.816] next [17:27:05.816] args[[name]] <- "" [17:27:05.816] } [17:27:05.816] NAMES <- toupper(removed) [17:27:05.816] for (kk in seq_along(NAMES)) { [17:27:05.816] name <- removed[[kk]] [17:27:05.816] NAME <- NAMES[[kk]] [17:27:05.816] if (name != NAME && is.element(NAME, old_names)) [17:27:05.816] next [17:27:05.816] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.816] } [17:27:05.816] if (length(args) > 0) [17:27:05.816] base::do.call(base::Sys.setenv, args = args) [17:27:05.816] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.816] } [17:27:05.816] { [17:27:05.816] if (base::length(...future.futureOptionsAdded) > [17:27:05.816] 0L) { [17:27:05.816] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.816] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.816] base::options(opts) [17:27:05.816] } [17:27:05.816] { [17:27:05.816] { [17:27:05.816] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.816] NULL [17:27:05.816] } [17:27:05.816] options(future.plan = NULL) [17:27:05.816] if (is.na(NA_character_)) [17:27:05.816] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.816] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.816] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.816] .init = FALSE) [17:27:05.816] } [17:27:05.816] } [17:27:05.816] } [17:27:05.816] }) [17:27:05.816] if (TRUE) { [17:27:05.816] base::sink(type = "output", split = FALSE) [17:27:05.816] if (TRUE) { [17:27:05.816] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.816] } [17:27:05.816] else { [17:27:05.816] ...future.result["stdout"] <- base::list(NULL) [17:27:05.816] } [17:27:05.816] base::close(...future.stdout) [17:27:05.816] ...future.stdout <- NULL [17:27:05.816] } [17:27:05.816] ...future.result$conditions <- ...future.conditions [17:27:05.816] ...future.result$finished <- base::Sys.time() [17:27:05.816] ...future.result [17:27:05.816] } [17:27:05.821] Exporting 2 global objects (112 bytes) to cluster node #1 ... [17:27:05.822] Exporting 'a' (56 bytes) to cluster node #1 ... [17:27:05.822] Exporting 'a' (56 bytes) to cluster node #1 ... DONE [17:27:05.822] Exporting 'ii' (56 bytes) to cluster node #1 ... [17:27:05.823] Exporting 'ii' (56 bytes) to cluster node #1 ... DONE [17:27:05.823] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [17:27:05.823] MultisessionFuture started [17:27:05.823] - Launch lazy future ... done [17:27:05.824] run() for 'MultisessionFuture' ... done [17:27:05.824] result() for ClusterFuture ... [17:27:05.824] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.824] - Validating connection of MultisessionFuture [17:27:05.839] - received message: FutureResult [17:27:05.839] - Received FutureResult [17:27:05.839] - Erased future from FutureRegistry [17:27:05.839] result() for ClusterFuture ... [17:27:05.839] - result already collected: FutureResult [17:27:05.839] result() for ClusterFuture ... done [17:27:05.840] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.840] result() for ClusterFuture ... done [17:27:05.840] result() for ClusterFuture ... [17:27:05.840] - result already collected: FutureResult [17:27:05.840] 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:27:05.841] 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:27:05.841] 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:27:05.842] [17:27:05.842] Searching for globals ... DONE [17:27:05.842] - globals: [0] [17:27:05.842] getGlobalsAndPackages() ... DONE [17:27:05.843] run() for 'Future' ... [17:27:05.843] - state: 'created' [17:27:05.843] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.856] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.857] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.857] - Field: 'node' [17:27:05.857] - Field: 'label' [17:27:05.857] - Field: 'local' [17:27:05.857] - Field: 'owner' [17:27:05.858] - Field: 'envir' [17:27:05.858] - Field: 'workers' [17:27:05.858] - Field: 'packages' [17:27:05.858] - Field: 'gc' [17:27:05.858] - Field: 'conditions' [17:27:05.859] - Field: 'persistent' [17:27:05.859] - Field: 'expr' [17:27:05.859] - Field: 'uuid' [17:27:05.859] - Field: 'seed' [17:27:05.859] - Field: 'version' [17:27:05.859] - Field: 'result' [17:27:05.860] - Field: 'asynchronous' [17:27:05.860] - Field: 'calls' [17:27:05.860] - Field: 'globals' [17:27:05.860] - Field: 'stdout' [17:27:05.860] - Field: 'earlySignal' [17:27:05.860] - Field: 'lazy' [17:27:05.861] - Field: 'state' [17:27:05.861] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.861] - Launch lazy future ... [17:27:05.861] Packages needed by the future expression (n = 0): [17:27:05.862] Packages needed by future strategies (n = 0): [17:27:05.862] { [17:27:05.862] { [17:27:05.862] { [17:27:05.862] ...future.startTime <- base::Sys.time() [17:27:05.862] { [17:27:05.862] { [17:27:05.862] { [17:27:05.862] { [17:27:05.862] base::local({ [17:27:05.862] has_future <- base::requireNamespace("future", [17:27:05.862] quietly = TRUE) [17:27:05.862] if (has_future) { [17:27:05.862] ns <- base::getNamespace("future") [17:27:05.862] version <- ns[[".package"]][["version"]] [17:27:05.862] if (is.null(version)) [17:27:05.862] version <- utils::packageVersion("future") [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] version <- NULL [17:27:05.862] } [17:27:05.862] if (!has_future || version < "1.8.0") { [17:27:05.862] info <- base::c(r_version = base::gsub("R version ", [17:27:05.862] "", base::R.version$version.string), [17:27:05.862] platform = base::sprintf("%s (%s-bit)", [17:27:05.862] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.862] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.862] "release", "version")], collapse = " "), [17:27:05.862] hostname = base::Sys.info()[["nodename"]]) [17:27:05.862] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.862] info) [17:27:05.862] info <- base::paste(info, collapse = "; ") [17:27:05.862] if (!has_future) { [17:27:05.862] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.862] info) [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.862] info, version) [17:27:05.862] } [17:27:05.862] base::stop(msg) [17:27:05.862] } [17:27:05.862] }) [17:27:05.862] } [17:27:05.862] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.862] base::options(mc.cores = 1L) [17:27:05.862] } [17:27:05.862] ...future.strategy.old <- future::plan("list") [17:27:05.862] options(future.plan = NULL) [17:27:05.862] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.862] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.862] } [17:27:05.862] ...future.workdir <- getwd() [17:27:05.862] } [17:27:05.862] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.862] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.862] } [17:27:05.862] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.862] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.862] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.862] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.862] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.862] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.862] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.862] base::names(...future.oldOptions)) [17:27:05.862] } [17:27:05.862] if (FALSE) { [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] if (TRUE) { [17:27:05.862] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.862] open = "w") [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.862] windows = "NUL", "/dev/null"), open = "w") [17:27:05.862] } [17:27:05.862] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.862] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.862] base::sink(type = "output", split = FALSE) [17:27:05.862] base::close(...future.stdout) [17:27:05.862] }, add = TRUE) [17:27:05.862] } [17:27:05.862] ...future.frame <- base::sys.nframe() [17:27:05.862] ...future.conditions <- base::list() [17:27:05.862] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.862] if (FALSE) { [17:27:05.862] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.862] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.862] } [17:27:05.862] ...future.result <- base::tryCatch({ [17:27:05.862] base::withCallingHandlers({ [17:27:05.862] ...future.value <- base::withVisible(base::local({ [17:27:05.862] ...future.makeSendCondition <- base::local({ [17:27:05.862] sendCondition <- NULL [17:27:05.862] function(frame = 1L) { [17:27:05.862] if (is.function(sendCondition)) [17:27:05.862] return(sendCondition) [17:27:05.862] ns <- getNamespace("parallel") [17:27:05.862] if (exists("sendData", mode = "function", [17:27:05.862] envir = ns)) { [17:27:05.862] parallel_sendData <- get("sendData", mode = "function", [17:27:05.862] envir = ns) [17:27:05.862] envir <- sys.frame(frame) [17:27:05.862] master <- NULL [17:27:05.862] while (!identical(envir, .GlobalEnv) && [17:27:05.862] !identical(envir, emptyenv())) { [17:27:05.862] if (exists("master", mode = "list", envir = envir, [17:27:05.862] inherits = FALSE)) { [17:27:05.862] master <- get("master", mode = "list", [17:27:05.862] envir = envir, inherits = FALSE) [17:27:05.862] if (inherits(master, c("SOCKnode", [17:27:05.862] "SOCK0node"))) { [17:27:05.862] sendCondition <<- function(cond) { [17:27:05.862] data <- list(type = "VALUE", value = cond, [17:27:05.862] success = TRUE) [17:27:05.862] parallel_sendData(master, data) [17:27:05.862] } [17:27:05.862] return(sendCondition) [17:27:05.862] } [17:27:05.862] } [17:27:05.862] frame <- frame + 1L [17:27:05.862] envir <- sys.frame(frame) [17:27:05.862] } [17:27:05.862] } [17:27:05.862] sendCondition <<- function(cond) NULL [17:27:05.862] } [17:27:05.862] }) [17:27:05.862] withCallingHandlers({ [17:27:05.862] 1 [17:27:05.862] }, immediateCondition = function(cond) { [17:27:05.862] sendCondition <- ...future.makeSendCondition() [17:27:05.862] sendCondition(cond) [17:27:05.862] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.862] { [17:27:05.862] inherits <- base::inherits [17:27:05.862] invokeRestart <- base::invokeRestart [17:27:05.862] is.null <- base::is.null [17:27:05.862] muffled <- FALSE [17:27:05.862] if (inherits(cond, "message")) { [17:27:05.862] muffled <- grepl(pattern, "muffleMessage") [17:27:05.862] if (muffled) [17:27:05.862] invokeRestart("muffleMessage") [17:27:05.862] } [17:27:05.862] else if (inherits(cond, "warning")) { [17:27:05.862] muffled <- grepl(pattern, "muffleWarning") [17:27:05.862] if (muffled) [17:27:05.862] invokeRestart("muffleWarning") [17:27:05.862] } [17:27:05.862] else if (inherits(cond, "condition")) { [17:27:05.862] if (!is.null(pattern)) { [17:27:05.862] computeRestarts <- base::computeRestarts [17:27:05.862] grepl <- base::grepl [17:27:05.862] restarts <- computeRestarts(cond) [17:27:05.862] for (restart in restarts) { [17:27:05.862] name <- restart$name [17:27:05.862] if (is.null(name)) [17:27:05.862] next [17:27:05.862] if (!grepl(pattern, name)) [17:27:05.862] next [17:27:05.862] invokeRestart(restart) [17:27:05.862] muffled <- TRUE [17:27:05.862] break [17:27:05.862] } [17:27:05.862] } [17:27:05.862] } [17:27:05.862] invisible(muffled) [17:27:05.862] } [17:27:05.862] muffleCondition(cond) [17:27:05.862] }) [17:27:05.862] })) [17:27:05.862] future::FutureResult(value = ...future.value$value, [17:27:05.862] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.862] ...future.rng), globalenv = if (FALSE) [17:27:05.862] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.862] ...future.globalenv.names)) [17:27:05.862] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.862] }, condition = base::local({ [17:27:05.862] c <- base::c [17:27:05.862] inherits <- base::inherits [17:27:05.862] invokeRestart <- base::invokeRestart [17:27:05.862] length <- base::length [17:27:05.862] list <- base::list [17:27:05.862] seq.int <- base::seq.int [17:27:05.862] signalCondition <- base::signalCondition [17:27:05.862] sys.calls <- base::sys.calls [17:27:05.862] `[[` <- base::`[[` [17:27:05.862] `+` <- base::`+` [17:27:05.862] `<<-` <- base::`<<-` [17:27:05.862] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.862] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.862] 3L)] [17:27:05.862] } [17:27:05.862] function(cond) { [17:27:05.862] is_error <- inherits(cond, "error") [17:27:05.862] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.862] NULL) [17:27:05.862] if (is_error) { [17:27:05.862] sessionInformation <- function() { [17:27:05.862] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.862] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.862] search = base::search(), system = base::Sys.info()) [17:27:05.862] } [17:27:05.862] ...future.conditions[[length(...future.conditions) + [17:27:05.862] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.862] cond$call), session = sessionInformation(), [17:27:05.862] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.862] signalCondition(cond) [17:27:05.862] } [17:27:05.862] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.862] "immediateCondition"))) { [17:27:05.862] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.862] ...future.conditions[[length(...future.conditions) + [17:27:05.862] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.862] if (TRUE && !signal) { [17:27:05.862] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.862] { [17:27:05.862] inherits <- base::inherits [17:27:05.862] invokeRestart <- base::invokeRestart [17:27:05.862] is.null <- base::is.null [17:27:05.862] muffled <- FALSE [17:27:05.862] if (inherits(cond, "message")) { [17:27:05.862] muffled <- grepl(pattern, "muffleMessage") [17:27:05.862] if (muffled) [17:27:05.862] invokeRestart("muffleMessage") [17:27:05.862] } [17:27:05.862] else if (inherits(cond, "warning")) { [17:27:05.862] muffled <- grepl(pattern, "muffleWarning") [17:27:05.862] if (muffled) [17:27:05.862] invokeRestart("muffleWarning") [17:27:05.862] } [17:27:05.862] else if (inherits(cond, "condition")) { [17:27:05.862] if (!is.null(pattern)) { [17:27:05.862] computeRestarts <- base::computeRestarts [17:27:05.862] grepl <- base::grepl [17:27:05.862] restarts <- computeRestarts(cond) [17:27:05.862] for (restart in restarts) { [17:27:05.862] name <- restart$name [17:27:05.862] if (is.null(name)) [17:27:05.862] next [17:27:05.862] if (!grepl(pattern, name)) [17:27:05.862] next [17:27:05.862] invokeRestart(restart) [17:27:05.862] muffled <- TRUE [17:27:05.862] break [17:27:05.862] } [17:27:05.862] } [17:27:05.862] } [17:27:05.862] invisible(muffled) [17:27:05.862] } [17:27:05.862] muffleCondition(cond, pattern = "^muffle") [17:27:05.862] } [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] if (TRUE) { [17:27:05.862] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.862] { [17:27:05.862] inherits <- base::inherits [17:27:05.862] invokeRestart <- base::invokeRestart [17:27:05.862] is.null <- base::is.null [17:27:05.862] muffled <- FALSE [17:27:05.862] if (inherits(cond, "message")) { [17:27:05.862] muffled <- grepl(pattern, "muffleMessage") [17:27:05.862] if (muffled) [17:27:05.862] invokeRestart("muffleMessage") [17:27:05.862] } [17:27:05.862] else if (inherits(cond, "warning")) { [17:27:05.862] muffled <- grepl(pattern, "muffleWarning") [17:27:05.862] if (muffled) [17:27:05.862] invokeRestart("muffleWarning") [17:27:05.862] } [17:27:05.862] else if (inherits(cond, "condition")) { [17:27:05.862] if (!is.null(pattern)) { [17:27:05.862] computeRestarts <- base::computeRestarts [17:27:05.862] grepl <- base::grepl [17:27:05.862] restarts <- computeRestarts(cond) [17:27:05.862] for (restart in restarts) { [17:27:05.862] name <- restart$name [17:27:05.862] if (is.null(name)) [17:27:05.862] next [17:27:05.862] if (!grepl(pattern, name)) [17:27:05.862] next [17:27:05.862] invokeRestart(restart) [17:27:05.862] muffled <- TRUE [17:27:05.862] break [17:27:05.862] } [17:27:05.862] } [17:27:05.862] } [17:27:05.862] invisible(muffled) [17:27:05.862] } [17:27:05.862] muffleCondition(cond, pattern = "^muffle") [17:27:05.862] } [17:27:05.862] } [17:27:05.862] } [17:27:05.862] })) [17:27:05.862] }, error = function(ex) { [17:27:05.862] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.862] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.862] ...future.rng), started = ...future.startTime, [17:27:05.862] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.862] version = "1.8"), class = "FutureResult") [17:27:05.862] }, finally = { [17:27:05.862] if (!identical(...future.workdir, getwd())) [17:27:05.862] setwd(...future.workdir) [17:27:05.862] { [17:27:05.862] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.862] ...future.oldOptions$nwarnings <- NULL [17:27:05.862] } [17:27:05.862] base::options(...future.oldOptions) [17:27:05.862] if (.Platform$OS.type == "windows") { [17:27:05.862] old_names <- names(...future.oldEnvVars) [17:27:05.862] envs <- base::Sys.getenv() [17:27:05.862] names <- names(envs) [17:27:05.862] common <- intersect(names, old_names) [17:27:05.862] added <- setdiff(names, old_names) [17:27:05.862] removed <- setdiff(old_names, names) [17:27:05.862] changed <- common[...future.oldEnvVars[common] != [17:27:05.862] envs[common]] [17:27:05.862] NAMES <- toupper(changed) [17:27:05.862] args <- list() [17:27:05.862] for (kk in seq_along(NAMES)) { [17:27:05.862] name <- changed[[kk]] [17:27:05.862] NAME <- NAMES[[kk]] [17:27:05.862] if (name != NAME && is.element(NAME, old_names)) [17:27:05.862] next [17:27:05.862] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.862] } [17:27:05.862] NAMES <- toupper(added) [17:27:05.862] for (kk in seq_along(NAMES)) { [17:27:05.862] name <- added[[kk]] [17:27:05.862] NAME <- NAMES[[kk]] [17:27:05.862] if (name != NAME && is.element(NAME, old_names)) [17:27:05.862] next [17:27:05.862] args[[name]] <- "" [17:27:05.862] } [17:27:05.862] NAMES <- toupper(removed) [17:27:05.862] for (kk in seq_along(NAMES)) { [17:27:05.862] name <- removed[[kk]] [17:27:05.862] NAME <- NAMES[[kk]] [17:27:05.862] if (name != NAME && is.element(NAME, old_names)) [17:27:05.862] next [17:27:05.862] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.862] } [17:27:05.862] if (length(args) > 0) [17:27:05.862] base::do.call(base::Sys.setenv, args = args) [17:27:05.862] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.862] } [17:27:05.862] { [17:27:05.862] if (base::length(...future.futureOptionsAdded) > [17:27:05.862] 0L) { [17:27:05.862] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.862] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.862] base::options(opts) [17:27:05.862] } [17:27:05.862] { [17:27:05.862] { [17:27:05.862] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.862] NULL [17:27:05.862] } [17:27:05.862] options(future.plan = NULL) [17:27:05.862] if (is.na(NA_character_)) [17:27:05.862] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.862] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.862] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.862] .init = FALSE) [17:27:05.862] } [17:27:05.862] } [17:27:05.862] } [17:27:05.862] }) [17:27:05.862] if (TRUE) { [17:27:05.862] base::sink(type = "output", split = FALSE) [17:27:05.862] if (TRUE) { [17:27:05.862] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.862] } [17:27:05.862] else { [17:27:05.862] ...future.result["stdout"] <- base::list(NULL) [17:27:05.862] } [17:27:05.862] base::close(...future.stdout) [17:27:05.862] ...future.stdout <- NULL [17:27:05.862] } [17:27:05.862] ...future.result$conditions <- ...future.conditions [17:27:05.862] ...future.result$finished <- base::Sys.time() [17:27:05.862] ...future.result [17:27:05.862] } [17:27:05.867] MultisessionFuture started [17:27:05.868] - Launch lazy future ... done [17:27:05.868] 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:27:05.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:27:05.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: 'ordered' [17:27:05.870] - globals found: [3] '+', 'value', 'a' [17:27:05.870] Searching for globals ... DONE [17:27:05.870] Resolving globals: TRUE [17:27:05.870] Resolving any globals that are futures ... [17:27:05.870] - globals: [3] '+', 'value', 'a' [17:27:05.871] Resolving any globals that are futures ... DONE [17:27:05.871] Resolving futures part of globals (recursively) ... [17:27:05.871] resolve() on list ... [17:27:05.872] recursive: 99 [17:27:05.872] length: 1 [17:27:05.872] elements: 'a' [17:27:05.883] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.883] - Validating connection of MultisessionFuture [17:27:05.883] - received message: FutureResult [17:27:05.883] - Received FutureResult [17:27:05.883] - Erased future from FutureRegistry [17:27:05.884] result() for ClusterFuture ... [17:27:05.884] - result already collected: FutureResult [17:27:05.884] result() for ClusterFuture ... done [17:27:05.884] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.884] Future #1 [17:27:05.884] result() for ClusterFuture ... [17:27:05.885] - result already collected: FutureResult [17:27:05.885] result() for ClusterFuture ... done [17:27:05.885] result() for ClusterFuture ... [17:27:05.885] - result already collected: FutureResult [17:27:05.885] result() for ClusterFuture ... done [17:27:05.885] A MultisessionFuture was resolved [17:27:05.886] length: 0 (resolved future 1) [17:27:05.886] resolve() on list ... DONE [17:27:05.886] - globals: [1] 'a' [17:27:05.886] Resolving futures part of globals (recursively) ... DONE [17:27:05.889] The total size of the 1 globals is 1.59 MiB (1669104 bytes) [17:27:05.889] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.59 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.59 MiB of class 'environment') [17:27:05.889] - globals: [1] 'a' [17:27:05.890] - packages: [1] 'future' [17:27:05.890] getGlobalsAndPackages() ... DONE [17:27:05.890] run() for 'Future' ... [17:27:05.890] - state: 'created' [17:27:05.891] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.904] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.904] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.904] - Field: 'node' [17:27:05.905] - Field: 'label' [17:27:05.905] - Field: 'local' [17:27:05.905] - Field: 'owner' [17:27:05.905] - Field: 'envir' [17:27:05.905] - Field: 'workers' [17:27:05.905] - Field: 'packages' [17:27:05.906] - Field: 'gc' [17:27:05.906] - Field: 'conditions' [17:27:05.906] - Field: 'persistent' [17:27:05.906] - Field: 'expr' [17:27:05.906] - Field: 'uuid' [17:27:05.907] - Field: 'seed' [17:27:05.907] - Field: 'version' [17:27:05.907] - Field: 'result' [17:27:05.907] - Field: 'asynchronous' [17:27:05.907] - Field: 'calls' [17:27:05.907] - Field: 'globals' [17:27:05.908] - Field: 'stdout' [17:27:05.908] - Field: 'earlySignal' [17:27:05.908] - Field: 'lazy' [17:27:05.908] - Field: 'state' [17:27:05.908] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.908] - Launch lazy future ... [17:27:05.909] Packages needed by the future expression (n = 1): 'future' [17:27:05.909] Packages needed by future strategies (n = 0): [17:27:05.910] { [17:27:05.910] { [17:27:05.910] { [17:27:05.910] ...future.startTime <- base::Sys.time() [17:27:05.910] { [17:27:05.910] { [17:27:05.910] { [17:27:05.910] { [17:27:05.910] { [17:27:05.910] base::local({ [17:27:05.910] has_future <- base::requireNamespace("future", [17:27:05.910] quietly = TRUE) [17:27:05.910] if (has_future) { [17:27:05.910] ns <- base::getNamespace("future") [17:27:05.910] version <- ns[[".package"]][["version"]] [17:27:05.910] if (is.null(version)) [17:27:05.910] version <- utils::packageVersion("future") [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] version <- NULL [17:27:05.910] } [17:27:05.910] if (!has_future || version < "1.8.0") { [17:27:05.910] info <- base::c(r_version = base::gsub("R version ", [17:27:05.910] "", base::R.version$version.string), [17:27:05.910] platform = base::sprintf("%s (%s-bit)", [17:27:05.910] base::R.version$platform, 8 * [17:27:05.910] base::.Machine$sizeof.pointer), [17:27:05.910] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.910] "release", "version")], collapse = " "), [17:27:05.910] hostname = base::Sys.info()[["nodename"]]) [17:27:05.910] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.910] info) [17:27:05.910] info <- base::paste(info, collapse = "; ") [17:27:05.910] if (!has_future) { [17:27:05.910] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.910] info) [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.910] info, version) [17:27:05.910] } [17:27:05.910] base::stop(msg) [17:27:05.910] } [17:27:05.910] }) [17:27:05.910] } [17:27:05.910] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.910] base::options(mc.cores = 1L) [17:27:05.910] } [17:27:05.910] base::local({ [17:27:05.910] for (pkg in "future") { [17:27:05.910] base::loadNamespace(pkg) [17:27:05.910] base::library(pkg, character.only = TRUE) [17:27:05.910] } [17:27:05.910] }) [17:27:05.910] } [17:27:05.910] ...future.strategy.old <- future::plan("list") [17:27:05.910] options(future.plan = NULL) [17:27:05.910] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.910] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.910] } [17:27:05.910] ...future.workdir <- getwd() [17:27:05.910] } [17:27:05.910] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.910] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.910] } [17:27:05.910] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.910] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.910] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.910] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.910] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.910] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.910] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.910] base::names(...future.oldOptions)) [17:27:05.910] } [17:27:05.910] if (FALSE) { [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] if (TRUE) { [17:27:05.910] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.910] open = "w") [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.910] windows = "NUL", "/dev/null"), open = "w") [17:27:05.910] } [17:27:05.910] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.910] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.910] base::sink(type = "output", split = FALSE) [17:27:05.910] base::close(...future.stdout) [17:27:05.910] }, add = TRUE) [17:27:05.910] } [17:27:05.910] ...future.frame <- base::sys.nframe() [17:27:05.910] ...future.conditions <- base::list() [17:27:05.910] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.910] if (FALSE) { [17:27:05.910] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.910] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.910] } [17:27:05.910] ...future.result <- base::tryCatch({ [17:27:05.910] base::withCallingHandlers({ [17:27:05.910] ...future.value <- base::withVisible(base::local({ [17:27:05.910] ...future.makeSendCondition <- base::local({ [17:27:05.910] sendCondition <- NULL [17:27:05.910] function(frame = 1L) { [17:27:05.910] if (is.function(sendCondition)) [17:27:05.910] return(sendCondition) [17:27:05.910] ns <- getNamespace("parallel") [17:27:05.910] if (exists("sendData", mode = "function", [17:27:05.910] envir = ns)) { [17:27:05.910] parallel_sendData <- get("sendData", mode = "function", [17:27:05.910] envir = ns) [17:27:05.910] envir <- sys.frame(frame) [17:27:05.910] master <- NULL [17:27:05.910] while (!identical(envir, .GlobalEnv) && [17:27:05.910] !identical(envir, emptyenv())) { [17:27:05.910] if (exists("master", mode = "list", envir = envir, [17:27:05.910] inherits = FALSE)) { [17:27:05.910] master <- get("master", mode = "list", [17:27:05.910] envir = envir, inherits = FALSE) [17:27:05.910] if (inherits(master, c("SOCKnode", [17:27:05.910] "SOCK0node"))) { [17:27:05.910] sendCondition <<- function(cond) { [17:27:05.910] data <- list(type = "VALUE", value = cond, [17:27:05.910] success = TRUE) [17:27:05.910] parallel_sendData(master, data) [17:27:05.910] } [17:27:05.910] return(sendCondition) [17:27:05.910] } [17:27:05.910] } [17:27:05.910] frame <- frame + 1L [17:27:05.910] envir <- sys.frame(frame) [17:27:05.910] } [17:27:05.910] } [17:27:05.910] sendCondition <<- function(cond) NULL [17:27:05.910] } [17:27:05.910] }) [17:27:05.910] withCallingHandlers({ [17:27:05.910] value(a) + 1 [17:27:05.910] }, immediateCondition = function(cond) { [17:27:05.910] sendCondition <- ...future.makeSendCondition() [17:27:05.910] sendCondition(cond) [17:27:05.910] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.910] { [17:27:05.910] inherits <- base::inherits [17:27:05.910] invokeRestart <- base::invokeRestart [17:27:05.910] is.null <- base::is.null [17:27:05.910] muffled <- FALSE [17:27:05.910] if (inherits(cond, "message")) { [17:27:05.910] muffled <- grepl(pattern, "muffleMessage") [17:27:05.910] if (muffled) [17:27:05.910] invokeRestart("muffleMessage") [17:27:05.910] } [17:27:05.910] else if (inherits(cond, "warning")) { [17:27:05.910] muffled <- grepl(pattern, "muffleWarning") [17:27:05.910] if (muffled) [17:27:05.910] invokeRestart("muffleWarning") [17:27:05.910] } [17:27:05.910] else if (inherits(cond, "condition")) { [17:27:05.910] if (!is.null(pattern)) { [17:27:05.910] computeRestarts <- base::computeRestarts [17:27:05.910] grepl <- base::grepl [17:27:05.910] restarts <- computeRestarts(cond) [17:27:05.910] for (restart in restarts) { [17:27:05.910] name <- restart$name [17:27:05.910] if (is.null(name)) [17:27:05.910] next [17:27:05.910] if (!grepl(pattern, name)) [17:27:05.910] next [17:27:05.910] invokeRestart(restart) [17:27:05.910] muffled <- TRUE [17:27:05.910] break [17:27:05.910] } [17:27:05.910] } [17:27:05.910] } [17:27:05.910] invisible(muffled) [17:27:05.910] } [17:27:05.910] muffleCondition(cond) [17:27:05.910] }) [17:27:05.910] })) [17:27:05.910] future::FutureResult(value = ...future.value$value, [17:27:05.910] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.910] ...future.rng), globalenv = if (FALSE) [17:27:05.910] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.910] ...future.globalenv.names)) [17:27:05.910] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.910] }, condition = base::local({ [17:27:05.910] c <- base::c [17:27:05.910] inherits <- base::inherits [17:27:05.910] invokeRestart <- base::invokeRestart [17:27:05.910] length <- base::length [17:27:05.910] list <- base::list [17:27:05.910] seq.int <- base::seq.int [17:27:05.910] signalCondition <- base::signalCondition [17:27:05.910] sys.calls <- base::sys.calls [17:27:05.910] `[[` <- base::`[[` [17:27:05.910] `+` <- base::`+` [17:27:05.910] `<<-` <- base::`<<-` [17:27:05.910] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.910] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.910] 3L)] [17:27:05.910] } [17:27:05.910] function(cond) { [17:27:05.910] is_error <- inherits(cond, "error") [17:27:05.910] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.910] NULL) [17:27:05.910] if (is_error) { [17:27:05.910] sessionInformation <- function() { [17:27:05.910] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.910] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.910] search = base::search(), system = base::Sys.info()) [17:27:05.910] } [17:27:05.910] ...future.conditions[[length(...future.conditions) + [17:27:05.910] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.910] cond$call), session = sessionInformation(), [17:27:05.910] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.910] signalCondition(cond) [17:27:05.910] } [17:27:05.910] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.910] "immediateCondition"))) { [17:27:05.910] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.910] ...future.conditions[[length(...future.conditions) + [17:27:05.910] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.910] if (TRUE && !signal) { [17:27:05.910] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.910] { [17:27:05.910] inherits <- base::inherits [17:27:05.910] invokeRestart <- base::invokeRestart [17:27:05.910] is.null <- base::is.null [17:27:05.910] muffled <- FALSE [17:27:05.910] if (inherits(cond, "message")) { [17:27:05.910] muffled <- grepl(pattern, "muffleMessage") [17:27:05.910] if (muffled) [17:27:05.910] invokeRestart("muffleMessage") [17:27:05.910] } [17:27:05.910] else if (inherits(cond, "warning")) { [17:27:05.910] muffled <- grepl(pattern, "muffleWarning") [17:27:05.910] if (muffled) [17:27:05.910] invokeRestart("muffleWarning") [17:27:05.910] } [17:27:05.910] else if (inherits(cond, "condition")) { [17:27:05.910] if (!is.null(pattern)) { [17:27:05.910] computeRestarts <- base::computeRestarts [17:27:05.910] grepl <- base::grepl [17:27:05.910] restarts <- computeRestarts(cond) [17:27:05.910] for (restart in restarts) { [17:27:05.910] name <- restart$name [17:27:05.910] if (is.null(name)) [17:27:05.910] next [17:27:05.910] if (!grepl(pattern, name)) [17:27:05.910] next [17:27:05.910] invokeRestart(restart) [17:27:05.910] muffled <- TRUE [17:27:05.910] break [17:27:05.910] } [17:27:05.910] } [17:27:05.910] } [17:27:05.910] invisible(muffled) [17:27:05.910] } [17:27:05.910] muffleCondition(cond, pattern = "^muffle") [17:27:05.910] } [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] if (TRUE) { [17:27:05.910] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.910] { [17:27:05.910] inherits <- base::inherits [17:27:05.910] invokeRestart <- base::invokeRestart [17:27:05.910] is.null <- base::is.null [17:27:05.910] muffled <- FALSE [17:27:05.910] if (inherits(cond, "message")) { [17:27:05.910] muffled <- grepl(pattern, "muffleMessage") [17:27:05.910] if (muffled) [17:27:05.910] invokeRestart("muffleMessage") [17:27:05.910] } [17:27:05.910] else if (inherits(cond, "warning")) { [17:27:05.910] muffled <- grepl(pattern, "muffleWarning") [17:27:05.910] if (muffled) [17:27:05.910] invokeRestart("muffleWarning") [17:27:05.910] } [17:27:05.910] else if (inherits(cond, "condition")) { [17:27:05.910] if (!is.null(pattern)) { [17:27:05.910] computeRestarts <- base::computeRestarts [17:27:05.910] grepl <- base::grepl [17:27:05.910] restarts <- computeRestarts(cond) [17:27:05.910] for (restart in restarts) { [17:27:05.910] name <- restart$name [17:27:05.910] if (is.null(name)) [17:27:05.910] next [17:27:05.910] if (!grepl(pattern, name)) [17:27:05.910] next [17:27:05.910] invokeRestart(restart) [17:27:05.910] muffled <- TRUE [17:27:05.910] break [17:27:05.910] } [17:27:05.910] } [17:27:05.910] } [17:27:05.910] invisible(muffled) [17:27:05.910] } [17:27:05.910] muffleCondition(cond, pattern = "^muffle") [17:27:05.910] } [17:27:05.910] } [17:27:05.910] } [17:27:05.910] })) [17:27:05.910] }, error = function(ex) { [17:27:05.910] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.910] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.910] ...future.rng), started = ...future.startTime, [17:27:05.910] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.910] version = "1.8"), class = "FutureResult") [17:27:05.910] }, finally = { [17:27:05.910] if (!identical(...future.workdir, getwd())) [17:27:05.910] setwd(...future.workdir) [17:27:05.910] { [17:27:05.910] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.910] ...future.oldOptions$nwarnings <- NULL [17:27:05.910] } [17:27:05.910] base::options(...future.oldOptions) [17:27:05.910] if (.Platform$OS.type == "windows") { [17:27:05.910] old_names <- names(...future.oldEnvVars) [17:27:05.910] envs <- base::Sys.getenv() [17:27:05.910] names <- names(envs) [17:27:05.910] common <- intersect(names, old_names) [17:27:05.910] added <- setdiff(names, old_names) [17:27:05.910] removed <- setdiff(old_names, names) [17:27:05.910] changed <- common[...future.oldEnvVars[common] != [17:27:05.910] envs[common]] [17:27:05.910] NAMES <- toupper(changed) [17:27:05.910] args <- list() [17:27:05.910] for (kk in seq_along(NAMES)) { [17:27:05.910] name <- changed[[kk]] [17:27:05.910] NAME <- NAMES[[kk]] [17:27:05.910] if (name != NAME && is.element(NAME, old_names)) [17:27:05.910] next [17:27:05.910] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.910] } [17:27:05.910] NAMES <- toupper(added) [17:27:05.910] for (kk in seq_along(NAMES)) { [17:27:05.910] name <- added[[kk]] [17:27:05.910] NAME <- NAMES[[kk]] [17:27:05.910] if (name != NAME && is.element(NAME, old_names)) [17:27:05.910] next [17:27:05.910] args[[name]] <- "" [17:27:05.910] } [17:27:05.910] NAMES <- toupper(removed) [17:27:05.910] for (kk in seq_along(NAMES)) { [17:27:05.910] name <- removed[[kk]] [17:27:05.910] NAME <- NAMES[[kk]] [17:27:05.910] if (name != NAME && is.element(NAME, old_names)) [17:27:05.910] next [17:27:05.910] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.910] } [17:27:05.910] if (length(args) > 0) [17:27:05.910] base::do.call(base::Sys.setenv, args = args) [17:27:05.910] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.910] } [17:27:05.910] { [17:27:05.910] if (base::length(...future.futureOptionsAdded) > [17:27:05.910] 0L) { [17:27:05.910] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.910] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.910] base::options(opts) [17:27:05.910] } [17:27:05.910] { [17:27:05.910] { [17:27:05.910] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.910] NULL [17:27:05.910] } [17:27:05.910] options(future.plan = NULL) [17:27:05.910] if (is.na(NA_character_)) [17:27:05.910] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.910] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.910] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.910] .init = FALSE) [17:27:05.910] } [17:27:05.910] } [17:27:05.910] } [17:27:05.910] }) [17:27:05.910] if (TRUE) { [17:27:05.910] base::sink(type = "output", split = FALSE) [17:27:05.910] if (TRUE) { [17:27:05.910] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.910] } [17:27:05.910] else { [17:27:05.910] ...future.result["stdout"] <- base::list(NULL) [17:27:05.910] } [17:27:05.910] base::close(...future.stdout) [17:27:05.910] ...future.stdout <- NULL [17:27:05.910] } [17:27:05.910] ...future.result$conditions <- ...future.conditions [17:27:05.910] ...future.result$finished <- base::Sys.time() [17:27:05.910] ...future.result [17:27:05.910] } [17:27:05.915] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... [17:27:05.917] Exporting 'a' (1.59 MiB) to cluster node #1 ... [17:27:05.928] Exporting 'a' (1.59 MiB) to cluster node #1 ... DONE [17:27:05.928] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... DONE [17:27:05.929] MultisessionFuture started [17:27:05.929] - Launch lazy future ... done [17:27:05.929] run() for 'MultisessionFuture' ... done [17:27:05.929] result() for ClusterFuture ... [17:27:05.930] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.930] - Validating connection of MultisessionFuture [17:27:05.949] - received message: FutureResult [17:27:05.949] - Received FutureResult [17:27:05.949] - Erased future from FutureRegistry [17:27:05.950] result() for ClusterFuture ... [17:27:05.950] - result already collected: FutureResult [17:27:05.950] result() for ClusterFuture ... done [17:27:05.950] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.950] result() for ClusterFuture ... done [17:27:05.950] result() for ClusterFuture ... [17:27:05.950] - result already collected: FutureResult [17:27:05.951] result() for ClusterFuture ... done value(b) = 2 [17:27:05.951] result() for ClusterFuture ... [17:27:05.951] - result already collected: FutureResult [17:27:05.951] result() for ClusterFuture ... done [17:27:05.951] result() for ClusterFuture ... [17:27:05.952] - result already collected: FutureResult [17:27:05.952] 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:27:05.952] 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:27:05.952] 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:27:05.953] [17:27:05.953] Searching for globals ... DONE [17:27:05.953] - globals: [0] [17:27:05.954] getGlobalsAndPackages() ... DONE [17:27:05.954] run() for 'Future' ... [17:27:05.954] - state: 'created' [17:27:05.954] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:05.968] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:05.968] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:05.968] - Field: 'node' [17:27:05.969] - Field: 'label' [17:27:05.969] - Field: 'local' [17:27:05.969] - Field: 'owner' [17:27:05.969] - Field: 'envir' [17:27:05.969] - Field: 'workers' [17:27:05.969] - Field: 'packages' [17:27:05.970] - Field: 'gc' [17:27:05.970] - Field: 'conditions' [17:27:05.970] - Field: 'persistent' [17:27:05.970] - Field: 'expr' [17:27:05.970] - Field: 'uuid' [17:27:05.971] - Field: 'seed' [17:27:05.971] - Field: 'version' [17:27:05.971] - Field: 'result' [17:27:05.971] - Field: 'asynchronous' [17:27:05.971] - Field: 'calls' [17:27:05.971] - Field: 'globals' [17:27:05.972] - Field: 'stdout' [17:27:05.972] - Field: 'earlySignal' [17:27:05.972] - Field: 'lazy' [17:27:05.972] - Field: 'state' [17:27:05.972] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:05.972] - Launch lazy future ... [17:27:05.973] Packages needed by the future expression (n = 0): [17:27:05.973] Packages needed by future strategies (n = 0): [17:27:05.974] { [17:27:05.974] { [17:27:05.974] { [17:27:05.974] ...future.startTime <- base::Sys.time() [17:27:05.974] { [17:27:05.974] { [17:27:05.974] { [17:27:05.974] { [17:27:05.974] base::local({ [17:27:05.974] has_future <- base::requireNamespace("future", [17:27:05.974] quietly = TRUE) [17:27:05.974] if (has_future) { [17:27:05.974] ns <- base::getNamespace("future") [17:27:05.974] version <- ns[[".package"]][["version"]] [17:27:05.974] if (is.null(version)) [17:27:05.974] version <- utils::packageVersion("future") [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] version <- NULL [17:27:05.974] } [17:27:05.974] if (!has_future || version < "1.8.0") { [17:27:05.974] info <- base::c(r_version = base::gsub("R version ", [17:27:05.974] "", base::R.version$version.string), [17:27:05.974] platform = base::sprintf("%s (%s-bit)", [17:27:05.974] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:05.974] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:05.974] "release", "version")], collapse = " "), [17:27:05.974] hostname = base::Sys.info()[["nodename"]]) [17:27:05.974] info <- base::sprintf("%s: %s", base::names(info), [17:27:05.974] info) [17:27:05.974] info <- base::paste(info, collapse = "; ") [17:27:05.974] if (!has_future) { [17:27:05.974] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:05.974] info) [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:05.974] info, version) [17:27:05.974] } [17:27:05.974] base::stop(msg) [17:27:05.974] } [17:27:05.974] }) [17:27:05.974] } [17:27:05.974] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:05.974] base::options(mc.cores = 1L) [17:27:05.974] } [17:27:05.974] ...future.strategy.old <- future::plan("list") [17:27:05.974] options(future.plan = NULL) [17:27:05.974] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.974] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:05.974] } [17:27:05.974] ...future.workdir <- getwd() [17:27:05.974] } [17:27:05.974] ...future.oldOptions <- base::as.list(base::.Options) [17:27:05.974] ...future.oldEnvVars <- base::Sys.getenv() [17:27:05.974] } [17:27:05.974] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:05.974] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:05.974] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:05.974] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:05.974] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:05.974] future.stdout.windows.reencode = NULL, width = 80L) [17:27:05.974] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:05.974] base::names(...future.oldOptions)) [17:27:05.974] } [17:27:05.974] if (FALSE) { [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] if (TRUE) { [17:27:05.974] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:05.974] open = "w") [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:05.974] windows = "NUL", "/dev/null"), open = "w") [17:27:05.974] } [17:27:05.974] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:05.974] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:05.974] base::sink(type = "output", split = FALSE) [17:27:05.974] base::close(...future.stdout) [17:27:05.974] }, add = TRUE) [17:27:05.974] } [17:27:05.974] ...future.frame <- base::sys.nframe() [17:27:05.974] ...future.conditions <- base::list() [17:27:05.974] ...future.rng <- base::globalenv()$.Random.seed [17:27:05.974] if (FALSE) { [17:27:05.974] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:05.974] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:05.974] } [17:27:05.974] ...future.result <- base::tryCatch({ [17:27:05.974] base::withCallingHandlers({ [17:27:05.974] ...future.value <- base::withVisible(base::local({ [17:27:05.974] ...future.makeSendCondition <- base::local({ [17:27:05.974] sendCondition <- NULL [17:27:05.974] function(frame = 1L) { [17:27:05.974] if (is.function(sendCondition)) [17:27:05.974] return(sendCondition) [17:27:05.974] ns <- getNamespace("parallel") [17:27:05.974] if (exists("sendData", mode = "function", [17:27:05.974] envir = ns)) { [17:27:05.974] parallel_sendData <- get("sendData", mode = "function", [17:27:05.974] envir = ns) [17:27:05.974] envir <- sys.frame(frame) [17:27:05.974] master <- NULL [17:27:05.974] while (!identical(envir, .GlobalEnv) && [17:27:05.974] !identical(envir, emptyenv())) { [17:27:05.974] if (exists("master", mode = "list", envir = envir, [17:27:05.974] inherits = FALSE)) { [17:27:05.974] master <- get("master", mode = "list", [17:27:05.974] envir = envir, inherits = FALSE) [17:27:05.974] if (inherits(master, c("SOCKnode", [17:27:05.974] "SOCK0node"))) { [17:27:05.974] sendCondition <<- function(cond) { [17:27:05.974] data <- list(type = "VALUE", value = cond, [17:27:05.974] success = TRUE) [17:27:05.974] parallel_sendData(master, data) [17:27:05.974] } [17:27:05.974] return(sendCondition) [17:27:05.974] } [17:27:05.974] } [17:27:05.974] frame <- frame + 1L [17:27:05.974] envir <- sys.frame(frame) [17:27:05.974] } [17:27:05.974] } [17:27:05.974] sendCondition <<- function(cond) NULL [17:27:05.974] } [17:27:05.974] }) [17:27:05.974] withCallingHandlers({ [17:27:05.974] 1 [17:27:05.974] }, immediateCondition = function(cond) { [17:27:05.974] sendCondition <- ...future.makeSendCondition() [17:27:05.974] sendCondition(cond) [17:27:05.974] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.974] { [17:27:05.974] inherits <- base::inherits [17:27:05.974] invokeRestart <- base::invokeRestart [17:27:05.974] is.null <- base::is.null [17:27:05.974] muffled <- FALSE [17:27:05.974] if (inherits(cond, "message")) { [17:27:05.974] muffled <- grepl(pattern, "muffleMessage") [17:27:05.974] if (muffled) [17:27:05.974] invokeRestart("muffleMessage") [17:27:05.974] } [17:27:05.974] else if (inherits(cond, "warning")) { [17:27:05.974] muffled <- grepl(pattern, "muffleWarning") [17:27:05.974] if (muffled) [17:27:05.974] invokeRestart("muffleWarning") [17:27:05.974] } [17:27:05.974] else if (inherits(cond, "condition")) { [17:27:05.974] if (!is.null(pattern)) { [17:27:05.974] computeRestarts <- base::computeRestarts [17:27:05.974] grepl <- base::grepl [17:27:05.974] restarts <- computeRestarts(cond) [17:27:05.974] for (restart in restarts) { [17:27:05.974] name <- restart$name [17:27:05.974] if (is.null(name)) [17:27:05.974] next [17:27:05.974] if (!grepl(pattern, name)) [17:27:05.974] next [17:27:05.974] invokeRestart(restart) [17:27:05.974] muffled <- TRUE [17:27:05.974] break [17:27:05.974] } [17:27:05.974] } [17:27:05.974] } [17:27:05.974] invisible(muffled) [17:27:05.974] } [17:27:05.974] muffleCondition(cond) [17:27:05.974] }) [17:27:05.974] })) [17:27:05.974] future::FutureResult(value = ...future.value$value, [17:27:05.974] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.974] ...future.rng), globalenv = if (FALSE) [17:27:05.974] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:05.974] ...future.globalenv.names)) [17:27:05.974] else NULL, started = ...future.startTime, version = "1.8") [17:27:05.974] }, condition = base::local({ [17:27:05.974] c <- base::c [17:27:05.974] inherits <- base::inherits [17:27:05.974] invokeRestart <- base::invokeRestart [17:27:05.974] length <- base::length [17:27:05.974] list <- base::list [17:27:05.974] seq.int <- base::seq.int [17:27:05.974] signalCondition <- base::signalCondition [17:27:05.974] sys.calls <- base::sys.calls [17:27:05.974] `[[` <- base::`[[` [17:27:05.974] `+` <- base::`+` [17:27:05.974] `<<-` <- base::`<<-` [17:27:05.974] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:05.974] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:05.974] 3L)] [17:27:05.974] } [17:27:05.974] function(cond) { [17:27:05.974] is_error <- inherits(cond, "error") [17:27:05.974] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:05.974] NULL) [17:27:05.974] if (is_error) { [17:27:05.974] sessionInformation <- function() { [17:27:05.974] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:05.974] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:05.974] search = base::search(), system = base::Sys.info()) [17:27:05.974] } [17:27:05.974] ...future.conditions[[length(...future.conditions) + [17:27:05.974] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:05.974] cond$call), session = sessionInformation(), [17:27:05.974] timestamp = base::Sys.time(), signaled = 0L) [17:27:05.974] signalCondition(cond) [17:27:05.974] } [17:27:05.974] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:05.974] "immediateCondition"))) { [17:27:05.974] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:05.974] ...future.conditions[[length(...future.conditions) + [17:27:05.974] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:05.974] if (TRUE && !signal) { [17:27:05.974] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.974] { [17:27:05.974] inherits <- base::inherits [17:27:05.974] invokeRestart <- base::invokeRestart [17:27:05.974] is.null <- base::is.null [17:27:05.974] muffled <- FALSE [17:27:05.974] if (inherits(cond, "message")) { [17:27:05.974] muffled <- grepl(pattern, "muffleMessage") [17:27:05.974] if (muffled) [17:27:05.974] invokeRestart("muffleMessage") [17:27:05.974] } [17:27:05.974] else if (inherits(cond, "warning")) { [17:27:05.974] muffled <- grepl(pattern, "muffleWarning") [17:27:05.974] if (muffled) [17:27:05.974] invokeRestart("muffleWarning") [17:27:05.974] } [17:27:05.974] else if (inherits(cond, "condition")) { [17:27:05.974] if (!is.null(pattern)) { [17:27:05.974] computeRestarts <- base::computeRestarts [17:27:05.974] grepl <- base::grepl [17:27:05.974] restarts <- computeRestarts(cond) [17:27:05.974] for (restart in restarts) { [17:27:05.974] name <- restart$name [17:27:05.974] if (is.null(name)) [17:27:05.974] next [17:27:05.974] if (!grepl(pattern, name)) [17:27:05.974] next [17:27:05.974] invokeRestart(restart) [17:27:05.974] muffled <- TRUE [17:27:05.974] break [17:27:05.974] } [17:27:05.974] } [17:27:05.974] } [17:27:05.974] invisible(muffled) [17:27:05.974] } [17:27:05.974] muffleCondition(cond, pattern = "^muffle") [17:27:05.974] } [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] if (TRUE) { [17:27:05.974] muffleCondition <- function (cond, pattern = "^muffle") [17:27:05.974] { [17:27:05.974] inherits <- base::inherits [17:27:05.974] invokeRestart <- base::invokeRestart [17:27:05.974] is.null <- base::is.null [17:27:05.974] muffled <- FALSE [17:27:05.974] if (inherits(cond, "message")) { [17:27:05.974] muffled <- grepl(pattern, "muffleMessage") [17:27:05.974] if (muffled) [17:27:05.974] invokeRestart("muffleMessage") [17:27:05.974] } [17:27:05.974] else if (inherits(cond, "warning")) { [17:27:05.974] muffled <- grepl(pattern, "muffleWarning") [17:27:05.974] if (muffled) [17:27:05.974] invokeRestart("muffleWarning") [17:27:05.974] } [17:27:05.974] else if (inherits(cond, "condition")) { [17:27:05.974] if (!is.null(pattern)) { [17:27:05.974] computeRestarts <- base::computeRestarts [17:27:05.974] grepl <- base::grepl [17:27:05.974] restarts <- computeRestarts(cond) [17:27:05.974] for (restart in restarts) { [17:27:05.974] name <- restart$name [17:27:05.974] if (is.null(name)) [17:27:05.974] next [17:27:05.974] if (!grepl(pattern, name)) [17:27:05.974] next [17:27:05.974] invokeRestart(restart) [17:27:05.974] muffled <- TRUE [17:27:05.974] break [17:27:05.974] } [17:27:05.974] } [17:27:05.974] } [17:27:05.974] invisible(muffled) [17:27:05.974] } [17:27:05.974] muffleCondition(cond, pattern = "^muffle") [17:27:05.974] } [17:27:05.974] } [17:27:05.974] } [17:27:05.974] })) [17:27:05.974] }, error = function(ex) { [17:27:05.974] base::structure(base::list(value = NULL, visible = NULL, [17:27:05.974] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:05.974] ...future.rng), started = ...future.startTime, [17:27:05.974] finished = Sys.time(), session_uuid = NA_character_, [17:27:05.974] version = "1.8"), class = "FutureResult") [17:27:05.974] }, finally = { [17:27:05.974] if (!identical(...future.workdir, getwd())) [17:27:05.974] setwd(...future.workdir) [17:27:05.974] { [17:27:05.974] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:05.974] ...future.oldOptions$nwarnings <- NULL [17:27:05.974] } [17:27:05.974] base::options(...future.oldOptions) [17:27:05.974] if (.Platform$OS.type == "windows") { [17:27:05.974] old_names <- names(...future.oldEnvVars) [17:27:05.974] envs <- base::Sys.getenv() [17:27:05.974] names <- names(envs) [17:27:05.974] common <- intersect(names, old_names) [17:27:05.974] added <- setdiff(names, old_names) [17:27:05.974] removed <- setdiff(old_names, names) [17:27:05.974] changed <- common[...future.oldEnvVars[common] != [17:27:05.974] envs[common]] [17:27:05.974] NAMES <- toupper(changed) [17:27:05.974] args <- list() [17:27:05.974] for (kk in seq_along(NAMES)) { [17:27:05.974] name <- changed[[kk]] [17:27:05.974] NAME <- NAMES[[kk]] [17:27:05.974] if (name != NAME && is.element(NAME, old_names)) [17:27:05.974] next [17:27:05.974] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.974] } [17:27:05.974] NAMES <- toupper(added) [17:27:05.974] for (kk in seq_along(NAMES)) { [17:27:05.974] name <- added[[kk]] [17:27:05.974] NAME <- NAMES[[kk]] [17:27:05.974] if (name != NAME && is.element(NAME, old_names)) [17:27:05.974] next [17:27:05.974] args[[name]] <- "" [17:27:05.974] } [17:27:05.974] NAMES <- toupper(removed) [17:27:05.974] for (kk in seq_along(NAMES)) { [17:27:05.974] name <- removed[[kk]] [17:27:05.974] NAME <- NAMES[[kk]] [17:27:05.974] if (name != NAME && is.element(NAME, old_names)) [17:27:05.974] next [17:27:05.974] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:05.974] } [17:27:05.974] if (length(args) > 0) [17:27:05.974] base::do.call(base::Sys.setenv, args = args) [17:27:05.974] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:05.974] } [17:27:05.974] { [17:27:05.974] if (base::length(...future.futureOptionsAdded) > [17:27:05.974] 0L) { [17:27:05.974] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:05.974] base::names(opts) <- ...future.futureOptionsAdded [17:27:05.974] base::options(opts) [17:27:05.974] } [17:27:05.974] { [17:27:05.974] { [17:27:05.974] base::options(mc.cores = ...future.mc.cores.old) [17:27:05.974] NULL [17:27:05.974] } [17:27:05.974] options(future.plan = NULL) [17:27:05.974] if (is.na(NA_character_)) [17:27:05.974] Sys.unsetenv("R_FUTURE_PLAN") [17:27:05.974] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:05.974] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:05.974] .init = FALSE) [17:27:05.974] } [17:27:05.974] } [17:27:05.974] } [17:27:05.974] }) [17:27:05.974] if (TRUE) { [17:27:05.974] base::sink(type = "output", split = FALSE) [17:27:05.974] if (TRUE) { [17:27:05.974] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:05.974] } [17:27:05.974] else { [17:27:05.974] ...future.result["stdout"] <- base::list(NULL) [17:27:05.974] } [17:27:05.974] base::close(...future.stdout) [17:27:05.974] ...future.stdout <- NULL [17:27:05.974] } [17:27:05.974] ...future.result$conditions <- ...future.conditions [17:27:05.974] ...future.result$finished <- base::Sys.time() [17:27:05.974] ...future.result [17:27:05.974] } [17:27:05.979] MultisessionFuture started [17:27:05.979] - Launch lazy future ... done [17:27:05.979] 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:27:05.980] 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:27:05.980] 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:27:05.981] - globals found: [3] '+', 'value', 'a' [17:27:05.981] Searching for globals ... DONE [17:27:05.982] Resolving globals: TRUE [17:27:05.982] Resolving any globals that are futures ... [17:27:05.982] - globals: [3] '+', 'value', 'a' [17:27:05.982] Resolving any globals that are futures ... DONE [17:27:05.983] Resolving futures part of globals (recursively) ... [17:27:05.983] resolve() on list ... [17:27:05.983] recursive: 99 [17:27:05.983] length: 1 [17:27:05.983] elements: 'a' [17:27:05.994] receiveMessageFromWorker() for ClusterFuture ... [17:27:05.995] - Validating connection of MultisessionFuture [17:27:05.995] - received message: FutureResult [17:27:05.995] - Received FutureResult [17:27:05.995] - Erased future from FutureRegistry [17:27:05.995] result() for ClusterFuture ... [17:27:05.995] - result already collected: FutureResult [17:27:05.996] result() for ClusterFuture ... done [17:27:05.996] receiveMessageFromWorker() for ClusterFuture ... done [17:27:05.996] Future #1 [17:27:05.996] result() for ClusterFuture ... [17:27:05.996] - result already collected: FutureResult [17:27:05.996] result() for ClusterFuture ... done [17:27:05.997] result() for ClusterFuture ... [17:27:05.997] - result already collected: FutureResult [17:27:05.997] result() for ClusterFuture ... done [17:27:05.997] A MultisessionFuture was resolved [17:27:05.997] length: 0 (resolved future 1) [17:27:05.997] resolve() on list ... DONE [17:27:05.998] - globals: [1] 'a' [17:27:05.998] Resolving futures part of globals (recursively) ... DONE [17:27:06.000] The total size of the 1 globals is 1.59 MiB (1669104 bytes) [17:27:06.004] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.59 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.59 MiB of class 'environment') [17:27:06.005] - globals: [1] 'a' [17:27:06.005] - packages: [1] 'future' [17:27:06.005] getGlobalsAndPackages() ... DONE [17:27:06.005] run() for 'Future' ... [17:27:06.006] - state: 'created' [17:27:06.006] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.019] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.020] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.020] - Field: 'node' [17:27:06.020] - Field: 'label' [17:27:06.020] - Field: 'local' [17:27:06.020] - Field: 'owner' [17:27:06.020] - Field: 'envir' [17:27:06.021] - Field: 'workers' [17:27:06.021] - Field: 'packages' [17:27:06.021] - Field: 'gc' [17:27:06.021] - Field: 'conditions' [17:27:06.021] - Field: 'persistent' [17:27:06.022] - Field: 'expr' [17:27:06.022] - Field: 'uuid' [17:27:06.022] - Field: 'seed' [17:27:06.022] - Field: 'version' [17:27:06.022] - Field: 'result' [17:27:06.022] - Field: 'asynchronous' [17:27:06.023] - Field: 'calls' [17:27:06.023] - Field: 'globals' [17:27:06.023] - Field: 'stdout' [17:27:06.023] - Field: 'earlySignal' [17:27:06.023] - Field: 'lazy' [17:27:06.023] - Field: 'state' [17:27:06.024] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.024] - Launch lazy future ... [17:27:06.024] Packages needed by the future expression (n = 1): 'future' [17:27:06.024] Packages needed by future strategies (n = 0): [17:27:06.025] { [17:27:06.025] { [17:27:06.025] { [17:27:06.025] ...future.startTime <- base::Sys.time() [17:27:06.025] { [17:27:06.025] { [17:27:06.025] { [17:27:06.025] { [17:27:06.025] { [17:27:06.025] base::local({ [17:27:06.025] has_future <- base::requireNamespace("future", [17:27:06.025] quietly = TRUE) [17:27:06.025] if (has_future) { [17:27:06.025] ns <- base::getNamespace("future") [17:27:06.025] version <- ns[[".package"]][["version"]] [17:27:06.025] if (is.null(version)) [17:27:06.025] version <- utils::packageVersion("future") [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] version <- NULL [17:27:06.025] } [17:27:06.025] if (!has_future || version < "1.8.0") { [17:27:06.025] info <- base::c(r_version = base::gsub("R version ", [17:27:06.025] "", base::R.version$version.string), [17:27:06.025] platform = base::sprintf("%s (%s-bit)", [17:27:06.025] base::R.version$platform, 8 * [17:27:06.025] base::.Machine$sizeof.pointer), [17:27:06.025] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.025] "release", "version")], collapse = " "), [17:27:06.025] hostname = base::Sys.info()[["nodename"]]) [17:27:06.025] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.025] info) [17:27:06.025] info <- base::paste(info, collapse = "; ") [17:27:06.025] if (!has_future) { [17:27:06.025] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.025] info) [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.025] info, version) [17:27:06.025] } [17:27:06.025] base::stop(msg) [17:27:06.025] } [17:27:06.025] }) [17:27:06.025] } [17:27:06.025] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.025] base::options(mc.cores = 1L) [17:27:06.025] } [17:27:06.025] base::local({ [17:27:06.025] for (pkg in "future") { [17:27:06.025] base::loadNamespace(pkg) [17:27:06.025] base::library(pkg, character.only = TRUE) [17:27:06.025] } [17:27:06.025] }) [17:27:06.025] } [17:27:06.025] ...future.strategy.old <- future::plan("list") [17:27:06.025] options(future.plan = NULL) [17:27:06.025] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.025] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.025] } [17:27:06.025] ...future.workdir <- getwd() [17:27:06.025] } [17:27:06.025] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.025] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.025] } [17:27:06.025] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.025] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.025] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.025] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.025] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.025] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.025] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.025] base::names(...future.oldOptions)) [17:27:06.025] } [17:27:06.025] if (FALSE) { [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] if (TRUE) { [17:27:06.025] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.025] open = "w") [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.025] windows = "NUL", "/dev/null"), open = "w") [17:27:06.025] } [17:27:06.025] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.025] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.025] base::sink(type = "output", split = FALSE) [17:27:06.025] base::close(...future.stdout) [17:27:06.025] }, add = TRUE) [17:27:06.025] } [17:27:06.025] ...future.frame <- base::sys.nframe() [17:27:06.025] ...future.conditions <- base::list() [17:27:06.025] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.025] if (FALSE) { [17:27:06.025] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.025] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.025] } [17:27:06.025] ...future.result <- base::tryCatch({ [17:27:06.025] base::withCallingHandlers({ [17:27:06.025] ...future.value <- base::withVisible(base::local({ [17:27:06.025] ...future.makeSendCondition <- base::local({ [17:27:06.025] sendCondition <- NULL [17:27:06.025] function(frame = 1L) { [17:27:06.025] if (is.function(sendCondition)) [17:27:06.025] return(sendCondition) [17:27:06.025] ns <- getNamespace("parallel") [17:27:06.025] if (exists("sendData", mode = "function", [17:27:06.025] envir = ns)) { [17:27:06.025] parallel_sendData <- get("sendData", mode = "function", [17:27:06.025] envir = ns) [17:27:06.025] envir <- sys.frame(frame) [17:27:06.025] master <- NULL [17:27:06.025] while (!identical(envir, .GlobalEnv) && [17:27:06.025] !identical(envir, emptyenv())) { [17:27:06.025] if (exists("master", mode = "list", envir = envir, [17:27:06.025] inherits = FALSE)) { [17:27:06.025] master <- get("master", mode = "list", [17:27:06.025] envir = envir, inherits = FALSE) [17:27:06.025] if (inherits(master, c("SOCKnode", [17:27:06.025] "SOCK0node"))) { [17:27:06.025] sendCondition <<- function(cond) { [17:27:06.025] data <- list(type = "VALUE", value = cond, [17:27:06.025] success = TRUE) [17:27:06.025] parallel_sendData(master, data) [17:27:06.025] } [17:27:06.025] return(sendCondition) [17:27:06.025] } [17:27:06.025] } [17:27:06.025] frame <- frame + 1L [17:27:06.025] envir <- sys.frame(frame) [17:27:06.025] } [17:27:06.025] } [17:27:06.025] sendCondition <<- function(cond) NULL [17:27:06.025] } [17:27:06.025] }) [17:27:06.025] withCallingHandlers({ [17:27:06.025] value(a) + 1 [17:27:06.025] }, immediateCondition = function(cond) { [17:27:06.025] sendCondition <- ...future.makeSendCondition() [17:27:06.025] sendCondition(cond) [17:27:06.025] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.025] { [17:27:06.025] inherits <- base::inherits [17:27:06.025] invokeRestart <- base::invokeRestart [17:27:06.025] is.null <- base::is.null [17:27:06.025] muffled <- FALSE [17:27:06.025] if (inherits(cond, "message")) { [17:27:06.025] muffled <- grepl(pattern, "muffleMessage") [17:27:06.025] if (muffled) [17:27:06.025] invokeRestart("muffleMessage") [17:27:06.025] } [17:27:06.025] else if (inherits(cond, "warning")) { [17:27:06.025] muffled <- grepl(pattern, "muffleWarning") [17:27:06.025] if (muffled) [17:27:06.025] invokeRestart("muffleWarning") [17:27:06.025] } [17:27:06.025] else if (inherits(cond, "condition")) { [17:27:06.025] if (!is.null(pattern)) { [17:27:06.025] computeRestarts <- base::computeRestarts [17:27:06.025] grepl <- base::grepl [17:27:06.025] restarts <- computeRestarts(cond) [17:27:06.025] for (restart in restarts) { [17:27:06.025] name <- restart$name [17:27:06.025] if (is.null(name)) [17:27:06.025] next [17:27:06.025] if (!grepl(pattern, name)) [17:27:06.025] next [17:27:06.025] invokeRestart(restart) [17:27:06.025] muffled <- TRUE [17:27:06.025] break [17:27:06.025] } [17:27:06.025] } [17:27:06.025] } [17:27:06.025] invisible(muffled) [17:27:06.025] } [17:27:06.025] muffleCondition(cond) [17:27:06.025] }) [17:27:06.025] })) [17:27:06.025] future::FutureResult(value = ...future.value$value, [17:27:06.025] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.025] ...future.rng), globalenv = if (FALSE) [17:27:06.025] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.025] ...future.globalenv.names)) [17:27:06.025] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.025] }, condition = base::local({ [17:27:06.025] c <- base::c [17:27:06.025] inherits <- base::inherits [17:27:06.025] invokeRestart <- base::invokeRestart [17:27:06.025] length <- base::length [17:27:06.025] list <- base::list [17:27:06.025] seq.int <- base::seq.int [17:27:06.025] signalCondition <- base::signalCondition [17:27:06.025] sys.calls <- base::sys.calls [17:27:06.025] `[[` <- base::`[[` [17:27:06.025] `+` <- base::`+` [17:27:06.025] `<<-` <- base::`<<-` [17:27:06.025] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.025] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.025] 3L)] [17:27:06.025] } [17:27:06.025] function(cond) { [17:27:06.025] is_error <- inherits(cond, "error") [17:27:06.025] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.025] NULL) [17:27:06.025] if (is_error) { [17:27:06.025] sessionInformation <- function() { [17:27:06.025] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.025] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.025] search = base::search(), system = base::Sys.info()) [17:27:06.025] } [17:27:06.025] ...future.conditions[[length(...future.conditions) + [17:27:06.025] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.025] cond$call), session = sessionInformation(), [17:27:06.025] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.025] signalCondition(cond) [17:27:06.025] } [17:27:06.025] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.025] "immediateCondition"))) { [17:27:06.025] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.025] ...future.conditions[[length(...future.conditions) + [17:27:06.025] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.025] if (TRUE && !signal) { [17:27:06.025] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.025] { [17:27:06.025] inherits <- base::inherits [17:27:06.025] invokeRestart <- base::invokeRestart [17:27:06.025] is.null <- base::is.null [17:27:06.025] muffled <- FALSE [17:27:06.025] if (inherits(cond, "message")) { [17:27:06.025] muffled <- grepl(pattern, "muffleMessage") [17:27:06.025] if (muffled) [17:27:06.025] invokeRestart("muffleMessage") [17:27:06.025] } [17:27:06.025] else if (inherits(cond, "warning")) { [17:27:06.025] muffled <- grepl(pattern, "muffleWarning") [17:27:06.025] if (muffled) [17:27:06.025] invokeRestart("muffleWarning") [17:27:06.025] } [17:27:06.025] else if (inherits(cond, "condition")) { [17:27:06.025] if (!is.null(pattern)) { [17:27:06.025] computeRestarts <- base::computeRestarts [17:27:06.025] grepl <- base::grepl [17:27:06.025] restarts <- computeRestarts(cond) [17:27:06.025] for (restart in restarts) { [17:27:06.025] name <- restart$name [17:27:06.025] if (is.null(name)) [17:27:06.025] next [17:27:06.025] if (!grepl(pattern, name)) [17:27:06.025] next [17:27:06.025] invokeRestart(restart) [17:27:06.025] muffled <- TRUE [17:27:06.025] break [17:27:06.025] } [17:27:06.025] } [17:27:06.025] } [17:27:06.025] invisible(muffled) [17:27:06.025] } [17:27:06.025] muffleCondition(cond, pattern = "^muffle") [17:27:06.025] } [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] if (TRUE) { [17:27:06.025] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.025] { [17:27:06.025] inherits <- base::inherits [17:27:06.025] invokeRestart <- base::invokeRestart [17:27:06.025] is.null <- base::is.null [17:27:06.025] muffled <- FALSE [17:27:06.025] if (inherits(cond, "message")) { [17:27:06.025] muffled <- grepl(pattern, "muffleMessage") [17:27:06.025] if (muffled) [17:27:06.025] invokeRestart("muffleMessage") [17:27:06.025] } [17:27:06.025] else if (inherits(cond, "warning")) { [17:27:06.025] muffled <- grepl(pattern, "muffleWarning") [17:27:06.025] if (muffled) [17:27:06.025] invokeRestart("muffleWarning") [17:27:06.025] } [17:27:06.025] else if (inherits(cond, "condition")) { [17:27:06.025] if (!is.null(pattern)) { [17:27:06.025] computeRestarts <- base::computeRestarts [17:27:06.025] grepl <- base::grepl [17:27:06.025] restarts <- computeRestarts(cond) [17:27:06.025] for (restart in restarts) { [17:27:06.025] name <- restart$name [17:27:06.025] if (is.null(name)) [17:27:06.025] next [17:27:06.025] if (!grepl(pattern, name)) [17:27:06.025] next [17:27:06.025] invokeRestart(restart) [17:27:06.025] muffled <- TRUE [17:27:06.025] break [17:27:06.025] } [17:27:06.025] } [17:27:06.025] } [17:27:06.025] invisible(muffled) [17:27:06.025] } [17:27:06.025] muffleCondition(cond, pattern = "^muffle") [17:27:06.025] } [17:27:06.025] } [17:27:06.025] } [17:27:06.025] })) [17:27:06.025] }, error = function(ex) { [17:27:06.025] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.025] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.025] ...future.rng), started = ...future.startTime, [17:27:06.025] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.025] version = "1.8"), class = "FutureResult") [17:27:06.025] }, finally = { [17:27:06.025] if (!identical(...future.workdir, getwd())) [17:27:06.025] setwd(...future.workdir) [17:27:06.025] { [17:27:06.025] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.025] ...future.oldOptions$nwarnings <- NULL [17:27:06.025] } [17:27:06.025] base::options(...future.oldOptions) [17:27:06.025] if (.Platform$OS.type == "windows") { [17:27:06.025] old_names <- names(...future.oldEnvVars) [17:27:06.025] envs <- base::Sys.getenv() [17:27:06.025] names <- names(envs) [17:27:06.025] common <- intersect(names, old_names) [17:27:06.025] added <- setdiff(names, old_names) [17:27:06.025] removed <- setdiff(old_names, names) [17:27:06.025] changed <- common[...future.oldEnvVars[common] != [17:27:06.025] envs[common]] [17:27:06.025] NAMES <- toupper(changed) [17:27:06.025] args <- list() [17:27:06.025] for (kk in seq_along(NAMES)) { [17:27:06.025] name <- changed[[kk]] [17:27:06.025] NAME <- NAMES[[kk]] [17:27:06.025] if (name != NAME && is.element(NAME, old_names)) [17:27:06.025] next [17:27:06.025] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.025] } [17:27:06.025] NAMES <- toupper(added) [17:27:06.025] for (kk in seq_along(NAMES)) { [17:27:06.025] name <- added[[kk]] [17:27:06.025] NAME <- NAMES[[kk]] [17:27:06.025] if (name != NAME && is.element(NAME, old_names)) [17:27:06.025] next [17:27:06.025] args[[name]] <- "" [17:27:06.025] } [17:27:06.025] NAMES <- toupper(removed) [17:27:06.025] for (kk in seq_along(NAMES)) { [17:27:06.025] name <- removed[[kk]] [17:27:06.025] NAME <- NAMES[[kk]] [17:27:06.025] if (name != NAME && is.element(NAME, old_names)) [17:27:06.025] next [17:27:06.025] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.025] } [17:27:06.025] if (length(args) > 0) [17:27:06.025] base::do.call(base::Sys.setenv, args = args) [17:27:06.025] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.025] } [17:27:06.025] { [17:27:06.025] if (base::length(...future.futureOptionsAdded) > [17:27:06.025] 0L) { [17:27:06.025] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.025] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.025] base::options(opts) [17:27:06.025] } [17:27:06.025] { [17:27:06.025] { [17:27:06.025] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.025] NULL [17:27:06.025] } [17:27:06.025] options(future.plan = NULL) [17:27:06.025] if (is.na(NA_character_)) [17:27:06.025] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.025] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.025] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.025] .init = FALSE) [17:27:06.025] } [17:27:06.025] } [17:27:06.025] } [17:27:06.025] }) [17:27:06.025] if (TRUE) { [17:27:06.025] base::sink(type = "output", split = FALSE) [17:27:06.025] if (TRUE) { [17:27:06.025] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.025] } [17:27:06.025] else { [17:27:06.025] ...future.result["stdout"] <- base::list(NULL) [17:27:06.025] } [17:27:06.025] base::close(...future.stdout) [17:27:06.025] ...future.stdout <- NULL [17:27:06.025] } [17:27:06.025] ...future.result$conditions <- ...future.conditions [17:27:06.025] ...future.result$finished <- base::Sys.time() [17:27:06.025] ...future.result [17:27:06.025] } [17:27:06.030] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... [17:27:06.033] Exporting 'a' (1.59 MiB) to cluster node #1 ... [17:27:06.044] Exporting 'a' (1.59 MiB) to cluster node #1 ... DONE [17:27:06.044] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... DONE [17:27:06.044] MultisessionFuture started [17:27:06.045] - Launch lazy future ... done [17:27:06.045] run() for 'MultisessionFuture' ... done [17:27:06.045] result() for ClusterFuture ... [17:27:06.045] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.045] - Validating connection of MultisessionFuture [17:27:06.061] - received message: FutureResult [17:27:06.061] - Received FutureResult [17:27:06.061] - Erased future from FutureRegistry [17:27:06.061] result() for ClusterFuture ... [17:27:06.061] - result already collected: FutureResult [17:27:06.061] result() for ClusterFuture ... done [17:27:06.062] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.062] result() for ClusterFuture ... done [17:27:06.062] result() for ClusterFuture ... [17:27:06.062] - result already collected: FutureResult [17:27:06.062] result() for ClusterFuture ... done value(b) = 2 [17:27:06.063] result() for ClusterFuture ... [17:27:06.063] - result already collected: FutureResult [17:27:06.063] result() for ClusterFuture ... done [17:27:06.063] result() for ClusterFuture ... [17:27:06.063] - result already collected: FutureResult [17:27:06.063] 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:27:06.064] 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:27:06.064] 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:27:06.065] [17:27:06.065] Searching for globals ... DONE [17:27:06.065] - globals: [0] [17:27:06.065] 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:27:06.066] 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:27:06.066] 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:27:06.067] - globals found: [3] '+', 'value', 'a' [17:27:06.067] Searching for globals ... DONE [17:27:06.067] Resolving globals: TRUE [17:27:06.068] Resolving any globals that are futures ... [17:27:06.068] - globals: [3] '+', 'value', 'a' [17:27:06.068] Resolving any globals that are futures ... DONE [17:27:06.068] Resolving futures part of globals (recursively) ... [17:27:06.069] resolve() on list ... [17:27:06.069] recursive: 99 [17:27:06.069] length: 1 [17:27:06.069] elements: 'a' [17:27:06.069] run() for 'Future' ... [17:27:06.070] - state: 'created' [17:27:06.070] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.084] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.084] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.084] - Field: 'node' [17:27:06.085] - Field: 'label' [17:27:06.085] - Field: 'local' [17:27:06.085] - Field: 'owner' [17:27:06.085] - Field: 'envir' [17:27:06.085] - Field: 'workers' [17:27:06.085] - Field: 'packages' [17:27:06.086] - Field: 'gc' [17:27:06.086] - Field: 'conditions' [17:27:06.086] - Field: 'persistent' [17:27:06.086] - Field: 'expr' [17:27:06.086] - Field: 'uuid' [17:27:06.087] - Field: 'seed' [17:27:06.087] - Field: 'version' [17:27:06.087] - Field: 'result' [17:27:06.087] - Field: 'asynchronous' [17:27:06.087] - Field: 'calls' [17:27:06.087] - Field: 'globals' [17:27:06.088] - Field: 'stdout' [17:27:06.088] - Field: 'earlySignal' [17:27:06.088] - Field: 'lazy' [17:27:06.088] - Field: 'state' [17:27:06.088] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.089] - Launch lazy future ... [17:27:06.089] Packages needed by the future expression (n = 0): [17:27:06.089] Packages needed by future strategies (n = 0): [17:27:06.090] { [17:27:06.090] { [17:27:06.090] { [17:27:06.090] ...future.startTime <- base::Sys.time() [17:27:06.090] { [17:27:06.090] { [17:27:06.090] { [17:27:06.090] { [17:27:06.090] base::local({ [17:27:06.090] has_future <- base::requireNamespace("future", [17:27:06.090] quietly = TRUE) [17:27:06.090] if (has_future) { [17:27:06.090] ns <- base::getNamespace("future") [17:27:06.090] version <- ns[[".package"]][["version"]] [17:27:06.090] if (is.null(version)) [17:27:06.090] version <- utils::packageVersion("future") [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] version <- NULL [17:27:06.090] } [17:27:06.090] if (!has_future || version < "1.8.0") { [17:27:06.090] info <- base::c(r_version = base::gsub("R version ", [17:27:06.090] "", base::R.version$version.string), [17:27:06.090] platform = base::sprintf("%s (%s-bit)", [17:27:06.090] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:06.090] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.090] "release", "version")], collapse = " "), [17:27:06.090] hostname = base::Sys.info()[["nodename"]]) [17:27:06.090] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.090] info) [17:27:06.090] info <- base::paste(info, collapse = "; ") [17:27:06.090] if (!has_future) { [17:27:06.090] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.090] info) [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.090] info, version) [17:27:06.090] } [17:27:06.090] base::stop(msg) [17:27:06.090] } [17:27:06.090] }) [17:27:06.090] } [17:27:06.090] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.090] base::options(mc.cores = 1L) [17:27:06.090] } [17:27:06.090] ...future.strategy.old <- future::plan("list") [17:27:06.090] options(future.plan = NULL) [17:27:06.090] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.090] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.090] } [17:27:06.090] ...future.workdir <- getwd() [17:27:06.090] } [17:27:06.090] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.090] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.090] } [17:27:06.090] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.090] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.090] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.090] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.090] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.090] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.090] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.090] base::names(...future.oldOptions)) [17:27:06.090] } [17:27:06.090] if (FALSE) { [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] if (TRUE) { [17:27:06.090] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.090] open = "w") [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.090] windows = "NUL", "/dev/null"), open = "w") [17:27:06.090] } [17:27:06.090] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.090] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.090] base::sink(type = "output", split = FALSE) [17:27:06.090] base::close(...future.stdout) [17:27:06.090] }, add = TRUE) [17:27:06.090] } [17:27:06.090] ...future.frame <- base::sys.nframe() [17:27:06.090] ...future.conditions <- base::list() [17:27:06.090] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.090] if (FALSE) { [17:27:06.090] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.090] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.090] } [17:27:06.090] ...future.result <- base::tryCatch({ [17:27:06.090] base::withCallingHandlers({ [17:27:06.090] ...future.value <- base::withVisible(base::local({ [17:27:06.090] ...future.makeSendCondition <- base::local({ [17:27:06.090] sendCondition <- NULL [17:27:06.090] function(frame = 1L) { [17:27:06.090] if (is.function(sendCondition)) [17:27:06.090] return(sendCondition) [17:27:06.090] ns <- getNamespace("parallel") [17:27:06.090] if (exists("sendData", mode = "function", [17:27:06.090] envir = ns)) { [17:27:06.090] parallel_sendData <- get("sendData", mode = "function", [17:27:06.090] envir = ns) [17:27:06.090] envir <- sys.frame(frame) [17:27:06.090] master <- NULL [17:27:06.090] while (!identical(envir, .GlobalEnv) && [17:27:06.090] !identical(envir, emptyenv())) { [17:27:06.090] if (exists("master", mode = "list", envir = envir, [17:27:06.090] inherits = FALSE)) { [17:27:06.090] master <- get("master", mode = "list", [17:27:06.090] envir = envir, inherits = FALSE) [17:27:06.090] if (inherits(master, c("SOCKnode", [17:27:06.090] "SOCK0node"))) { [17:27:06.090] sendCondition <<- function(cond) { [17:27:06.090] data <- list(type = "VALUE", value = cond, [17:27:06.090] success = TRUE) [17:27:06.090] parallel_sendData(master, data) [17:27:06.090] } [17:27:06.090] return(sendCondition) [17:27:06.090] } [17:27:06.090] } [17:27:06.090] frame <- frame + 1L [17:27:06.090] envir <- sys.frame(frame) [17:27:06.090] } [17:27:06.090] } [17:27:06.090] sendCondition <<- function(cond) NULL [17:27:06.090] } [17:27:06.090] }) [17:27:06.090] withCallingHandlers({ [17:27:06.090] 1 [17:27:06.090] }, immediateCondition = function(cond) { [17:27:06.090] sendCondition <- ...future.makeSendCondition() [17:27:06.090] sendCondition(cond) [17:27:06.090] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.090] { [17:27:06.090] inherits <- base::inherits [17:27:06.090] invokeRestart <- base::invokeRestart [17:27:06.090] is.null <- base::is.null [17:27:06.090] muffled <- FALSE [17:27:06.090] if (inherits(cond, "message")) { [17:27:06.090] muffled <- grepl(pattern, "muffleMessage") [17:27:06.090] if (muffled) [17:27:06.090] invokeRestart("muffleMessage") [17:27:06.090] } [17:27:06.090] else if (inherits(cond, "warning")) { [17:27:06.090] muffled <- grepl(pattern, "muffleWarning") [17:27:06.090] if (muffled) [17:27:06.090] invokeRestart("muffleWarning") [17:27:06.090] } [17:27:06.090] else if (inherits(cond, "condition")) { [17:27:06.090] if (!is.null(pattern)) { [17:27:06.090] computeRestarts <- base::computeRestarts [17:27:06.090] grepl <- base::grepl [17:27:06.090] restarts <- computeRestarts(cond) [17:27:06.090] for (restart in restarts) { [17:27:06.090] name <- restart$name [17:27:06.090] if (is.null(name)) [17:27:06.090] next [17:27:06.090] if (!grepl(pattern, name)) [17:27:06.090] next [17:27:06.090] invokeRestart(restart) [17:27:06.090] muffled <- TRUE [17:27:06.090] break [17:27:06.090] } [17:27:06.090] } [17:27:06.090] } [17:27:06.090] invisible(muffled) [17:27:06.090] } [17:27:06.090] muffleCondition(cond) [17:27:06.090] }) [17:27:06.090] })) [17:27:06.090] future::FutureResult(value = ...future.value$value, [17:27:06.090] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.090] ...future.rng), globalenv = if (FALSE) [17:27:06.090] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.090] ...future.globalenv.names)) [17:27:06.090] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.090] }, condition = base::local({ [17:27:06.090] c <- base::c [17:27:06.090] inherits <- base::inherits [17:27:06.090] invokeRestart <- base::invokeRestart [17:27:06.090] length <- base::length [17:27:06.090] list <- base::list [17:27:06.090] seq.int <- base::seq.int [17:27:06.090] signalCondition <- base::signalCondition [17:27:06.090] sys.calls <- base::sys.calls [17:27:06.090] `[[` <- base::`[[` [17:27:06.090] `+` <- base::`+` [17:27:06.090] `<<-` <- base::`<<-` [17:27:06.090] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.090] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.090] 3L)] [17:27:06.090] } [17:27:06.090] function(cond) { [17:27:06.090] is_error <- inherits(cond, "error") [17:27:06.090] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.090] NULL) [17:27:06.090] if (is_error) { [17:27:06.090] sessionInformation <- function() { [17:27:06.090] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.090] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.090] search = base::search(), system = base::Sys.info()) [17:27:06.090] } [17:27:06.090] ...future.conditions[[length(...future.conditions) + [17:27:06.090] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.090] cond$call), session = sessionInformation(), [17:27:06.090] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.090] signalCondition(cond) [17:27:06.090] } [17:27:06.090] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.090] "immediateCondition"))) { [17:27:06.090] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.090] ...future.conditions[[length(...future.conditions) + [17:27:06.090] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.090] if (TRUE && !signal) { [17:27:06.090] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.090] { [17:27:06.090] inherits <- base::inherits [17:27:06.090] invokeRestart <- base::invokeRestart [17:27:06.090] is.null <- base::is.null [17:27:06.090] muffled <- FALSE [17:27:06.090] if (inherits(cond, "message")) { [17:27:06.090] muffled <- grepl(pattern, "muffleMessage") [17:27:06.090] if (muffled) [17:27:06.090] invokeRestart("muffleMessage") [17:27:06.090] } [17:27:06.090] else if (inherits(cond, "warning")) { [17:27:06.090] muffled <- grepl(pattern, "muffleWarning") [17:27:06.090] if (muffled) [17:27:06.090] invokeRestart("muffleWarning") [17:27:06.090] } [17:27:06.090] else if (inherits(cond, "condition")) { [17:27:06.090] if (!is.null(pattern)) { [17:27:06.090] computeRestarts <- base::computeRestarts [17:27:06.090] grepl <- base::grepl [17:27:06.090] restarts <- computeRestarts(cond) [17:27:06.090] for (restart in restarts) { [17:27:06.090] name <- restart$name [17:27:06.090] if (is.null(name)) [17:27:06.090] next [17:27:06.090] if (!grepl(pattern, name)) [17:27:06.090] next [17:27:06.090] invokeRestart(restart) [17:27:06.090] muffled <- TRUE [17:27:06.090] break [17:27:06.090] } [17:27:06.090] } [17:27:06.090] } [17:27:06.090] invisible(muffled) [17:27:06.090] } [17:27:06.090] muffleCondition(cond, pattern = "^muffle") [17:27:06.090] } [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] if (TRUE) { [17:27:06.090] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.090] { [17:27:06.090] inherits <- base::inherits [17:27:06.090] invokeRestart <- base::invokeRestart [17:27:06.090] is.null <- base::is.null [17:27:06.090] muffled <- FALSE [17:27:06.090] if (inherits(cond, "message")) { [17:27:06.090] muffled <- grepl(pattern, "muffleMessage") [17:27:06.090] if (muffled) [17:27:06.090] invokeRestart("muffleMessage") [17:27:06.090] } [17:27:06.090] else if (inherits(cond, "warning")) { [17:27:06.090] muffled <- grepl(pattern, "muffleWarning") [17:27:06.090] if (muffled) [17:27:06.090] invokeRestart("muffleWarning") [17:27:06.090] } [17:27:06.090] else if (inherits(cond, "condition")) { [17:27:06.090] if (!is.null(pattern)) { [17:27:06.090] computeRestarts <- base::computeRestarts [17:27:06.090] grepl <- base::grepl [17:27:06.090] restarts <- computeRestarts(cond) [17:27:06.090] for (restart in restarts) { [17:27:06.090] name <- restart$name [17:27:06.090] if (is.null(name)) [17:27:06.090] next [17:27:06.090] if (!grepl(pattern, name)) [17:27:06.090] next [17:27:06.090] invokeRestart(restart) [17:27:06.090] muffled <- TRUE [17:27:06.090] break [17:27:06.090] } [17:27:06.090] } [17:27:06.090] } [17:27:06.090] invisible(muffled) [17:27:06.090] } [17:27:06.090] muffleCondition(cond, pattern = "^muffle") [17:27:06.090] } [17:27:06.090] } [17:27:06.090] } [17:27:06.090] })) [17:27:06.090] }, error = function(ex) { [17:27:06.090] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.090] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.090] ...future.rng), started = ...future.startTime, [17:27:06.090] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.090] version = "1.8"), class = "FutureResult") [17:27:06.090] }, finally = { [17:27:06.090] if (!identical(...future.workdir, getwd())) [17:27:06.090] setwd(...future.workdir) [17:27:06.090] { [17:27:06.090] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.090] ...future.oldOptions$nwarnings <- NULL [17:27:06.090] } [17:27:06.090] base::options(...future.oldOptions) [17:27:06.090] if (.Platform$OS.type == "windows") { [17:27:06.090] old_names <- names(...future.oldEnvVars) [17:27:06.090] envs <- base::Sys.getenv() [17:27:06.090] names <- names(envs) [17:27:06.090] common <- intersect(names, old_names) [17:27:06.090] added <- setdiff(names, old_names) [17:27:06.090] removed <- setdiff(old_names, names) [17:27:06.090] changed <- common[...future.oldEnvVars[common] != [17:27:06.090] envs[common]] [17:27:06.090] NAMES <- toupper(changed) [17:27:06.090] args <- list() [17:27:06.090] for (kk in seq_along(NAMES)) { [17:27:06.090] name <- changed[[kk]] [17:27:06.090] NAME <- NAMES[[kk]] [17:27:06.090] if (name != NAME && is.element(NAME, old_names)) [17:27:06.090] next [17:27:06.090] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.090] } [17:27:06.090] NAMES <- toupper(added) [17:27:06.090] for (kk in seq_along(NAMES)) { [17:27:06.090] name <- added[[kk]] [17:27:06.090] NAME <- NAMES[[kk]] [17:27:06.090] if (name != NAME && is.element(NAME, old_names)) [17:27:06.090] next [17:27:06.090] args[[name]] <- "" [17:27:06.090] } [17:27:06.090] NAMES <- toupper(removed) [17:27:06.090] for (kk in seq_along(NAMES)) { [17:27:06.090] name <- removed[[kk]] [17:27:06.090] NAME <- NAMES[[kk]] [17:27:06.090] if (name != NAME && is.element(NAME, old_names)) [17:27:06.090] next [17:27:06.090] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.090] } [17:27:06.090] if (length(args) > 0) [17:27:06.090] base::do.call(base::Sys.setenv, args = args) [17:27:06.090] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.090] } [17:27:06.090] { [17:27:06.090] if (base::length(...future.futureOptionsAdded) > [17:27:06.090] 0L) { [17:27:06.090] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.090] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.090] base::options(opts) [17:27:06.090] } [17:27:06.090] { [17:27:06.090] { [17:27:06.090] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.090] NULL [17:27:06.090] } [17:27:06.090] options(future.plan = NULL) [17:27:06.090] if (is.na(NA_character_)) [17:27:06.090] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.090] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.090] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.090] .init = FALSE) [17:27:06.090] } [17:27:06.090] } [17:27:06.090] } [17:27:06.090] }) [17:27:06.090] if (TRUE) { [17:27:06.090] base::sink(type = "output", split = FALSE) [17:27:06.090] if (TRUE) { [17:27:06.090] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.090] } [17:27:06.090] else { [17:27:06.090] ...future.result["stdout"] <- base::list(NULL) [17:27:06.090] } [17:27:06.090] base::close(...future.stdout) [17:27:06.090] ...future.stdout <- NULL [17:27:06.090] } [17:27:06.090] ...future.result$conditions <- ...future.conditions [17:27:06.090] ...future.result$finished <- base::Sys.time() [17:27:06.090] ...future.result [17:27:06.090] } [17:27:06.095] MultisessionFuture started [17:27:06.095] - Launch lazy future ... done [17:27:06.095] run() for 'MultisessionFuture' ... done [17:27:06.110] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.110] - Validating connection of MultisessionFuture [17:27:06.111] - received message: FutureResult [17:27:06.111] - Received FutureResult [17:27:06.111] - Erased future from FutureRegistry [17:27:06.111] result() for ClusterFuture ... [17:27:06.111] - result already collected: FutureResult [17:27:06.111] result() for ClusterFuture ... done [17:27:06.112] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.112] Future #1 [17:27:06.112] result() for ClusterFuture ... [17:27:06.112] - result already collected: FutureResult [17:27:06.112] result() for ClusterFuture ... done [17:27:06.112] result() for ClusterFuture ... [17:27:06.113] - result already collected: FutureResult [17:27:06.113] result() for ClusterFuture ... done [17:27:06.113] A MultisessionFuture was resolved [17:27:06.113] length: 0 (resolved future 1) [17:27:06.113] resolve() on list ... DONE [17:27:06.113] - globals: [1] 'a' [17:27:06.114] Resolving futures part of globals (recursively) ... DONE [17:27:06.116] The total size of the 1 globals is 1.59 MiB (1669272 bytes) [17:27:06.117] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.59 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.59 MiB of class 'environment') [17:27:06.117] - globals: [1] 'a' [17:27:06.117] - packages: [1] 'future' [17:27:06.117] getGlobalsAndPackages() ... DONE [17:27:06.118] run() for 'Future' ... [17:27:06.118] - state: 'created' [17:27:06.118] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.131] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.132] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.132] - Field: 'node' [17:27:06.132] - Field: 'label' [17:27:06.132] - Field: 'local' [17:27:06.132] - Field: 'owner' [17:27:06.133] - Field: 'envir' [17:27:06.133] - Field: 'workers' [17:27:06.133] - Field: 'packages' [17:27:06.133] - Field: 'gc' [17:27:06.133] - Field: 'conditions' [17:27:06.134] - Field: 'persistent' [17:27:06.134] - Field: 'expr' [17:27:06.134] - Field: 'uuid' [17:27:06.134] - Field: 'seed' [17:27:06.134] - Field: 'version' [17:27:06.134] - Field: 'result' [17:27:06.135] - Field: 'asynchronous' [17:27:06.135] - Field: 'calls' [17:27:06.135] - Field: 'globals' [17:27:06.135] - Field: 'stdout' [17:27:06.135] - Field: 'earlySignal' [17:27:06.135] - Field: 'lazy' [17:27:06.136] - Field: 'state' [17:27:06.136] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.136] - Launch lazy future ... [17:27:06.136] Packages needed by the future expression (n = 1): 'future' [17:27:06.137] Packages needed by future strategies (n = 0): [17:27:06.137] { [17:27:06.137] { [17:27:06.137] { [17:27:06.137] ...future.startTime <- base::Sys.time() [17:27:06.137] { [17:27:06.137] { [17:27:06.137] { [17:27:06.137] { [17:27:06.137] { [17:27:06.137] base::local({ [17:27:06.137] has_future <- base::requireNamespace("future", [17:27:06.137] quietly = TRUE) [17:27:06.137] if (has_future) { [17:27:06.137] ns <- base::getNamespace("future") [17:27:06.137] version <- ns[[".package"]][["version"]] [17:27:06.137] if (is.null(version)) [17:27:06.137] version <- utils::packageVersion("future") [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] version <- NULL [17:27:06.137] } [17:27:06.137] if (!has_future || version < "1.8.0") { [17:27:06.137] info <- base::c(r_version = base::gsub("R version ", [17:27:06.137] "", base::R.version$version.string), [17:27:06.137] platform = base::sprintf("%s (%s-bit)", [17:27:06.137] base::R.version$platform, 8 * [17:27:06.137] base::.Machine$sizeof.pointer), [17:27:06.137] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.137] "release", "version")], collapse = " "), [17:27:06.137] hostname = base::Sys.info()[["nodename"]]) [17:27:06.137] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.137] info) [17:27:06.137] info <- base::paste(info, collapse = "; ") [17:27:06.137] if (!has_future) { [17:27:06.137] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.137] info) [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.137] info, version) [17:27:06.137] } [17:27:06.137] base::stop(msg) [17:27:06.137] } [17:27:06.137] }) [17:27:06.137] } [17:27:06.137] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.137] base::options(mc.cores = 1L) [17:27:06.137] } [17:27:06.137] base::local({ [17:27:06.137] for (pkg in "future") { [17:27:06.137] base::loadNamespace(pkg) [17:27:06.137] base::library(pkg, character.only = TRUE) [17:27:06.137] } [17:27:06.137] }) [17:27:06.137] } [17:27:06.137] ...future.strategy.old <- future::plan("list") [17:27:06.137] options(future.plan = NULL) [17:27:06.137] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.137] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.137] } [17:27:06.137] ...future.workdir <- getwd() [17:27:06.137] } [17:27:06.137] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.137] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.137] } [17:27:06.137] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.137] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.137] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.137] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.137] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.137] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.137] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.137] base::names(...future.oldOptions)) [17:27:06.137] } [17:27:06.137] if (FALSE) { [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] if (TRUE) { [17:27:06.137] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.137] open = "w") [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.137] windows = "NUL", "/dev/null"), open = "w") [17:27:06.137] } [17:27:06.137] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.137] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.137] base::sink(type = "output", split = FALSE) [17:27:06.137] base::close(...future.stdout) [17:27:06.137] }, add = TRUE) [17:27:06.137] } [17:27:06.137] ...future.frame <- base::sys.nframe() [17:27:06.137] ...future.conditions <- base::list() [17:27:06.137] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.137] if (FALSE) { [17:27:06.137] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.137] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.137] } [17:27:06.137] ...future.result <- base::tryCatch({ [17:27:06.137] base::withCallingHandlers({ [17:27:06.137] ...future.value <- base::withVisible(base::local({ [17:27:06.137] ...future.makeSendCondition <- base::local({ [17:27:06.137] sendCondition <- NULL [17:27:06.137] function(frame = 1L) { [17:27:06.137] if (is.function(sendCondition)) [17:27:06.137] return(sendCondition) [17:27:06.137] ns <- getNamespace("parallel") [17:27:06.137] if (exists("sendData", mode = "function", [17:27:06.137] envir = ns)) { [17:27:06.137] parallel_sendData <- get("sendData", mode = "function", [17:27:06.137] envir = ns) [17:27:06.137] envir <- sys.frame(frame) [17:27:06.137] master <- NULL [17:27:06.137] while (!identical(envir, .GlobalEnv) && [17:27:06.137] !identical(envir, emptyenv())) { [17:27:06.137] if (exists("master", mode = "list", envir = envir, [17:27:06.137] inherits = FALSE)) { [17:27:06.137] master <- get("master", mode = "list", [17:27:06.137] envir = envir, inherits = FALSE) [17:27:06.137] if (inherits(master, c("SOCKnode", [17:27:06.137] "SOCK0node"))) { [17:27:06.137] sendCondition <<- function(cond) { [17:27:06.137] data <- list(type = "VALUE", value = cond, [17:27:06.137] success = TRUE) [17:27:06.137] parallel_sendData(master, data) [17:27:06.137] } [17:27:06.137] return(sendCondition) [17:27:06.137] } [17:27:06.137] } [17:27:06.137] frame <- frame + 1L [17:27:06.137] envir <- sys.frame(frame) [17:27:06.137] } [17:27:06.137] } [17:27:06.137] sendCondition <<- function(cond) NULL [17:27:06.137] } [17:27:06.137] }) [17:27:06.137] withCallingHandlers({ [17:27:06.137] value(a) + 1 [17:27:06.137] }, immediateCondition = function(cond) { [17:27:06.137] sendCondition <- ...future.makeSendCondition() [17:27:06.137] sendCondition(cond) [17:27:06.137] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.137] { [17:27:06.137] inherits <- base::inherits [17:27:06.137] invokeRestart <- base::invokeRestart [17:27:06.137] is.null <- base::is.null [17:27:06.137] muffled <- FALSE [17:27:06.137] if (inherits(cond, "message")) { [17:27:06.137] muffled <- grepl(pattern, "muffleMessage") [17:27:06.137] if (muffled) [17:27:06.137] invokeRestart("muffleMessage") [17:27:06.137] } [17:27:06.137] else if (inherits(cond, "warning")) { [17:27:06.137] muffled <- grepl(pattern, "muffleWarning") [17:27:06.137] if (muffled) [17:27:06.137] invokeRestart("muffleWarning") [17:27:06.137] } [17:27:06.137] else if (inherits(cond, "condition")) { [17:27:06.137] if (!is.null(pattern)) { [17:27:06.137] computeRestarts <- base::computeRestarts [17:27:06.137] grepl <- base::grepl [17:27:06.137] restarts <- computeRestarts(cond) [17:27:06.137] for (restart in restarts) { [17:27:06.137] name <- restart$name [17:27:06.137] if (is.null(name)) [17:27:06.137] next [17:27:06.137] if (!grepl(pattern, name)) [17:27:06.137] next [17:27:06.137] invokeRestart(restart) [17:27:06.137] muffled <- TRUE [17:27:06.137] break [17:27:06.137] } [17:27:06.137] } [17:27:06.137] } [17:27:06.137] invisible(muffled) [17:27:06.137] } [17:27:06.137] muffleCondition(cond) [17:27:06.137] }) [17:27:06.137] })) [17:27:06.137] future::FutureResult(value = ...future.value$value, [17:27:06.137] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.137] ...future.rng), globalenv = if (FALSE) [17:27:06.137] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.137] ...future.globalenv.names)) [17:27:06.137] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.137] }, condition = base::local({ [17:27:06.137] c <- base::c [17:27:06.137] inherits <- base::inherits [17:27:06.137] invokeRestart <- base::invokeRestart [17:27:06.137] length <- base::length [17:27:06.137] list <- base::list [17:27:06.137] seq.int <- base::seq.int [17:27:06.137] signalCondition <- base::signalCondition [17:27:06.137] sys.calls <- base::sys.calls [17:27:06.137] `[[` <- base::`[[` [17:27:06.137] `+` <- base::`+` [17:27:06.137] `<<-` <- base::`<<-` [17:27:06.137] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.137] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.137] 3L)] [17:27:06.137] } [17:27:06.137] function(cond) { [17:27:06.137] is_error <- inherits(cond, "error") [17:27:06.137] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.137] NULL) [17:27:06.137] if (is_error) { [17:27:06.137] sessionInformation <- function() { [17:27:06.137] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.137] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.137] search = base::search(), system = base::Sys.info()) [17:27:06.137] } [17:27:06.137] ...future.conditions[[length(...future.conditions) + [17:27:06.137] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.137] cond$call), session = sessionInformation(), [17:27:06.137] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.137] signalCondition(cond) [17:27:06.137] } [17:27:06.137] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.137] "immediateCondition"))) { [17:27:06.137] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.137] ...future.conditions[[length(...future.conditions) + [17:27:06.137] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.137] if (TRUE && !signal) { [17:27:06.137] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.137] { [17:27:06.137] inherits <- base::inherits [17:27:06.137] invokeRestart <- base::invokeRestart [17:27:06.137] is.null <- base::is.null [17:27:06.137] muffled <- FALSE [17:27:06.137] if (inherits(cond, "message")) { [17:27:06.137] muffled <- grepl(pattern, "muffleMessage") [17:27:06.137] if (muffled) [17:27:06.137] invokeRestart("muffleMessage") [17:27:06.137] } [17:27:06.137] else if (inherits(cond, "warning")) { [17:27:06.137] muffled <- grepl(pattern, "muffleWarning") [17:27:06.137] if (muffled) [17:27:06.137] invokeRestart("muffleWarning") [17:27:06.137] } [17:27:06.137] else if (inherits(cond, "condition")) { [17:27:06.137] if (!is.null(pattern)) { [17:27:06.137] computeRestarts <- base::computeRestarts [17:27:06.137] grepl <- base::grepl [17:27:06.137] restarts <- computeRestarts(cond) [17:27:06.137] for (restart in restarts) { [17:27:06.137] name <- restart$name [17:27:06.137] if (is.null(name)) [17:27:06.137] next [17:27:06.137] if (!grepl(pattern, name)) [17:27:06.137] next [17:27:06.137] invokeRestart(restart) [17:27:06.137] muffled <- TRUE [17:27:06.137] break [17:27:06.137] } [17:27:06.137] } [17:27:06.137] } [17:27:06.137] invisible(muffled) [17:27:06.137] } [17:27:06.137] muffleCondition(cond, pattern = "^muffle") [17:27:06.137] } [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] if (TRUE) { [17:27:06.137] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.137] { [17:27:06.137] inherits <- base::inherits [17:27:06.137] invokeRestart <- base::invokeRestart [17:27:06.137] is.null <- base::is.null [17:27:06.137] muffled <- FALSE [17:27:06.137] if (inherits(cond, "message")) { [17:27:06.137] muffled <- grepl(pattern, "muffleMessage") [17:27:06.137] if (muffled) [17:27:06.137] invokeRestart("muffleMessage") [17:27:06.137] } [17:27:06.137] else if (inherits(cond, "warning")) { [17:27:06.137] muffled <- grepl(pattern, "muffleWarning") [17:27:06.137] if (muffled) [17:27:06.137] invokeRestart("muffleWarning") [17:27:06.137] } [17:27:06.137] else if (inherits(cond, "condition")) { [17:27:06.137] if (!is.null(pattern)) { [17:27:06.137] computeRestarts <- base::computeRestarts [17:27:06.137] grepl <- base::grepl [17:27:06.137] restarts <- computeRestarts(cond) [17:27:06.137] for (restart in restarts) { [17:27:06.137] name <- restart$name [17:27:06.137] if (is.null(name)) [17:27:06.137] next [17:27:06.137] if (!grepl(pattern, name)) [17:27:06.137] next [17:27:06.137] invokeRestart(restart) [17:27:06.137] muffled <- TRUE [17:27:06.137] break [17:27:06.137] } [17:27:06.137] } [17:27:06.137] } [17:27:06.137] invisible(muffled) [17:27:06.137] } [17:27:06.137] muffleCondition(cond, pattern = "^muffle") [17:27:06.137] } [17:27:06.137] } [17:27:06.137] } [17:27:06.137] })) [17:27:06.137] }, error = function(ex) { [17:27:06.137] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.137] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.137] ...future.rng), started = ...future.startTime, [17:27:06.137] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.137] version = "1.8"), class = "FutureResult") [17:27:06.137] }, finally = { [17:27:06.137] if (!identical(...future.workdir, getwd())) [17:27:06.137] setwd(...future.workdir) [17:27:06.137] { [17:27:06.137] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.137] ...future.oldOptions$nwarnings <- NULL [17:27:06.137] } [17:27:06.137] base::options(...future.oldOptions) [17:27:06.137] if (.Platform$OS.type == "windows") { [17:27:06.137] old_names <- names(...future.oldEnvVars) [17:27:06.137] envs <- base::Sys.getenv() [17:27:06.137] names <- names(envs) [17:27:06.137] common <- intersect(names, old_names) [17:27:06.137] added <- setdiff(names, old_names) [17:27:06.137] removed <- setdiff(old_names, names) [17:27:06.137] changed <- common[...future.oldEnvVars[common] != [17:27:06.137] envs[common]] [17:27:06.137] NAMES <- toupper(changed) [17:27:06.137] args <- list() [17:27:06.137] for (kk in seq_along(NAMES)) { [17:27:06.137] name <- changed[[kk]] [17:27:06.137] NAME <- NAMES[[kk]] [17:27:06.137] if (name != NAME && is.element(NAME, old_names)) [17:27:06.137] next [17:27:06.137] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.137] } [17:27:06.137] NAMES <- toupper(added) [17:27:06.137] for (kk in seq_along(NAMES)) { [17:27:06.137] name <- added[[kk]] [17:27:06.137] NAME <- NAMES[[kk]] [17:27:06.137] if (name != NAME && is.element(NAME, old_names)) [17:27:06.137] next [17:27:06.137] args[[name]] <- "" [17:27:06.137] } [17:27:06.137] NAMES <- toupper(removed) [17:27:06.137] for (kk in seq_along(NAMES)) { [17:27:06.137] name <- removed[[kk]] [17:27:06.137] NAME <- NAMES[[kk]] [17:27:06.137] if (name != NAME && is.element(NAME, old_names)) [17:27:06.137] next [17:27:06.137] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.137] } [17:27:06.137] if (length(args) > 0) [17:27:06.137] base::do.call(base::Sys.setenv, args = args) [17:27:06.137] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.137] } [17:27:06.137] { [17:27:06.137] if (base::length(...future.futureOptionsAdded) > [17:27:06.137] 0L) { [17:27:06.137] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.137] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.137] base::options(opts) [17:27:06.137] } [17:27:06.137] { [17:27:06.137] { [17:27:06.137] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.137] NULL [17:27:06.137] } [17:27:06.137] options(future.plan = NULL) [17:27:06.137] if (is.na(NA_character_)) [17:27:06.137] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.137] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.137] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.137] .init = FALSE) [17:27:06.137] } [17:27:06.137] } [17:27:06.137] } [17:27:06.137] }) [17:27:06.137] if (TRUE) { [17:27:06.137] base::sink(type = "output", split = FALSE) [17:27:06.137] if (TRUE) { [17:27:06.137] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.137] } [17:27:06.137] else { [17:27:06.137] ...future.result["stdout"] <- base::list(NULL) [17:27:06.137] } [17:27:06.137] base::close(...future.stdout) [17:27:06.137] ...future.stdout <- NULL [17:27:06.137] } [17:27:06.137] ...future.result$conditions <- ...future.conditions [17:27:06.137] ...future.result$finished <- base::Sys.time() [17:27:06.137] ...future.result [17:27:06.137] } [17:27:06.142] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... [17:27:06.145] Exporting 'a' (1.59 MiB) to cluster node #1 ... [17:27:06.155] Exporting 'a' (1.59 MiB) to cluster node #1 ... DONE [17:27:06.155] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... DONE [17:27:06.156] MultisessionFuture started [17:27:06.156] - Launch lazy future ... done [17:27:06.156] run() for 'MultisessionFuture' ... done [17:27:06.157] result() for ClusterFuture ... [17:27:06.157] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.157] - Validating connection of MultisessionFuture [17:27:06.171] - received message: FutureResult [17:27:06.171] - Received FutureResult [17:27:06.171] - Erased future from FutureRegistry [17:27:06.171] result() for ClusterFuture ... [17:27:06.171] - result already collected: FutureResult [17:27:06.171] result() for ClusterFuture ... done [17:27:06.172] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.172] result() for ClusterFuture ... done [17:27:06.172] result() for ClusterFuture ... [17:27:06.172] - result already collected: FutureResult [17:27:06.172] result() for ClusterFuture ... done value(b) = 2 [17:27:06.172] result() for ClusterFuture ... [17:27:06.173] - result already collected: FutureResult [17:27:06.173] result() for ClusterFuture ... done [17:27:06.173] result() for ClusterFuture ... [17:27:06.173] - result already collected: FutureResult [17:27:06.173] 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:27:06.174] 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:27:06.174] 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:27:06.175] [17:27:06.175] Searching for globals ... DONE [17:27:06.175] - globals: [0] [17:27:06.175] 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:27:06.176] 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:27:06.176] 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:27:06.177] - globals found: [3] '+', 'value', 'a' [17:27:06.177] Searching for globals ... DONE [17:27:06.177] Resolving globals: TRUE [17:27:06.177] Resolving any globals that are futures ... [17:27:06.178] - globals: [3] '+', 'value', 'a' [17:27:06.178] Resolving any globals that are futures ... DONE [17:27:06.178] Resolving futures part of globals (recursively) ... [17:27:06.179] resolve() on list ... [17:27:06.179] recursive: 99 [17:27:06.179] length: 1 [17:27:06.179] elements: 'a' [17:27:06.179] run() for 'Future' ... [17:27:06.179] - state: 'created' [17:27:06.180] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.193] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.193] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.193] - Field: 'node' [17:27:06.194] - Field: 'label' [17:27:06.194] - Field: 'local' [17:27:06.194] - Field: 'owner' [17:27:06.194] - Field: 'envir' [17:27:06.194] - Field: 'workers' [17:27:06.195] - Field: 'packages' [17:27:06.195] - Field: 'gc' [17:27:06.195] - Field: 'conditions' [17:27:06.195] - Field: 'persistent' [17:27:06.195] - Field: 'expr' [17:27:06.195] - Field: 'uuid' [17:27:06.196] - Field: 'seed' [17:27:06.196] - Field: 'version' [17:27:06.196] - Field: 'result' [17:27:06.196] - Field: 'asynchronous' [17:27:06.196] - Field: 'calls' [17:27:06.196] - Field: 'globals' [17:27:06.197] - Field: 'stdout' [17:27:06.197] - Field: 'earlySignal' [17:27:06.197] - Field: 'lazy' [17:27:06.197] - Field: 'state' [17:27:06.197] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.198] - Launch lazy future ... [17:27:06.198] Packages needed by the future expression (n = 0): [17:27:06.198] Packages needed by future strategies (n = 0): [17:27:06.199] { [17:27:06.199] { [17:27:06.199] { [17:27:06.199] ...future.startTime <- base::Sys.time() [17:27:06.199] { [17:27:06.199] { [17:27:06.199] { [17:27:06.199] { [17:27:06.199] base::local({ [17:27:06.199] has_future <- base::requireNamespace("future", [17:27:06.199] quietly = TRUE) [17:27:06.199] if (has_future) { [17:27:06.199] ns <- base::getNamespace("future") [17:27:06.199] version <- ns[[".package"]][["version"]] [17:27:06.199] if (is.null(version)) [17:27:06.199] version <- utils::packageVersion("future") [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] version <- NULL [17:27:06.199] } [17:27:06.199] if (!has_future || version < "1.8.0") { [17:27:06.199] info <- base::c(r_version = base::gsub("R version ", [17:27:06.199] "", base::R.version$version.string), [17:27:06.199] platform = base::sprintf("%s (%s-bit)", [17:27:06.199] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:06.199] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.199] "release", "version")], collapse = " "), [17:27:06.199] hostname = base::Sys.info()[["nodename"]]) [17:27:06.199] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.199] info) [17:27:06.199] info <- base::paste(info, collapse = "; ") [17:27:06.199] if (!has_future) { [17:27:06.199] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.199] info) [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.199] info, version) [17:27:06.199] } [17:27:06.199] base::stop(msg) [17:27:06.199] } [17:27:06.199] }) [17:27:06.199] } [17:27:06.199] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.199] base::options(mc.cores = 1L) [17:27:06.199] } [17:27:06.199] ...future.strategy.old <- future::plan("list") [17:27:06.199] options(future.plan = NULL) [17:27:06.199] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.199] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.199] } [17:27:06.199] ...future.workdir <- getwd() [17:27:06.199] } [17:27:06.199] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.199] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.199] } [17:27:06.199] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.199] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.199] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.199] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.199] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.199] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.199] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.199] base::names(...future.oldOptions)) [17:27:06.199] } [17:27:06.199] if (FALSE) { [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] if (TRUE) { [17:27:06.199] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.199] open = "w") [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.199] windows = "NUL", "/dev/null"), open = "w") [17:27:06.199] } [17:27:06.199] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.199] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.199] base::sink(type = "output", split = FALSE) [17:27:06.199] base::close(...future.stdout) [17:27:06.199] }, add = TRUE) [17:27:06.199] } [17:27:06.199] ...future.frame <- base::sys.nframe() [17:27:06.199] ...future.conditions <- base::list() [17:27:06.199] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.199] if (FALSE) { [17:27:06.199] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.199] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.199] } [17:27:06.199] ...future.result <- base::tryCatch({ [17:27:06.199] base::withCallingHandlers({ [17:27:06.199] ...future.value <- base::withVisible(base::local({ [17:27:06.199] ...future.makeSendCondition <- base::local({ [17:27:06.199] sendCondition <- NULL [17:27:06.199] function(frame = 1L) { [17:27:06.199] if (is.function(sendCondition)) [17:27:06.199] return(sendCondition) [17:27:06.199] ns <- getNamespace("parallel") [17:27:06.199] if (exists("sendData", mode = "function", [17:27:06.199] envir = ns)) { [17:27:06.199] parallel_sendData <- get("sendData", mode = "function", [17:27:06.199] envir = ns) [17:27:06.199] envir <- sys.frame(frame) [17:27:06.199] master <- NULL [17:27:06.199] while (!identical(envir, .GlobalEnv) && [17:27:06.199] !identical(envir, emptyenv())) { [17:27:06.199] if (exists("master", mode = "list", envir = envir, [17:27:06.199] inherits = FALSE)) { [17:27:06.199] master <- get("master", mode = "list", [17:27:06.199] envir = envir, inherits = FALSE) [17:27:06.199] if (inherits(master, c("SOCKnode", [17:27:06.199] "SOCK0node"))) { [17:27:06.199] sendCondition <<- function(cond) { [17:27:06.199] data <- list(type = "VALUE", value = cond, [17:27:06.199] success = TRUE) [17:27:06.199] parallel_sendData(master, data) [17:27:06.199] } [17:27:06.199] return(sendCondition) [17:27:06.199] } [17:27:06.199] } [17:27:06.199] frame <- frame + 1L [17:27:06.199] envir <- sys.frame(frame) [17:27:06.199] } [17:27:06.199] } [17:27:06.199] sendCondition <<- function(cond) NULL [17:27:06.199] } [17:27:06.199] }) [17:27:06.199] withCallingHandlers({ [17:27:06.199] 1 [17:27:06.199] }, immediateCondition = function(cond) { [17:27:06.199] sendCondition <- ...future.makeSendCondition() [17:27:06.199] sendCondition(cond) [17:27:06.199] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.199] { [17:27:06.199] inherits <- base::inherits [17:27:06.199] invokeRestart <- base::invokeRestart [17:27:06.199] is.null <- base::is.null [17:27:06.199] muffled <- FALSE [17:27:06.199] if (inherits(cond, "message")) { [17:27:06.199] muffled <- grepl(pattern, "muffleMessage") [17:27:06.199] if (muffled) [17:27:06.199] invokeRestart("muffleMessage") [17:27:06.199] } [17:27:06.199] else if (inherits(cond, "warning")) { [17:27:06.199] muffled <- grepl(pattern, "muffleWarning") [17:27:06.199] if (muffled) [17:27:06.199] invokeRestart("muffleWarning") [17:27:06.199] } [17:27:06.199] else if (inherits(cond, "condition")) { [17:27:06.199] if (!is.null(pattern)) { [17:27:06.199] computeRestarts <- base::computeRestarts [17:27:06.199] grepl <- base::grepl [17:27:06.199] restarts <- computeRestarts(cond) [17:27:06.199] for (restart in restarts) { [17:27:06.199] name <- restart$name [17:27:06.199] if (is.null(name)) [17:27:06.199] next [17:27:06.199] if (!grepl(pattern, name)) [17:27:06.199] next [17:27:06.199] invokeRestart(restart) [17:27:06.199] muffled <- TRUE [17:27:06.199] break [17:27:06.199] } [17:27:06.199] } [17:27:06.199] } [17:27:06.199] invisible(muffled) [17:27:06.199] } [17:27:06.199] muffleCondition(cond) [17:27:06.199] }) [17:27:06.199] })) [17:27:06.199] future::FutureResult(value = ...future.value$value, [17:27:06.199] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.199] ...future.rng), globalenv = if (FALSE) [17:27:06.199] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.199] ...future.globalenv.names)) [17:27:06.199] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.199] }, condition = base::local({ [17:27:06.199] c <- base::c [17:27:06.199] inherits <- base::inherits [17:27:06.199] invokeRestart <- base::invokeRestart [17:27:06.199] length <- base::length [17:27:06.199] list <- base::list [17:27:06.199] seq.int <- base::seq.int [17:27:06.199] signalCondition <- base::signalCondition [17:27:06.199] sys.calls <- base::sys.calls [17:27:06.199] `[[` <- base::`[[` [17:27:06.199] `+` <- base::`+` [17:27:06.199] `<<-` <- base::`<<-` [17:27:06.199] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.199] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.199] 3L)] [17:27:06.199] } [17:27:06.199] function(cond) { [17:27:06.199] is_error <- inherits(cond, "error") [17:27:06.199] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.199] NULL) [17:27:06.199] if (is_error) { [17:27:06.199] sessionInformation <- function() { [17:27:06.199] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.199] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.199] search = base::search(), system = base::Sys.info()) [17:27:06.199] } [17:27:06.199] ...future.conditions[[length(...future.conditions) + [17:27:06.199] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.199] cond$call), session = sessionInformation(), [17:27:06.199] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.199] signalCondition(cond) [17:27:06.199] } [17:27:06.199] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.199] "immediateCondition"))) { [17:27:06.199] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.199] ...future.conditions[[length(...future.conditions) + [17:27:06.199] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.199] if (TRUE && !signal) { [17:27:06.199] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.199] { [17:27:06.199] inherits <- base::inherits [17:27:06.199] invokeRestart <- base::invokeRestart [17:27:06.199] is.null <- base::is.null [17:27:06.199] muffled <- FALSE [17:27:06.199] if (inherits(cond, "message")) { [17:27:06.199] muffled <- grepl(pattern, "muffleMessage") [17:27:06.199] if (muffled) [17:27:06.199] invokeRestart("muffleMessage") [17:27:06.199] } [17:27:06.199] else if (inherits(cond, "warning")) { [17:27:06.199] muffled <- grepl(pattern, "muffleWarning") [17:27:06.199] if (muffled) [17:27:06.199] invokeRestart("muffleWarning") [17:27:06.199] } [17:27:06.199] else if (inherits(cond, "condition")) { [17:27:06.199] if (!is.null(pattern)) { [17:27:06.199] computeRestarts <- base::computeRestarts [17:27:06.199] grepl <- base::grepl [17:27:06.199] restarts <- computeRestarts(cond) [17:27:06.199] for (restart in restarts) { [17:27:06.199] name <- restart$name [17:27:06.199] if (is.null(name)) [17:27:06.199] next [17:27:06.199] if (!grepl(pattern, name)) [17:27:06.199] next [17:27:06.199] invokeRestart(restart) [17:27:06.199] muffled <- TRUE [17:27:06.199] break [17:27:06.199] } [17:27:06.199] } [17:27:06.199] } [17:27:06.199] invisible(muffled) [17:27:06.199] } [17:27:06.199] muffleCondition(cond, pattern = "^muffle") [17:27:06.199] } [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] if (TRUE) { [17:27:06.199] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.199] { [17:27:06.199] inherits <- base::inherits [17:27:06.199] invokeRestart <- base::invokeRestart [17:27:06.199] is.null <- base::is.null [17:27:06.199] muffled <- FALSE [17:27:06.199] if (inherits(cond, "message")) { [17:27:06.199] muffled <- grepl(pattern, "muffleMessage") [17:27:06.199] if (muffled) [17:27:06.199] invokeRestart("muffleMessage") [17:27:06.199] } [17:27:06.199] else if (inherits(cond, "warning")) { [17:27:06.199] muffled <- grepl(pattern, "muffleWarning") [17:27:06.199] if (muffled) [17:27:06.199] invokeRestart("muffleWarning") [17:27:06.199] } [17:27:06.199] else if (inherits(cond, "condition")) { [17:27:06.199] if (!is.null(pattern)) { [17:27:06.199] computeRestarts <- base::computeRestarts [17:27:06.199] grepl <- base::grepl [17:27:06.199] restarts <- computeRestarts(cond) [17:27:06.199] for (restart in restarts) { [17:27:06.199] name <- restart$name [17:27:06.199] if (is.null(name)) [17:27:06.199] next [17:27:06.199] if (!grepl(pattern, name)) [17:27:06.199] next [17:27:06.199] invokeRestart(restart) [17:27:06.199] muffled <- TRUE [17:27:06.199] break [17:27:06.199] } [17:27:06.199] } [17:27:06.199] } [17:27:06.199] invisible(muffled) [17:27:06.199] } [17:27:06.199] muffleCondition(cond, pattern = "^muffle") [17:27:06.199] } [17:27:06.199] } [17:27:06.199] } [17:27:06.199] })) [17:27:06.199] }, error = function(ex) { [17:27:06.199] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.199] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.199] ...future.rng), started = ...future.startTime, [17:27:06.199] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.199] version = "1.8"), class = "FutureResult") [17:27:06.199] }, finally = { [17:27:06.199] if (!identical(...future.workdir, getwd())) [17:27:06.199] setwd(...future.workdir) [17:27:06.199] { [17:27:06.199] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.199] ...future.oldOptions$nwarnings <- NULL [17:27:06.199] } [17:27:06.199] base::options(...future.oldOptions) [17:27:06.199] if (.Platform$OS.type == "windows") { [17:27:06.199] old_names <- names(...future.oldEnvVars) [17:27:06.199] envs <- base::Sys.getenv() [17:27:06.199] names <- names(envs) [17:27:06.199] common <- intersect(names, old_names) [17:27:06.199] added <- setdiff(names, old_names) [17:27:06.199] removed <- setdiff(old_names, names) [17:27:06.199] changed <- common[...future.oldEnvVars[common] != [17:27:06.199] envs[common]] [17:27:06.199] NAMES <- toupper(changed) [17:27:06.199] args <- list() [17:27:06.199] for (kk in seq_along(NAMES)) { [17:27:06.199] name <- changed[[kk]] [17:27:06.199] NAME <- NAMES[[kk]] [17:27:06.199] if (name != NAME && is.element(NAME, old_names)) [17:27:06.199] next [17:27:06.199] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.199] } [17:27:06.199] NAMES <- toupper(added) [17:27:06.199] for (kk in seq_along(NAMES)) { [17:27:06.199] name <- added[[kk]] [17:27:06.199] NAME <- NAMES[[kk]] [17:27:06.199] if (name != NAME && is.element(NAME, old_names)) [17:27:06.199] next [17:27:06.199] args[[name]] <- "" [17:27:06.199] } [17:27:06.199] NAMES <- toupper(removed) [17:27:06.199] for (kk in seq_along(NAMES)) { [17:27:06.199] name <- removed[[kk]] [17:27:06.199] NAME <- NAMES[[kk]] [17:27:06.199] if (name != NAME && is.element(NAME, old_names)) [17:27:06.199] next [17:27:06.199] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.199] } [17:27:06.199] if (length(args) > 0) [17:27:06.199] base::do.call(base::Sys.setenv, args = args) [17:27:06.199] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.199] } [17:27:06.199] { [17:27:06.199] if (base::length(...future.futureOptionsAdded) > [17:27:06.199] 0L) { [17:27:06.199] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.199] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.199] base::options(opts) [17:27:06.199] } [17:27:06.199] { [17:27:06.199] { [17:27:06.199] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.199] NULL [17:27:06.199] } [17:27:06.199] options(future.plan = NULL) [17:27:06.199] if (is.na(NA_character_)) [17:27:06.199] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.199] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.199] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.199] .init = FALSE) [17:27:06.199] } [17:27:06.199] } [17:27:06.199] } [17:27:06.199] }) [17:27:06.199] if (TRUE) { [17:27:06.199] base::sink(type = "output", split = FALSE) [17:27:06.199] if (TRUE) { [17:27:06.199] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.199] } [17:27:06.199] else { [17:27:06.199] ...future.result["stdout"] <- base::list(NULL) [17:27:06.199] } [17:27:06.199] base::close(...future.stdout) [17:27:06.199] ...future.stdout <- NULL [17:27:06.199] } [17:27:06.199] ...future.result$conditions <- ...future.conditions [17:27:06.199] ...future.result$finished <- base::Sys.time() [17:27:06.199] ...future.result [17:27:06.199] } [17:27:06.204] MultisessionFuture started [17:27:06.204] - Launch lazy future ... done [17:27:06.204] run() for 'MultisessionFuture' ... done [17:27:06.219] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.220] - Validating connection of MultisessionFuture [17:27:06.220] - received message: FutureResult [17:27:06.220] - Received FutureResult [17:27:06.220] - Erased future from FutureRegistry [17:27:06.220] result() for ClusterFuture ... [17:27:06.221] - result already collected: FutureResult [17:27:06.221] result() for ClusterFuture ... done [17:27:06.221] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.221] Future #1 [17:27:06.221] result() for ClusterFuture ... [17:27:06.221] - result already collected: FutureResult [17:27:06.221] result() for ClusterFuture ... done [17:27:06.222] result() for ClusterFuture ... [17:27:06.222] - result already collected: FutureResult [17:27:06.222] result() for ClusterFuture ... done [17:27:06.222] A MultisessionFuture was resolved [17:27:06.222] length: 0 (resolved future 1) [17:27:06.223] resolve() on list ... DONE [17:27:06.223] - globals: [1] 'a' [17:27:06.223] Resolving futures part of globals (recursively) ... DONE [17:27:06.225] The total size of the 1 globals is 1.59 MiB (1669272 bytes) [17:27:06.226] The total size of the 1 globals exported for future expression ('value(a) + 1') is 1.59 MiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (1.59 MiB of class 'environment') [17:27:06.226] - globals: [1] 'a' [17:27:06.226] - packages: [1] 'future' [17:27:06.227] getGlobalsAndPackages() ... DONE [17:27:06.227] run() for 'Future' ... [17:27:06.227] - state: 'created' [17:27:06.227] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.241] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.241] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.241] - Field: 'node' [17:27:06.242] - Field: 'label' [17:27:06.242] - Field: 'local' [17:27:06.242] - Field: 'owner' [17:27:06.242] - Field: 'envir' [17:27:06.243] - Field: 'workers' [17:27:06.243] - Field: 'packages' [17:27:06.243] - Field: 'gc' [17:27:06.243] - Field: 'conditions' [17:27:06.243] - Field: 'persistent' [17:27:06.244] - Field: 'expr' [17:27:06.244] - Field: 'uuid' [17:27:06.244] - Field: 'seed' [17:27:06.244] - Field: 'version' [17:27:06.244] - Field: 'result' [17:27:06.245] - Field: 'asynchronous' [17:27:06.245] - Field: 'calls' [17:27:06.245] - Field: 'globals' [17:27:06.245] - Field: 'stdout' [17:27:06.245] - Field: 'earlySignal' [17:27:06.245] - Field: 'lazy' [17:27:06.246] - Field: 'state' [17:27:06.246] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.246] - Launch lazy future ... [17:27:06.246] Packages needed by the future expression (n = 1): 'future' [17:27:06.247] Packages needed by future strategies (n = 0): [17:27:06.247] { [17:27:06.247] { [17:27:06.247] { [17:27:06.247] ...future.startTime <- base::Sys.time() [17:27:06.247] { [17:27:06.247] { [17:27:06.247] { [17:27:06.247] { [17:27:06.247] { [17:27:06.247] base::local({ [17:27:06.247] has_future <- base::requireNamespace("future", [17:27:06.247] quietly = TRUE) [17:27:06.247] if (has_future) { [17:27:06.247] ns <- base::getNamespace("future") [17:27:06.247] version <- ns[[".package"]][["version"]] [17:27:06.247] if (is.null(version)) [17:27:06.247] version <- utils::packageVersion("future") [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] version <- NULL [17:27:06.247] } [17:27:06.247] if (!has_future || version < "1.8.0") { [17:27:06.247] info <- base::c(r_version = base::gsub("R version ", [17:27:06.247] "", base::R.version$version.string), [17:27:06.247] platform = base::sprintf("%s (%s-bit)", [17:27:06.247] base::R.version$platform, 8 * [17:27:06.247] base::.Machine$sizeof.pointer), [17:27:06.247] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.247] "release", "version")], collapse = " "), [17:27:06.247] hostname = base::Sys.info()[["nodename"]]) [17:27:06.247] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.247] info) [17:27:06.247] info <- base::paste(info, collapse = "; ") [17:27:06.247] if (!has_future) { [17:27:06.247] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.247] info) [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.247] info, version) [17:27:06.247] } [17:27:06.247] base::stop(msg) [17:27:06.247] } [17:27:06.247] }) [17:27:06.247] } [17:27:06.247] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.247] base::options(mc.cores = 1L) [17:27:06.247] } [17:27:06.247] base::local({ [17:27:06.247] for (pkg in "future") { [17:27:06.247] base::loadNamespace(pkg) [17:27:06.247] base::library(pkg, character.only = TRUE) [17:27:06.247] } [17:27:06.247] }) [17:27:06.247] } [17:27:06.247] ...future.strategy.old <- future::plan("list") [17:27:06.247] options(future.plan = NULL) [17:27:06.247] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.247] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.247] } [17:27:06.247] ...future.workdir <- getwd() [17:27:06.247] } [17:27:06.247] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.247] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.247] } [17:27:06.247] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.247] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.247] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.247] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.247] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.247] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.247] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.247] base::names(...future.oldOptions)) [17:27:06.247] } [17:27:06.247] if (FALSE) { [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] if (TRUE) { [17:27:06.247] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.247] open = "w") [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.247] windows = "NUL", "/dev/null"), open = "w") [17:27:06.247] } [17:27:06.247] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.247] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.247] base::sink(type = "output", split = FALSE) [17:27:06.247] base::close(...future.stdout) [17:27:06.247] }, add = TRUE) [17:27:06.247] } [17:27:06.247] ...future.frame <- base::sys.nframe() [17:27:06.247] ...future.conditions <- base::list() [17:27:06.247] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.247] if (FALSE) { [17:27:06.247] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.247] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.247] } [17:27:06.247] ...future.result <- base::tryCatch({ [17:27:06.247] base::withCallingHandlers({ [17:27:06.247] ...future.value <- base::withVisible(base::local({ [17:27:06.247] ...future.makeSendCondition <- base::local({ [17:27:06.247] sendCondition <- NULL [17:27:06.247] function(frame = 1L) { [17:27:06.247] if (is.function(sendCondition)) [17:27:06.247] return(sendCondition) [17:27:06.247] ns <- getNamespace("parallel") [17:27:06.247] if (exists("sendData", mode = "function", [17:27:06.247] envir = ns)) { [17:27:06.247] parallel_sendData <- get("sendData", mode = "function", [17:27:06.247] envir = ns) [17:27:06.247] envir <- sys.frame(frame) [17:27:06.247] master <- NULL [17:27:06.247] while (!identical(envir, .GlobalEnv) && [17:27:06.247] !identical(envir, emptyenv())) { [17:27:06.247] if (exists("master", mode = "list", envir = envir, [17:27:06.247] inherits = FALSE)) { [17:27:06.247] master <- get("master", mode = "list", [17:27:06.247] envir = envir, inherits = FALSE) [17:27:06.247] if (inherits(master, c("SOCKnode", [17:27:06.247] "SOCK0node"))) { [17:27:06.247] sendCondition <<- function(cond) { [17:27:06.247] data <- list(type = "VALUE", value = cond, [17:27:06.247] success = TRUE) [17:27:06.247] parallel_sendData(master, data) [17:27:06.247] } [17:27:06.247] return(sendCondition) [17:27:06.247] } [17:27:06.247] } [17:27:06.247] frame <- frame + 1L [17:27:06.247] envir <- sys.frame(frame) [17:27:06.247] } [17:27:06.247] } [17:27:06.247] sendCondition <<- function(cond) NULL [17:27:06.247] } [17:27:06.247] }) [17:27:06.247] withCallingHandlers({ [17:27:06.247] value(a) + 1 [17:27:06.247] }, immediateCondition = function(cond) { [17:27:06.247] sendCondition <- ...future.makeSendCondition() [17:27:06.247] sendCondition(cond) [17:27:06.247] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.247] { [17:27:06.247] inherits <- base::inherits [17:27:06.247] invokeRestart <- base::invokeRestart [17:27:06.247] is.null <- base::is.null [17:27:06.247] muffled <- FALSE [17:27:06.247] if (inherits(cond, "message")) { [17:27:06.247] muffled <- grepl(pattern, "muffleMessage") [17:27:06.247] if (muffled) [17:27:06.247] invokeRestart("muffleMessage") [17:27:06.247] } [17:27:06.247] else if (inherits(cond, "warning")) { [17:27:06.247] muffled <- grepl(pattern, "muffleWarning") [17:27:06.247] if (muffled) [17:27:06.247] invokeRestart("muffleWarning") [17:27:06.247] } [17:27:06.247] else if (inherits(cond, "condition")) { [17:27:06.247] if (!is.null(pattern)) { [17:27:06.247] computeRestarts <- base::computeRestarts [17:27:06.247] grepl <- base::grepl [17:27:06.247] restarts <- computeRestarts(cond) [17:27:06.247] for (restart in restarts) { [17:27:06.247] name <- restart$name [17:27:06.247] if (is.null(name)) [17:27:06.247] next [17:27:06.247] if (!grepl(pattern, name)) [17:27:06.247] next [17:27:06.247] invokeRestart(restart) [17:27:06.247] muffled <- TRUE [17:27:06.247] break [17:27:06.247] } [17:27:06.247] } [17:27:06.247] } [17:27:06.247] invisible(muffled) [17:27:06.247] } [17:27:06.247] muffleCondition(cond) [17:27:06.247] }) [17:27:06.247] })) [17:27:06.247] future::FutureResult(value = ...future.value$value, [17:27:06.247] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.247] ...future.rng), globalenv = if (FALSE) [17:27:06.247] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.247] ...future.globalenv.names)) [17:27:06.247] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.247] }, condition = base::local({ [17:27:06.247] c <- base::c [17:27:06.247] inherits <- base::inherits [17:27:06.247] invokeRestart <- base::invokeRestart [17:27:06.247] length <- base::length [17:27:06.247] list <- base::list [17:27:06.247] seq.int <- base::seq.int [17:27:06.247] signalCondition <- base::signalCondition [17:27:06.247] sys.calls <- base::sys.calls [17:27:06.247] `[[` <- base::`[[` [17:27:06.247] `+` <- base::`+` [17:27:06.247] `<<-` <- base::`<<-` [17:27:06.247] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.247] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.247] 3L)] [17:27:06.247] } [17:27:06.247] function(cond) { [17:27:06.247] is_error <- inherits(cond, "error") [17:27:06.247] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.247] NULL) [17:27:06.247] if (is_error) { [17:27:06.247] sessionInformation <- function() { [17:27:06.247] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.247] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.247] search = base::search(), system = base::Sys.info()) [17:27:06.247] } [17:27:06.247] ...future.conditions[[length(...future.conditions) + [17:27:06.247] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.247] cond$call), session = sessionInformation(), [17:27:06.247] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.247] signalCondition(cond) [17:27:06.247] } [17:27:06.247] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.247] "immediateCondition"))) { [17:27:06.247] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.247] ...future.conditions[[length(...future.conditions) + [17:27:06.247] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.247] if (TRUE && !signal) { [17:27:06.247] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.247] { [17:27:06.247] inherits <- base::inherits [17:27:06.247] invokeRestart <- base::invokeRestart [17:27:06.247] is.null <- base::is.null [17:27:06.247] muffled <- FALSE [17:27:06.247] if (inherits(cond, "message")) { [17:27:06.247] muffled <- grepl(pattern, "muffleMessage") [17:27:06.247] if (muffled) [17:27:06.247] invokeRestart("muffleMessage") [17:27:06.247] } [17:27:06.247] else if (inherits(cond, "warning")) { [17:27:06.247] muffled <- grepl(pattern, "muffleWarning") [17:27:06.247] if (muffled) [17:27:06.247] invokeRestart("muffleWarning") [17:27:06.247] } [17:27:06.247] else if (inherits(cond, "condition")) { [17:27:06.247] if (!is.null(pattern)) { [17:27:06.247] computeRestarts <- base::computeRestarts [17:27:06.247] grepl <- base::grepl [17:27:06.247] restarts <- computeRestarts(cond) [17:27:06.247] for (restart in restarts) { [17:27:06.247] name <- restart$name [17:27:06.247] if (is.null(name)) [17:27:06.247] next [17:27:06.247] if (!grepl(pattern, name)) [17:27:06.247] next [17:27:06.247] invokeRestart(restart) [17:27:06.247] muffled <- TRUE [17:27:06.247] break [17:27:06.247] } [17:27:06.247] } [17:27:06.247] } [17:27:06.247] invisible(muffled) [17:27:06.247] } [17:27:06.247] muffleCondition(cond, pattern = "^muffle") [17:27:06.247] } [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] if (TRUE) { [17:27:06.247] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.247] { [17:27:06.247] inherits <- base::inherits [17:27:06.247] invokeRestart <- base::invokeRestart [17:27:06.247] is.null <- base::is.null [17:27:06.247] muffled <- FALSE [17:27:06.247] if (inherits(cond, "message")) { [17:27:06.247] muffled <- grepl(pattern, "muffleMessage") [17:27:06.247] if (muffled) [17:27:06.247] invokeRestart("muffleMessage") [17:27:06.247] } [17:27:06.247] else if (inherits(cond, "warning")) { [17:27:06.247] muffled <- grepl(pattern, "muffleWarning") [17:27:06.247] if (muffled) [17:27:06.247] invokeRestart("muffleWarning") [17:27:06.247] } [17:27:06.247] else if (inherits(cond, "condition")) { [17:27:06.247] if (!is.null(pattern)) { [17:27:06.247] computeRestarts <- base::computeRestarts [17:27:06.247] grepl <- base::grepl [17:27:06.247] restarts <- computeRestarts(cond) [17:27:06.247] for (restart in restarts) { [17:27:06.247] name <- restart$name [17:27:06.247] if (is.null(name)) [17:27:06.247] next [17:27:06.247] if (!grepl(pattern, name)) [17:27:06.247] next [17:27:06.247] invokeRestart(restart) [17:27:06.247] muffled <- TRUE [17:27:06.247] break [17:27:06.247] } [17:27:06.247] } [17:27:06.247] } [17:27:06.247] invisible(muffled) [17:27:06.247] } [17:27:06.247] muffleCondition(cond, pattern = "^muffle") [17:27:06.247] } [17:27:06.247] } [17:27:06.247] } [17:27:06.247] })) [17:27:06.247] }, error = function(ex) { [17:27:06.247] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.247] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.247] ...future.rng), started = ...future.startTime, [17:27:06.247] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.247] version = "1.8"), class = "FutureResult") [17:27:06.247] }, finally = { [17:27:06.247] if (!identical(...future.workdir, getwd())) [17:27:06.247] setwd(...future.workdir) [17:27:06.247] { [17:27:06.247] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.247] ...future.oldOptions$nwarnings <- NULL [17:27:06.247] } [17:27:06.247] base::options(...future.oldOptions) [17:27:06.247] if (.Platform$OS.type == "windows") { [17:27:06.247] old_names <- names(...future.oldEnvVars) [17:27:06.247] envs <- base::Sys.getenv() [17:27:06.247] names <- names(envs) [17:27:06.247] common <- intersect(names, old_names) [17:27:06.247] added <- setdiff(names, old_names) [17:27:06.247] removed <- setdiff(old_names, names) [17:27:06.247] changed <- common[...future.oldEnvVars[common] != [17:27:06.247] envs[common]] [17:27:06.247] NAMES <- toupper(changed) [17:27:06.247] args <- list() [17:27:06.247] for (kk in seq_along(NAMES)) { [17:27:06.247] name <- changed[[kk]] [17:27:06.247] NAME <- NAMES[[kk]] [17:27:06.247] if (name != NAME && is.element(NAME, old_names)) [17:27:06.247] next [17:27:06.247] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.247] } [17:27:06.247] NAMES <- toupper(added) [17:27:06.247] for (kk in seq_along(NAMES)) { [17:27:06.247] name <- added[[kk]] [17:27:06.247] NAME <- NAMES[[kk]] [17:27:06.247] if (name != NAME && is.element(NAME, old_names)) [17:27:06.247] next [17:27:06.247] args[[name]] <- "" [17:27:06.247] } [17:27:06.247] NAMES <- toupper(removed) [17:27:06.247] for (kk in seq_along(NAMES)) { [17:27:06.247] name <- removed[[kk]] [17:27:06.247] NAME <- NAMES[[kk]] [17:27:06.247] if (name != NAME && is.element(NAME, old_names)) [17:27:06.247] next [17:27:06.247] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.247] } [17:27:06.247] if (length(args) > 0) [17:27:06.247] base::do.call(base::Sys.setenv, args = args) [17:27:06.247] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.247] } [17:27:06.247] { [17:27:06.247] if (base::length(...future.futureOptionsAdded) > [17:27:06.247] 0L) { [17:27:06.247] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.247] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.247] base::options(opts) [17:27:06.247] } [17:27:06.247] { [17:27:06.247] { [17:27:06.247] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.247] NULL [17:27:06.247] } [17:27:06.247] options(future.plan = NULL) [17:27:06.247] if (is.na(NA_character_)) [17:27:06.247] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.247] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.247] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.247] .init = FALSE) [17:27:06.247] } [17:27:06.247] } [17:27:06.247] } [17:27:06.247] }) [17:27:06.247] if (TRUE) { [17:27:06.247] base::sink(type = "output", split = FALSE) [17:27:06.247] if (TRUE) { [17:27:06.247] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.247] } [17:27:06.247] else { [17:27:06.247] ...future.result["stdout"] <- base::list(NULL) [17:27:06.247] } [17:27:06.247] base::close(...future.stdout) [17:27:06.247] ...future.stdout <- NULL [17:27:06.247] } [17:27:06.247] ...future.result$conditions <- ...future.conditions [17:27:06.247] ...future.result$finished <- base::Sys.time() [17:27:06.247] ...future.result [17:27:06.247] } [17:27:06.253] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... [17:27:06.258] Exporting 'a' (1.59 MiB) to cluster node #1 ... [17:27:06.269] Exporting 'a' (1.59 MiB) to cluster node #1 ... DONE [17:27:06.270] Exporting 1 global objects (1.59 MiB) to cluster node #1 ... DONE [17:27:06.270] MultisessionFuture started [17:27:06.270] - Launch lazy future ... done [17:27:06.271] run() for 'MultisessionFuture' ... done [17:27:06.271] result() for ClusterFuture ... [17:27:06.271] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.271] - Validating connection of MultisessionFuture [17:27:06.286] - received message: FutureResult [17:27:06.287] - Received FutureResult [17:27:06.287] - Erased future from FutureRegistry [17:27:06.287] result() for ClusterFuture ... [17:27:06.287] - result already collected: FutureResult [17:27:06.287] result() for ClusterFuture ... done [17:27:06.287] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.288] result() for ClusterFuture ... done [17:27:06.288] result() for ClusterFuture ... [17:27:06.288] - result already collected: FutureResult [17:27:06.288] result() for ClusterFuture ... done value(b) = 2 [17:27:06.288] result() for ClusterFuture ... [17:27:06.288] - result already collected: FutureResult [17:27:06.289] result() for ClusterFuture ... done [17:27:06.289] result() for ClusterFuture ... [17:27:06.289] - result already collected: FutureResult [17:27:06.289] 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:27:06.289] 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:27:06.290] 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:27:06.291] - globals found: [2] '{', 'pkg' [17:27:06.291] Searching for globals ... DONE [17:27:06.291] Resolving globals: TRUE [17:27:06.291] Resolving any globals that are futures ... [17:27:06.292] - globals: [2] '{', 'pkg' [17:27:06.292] Resolving any globals that are futures ... DONE [17:27:06.292] Resolving futures part of globals (recursively) ... [17:27:06.292] resolve() on list ... [17:27:06.293] recursive: 99 [17:27:06.293] length: 1 [17:27:06.293] elements: 'pkg' [17:27:06.293] length: 0 (resolved future 1) [17:27:06.293] resolve() on list ... DONE [17:27:06.293] - globals: [1] 'pkg' [17:27:06.294] Resolving futures part of globals (recursively) ... DONE [17:27:06.294] The total size of the 1 globals is 112 bytes (112 bytes) [17:27:06.294] The total size of the 1 globals exported for future expression ('{; pkg; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'pkg' (112 bytes of class 'character') [17:27:06.294] - globals: [1] 'pkg' [17:27:06.295] [17:27:06.295] getGlobalsAndPackages() ... DONE [17:27:06.295] Packages needed by the future expression (n = 0): [17:27:06.295] Packages needed by future strategies (n = 0): [17:27:06.296] { [17:27:06.296] { [17:27:06.296] { [17:27:06.296] ...future.startTime <- base::Sys.time() [17:27:06.296] { [17:27:06.296] { [17:27:06.296] { [17:27:06.296] base::local({ [17:27:06.296] has_future <- base::requireNamespace("future", [17:27:06.296] quietly = TRUE) [17:27:06.296] if (has_future) { [17:27:06.296] ns <- base::getNamespace("future") [17:27:06.296] version <- ns[[".package"]][["version"]] [17:27:06.296] if (is.null(version)) [17:27:06.296] version <- utils::packageVersion("future") [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] version <- NULL [17:27:06.296] } [17:27:06.296] if (!has_future || version < "1.8.0") { [17:27:06.296] info <- base::c(r_version = base::gsub("R version ", [17:27:06.296] "", base::R.version$version.string), [17:27:06.296] platform = base::sprintf("%s (%s-bit)", [17:27:06.296] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:06.296] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.296] "release", "version")], collapse = " "), [17:27:06.296] hostname = base::Sys.info()[["nodename"]]) [17:27:06.296] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.296] info) [17:27:06.296] info <- base::paste(info, collapse = "; ") [17:27:06.296] if (!has_future) { [17:27:06.296] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.296] info) [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.296] info, version) [17:27:06.296] } [17:27:06.296] base::stop(msg) [17:27:06.296] } [17:27:06.296] }) [17:27:06.296] } [17:27:06.296] ...future.strategy.old <- future::plan("list") [17:27:06.296] options(future.plan = NULL) [17:27:06.296] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.296] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.296] } [17:27:06.296] ...future.workdir <- getwd() [17:27:06.296] } [17:27:06.296] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.296] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.296] } [17:27:06.296] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.296] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.296] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.296] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.296] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.296] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.296] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.296] base::names(...future.oldOptions)) [17:27:06.296] } [17:27:06.296] if (FALSE) { [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] if (TRUE) { [17:27:06.296] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.296] open = "w") [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.296] windows = "NUL", "/dev/null"), open = "w") [17:27:06.296] } [17:27:06.296] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.296] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.296] base::sink(type = "output", split = FALSE) [17:27:06.296] base::close(...future.stdout) [17:27:06.296] }, add = TRUE) [17:27:06.296] } [17:27:06.296] ...future.frame <- base::sys.nframe() [17:27:06.296] ...future.conditions <- base::list() [17:27:06.296] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.296] if (FALSE) { [17:27:06.296] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.296] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.296] } [17:27:06.296] ...future.result <- base::tryCatch({ [17:27:06.296] base::withCallingHandlers({ [17:27:06.296] ...future.value <- base::withVisible(base::local({ [17:27:06.296] pkg [17:27:06.296] })) [17:27:06.296] future::FutureResult(value = ...future.value$value, [17:27:06.296] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.296] ...future.rng), globalenv = if (FALSE) [17:27:06.296] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.296] ...future.globalenv.names)) [17:27:06.296] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.296] }, condition = base::local({ [17:27:06.296] c <- base::c [17:27:06.296] inherits <- base::inherits [17:27:06.296] invokeRestart <- base::invokeRestart [17:27:06.296] length <- base::length [17:27:06.296] list <- base::list [17:27:06.296] seq.int <- base::seq.int [17:27:06.296] signalCondition <- base::signalCondition [17:27:06.296] sys.calls <- base::sys.calls [17:27:06.296] `[[` <- base::`[[` [17:27:06.296] `+` <- base::`+` [17:27:06.296] `<<-` <- base::`<<-` [17:27:06.296] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.296] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.296] 3L)] [17:27:06.296] } [17:27:06.296] function(cond) { [17:27:06.296] is_error <- inherits(cond, "error") [17:27:06.296] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.296] NULL) [17:27:06.296] if (is_error) { [17:27:06.296] sessionInformation <- function() { [17:27:06.296] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.296] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.296] search = base::search(), system = base::Sys.info()) [17:27:06.296] } [17:27:06.296] ...future.conditions[[length(...future.conditions) + [17:27:06.296] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.296] cond$call), session = sessionInformation(), [17:27:06.296] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.296] signalCondition(cond) [17:27:06.296] } [17:27:06.296] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.296] "immediateCondition"))) { [17:27:06.296] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.296] ...future.conditions[[length(...future.conditions) + [17:27:06.296] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.296] if (TRUE && !signal) { [17:27:06.296] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.296] { [17:27:06.296] inherits <- base::inherits [17:27:06.296] invokeRestart <- base::invokeRestart [17:27:06.296] is.null <- base::is.null [17:27:06.296] muffled <- FALSE [17:27:06.296] if (inherits(cond, "message")) { [17:27:06.296] muffled <- grepl(pattern, "muffleMessage") [17:27:06.296] if (muffled) [17:27:06.296] invokeRestart("muffleMessage") [17:27:06.296] } [17:27:06.296] else if (inherits(cond, "warning")) { [17:27:06.296] muffled <- grepl(pattern, "muffleWarning") [17:27:06.296] if (muffled) [17:27:06.296] invokeRestart("muffleWarning") [17:27:06.296] } [17:27:06.296] else if (inherits(cond, "condition")) { [17:27:06.296] if (!is.null(pattern)) { [17:27:06.296] computeRestarts <- base::computeRestarts [17:27:06.296] grepl <- base::grepl [17:27:06.296] restarts <- computeRestarts(cond) [17:27:06.296] for (restart in restarts) { [17:27:06.296] name <- restart$name [17:27:06.296] if (is.null(name)) [17:27:06.296] next [17:27:06.296] if (!grepl(pattern, name)) [17:27:06.296] next [17:27:06.296] invokeRestart(restart) [17:27:06.296] muffled <- TRUE [17:27:06.296] break [17:27:06.296] } [17:27:06.296] } [17:27:06.296] } [17:27:06.296] invisible(muffled) [17:27:06.296] } [17:27:06.296] muffleCondition(cond, pattern = "^muffle") [17:27:06.296] } [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] if (TRUE) { [17:27:06.296] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.296] { [17:27:06.296] inherits <- base::inherits [17:27:06.296] invokeRestart <- base::invokeRestart [17:27:06.296] is.null <- base::is.null [17:27:06.296] muffled <- FALSE [17:27:06.296] if (inherits(cond, "message")) { [17:27:06.296] muffled <- grepl(pattern, "muffleMessage") [17:27:06.296] if (muffled) [17:27:06.296] invokeRestart("muffleMessage") [17:27:06.296] } [17:27:06.296] else if (inherits(cond, "warning")) { [17:27:06.296] muffled <- grepl(pattern, "muffleWarning") [17:27:06.296] if (muffled) [17:27:06.296] invokeRestart("muffleWarning") [17:27:06.296] } [17:27:06.296] else if (inherits(cond, "condition")) { [17:27:06.296] if (!is.null(pattern)) { [17:27:06.296] computeRestarts <- base::computeRestarts [17:27:06.296] grepl <- base::grepl [17:27:06.296] restarts <- computeRestarts(cond) [17:27:06.296] for (restart in restarts) { [17:27:06.296] name <- restart$name [17:27:06.296] if (is.null(name)) [17:27:06.296] next [17:27:06.296] if (!grepl(pattern, name)) [17:27:06.296] next [17:27:06.296] invokeRestart(restart) [17:27:06.296] muffled <- TRUE [17:27:06.296] break [17:27:06.296] } [17:27:06.296] } [17:27:06.296] } [17:27:06.296] invisible(muffled) [17:27:06.296] } [17:27:06.296] muffleCondition(cond, pattern = "^muffle") [17:27:06.296] } [17:27:06.296] } [17:27:06.296] } [17:27:06.296] })) [17:27:06.296] }, error = function(ex) { [17:27:06.296] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.296] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.296] ...future.rng), started = ...future.startTime, [17:27:06.296] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.296] version = "1.8"), class = "FutureResult") [17:27:06.296] }, finally = { [17:27:06.296] if (!identical(...future.workdir, getwd())) [17:27:06.296] setwd(...future.workdir) [17:27:06.296] { [17:27:06.296] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.296] ...future.oldOptions$nwarnings <- NULL [17:27:06.296] } [17:27:06.296] base::options(...future.oldOptions) [17:27:06.296] if (.Platform$OS.type == "windows") { [17:27:06.296] old_names <- names(...future.oldEnvVars) [17:27:06.296] envs <- base::Sys.getenv() [17:27:06.296] names <- names(envs) [17:27:06.296] common <- intersect(names, old_names) [17:27:06.296] added <- setdiff(names, old_names) [17:27:06.296] removed <- setdiff(old_names, names) [17:27:06.296] changed <- common[...future.oldEnvVars[common] != [17:27:06.296] envs[common]] [17:27:06.296] NAMES <- toupper(changed) [17:27:06.296] args <- list() [17:27:06.296] for (kk in seq_along(NAMES)) { [17:27:06.296] name <- changed[[kk]] [17:27:06.296] NAME <- NAMES[[kk]] [17:27:06.296] if (name != NAME && is.element(NAME, old_names)) [17:27:06.296] next [17:27:06.296] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.296] } [17:27:06.296] NAMES <- toupper(added) [17:27:06.296] for (kk in seq_along(NAMES)) { [17:27:06.296] name <- added[[kk]] [17:27:06.296] NAME <- NAMES[[kk]] [17:27:06.296] if (name != NAME && is.element(NAME, old_names)) [17:27:06.296] next [17:27:06.296] args[[name]] <- "" [17:27:06.296] } [17:27:06.296] NAMES <- toupper(removed) [17:27:06.296] for (kk in seq_along(NAMES)) { [17:27:06.296] name <- removed[[kk]] [17:27:06.296] NAME <- NAMES[[kk]] [17:27:06.296] if (name != NAME && is.element(NAME, old_names)) [17:27:06.296] next [17:27:06.296] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.296] } [17:27:06.296] if (length(args) > 0) [17:27:06.296] base::do.call(base::Sys.setenv, args = args) [17:27:06.296] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.296] } [17:27:06.296] { [17:27:06.296] if (base::length(...future.futureOptionsAdded) > [17:27:06.296] 0L) { [17:27:06.296] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.296] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.296] base::options(opts) [17:27:06.296] } [17:27:06.296] { [17:27:06.296] { [17:27:06.296] NULL [17:27:06.296] RNGkind("Mersenne-Twister") [17:27:06.296] base::rm(list = ".Random.seed", envir = base::globalenv(), [17:27:06.296] inherits = FALSE) [17:27:06.296] } [17:27:06.296] options(future.plan = NULL) [17:27:06.296] if (is.na(NA_character_)) [17:27:06.296] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.296] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.296] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.296] .init = FALSE) [17:27:06.296] } [17:27:06.296] } [17:27:06.296] } [17:27:06.296] }) [17:27:06.296] if (TRUE) { [17:27:06.296] base::sink(type = "output", split = FALSE) [17:27:06.296] if (TRUE) { [17:27:06.296] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.296] } [17:27:06.296] else { [17:27:06.296] ...future.result["stdout"] <- base::list(NULL) [17:27:06.296] } [17:27:06.296] base::close(...future.stdout) [17:27:06.296] ...future.stdout <- NULL [17:27:06.296] } [17:27:06.296] ...future.result$conditions <- ...future.conditions [17:27:06.296] ...future.result$finished <- base::Sys.time() [17:27:06.296] ...future.result [17:27:06.296] } [17:27:06.300] assign_globals() ... [17:27:06.300] List of 1 [17:27:06.300] $ pkg: chr "foo" [17:27:06.300] - attr(*, "where")=List of 1 [17:27:06.300] ..$ pkg: [17:27:06.300] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [17:27:06.300] - attr(*, "resolved")= logi TRUE [17:27:06.300] - attr(*, "total_size")= num 112 [17:27:06.302] - copied 'pkg' to environment [17:27:06.303] assign_globals() ... done [17:27:06.303] plan(): Setting new future strategy stack: [17:27:06.303] List of future strategies: [17:27:06.303] 1. sequential: [17:27:06.303] - args: function (..., envir = parent.frame(), workers = "") [17:27:06.303] - tweaked: FALSE [17:27:06.303] - call: NULL [17:27:06.304] plan(): nbrOfWorkers() = 1 [17:27:06.305] plan(): Setting new future strategy stack: [17:27:06.305] List of future strategies: [17:27:06.305] 1. multisession: [17:27:06.305] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [17:27:06.305] - tweaked: FALSE [17:27:06.305] - call: plan(strategy) [17:27:06.307] plan(): nbrOfWorkers() = 2 [17:27:06.308] 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:27:06.308] 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:27:06.309] 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:27:06.311] - globals found: [3] '{', '<-', '+' [17:27:06.311] Searching for globals ... DONE [17:27:06.311] Resolving globals: TRUE [17:27:06.312] Resolving any globals that are futures ... [17:27:06.312] - globals: [3] '{', '<-', '+' [17:27:06.312] Resolving any globals that are futures ... DONE [17:27:06.312] [17:27:06.312] [17:27:06.313] getGlobalsAndPackages() ... DONE [17:27:06.313] run() for 'Future' ... [17:27:06.313] - state: 'created' [17:27:06.313] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.329] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.329] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.329] - Field: 'node' [17:27:06.329] - Field: 'label' [17:27:06.329] - Field: 'local' [17:27:06.330] - Field: 'owner' [17:27:06.330] - Field: 'envir' [17:27:06.330] - Field: 'workers' [17:27:06.330] - Field: 'packages' [17:27:06.330] - Field: 'gc' [17:27:06.330] - Field: 'conditions' [17:27:06.331] - Field: 'persistent' [17:27:06.331] - Field: 'expr' [17:27:06.331] - Field: 'uuid' [17:27:06.331] - Field: 'seed' [17:27:06.331] - Field: 'version' [17:27:06.332] - Field: 'result' [17:27:06.332] - Field: 'asynchronous' [17:27:06.332] - Field: 'calls' [17:27:06.332] - Field: 'globals' [17:27:06.332] - Field: 'stdout' [17:27:06.333] - Field: 'earlySignal' [17:27:06.333] - Field: 'lazy' [17:27:06.333] - Field: 'state' [17:27:06.333] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.333] - Launch lazy future ... [17:27:06.334] Packages needed by the future expression (n = 0): [17:27:06.334] Packages needed by future strategies (n = 0): [17:27:06.334] { [17:27:06.334] { [17:27:06.334] { [17:27:06.334] ...future.startTime <- base::Sys.time() [17:27:06.334] { [17:27:06.334] { [17:27:06.334] { [17:27:06.334] { [17:27:06.334] base::local({ [17:27:06.334] has_future <- base::requireNamespace("future", [17:27:06.334] quietly = TRUE) [17:27:06.334] if (has_future) { [17:27:06.334] ns <- base::getNamespace("future") [17:27:06.334] version <- ns[[".package"]][["version"]] [17:27:06.334] if (is.null(version)) [17:27:06.334] version <- utils::packageVersion("future") [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] version <- NULL [17:27:06.334] } [17:27:06.334] if (!has_future || version < "1.8.0") { [17:27:06.334] info <- base::c(r_version = base::gsub("R version ", [17:27:06.334] "", base::R.version$version.string), [17:27:06.334] platform = base::sprintf("%s (%s-bit)", [17:27:06.334] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:06.334] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.334] "release", "version")], collapse = " "), [17:27:06.334] hostname = base::Sys.info()[["nodename"]]) [17:27:06.334] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.334] info) [17:27:06.334] info <- base::paste(info, collapse = "; ") [17:27:06.334] if (!has_future) { [17:27:06.334] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.334] info) [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.334] info, version) [17:27:06.334] } [17:27:06.334] base::stop(msg) [17:27:06.334] } [17:27:06.334] }) [17:27:06.334] } [17:27:06.334] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.334] base::options(mc.cores = 1L) [17:27:06.334] } [17:27:06.334] ...future.strategy.old <- future::plan("list") [17:27:06.334] options(future.plan = NULL) [17:27:06.334] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.334] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.334] } [17:27:06.334] ...future.workdir <- getwd() [17:27:06.334] } [17:27:06.334] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.334] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.334] } [17:27:06.334] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.334] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.334] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.334] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.334] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.334] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.334] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.334] base::names(...future.oldOptions)) [17:27:06.334] } [17:27:06.334] if (FALSE) { [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] if (TRUE) { [17:27:06.334] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.334] open = "w") [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.334] windows = "NUL", "/dev/null"), open = "w") [17:27:06.334] } [17:27:06.334] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.334] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.334] base::sink(type = "output", split = FALSE) [17:27:06.334] base::close(...future.stdout) [17:27:06.334] }, add = TRUE) [17:27:06.334] } [17:27:06.334] ...future.frame <- base::sys.nframe() [17:27:06.334] ...future.conditions <- base::list() [17:27:06.334] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.334] if (FALSE) { [17:27:06.334] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.334] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.334] } [17:27:06.334] ...future.result <- base::tryCatch({ [17:27:06.334] base::withCallingHandlers({ [17:27:06.334] ...future.value <- base::withVisible(base::local({ [17:27:06.334] ...future.makeSendCondition <- base::local({ [17:27:06.334] sendCondition <- NULL [17:27:06.334] function(frame = 1L) { [17:27:06.334] if (is.function(sendCondition)) [17:27:06.334] return(sendCondition) [17:27:06.334] ns <- getNamespace("parallel") [17:27:06.334] if (exists("sendData", mode = "function", [17:27:06.334] envir = ns)) { [17:27:06.334] parallel_sendData <- get("sendData", mode = "function", [17:27:06.334] envir = ns) [17:27:06.334] envir <- sys.frame(frame) [17:27:06.334] master <- NULL [17:27:06.334] while (!identical(envir, .GlobalEnv) && [17:27:06.334] !identical(envir, emptyenv())) { [17:27:06.334] if (exists("master", mode = "list", envir = envir, [17:27:06.334] inherits = FALSE)) { [17:27:06.334] master <- get("master", mode = "list", [17:27:06.334] envir = envir, inherits = FALSE) [17:27:06.334] if (inherits(master, c("SOCKnode", [17:27:06.334] "SOCK0node"))) { [17:27:06.334] sendCondition <<- function(cond) { [17:27:06.334] data <- list(type = "VALUE", value = cond, [17:27:06.334] success = TRUE) [17:27:06.334] parallel_sendData(master, data) [17:27:06.334] } [17:27:06.334] return(sendCondition) [17:27:06.334] } [17:27:06.334] } [17:27:06.334] frame <- frame + 1L [17:27:06.334] envir <- sys.frame(frame) [17:27:06.334] } [17:27:06.334] } [17:27:06.334] sendCondition <<- function(cond) NULL [17:27:06.334] } [17:27:06.334] }) [17:27:06.334] withCallingHandlers({ [17:27:06.334] { [17:27:06.334] x <- 0 [17:27:06.334] x <- x + 1 [17:27:06.334] x [17:27:06.334] } [17:27:06.334] }, immediateCondition = function(cond) { [17:27:06.334] sendCondition <- ...future.makeSendCondition() [17:27:06.334] sendCondition(cond) [17:27:06.334] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.334] { [17:27:06.334] inherits <- base::inherits [17:27:06.334] invokeRestart <- base::invokeRestart [17:27:06.334] is.null <- base::is.null [17:27:06.334] muffled <- FALSE [17:27:06.334] if (inherits(cond, "message")) { [17:27:06.334] muffled <- grepl(pattern, "muffleMessage") [17:27:06.334] if (muffled) [17:27:06.334] invokeRestart("muffleMessage") [17:27:06.334] } [17:27:06.334] else if (inherits(cond, "warning")) { [17:27:06.334] muffled <- grepl(pattern, "muffleWarning") [17:27:06.334] if (muffled) [17:27:06.334] invokeRestart("muffleWarning") [17:27:06.334] } [17:27:06.334] else if (inherits(cond, "condition")) { [17:27:06.334] if (!is.null(pattern)) { [17:27:06.334] computeRestarts <- base::computeRestarts [17:27:06.334] grepl <- base::grepl [17:27:06.334] restarts <- computeRestarts(cond) [17:27:06.334] for (restart in restarts) { [17:27:06.334] name <- restart$name [17:27:06.334] if (is.null(name)) [17:27:06.334] next [17:27:06.334] if (!grepl(pattern, name)) [17:27:06.334] next [17:27:06.334] invokeRestart(restart) [17:27:06.334] muffled <- TRUE [17:27:06.334] break [17:27:06.334] } [17:27:06.334] } [17:27:06.334] } [17:27:06.334] invisible(muffled) [17:27:06.334] } [17:27:06.334] muffleCondition(cond) [17:27:06.334] }) [17:27:06.334] })) [17:27:06.334] future::FutureResult(value = ...future.value$value, [17:27:06.334] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.334] ...future.rng), globalenv = if (FALSE) [17:27:06.334] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.334] ...future.globalenv.names)) [17:27:06.334] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.334] }, condition = base::local({ [17:27:06.334] c <- base::c [17:27:06.334] inherits <- base::inherits [17:27:06.334] invokeRestart <- base::invokeRestart [17:27:06.334] length <- base::length [17:27:06.334] list <- base::list [17:27:06.334] seq.int <- base::seq.int [17:27:06.334] signalCondition <- base::signalCondition [17:27:06.334] sys.calls <- base::sys.calls [17:27:06.334] `[[` <- base::`[[` [17:27:06.334] `+` <- base::`+` [17:27:06.334] `<<-` <- base::`<<-` [17:27:06.334] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.334] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.334] 3L)] [17:27:06.334] } [17:27:06.334] function(cond) { [17:27:06.334] is_error <- inherits(cond, "error") [17:27:06.334] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.334] NULL) [17:27:06.334] if (is_error) { [17:27:06.334] sessionInformation <- function() { [17:27:06.334] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.334] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.334] search = base::search(), system = base::Sys.info()) [17:27:06.334] } [17:27:06.334] ...future.conditions[[length(...future.conditions) + [17:27:06.334] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.334] cond$call), session = sessionInformation(), [17:27:06.334] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.334] signalCondition(cond) [17:27:06.334] } [17:27:06.334] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.334] "immediateCondition"))) { [17:27:06.334] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.334] ...future.conditions[[length(...future.conditions) + [17:27:06.334] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.334] if (TRUE && !signal) { [17:27:06.334] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.334] { [17:27:06.334] inherits <- base::inherits [17:27:06.334] invokeRestart <- base::invokeRestart [17:27:06.334] is.null <- base::is.null [17:27:06.334] muffled <- FALSE [17:27:06.334] if (inherits(cond, "message")) { [17:27:06.334] muffled <- grepl(pattern, "muffleMessage") [17:27:06.334] if (muffled) [17:27:06.334] invokeRestart("muffleMessage") [17:27:06.334] } [17:27:06.334] else if (inherits(cond, "warning")) { [17:27:06.334] muffled <- grepl(pattern, "muffleWarning") [17:27:06.334] if (muffled) [17:27:06.334] invokeRestart("muffleWarning") [17:27:06.334] } [17:27:06.334] else if (inherits(cond, "condition")) { [17:27:06.334] if (!is.null(pattern)) { [17:27:06.334] computeRestarts <- base::computeRestarts [17:27:06.334] grepl <- base::grepl [17:27:06.334] restarts <- computeRestarts(cond) [17:27:06.334] for (restart in restarts) { [17:27:06.334] name <- restart$name [17:27:06.334] if (is.null(name)) [17:27:06.334] next [17:27:06.334] if (!grepl(pattern, name)) [17:27:06.334] next [17:27:06.334] invokeRestart(restart) [17:27:06.334] muffled <- TRUE [17:27:06.334] break [17:27:06.334] } [17:27:06.334] } [17:27:06.334] } [17:27:06.334] invisible(muffled) [17:27:06.334] } [17:27:06.334] muffleCondition(cond, pattern = "^muffle") [17:27:06.334] } [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] if (TRUE) { [17:27:06.334] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.334] { [17:27:06.334] inherits <- base::inherits [17:27:06.334] invokeRestart <- base::invokeRestart [17:27:06.334] is.null <- base::is.null [17:27:06.334] muffled <- FALSE [17:27:06.334] if (inherits(cond, "message")) { [17:27:06.334] muffled <- grepl(pattern, "muffleMessage") [17:27:06.334] if (muffled) [17:27:06.334] invokeRestart("muffleMessage") [17:27:06.334] } [17:27:06.334] else if (inherits(cond, "warning")) { [17:27:06.334] muffled <- grepl(pattern, "muffleWarning") [17:27:06.334] if (muffled) [17:27:06.334] invokeRestart("muffleWarning") [17:27:06.334] } [17:27:06.334] else if (inherits(cond, "condition")) { [17:27:06.334] if (!is.null(pattern)) { [17:27:06.334] computeRestarts <- base::computeRestarts [17:27:06.334] grepl <- base::grepl [17:27:06.334] restarts <- computeRestarts(cond) [17:27:06.334] for (restart in restarts) { [17:27:06.334] name <- restart$name [17:27:06.334] if (is.null(name)) [17:27:06.334] next [17:27:06.334] if (!grepl(pattern, name)) [17:27:06.334] next [17:27:06.334] invokeRestart(restart) [17:27:06.334] muffled <- TRUE [17:27:06.334] break [17:27:06.334] } [17:27:06.334] } [17:27:06.334] } [17:27:06.334] invisible(muffled) [17:27:06.334] } [17:27:06.334] muffleCondition(cond, pattern = "^muffle") [17:27:06.334] } [17:27:06.334] } [17:27:06.334] } [17:27:06.334] })) [17:27:06.334] }, error = function(ex) { [17:27:06.334] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.334] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.334] ...future.rng), started = ...future.startTime, [17:27:06.334] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.334] version = "1.8"), class = "FutureResult") [17:27:06.334] }, finally = { [17:27:06.334] if (!identical(...future.workdir, getwd())) [17:27:06.334] setwd(...future.workdir) [17:27:06.334] { [17:27:06.334] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.334] ...future.oldOptions$nwarnings <- NULL [17:27:06.334] } [17:27:06.334] base::options(...future.oldOptions) [17:27:06.334] if (.Platform$OS.type == "windows") { [17:27:06.334] old_names <- names(...future.oldEnvVars) [17:27:06.334] envs <- base::Sys.getenv() [17:27:06.334] names <- names(envs) [17:27:06.334] common <- intersect(names, old_names) [17:27:06.334] added <- setdiff(names, old_names) [17:27:06.334] removed <- setdiff(old_names, names) [17:27:06.334] changed <- common[...future.oldEnvVars[common] != [17:27:06.334] envs[common]] [17:27:06.334] NAMES <- toupper(changed) [17:27:06.334] args <- list() [17:27:06.334] for (kk in seq_along(NAMES)) { [17:27:06.334] name <- changed[[kk]] [17:27:06.334] NAME <- NAMES[[kk]] [17:27:06.334] if (name != NAME && is.element(NAME, old_names)) [17:27:06.334] next [17:27:06.334] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.334] } [17:27:06.334] NAMES <- toupper(added) [17:27:06.334] for (kk in seq_along(NAMES)) { [17:27:06.334] name <- added[[kk]] [17:27:06.334] NAME <- NAMES[[kk]] [17:27:06.334] if (name != NAME && is.element(NAME, old_names)) [17:27:06.334] next [17:27:06.334] args[[name]] <- "" [17:27:06.334] } [17:27:06.334] NAMES <- toupper(removed) [17:27:06.334] for (kk in seq_along(NAMES)) { [17:27:06.334] name <- removed[[kk]] [17:27:06.334] NAME <- NAMES[[kk]] [17:27:06.334] if (name != NAME && is.element(NAME, old_names)) [17:27:06.334] next [17:27:06.334] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.334] } [17:27:06.334] if (length(args) > 0) [17:27:06.334] base::do.call(base::Sys.setenv, args = args) [17:27:06.334] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.334] } [17:27:06.334] { [17:27:06.334] if (base::length(...future.futureOptionsAdded) > [17:27:06.334] 0L) { [17:27:06.334] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.334] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.334] base::options(opts) [17:27:06.334] } [17:27:06.334] { [17:27:06.334] { [17:27:06.334] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.334] NULL [17:27:06.334] } [17:27:06.334] options(future.plan = NULL) [17:27:06.334] if (is.na(NA_character_)) [17:27:06.334] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.334] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.334] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.334] .init = FALSE) [17:27:06.334] } [17:27:06.334] } [17:27:06.334] } [17:27:06.334] }) [17:27:06.334] if (TRUE) { [17:27:06.334] base::sink(type = "output", split = FALSE) [17:27:06.334] if (TRUE) { [17:27:06.334] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.334] } [17:27:06.334] else { [17:27:06.334] ...future.result["stdout"] <- base::list(NULL) [17:27:06.334] } [17:27:06.334] base::close(...future.stdout) [17:27:06.334] ...future.stdout <- NULL [17:27:06.334] } [17:27:06.334] ...future.result$conditions <- ...future.conditions [17:27:06.334] ...future.result$finished <- base::Sys.time() [17:27:06.334] ...future.result [17:27:06.334] } [17:27:06.340] MultisessionFuture started [17:27:06.340] - Launch lazy future ... done [17:27:06.340] run() for 'MultisessionFuture' ... done [17:27:06.340] result() for ClusterFuture ... [17:27:06.341] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.341] - Validating connection of MultisessionFuture [17:27:06.355] - received message: FutureResult [17:27:06.355] - Received FutureResult [17:27:06.355] - Erased future from FutureRegistry [17:27:06.356] result() for ClusterFuture ... [17:27:06.356] - result already collected: FutureResult [17:27:06.356] result() for ClusterFuture ... done [17:27:06.356] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.356] result() for ClusterFuture ... done [17:27:06.356] result() for ClusterFuture ... [17:27:06.357] - result already collected: FutureResult [17:27:06.357] 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:27:06.357] 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:27:06.358] 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:27:06.360] - globals found: [4] '{', '<-', 'x', '+' [17:27:06.360] Searching for globals ... DONE [17:27:06.360] Resolving globals: TRUE [17:27:06.360] Resolving any globals that are futures ... [17:27:06.360] - globals: [4] '{', '<-', 'x', '+' [17:27:06.360] Resolving any globals that are futures ... DONE [17:27:06.361] Resolving futures part of globals (recursively) ... [17:27:06.361] resolve() on list ... [17:27:06.361] recursive: 99 [17:27:06.362] length: 1 [17:27:06.362] elements: 'x' [17:27:06.362] length: 0 (resolved future 1) [17:27:06.362] resolve() on list ... DONE [17:27:06.362] - globals: [1] 'x' [17:27:06.362] Resolving futures part of globals (recursively) ... DONE [17:27:06.363] The total size of the 1 globals is 56 bytes (56 bytes) [17:27:06.363] The total size of the 1 globals exported for future expression ('{; x <- x + 1; x; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (56 bytes of class 'numeric') [17:27:06.363] - globals: [1] 'x' [17:27:06.364] [17:27:06.364] getGlobalsAndPackages() ... DONE [17:27:06.364] run() for 'Future' ... [17:27:06.364] - state: 'created' [17:27:06.365] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.378] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.379] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.379] - Field: 'node' [17:27:06.379] - Field: 'label' [17:27:06.379] - Field: 'local' [17:27:06.379] - Field: 'owner' [17:27:06.380] - Field: 'envir' [17:27:06.380] - Field: 'workers' [17:27:06.380] - Field: 'packages' [17:27:06.380] - Field: 'gc' [17:27:06.380] - Field: 'conditions' [17:27:06.380] - Field: 'persistent' [17:27:06.381] - Field: 'expr' [17:27:06.381] - Field: 'uuid' [17:27:06.381] - Field: 'seed' [17:27:06.381] - Field: 'version' [17:27:06.381] - Field: 'result' [17:27:06.381] - Field: 'asynchronous' [17:27:06.382] - Field: 'calls' [17:27:06.382] - Field: 'globals' [17:27:06.382] - Field: 'stdout' [17:27:06.382] - Field: 'earlySignal' [17:27:06.382] - Field: 'lazy' [17:27:06.383] - Field: 'state' [17:27:06.383] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.383] - Launch lazy future ... [17:27:06.383] Packages needed by the future expression (n = 0): [17:27:06.383] Packages needed by future strategies (n = 0): [17:27:06.384] { [17:27:06.384] { [17:27:06.384] { [17:27:06.384] ...future.startTime <- base::Sys.time() [17:27:06.384] { [17:27:06.384] { [17:27:06.384] { [17:27:06.384] { [17:27:06.384] base::local({ [17:27:06.384] has_future <- base::requireNamespace("future", [17:27:06.384] quietly = TRUE) [17:27:06.384] if (has_future) { [17:27:06.384] ns <- base::getNamespace("future") [17:27:06.384] version <- ns[[".package"]][["version"]] [17:27:06.384] if (is.null(version)) [17:27:06.384] version <- utils::packageVersion("future") [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] version <- NULL [17:27:06.384] } [17:27:06.384] if (!has_future || version < "1.8.0") { [17:27:06.384] info <- base::c(r_version = base::gsub("R version ", [17:27:06.384] "", base::R.version$version.string), [17:27:06.384] platform = base::sprintf("%s (%s-bit)", [17:27:06.384] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:06.384] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.384] "release", "version")], collapse = " "), [17:27:06.384] hostname = base::Sys.info()[["nodename"]]) [17:27:06.384] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.384] info) [17:27:06.384] info <- base::paste(info, collapse = "; ") [17:27:06.384] if (!has_future) { [17:27:06.384] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.384] info) [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.384] info, version) [17:27:06.384] } [17:27:06.384] base::stop(msg) [17:27:06.384] } [17:27:06.384] }) [17:27:06.384] } [17:27:06.384] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.384] base::options(mc.cores = 1L) [17:27:06.384] } [17:27:06.384] ...future.strategy.old <- future::plan("list") [17:27:06.384] options(future.plan = NULL) [17:27:06.384] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.384] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.384] } [17:27:06.384] ...future.workdir <- getwd() [17:27:06.384] } [17:27:06.384] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.384] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.384] } [17:27:06.384] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.384] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.384] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.384] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.384] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.384] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.384] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.384] base::names(...future.oldOptions)) [17:27:06.384] } [17:27:06.384] if (FALSE) { [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] if (TRUE) { [17:27:06.384] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.384] open = "w") [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.384] windows = "NUL", "/dev/null"), open = "w") [17:27:06.384] } [17:27:06.384] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.384] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.384] base::sink(type = "output", split = FALSE) [17:27:06.384] base::close(...future.stdout) [17:27:06.384] }, add = TRUE) [17:27:06.384] } [17:27:06.384] ...future.frame <- base::sys.nframe() [17:27:06.384] ...future.conditions <- base::list() [17:27:06.384] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.384] if (FALSE) { [17:27:06.384] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.384] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.384] } [17:27:06.384] ...future.result <- base::tryCatch({ [17:27:06.384] base::withCallingHandlers({ [17:27:06.384] ...future.value <- base::withVisible(base::local({ [17:27:06.384] ...future.makeSendCondition <- base::local({ [17:27:06.384] sendCondition <- NULL [17:27:06.384] function(frame = 1L) { [17:27:06.384] if (is.function(sendCondition)) [17:27:06.384] return(sendCondition) [17:27:06.384] ns <- getNamespace("parallel") [17:27:06.384] if (exists("sendData", mode = "function", [17:27:06.384] envir = ns)) { [17:27:06.384] parallel_sendData <- get("sendData", mode = "function", [17:27:06.384] envir = ns) [17:27:06.384] envir <- sys.frame(frame) [17:27:06.384] master <- NULL [17:27:06.384] while (!identical(envir, .GlobalEnv) && [17:27:06.384] !identical(envir, emptyenv())) { [17:27:06.384] if (exists("master", mode = "list", envir = envir, [17:27:06.384] inherits = FALSE)) { [17:27:06.384] master <- get("master", mode = "list", [17:27:06.384] envir = envir, inherits = FALSE) [17:27:06.384] if (inherits(master, c("SOCKnode", [17:27:06.384] "SOCK0node"))) { [17:27:06.384] sendCondition <<- function(cond) { [17:27:06.384] data <- list(type = "VALUE", value = cond, [17:27:06.384] success = TRUE) [17:27:06.384] parallel_sendData(master, data) [17:27:06.384] } [17:27:06.384] return(sendCondition) [17:27:06.384] } [17:27:06.384] } [17:27:06.384] frame <- frame + 1L [17:27:06.384] envir <- sys.frame(frame) [17:27:06.384] } [17:27:06.384] } [17:27:06.384] sendCondition <<- function(cond) NULL [17:27:06.384] } [17:27:06.384] }) [17:27:06.384] withCallingHandlers({ [17:27:06.384] { [17:27:06.384] x <- x + 1 [17:27:06.384] x [17:27:06.384] } [17:27:06.384] }, immediateCondition = function(cond) { [17:27:06.384] sendCondition <- ...future.makeSendCondition() [17:27:06.384] sendCondition(cond) [17:27:06.384] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.384] { [17:27:06.384] inherits <- base::inherits [17:27:06.384] invokeRestart <- base::invokeRestart [17:27:06.384] is.null <- base::is.null [17:27:06.384] muffled <- FALSE [17:27:06.384] if (inherits(cond, "message")) { [17:27:06.384] muffled <- grepl(pattern, "muffleMessage") [17:27:06.384] if (muffled) [17:27:06.384] invokeRestart("muffleMessage") [17:27:06.384] } [17:27:06.384] else if (inherits(cond, "warning")) { [17:27:06.384] muffled <- grepl(pattern, "muffleWarning") [17:27:06.384] if (muffled) [17:27:06.384] invokeRestart("muffleWarning") [17:27:06.384] } [17:27:06.384] else if (inherits(cond, "condition")) { [17:27:06.384] if (!is.null(pattern)) { [17:27:06.384] computeRestarts <- base::computeRestarts [17:27:06.384] grepl <- base::grepl [17:27:06.384] restarts <- computeRestarts(cond) [17:27:06.384] for (restart in restarts) { [17:27:06.384] name <- restart$name [17:27:06.384] if (is.null(name)) [17:27:06.384] next [17:27:06.384] if (!grepl(pattern, name)) [17:27:06.384] next [17:27:06.384] invokeRestart(restart) [17:27:06.384] muffled <- TRUE [17:27:06.384] break [17:27:06.384] } [17:27:06.384] } [17:27:06.384] } [17:27:06.384] invisible(muffled) [17:27:06.384] } [17:27:06.384] muffleCondition(cond) [17:27:06.384] }) [17:27:06.384] })) [17:27:06.384] future::FutureResult(value = ...future.value$value, [17:27:06.384] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.384] ...future.rng), globalenv = if (FALSE) [17:27:06.384] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.384] ...future.globalenv.names)) [17:27:06.384] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.384] }, condition = base::local({ [17:27:06.384] c <- base::c [17:27:06.384] inherits <- base::inherits [17:27:06.384] invokeRestart <- base::invokeRestart [17:27:06.384] length <- base::length [17:27:06.384] list <- base::list [17:27:06.384] seq.int <- base::seq.int [17:27:06.384] signalCondition <- base::signalCondition [17:27:06.384] sys.calls <- base::sys.calls [17:27:06.384] `[[` <- base::`[[` [17:27:06.384] `+` <- base::`+` [17:27:06.384] `<<-` <- base::`<<-` [17:27:06.384] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.384] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.384] 3L)] [17:27:06.384] } [17:27:06.384] function(cond) { [17:27:06.384] is_error <- inherits(cond, "error") [17:27:06.384] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.384] NULL) [17:27:06.384] if (is_error) { [17:27:06.384] sessionInformation <- function() { [17:27:06.384] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.384] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.384] search = base::search(), system = base::Sys.info()) [17:27:06.384] } [17:27:06.384] ...future.conditions[[length(...future.conditions) + [17:27:06.384] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.384] cond$call), session = sessionInformation(), [17:27:06.384] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.384] signalCondition(cond) [17:27:06.384] } [17:27:06.384] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.384] "immediateCondition"))) { [17:27:06.384] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.384] ...future.conditions[[length(...future.conditions) + [17:27:06.384] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.384] if (TRUE && !signal) { [17:27:06.384] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.384] { [17:27:06.384] inherits <- base::inherits [17:27:06.384] invokeRestart <- base::invokeRestart [17:27:06.384] is.null <- base::is.null [17:27:06.384] muffled <- FALSE [17:27:06.384] if (inherits(cond, "message")) { [17:27:06.384] muffled <- grepl(pattern, "muffleMessage") [17:27:06.384] if (muffled) [17:27:06.384] invokeRestart("muffleMessage") [17:27:06.384] } [17:27:06.384] else if (inherits(cond, "warning")) { [17:27:06.384] muffled <- grepl(pattern, "muffleWarning") [17:27:06.384] if (muffled) [17:27:06.384] invokeRestart("muffleWarning") [17:27:06.384] } [17:27:06.384] else if (inherits(cond, "condition")) { [17:27:06.384] if (!is.null(pattern)) { [17:27:06.384] computeRestarts <- base::computeRestarts [17:27:06.384] grepl <- base::grepl [17:27:06.384] restarts <- computeRestarts(cond) [17:27:06.384] for (restart in restarts) { [17:27:06.384] name <- restart$name [17:27:06.384] if (is.null(name)) [17:27:06.384] next [17:27:06.384] if (!grepl(pattern, name)) [17:27:06.384] next [17:27:06.384] invokeRestart(restart) [17:27:06.384] muffled <- TRUE [17:27:06.384] break [17:27:06.384] } [17:27:06.384] } [17:27:06.384] } [17:27:06.384] invisible(muffled) [17:27:06.384] } [17:27:06.384] muffleCondition(cond, pattern = "^muffle") [17:27:06.384] } [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] if (TRUE) { [17:27:06.384] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.384] { [17:27:06.384] inherits <- base::inherits [17:27:06.384] invokeRestart <- base::invokeRestart [17:27:06.384] is.null <- base::is.null [17:27:06.384] muffled <- FALSE [17:27:06.384] if (inherits(cond, "message")) { [17:27:06.384] muffled <- grepl(pattern, "muffleMessage") [17:27:06.384] if (muffled) [17:27:06.384] invokeRestart("muffleMessage") [17:27:06.384] } [17:27:06.384] else if (inherits(cond, "warning")) { [17:27:06.384] muffled <- grepl(pattern, "muffleWarning") [17:27:06.384] if (muffled) [17:27:06.384] invokeRestart("muffleWarning") [17:27:06.384] } [17:27:06.384] else if (inherits(cond, "condition")) { [17:27:06.384] if (!is.null(pattern)) { [17:27:06.384] computeRestarts <- base::computeRestarts [17:27:06.384] grepl <- base::grepl [17:27:06.384] restarts <- computeRestarts(cond) [17:27:06.384] for (restart in restarts) { [17:27:06.384] name <- restart$name [17:27:06.384] if (is.null(name)) [17:27:06.384] next [17:27:06.384] if (!grepl(pattern, name)) [17:27:06.384] next [17:27:06.384] invokeRestart(restart) [17:27:06.384] muffled <- TRUE [17:27:06.384] break [17:27:06.384] } [17:27:06.384] } [17:27:06.384] } [17:27:06.384] invisible(muffled) [17:27:06.384] } [17:27:06.384] muffleCondition(cond, pattern = "^muffle") [17:27:06.384] } [17:27:06.384] } [17:27:06.384] } [17:27:06.384] })) [17:27:06.384] }, error = function(ex) { [17:27:06.384] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.384] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.384] ...future.rng), started = ...future.startTime, [17:27:06.384] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.384] version = "1.8"), class = "FutureResult") [17:27:06.384] }, finally = { [17:27:06.384] if (!identical(...future.workdir, getwd())) [17:27:06.384] setwd(...future.workdir) [17:27:06.384] { [17:27:06.384] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.384] ...future.oldOptions$nwarnings <- NULL [17:27:06.384] } [17:27:06.384] base::options(...future.oldOptions) [17:27:06.384] if (.Platform$OS.type == "windows") { [17:27:06.384] old_names <- names(...future.oldEnvVars) [17:27:06.384] envs <- base::Sys.getenv() [17:27:06.384] names <- names(envs) [17:27:06.384] common <- intersect(names, old_names) [17:27:06.384] added <- setdiff(names, old_names) [17:27:06.384] removed <- setdiff(old_names, names) [17:27:06.384] changed <- common[...future.oldEnvVars[common] != [17:27:06.384] envs[common]] [17:27:06.384] NAMES <- toupper(changed) [17:27:06.384] args <- list() [17:27:06.384] for (kk in seq_along(NAMES)) { [17:27:06.384] name <- changed[[kk]] [17:27:06.384] NAME <- NAMES[[kk]] [17:27:06.384] if (name != NAME && is.element(NAME, old_names)) [17:27:06.384] next [17:27:06.384] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.384] } [17:27:06.384] NAMES <- toupper(added) [17:27:06.384] for (kk in seq_along(NAMES)) { [17:27:06.384] name <- added[[kk]] [17:27:06.384] NAME <- NAMES[[kk]] [17:27:06.384] if (name != NAME && is.element(NAME, old_names)) [17:27:06.384] next [17:27:06.384] args[[name]] <- "" [17:27:06.384] } [17:27:06.384] NAMES <- toupper(removed) [17:27:06.384] for (kk in seq_along(NAMES)) { [17:27:06.384] name <- removed[[kk]] [17:27:06.384] NAME <- NAMES[[kk]] [17:27:06.384] if (name != NAME && is.element(NAME, old_names)) [17:27:06.384] next [17:27:06.384] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.384] } [17:27:06.384] if (length(args) > 0) [17:27:06.384] base::do.call(base::Sys.setenv, args = args) [17:27:06.384] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.384] } [17:27:06.384] { [17:27:06.384] if (base::length(...future.futureOptionsAdded) > [17:27:06.384] 0L) { [17:27:06.384] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.384] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.384] base::options(opts) [17:27:06.384] } [17:27:06.384] { [17:27:06.384] { [17:27:06.384] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.384] NULL [17:27:06.384] } [17:27:06.384] options(future.plan = NULL) [17:27:06.384] if (is.na(NA_character_)) [17:27:06.384] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.384] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.384] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.384] .init = FALSE) [17:27:06.384] } [17:27:06.384] } [17:27:06.384] } [17:27:06.384] }) [17:27:06.384] if (TRUE) { [17:27:06.384] base::sink(type = "output", split = FALSE) [17:27:06.384] if (TRUE) { [17:27:06.384] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.384] } [17:27:06.384] else { [17:27:06.384] ...future.result["stdout"] <- base::list(NULL) [17:27:06.384] } [17:27:06.384] base::close(...future.stdout) [17:27:06.384] ...future.stdout <- NULL [17:27:06.384] } [17:27:06.384] ...future.result$conditions <- ...future.conditions [17:27:06.384] ...future.result$finished <- base::Sys.time() [17:27:06.384] ...future.result [17:27:06.384] } [17:27:06.389] Exporting 1 global objects (56 bytes) to cluster node #1 ... [17:27:06.389] Exporting 'x' (56 bytes) to cluster node #1 ... [17:27:06.390] Exporting 'x' (56 bytes) to cluster node #1 ... DONE [17:27:06.390] Exporting 1 global objects (56 bytes) to cluster node #1 ... DONE [17:27:06.391] MultisessionFuture started [17:27:06.391] - Launch lazy future ... done [17:27:06.391] run() for 'MultisessionFuture' ... done [17:27:06.391] result() for ClusterFuture ... [17:27:06.391] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.391] - Validating connection of MultisessionFuture [17:27:06.405] - received message: FutureResult [17:27:06.405] - Received FutureResult [17:27:06.405] - Erased future from FutureRegistry [17:27:06.405] result() for ClusterFuture ... [17:27:06.405] - result already collected: FutureResult [17:27:06.406] result() for ClusterFuture ... done [17:27:06.406] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.406] result() for ClusterFuture ... done [17:27:06.406] result() for ClusterFuture ... [17:27:06.406] - result already collected: FutureResult [17:27:06.406] 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:27:06.407] 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:27:06.407] 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:27:06.409] - globals found: [3] '{', '<-', 'x' [17:27:06.409] Searching for globals ... DONE [17:27:06.410] Resolving globals: TRUE [17:27:06.410] Resolving any globals that are futures ... [17:27:06.410] - globals: [3] '{', '<-', 'x' [17:27:06.410] Resolving any globals that are futures ... DONE [17:27:06.410] Resolving futures part of globals (recursively) ... [17:27:06.411] resolve() on list ... [17:27:06.411] recursive: 99 [17:27:06.411] length: 1 [17:27:06.411] elements: 'x' [17:27:06.412] length: 0 (resolved future 1) [17:27:06.412] resolve() on list ... DONE [17:27:06.412] - globals: [1] 'x' [17:27:06.412] Resolving futures part of globals (recursively) ... DONE [17:27:06.412] The total size of the 1 globals is 1.01 KiB (1032 bytes) [17:27:06.413] The total size of the 1 globals exported for future expression ('{; x <- x(); x; }') is 1.01 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (1.01 KiB of class 'function') [17:27:06.413] - globals: [1] 'x' [17:27:06.413] [17:27:06.413] getGlobalsAndPackages() ... DONE [17:27:06.413] run() for 'Future' ... [17:27:06.414] - state: 'created' [17:27:06.414] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [17:27:06.427] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [17:27:06.428] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [17:27:06.428] - Field: 'node' [17:27:06.428] - Field: 'label' [17:27:06.428] - Field: 'local' [17:27:06.428] - Field: 'owner' [17:27:06.428] - Field: 'envir' [17:27:06.429] - Field: 'workers' [17:27:06.429] - Field: 'packages' [17:27:06.429] - Field: 'gc' [17:27:06.429] - Field: 'conditions' [17:27:06.429] - Field: 'persistent' [17:27:06.430] - Field: 'expr' [17:27:06.430] - Field: 'uuid' [17:27:06.430] - Field: 'seed' [17:27:06.430] - Field: 'version' [17:27:06.430] - Field: 'result' [17:27:06.430] - Field: 'asynchronous' [17:27:06.431] - Field: 'calls' [17:27:06.431] - Field: 'globals' [17:27:06.431] - Field: 'stdout' [17:27:06.431] - Field: 'earlySignal' [17:27:06.431] - Field: 'lazy' [17:27:06.431] - Field: 'state' [17:27:06.432] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [17:27:06.432] - Launch lazy future ... [17:27:06.432] Packages needed by the future expression (n = 0): [17:27:06.432] Packages needed by future strategies (n = 0): [17:27:06.433] { [17:27:06.433] { [17:27:06.433] { [17:27:06.433] ...future.startTime <- base::Sys.time() [17:27:06.433] { [17:27:06.433] { [17:27:06.433] { [17:27:06.433] { [17:27:06.433] base::local({ [17:27:06.433] has_future <- base::requireNamespace("future", [17:27:06.433] quietly = TRUE) [17:27:06.433] if (has_future) { [17:27:06.433] ns <- base::getNamespace("future") [17:27:06.433] version <- ns[[".package"]][["version"]] [17:27:06.433] if (is.null(version)) [17:27:06.433] version <- utils::packageVersion("future") [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] version <- NULL [17:27:06.433] } [17:27:06.433] if (!has_future || version < "1.8.0") { [17:27:06.433] info <- base::c(r_version = base::gsub("R version ", [17:27:06.433] "", base::R.version$version.string), [17:27:06.433] platform = base::sprintf("%s (%s-bit)", [17:27:06.433] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [17:27:06.433] os = base::paste(base::Sys.info()[base::c("sysname", [17:27:06.433] "release", "version")], collapse = " "), [17:27:06.433] hostname = base::Sys.info()[["nodename"]]) [17:27:06.433] info <- base::sprintf("%s: %s", base::names(info), [17:27:06.433] info) [17:27:06.433] info <- base::paste(info, collapse = "; ") [17:27:06.433] if (!has_future) { [17:27:06.433] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [17:27:06.433] info) [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [17:27:06.433] info, version) [17:27:06.433] } [17:27:06.433] base::stop(msg) [17:27:06.433] } [17:27:06.433] }) [17:27:06.433] } [17:27:06.433] ...future.mc.cores.old <- base::getOption("mc.cores") [17:27:06.433] base::options(mc.cores = 1L) [17:27:06.433] } [17:27:06.433] ...future.strategy.old <- future::plan("list") [17:27:06.433] options(future.plan = NULL) [17:27:06.433] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.433] future::plan("default", .cleanup = FALSE, .init = FALSE) [17:27:06.433] } [17:27:06.433] ...future.workdir <- getwd() [17:27:06.433] } [17:27:06.433] ...future.oldOptions <- base::as.list(base::.Options) [17:27:06.433] ...future.oldEnvVars <- base::Sys.getenv() [17:27:06.433] } [17:27:06.433] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [17:27:06.433] future.globals.maxSize = NULL, future.globals.method = "ordered", [17:27:06.433] future.globals.onMissing = "error", future.globals.onReference = NULL, [17:27:06.433] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [17:27:06.433] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [17:27:06.433] future.stdout.windows.reencode = NULL, width = 80L) [17:27:06.433] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [17:27:06.433] base::names(...future.oldOptions)) [17:27:06.433] } [17:27:06.433] if (FALSE) { [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] if (TRUE) { [17:27:06.433] ...future.stdout <- base::rawConnection(base::raw(0L), [17:27:06.433] open = "w") [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [17:27:06.433] windows = "NUL", "/dev/null"), open = "w") [17:27:06.433] } [17:27:06.433] base::sink(...future.stdout, type = "output", split = FALSE) [17:27:06.433] base::on.exit(if (!base::is.null(...future.stdout)) { [17:27:06.433] base::sink(type = "output", split = FALSE) [17:27:06.433] base::close(...future.stdout) [17:27:06.433] }, add = TRUE) [17:27:06.433] } [17:27:06.433] ...future.frame <- base::sys.nframe() [17:27:06.433] ...future.conditions <- base::list() [17:27:06.433] ...future.rng <- base::globalenv()$.Random.seed [17:27:06.433] if (FALSE) { [17:27:06.433] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [17:27:06.433] "...future.value", "...future.globalenv.names", ".Random.seed") [17:27:06.433] } [17:27:06.433] ...future.result <- base::tryCatch({ [17:27:06.433] base::withCallingHandlers({ [17:27:06.433] ...future.value <- base::withVisible(base::local({ [17:27:06.433] ...future.makeSendCondition <- base::local({ [17:27:06.433] sendCondition <- NULL [17:27:06.433] function(frame = 1L) { [17:27:06.433] if (is.function(sendCondition)) [17:27:06.433] return(sendCondition) [17:27:06.433] ns <- getNamespace("parallel") [17:27:06.433] if (exists("sendData", mode = "function", [17:27:06.433] envir = ns)) { [17:27:06.433] parallel_sendData <- get("sendData", mode = "function", [17:27:06.433] envir = ns) [17:27:06.433] envir <- sys.frame(frame) [17:27:06.433] master <- NULL [17:27:06.433] while (!identical(envir, .GlobalEnv) && [17:27:06.433] !identical(envir, emptyenv())) { [17:27:06.433] if (exists("master", mode = "list", envir = envir, [17:27:06.433] inherits = FALSE)) { [17:27:06.433] master <- get("master", mode = "list", [17:27:06.433] envir = envir, inherits = FALSE) [17:27:06.433] if (inherits(master, c("SOCKnode", [17:27:06.433] "SOCK0node"))) { [17:27:06.433] sendCondition <<- function(cond) { [17:27:06.433] data <- list(type = "VALUE", value = cond, [17:27:06.433] success = TRUE) [17:27:06.433] parallel_sendData(master, data) [17:27:06.433] } [17:27:06.433] return(sendCondition) [17:27:06.433] } [17:27:06.433] } [17:27:06.433] frame <- frame + 1L [17:27:06.433] envir <- sys.frame(frame) [17:27:06.433] } [17:27:06.433] } [17:27:06.433] sendCondition <<- function(cond) NULL [17:27:06.433] } [17:27:06.433] }) [17:27:06.433] withCallingHandlers({ [17:27:06.433] { [17:27:06.433] x <- x() [17:27:06.433] x [17:27:06.433] } [17:27:06.433] }, immediateCondition = function(cond) { [17:27:06.433] sendCondition <- ...future.makeSendCondition() [17:27:06.433] sendCondition(cond) [17:27:06.433] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.433] { [17:27:06.433] inherits <- base::inherits [17:27:06.433] invokeRestart <- base::invokeRestart [17:27:06.433] is.null <- base::is.null [17:27:06.433] muffled <- FALSE [17:27:06.433] if (inherits(cond, "message")) { [17:27:06.433] muffled <- grepl(pattern, "muffleMessage") [17:27:06.433] if (muffled) [17:27:06.433] invokeRestart("muffleMessage") [17:27:06.433] } [17:27:06.433] else if (inherits(cond, "warning")) { [17:27:06.433] muffled <- grepl(pattern, "muffleWarning") [17:27:06.433] if (muffled) [17:27:06.433] invokeRestart("muffleWarning") [17:27:06.433] } [17:27:06.433] else if (inherits(cond, "condition")) { [17:27:06.433] if (!is.null(pattern)) { [17:27:06.433] computeRestarts <- base::computeRestarts [17:27:06.433] grepl <- base::grepl [17:27:06.433] restarts <- computeRestarts(cond) [17:27:06.433] for (restart in restarts) { [17:27:06.433] name <- restart$name [17:27:06.433] if (is.null(name)) [17:27:06.433] next [17:27:06.433] if (!grepl(pattern, name)) [17:27:06.433] next [17:27:06.433] invokeRestart(restart) [17:27:06.433] muffled <- TRUE [17:27:06.433] break [17:27:06.433] } [17:27:06.433] } [17:27:06.433] } [17:27:06.433] invisible(muffled) [17:27:06.433] } [17:27:06.433] muffleCondition(cond) [17:27:06.433] }) [17:27:06.433] })) [17:27:06.433] future::FutureResult(value = ...future.value$value, [17:27:06.433] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.433] ...future.rng), globalenv = if (FALSE) [17:27:06.433] list(added = base::setdiff(base::names(base::.GlobalEnv), [17:27:06.433] ...future.globalenv.names)) [17:27:06.433] else NULL, started = ...future.startTime, version = "1.8") [17:27:06.433] }, condition = base::local({ [17:27:06.433] c <- base::c [17:27:06.433] inherits <- base::inherits [17:27:06.433] invokeRestart <- base::invokeRestart [17:27:06.433] length <- base::length [17:27:06.433] list <- base::list [17:27:06.433] seq.int <- base::seq.int [17:27:06.433] signalCondition <- base::signalCondition [17:27:06.433] sys.calls <- base::sys.calls [17:27:06.433] `[[` <- base::`[[` [17:27:06.433] `+` <- base::`+` [17:27:06.433] `<<-` <- base::`<<-` [17:27:06.433] sysCalls <- function(calls = sys.calls(), from = 1L) { [17:27:06.433] calls[seq.int(from = from + 12L, to = length(calls) - [17:27:06.433] 3L)] [17:27:06.433] } [17:27:06.433] function(cond) { [17:27:06.433] is_error <- inherits(cond, "error") [17:27:06.433] ignore <- !is_error && !is.null(NULL) && inherits(cond, [17:27:06.433] NULL) [17:27:06.433] if (is_error) { [17:27:06.433] sessionInformation <- function() { [17:27:06.433] list(r = base::R.Version(), locale = base::Sys.getlocale(), [17:27:06.433] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [17:27:06.433] search = base::search(), system = base::Sys.info()) [17:27:06.433] } [17:27:06.433] ...future.conditions[[length(...future.conditions) + [17:27:06.433] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [17:27:06.433] cond$call), session = sessionInformation(), [17:27:06.433] timestamp = base::Sys.time(), signaled = 0L) [17:27:06.433] signalCondition(cond) [17:27:06.433] } [17:27:06.433] else if (!ignore && TRUE && inherits(cond, c("condition", [17:27:06.433] "immediateCondition"))) { [17:27:06.433] signal <- TRUE && inherits(cond, "immediateCondition") [17:27:06.433] ...future.conditions[[length(...future.conditions) + [17:27:06.433] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [17:27:06.433] if (TRUE && !signal) { [17:27:06.433] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.433] { [17:27:06.433] inherits <- base::inherits [17:27:06.433] invokeRestart <- base::invokeRestart [17:27:06.433] is.null <- base::is.null [17:27:06.433] muffled <- FALSE [17:27:06.433] if (inherits(cond, "message")) { [17:27:06.433] muffled <- grepl(pattern, "muffleMessage") [17:27:06.433] if (muffled) [17:27:06.433] invokeRestart("muffleMessage") [17:27:06.433] } [17:27:06.433] else if (inherits(cond, "warning")) { [17:27:06.433] muffled <- grepl(pattern, "muffleWarning") [17:27:06.433] if (muffled) [17:27:06.433] invokeRestart("muffleWarning") [17:27:06.433] } [17:27:06.433] else if (inherits(cond, "condition")) { [17:27:06.433] if (!is.null(pattern)) { [17:27:06.433] computeRestarts <- base::computeRestarts [17:27:06.433] grepl <- base::grepl [17:27:06.433] restarts <- computeRestarts(cond) [17:27:06.433] for (restart in restarts) { [17:27:06.433] name <- restart$name [17:27:06.433] if (is.null(name)) [17:27:06.433] next [17:27:06.433] if (!grepl(pattern, name)) [17:27:06.433] next [17:27:06.433] invokeRestart(restart) [17:27:06.433] muffled <- TRUE [17:27:06.433] break [17:27:06.433] } [17:27:06.433] } [17:27:06.433] } [17:27:06.433] invisible(muffled) [17:27:06.433] } [17:27:06.433] muffleCondition(cond, pattern = "^muffle") [17:27:06.433] } [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] if (TRUE) { [17:27:06.433] muffleCondition <- function (cond, pattern = "^muffle") [17:27:06.433] { [17:27:06.433] inherits <- base::inherits [17:27:06.433] invokeRestart <- base::invokeRestart [17:27:06.433] is.null <- base::is.null [17:27:06.433] muffled <- FALSE [17:27:06.433] if (inherits(cond, "message")) { [17:27:06.433] muffled <- grepl(pattern, "muffleMessage") [17:27:06.433] if (muffled) [17:27:06.433] invokeRestart("muffleMessage") [17:27:06.433] } [17:27:06.433] else if (inherits(cond, "warning")) { [17:27:06.433] muffled <- grepl(pattern, "muffleWarning") [17:27:06.433] if (muffled) [17:27:06.433] invokeRestart("muffleWarning") [17:27:06.433] } [17:27:06.433] else if (inherits(cond, "condition")) { [17:27:06.433] if (!is.null(pattern)) { [17:27:06.433] computeRestarts <- base::computeRestarts [17:27:06.433] grepl <- base::grepl [17:27:06.433] restarts <- computeRestarts(cond) [17:27:06.433] for (restart in restarts) { [17:27:06.433] name <- restart$name [17:27:06.433] if (is.null(name)) [17:27:06.433] next [17:27:06.433] if (!grepl(pattern, name)) [17:27:06.433] next [17:27:06.433] invokeRestart(restart) [17:27:06.433] muffled <- TRUE [17:27:06.433] break [17:27:06.433] } [17:27:06.433] } [17:27:06.433] } [17:27:06.433] invisible(muffled) [17:27:06.433] } [17:27:06.433] muffleCondition(cond, pattern = "^muffle") [17:27:06.433] } [17:27:06.433] } [17:27:06.433] } [17:27:06.433] })) [17:27:06.433] }, error = function(ex) { [17:27:06.433] base::structure(base::list(value = NULL, visible = NULL, [17:27:06.433] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [17:27:06.433] ...future.rng), started = ...future.startTime, [17:27:06.433] finished = Sys.time(), session_uuid = NA_character_, [17:27:06.433] version = "1.8"), class = "FutureResult") [17:27:06.433] }, finally = { [17:27:06.433] if (!identical(...future.workdir, getwd())) [17:27:06.433] setwd(...future.workdir) [17:27:06.433] { [17:27:06.433] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [17:27:06.433] ...future.oldOptions$nwarnings <- NULL [17:27:06.433] } [17:27:06.433] base::options(...future.oldOptions) [17:27:06.433] if (.Platform$OS.type == "windows") { [17:27:06.433] old_names <- names(...future.oldEnvVars) [17:27:06.433] envs <- base::Sys.getenv() [17:27:06.433] names <- names(envs) [17:27:06.433] common <- intersect(names, old_names) [17:27:06.433] added <- setdiff(names, old_names) [17:27:06.433] removed <- setdiff(old_names, names) [17:27:06.433] changed <- common[...future.oldEnvVars[common] != [17:27:06.433] envs[common]] [17:27:06.433] NAMES <- toupper(changed) [17:27:06.433] args <- list() [17:27:06.433] for (kk in seq_along(NAMES)) { [17:27:06.433] name <- changed[[kk]] [17:27:06.433] NAME <- NAMES[[kk]] [17:27:06.433] if (name != NAME && is.element(NAME, old_names)) [17:27:06.433] next [17:27:06.433] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.433] } [17:27:06.433] NAMES <- toupper(added) [17:27:06.433] for (kk in seq_along(NAMES)) { [17:27:06.433] name <- added[[kk]] [17:27:06.433] NAME <- NAMES[[kk]] [17:27:06.433] if (name != NAME && is.element(NAME, old_names)) [17:27:06.433] next [17:27:06.433] args[[name]] <- "" [17:27:06.433] } [17:27:06.433] NAMES <- toupper(removed) [17:27:06.433] for (kk in seq_along(NAMES)) { [17:27:06.433] name <- removed[[kk]] [17:27:06.433] NAME <- NAMES[[kk]] [17:27:06.433] if (name != NAME && is.element(NAME, old_names)) [17:27:06.433] next [17:27:06.433] args[[name]] <- ...future.oldEnvVars[[name]] [17:27:06.433] } [17:27:06.433] if (length(args) > 0) [17:27:06.433] base::do.call(base::Sys.setenv, args = args) [17:27:06.433] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [17:27:06.433] } [17:27:06.433] { [17:27:06.433] if (base::length(...future.futureOptionsAdded) > [17:27:06.433] 0L) { [17:27:06.433] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [17:27:06.433] base::names(opts) <- ...future.futureOptionsAdded [17:27:06.433] base::options(opts) [17:27:06.433] } [17:27:06.433] { [17:27:06.433] { [17:27:06.433] base::options(mc.cores = ...future.mc.cores.old) [17:27:06.433] NULL [17:27:06.433] } [17:27:06.433] options(future.plan = NULL) [17:27:06.433] if (is.na(NA_character_)) [17:27:06.433] Sys.unsetenv("R_FUTURE_PLAN") [17:27:06.433] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [17:27:06.433] future::plan(...future.strategy.old, .cleanup = FALSE, [17:27:06.433] .init = FALSE) [17:27:06.433] } [17:27:06.433] } [17:27:06.433] } [17:27:06.433] }) [17:27:06.433] if (TRUE) { [17:27:06.433] base::sink(type = "output", split = FALSE) [17:27:06.433] if (TRUE) { [17:27:06.433] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [17:27:06.433] } [17:27:06.433] else { [17:27:06.433] ...future.result["stdout"] <- base::list(NULL) [17:27:06.433] } [17:27:06.433] base::close(...future.stdout) [17:27:06.433] ...future.stdout <- NULL [17:27:06.433] } [17:27:06.433] ...future.result$conditions <- ...future.conditions [17:27:06.433] ...future.result$finished <- base::Sys.time() [17:27:06.433] ...future.result [17:27:06.433] } [17:27:06.438] Exporting 1 global objects (1.01 KiB) to cluster node #1 ... [17:27:06.438] Exporting 'x' (1.01 KiB) to cluster node #1 ... [17:27:06.439] Exporting 'x' (1.01 KiB) to cluster node #1 ... DONE [17:27:06.439] Exporting 1 global objects (1.01 KiB) to cluster node #1 ... DONE [17:27:06.439] MultisessionFuture started [17:27:06.440] - Launch lazy future ... done [17:27:06.440] run() for 'MultisessionFuture' ... done [17:27:06.440] result() for ClusterFuture ... [17:27:06.440] receiveMessageFromWorker() for ClusterFuture ... [17:27:06.440] - Validating connection of MultisessionFuture [17:27:06.455] - received message: FutureResult [17:27:06.455] - Received FutureResult [17:27:06.455] - Erased future from FutureRegistry [17:27:06.455] result() for ClusterFuture ... [17:27:06.455] - result already collected: FutureResult [17:27:06.456] result() for ClusterFuture ... done [17:27:06.456] receiveMessageFromWorker() for ClusterFuture ... done [17:27:06.456] result() for ClusterFuture ... done [17:27:06.456] result() for ClusterFuture ... [17:27:06.456] - result already collected: FutureResult [17:27:06.456] 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:27:06.458] plan(): Setting new future strategy stack: [17:27:06.458] List of future strategies: [17:27:06.458] 1. FutureStrategy: [17:27:06.458] - args: function (..., envir = parent.frame(), workers = "") [17:27:06.458] - tweaked: FALSE [17:27:06.458] - call: future::plan(oplan) [17:27:06.459] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=204] '!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_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 2.84 0.15 4.29